실제 적을 상대로 위장 테스트: AI

발행: (2026년 6월 11일 AM 06:49 GMT+9)
5 분 소요
원문: Dev.to

출처: Dev.to

위장(카모플라주)은 언제나 인간의 눈으로 평가되어 왔습니다. 하지만 2026년에 여러분을 노리는 존재는 점점 더 탐지 모델이 되고 있습니다—따라서 그 모델에 맞춰 테스트해야 합니다.
감시는 이제 자동화되었습니다: 드론, 트레일 카메라, 주변 경계 시스템 등—대부분 “보는” 것은 객체 탐지 네트워크를 실행합니다. 그래서 전통적인 위장 평가(사람이 사진을 눈을 가늘게 뜨고 보는 방식)는 잘못된 테스트가 됩니다. 올바른 테스트는 적대적(adversarial)입니다: 실제 탐지기를 여러분의 은폐물에 적용해 보고 무엇을 찾아내는지 측정하는 것이죠.

그게 바로 전체 데모의 핵심입니다: 사진을 업로드하면 객체 탐지 모델이 사람을 찾아냅니다—네 가지 시뮬레이션 거리에서—그리고 탐지 거리 프로파일과 은폐 점수를 생성합니다.

촬영 후에 카메라를 움직일 수는 없지만, 장거리 탐지에서 가장 큰 영향을 미치는 요소인 “대상의 픽셀 수”를 시뮬레이션할 수 있습니다. 50 m 거리의 사람은 5 m 거리 사람보다 훨씬 적은 픽셀을 차지하죠. 그래서 각 분석 단계마다 이미지를 점점 축소하고 다시 탐지를 수행합니다:

const DISTANCE_LEVELS = [
    { label: 'Close (~5m)',    scale: 1    },
    { label: 'Mid (~15m)',     scale: 0.45 },
    { label: 'Far (~30m)',     scale: 0.22 },
    { label: 'Very far (~50m)', scale: 0.12 },
];

for (const level of DISTANCE_LEVELS) {
    const scaled = drawScaled(image, level.scale);
    const detections = await model.detect(scaled, 10, 0.15);
    // 이 시뮬레이션 거리에서 가장 높은 'person' 신뢰도
}

출력은 거리 카드와 비슷합니다: 5 m에서 96 % 신뢰도로 탐지, 15 m에서 41 %, 30 m 이상에서는 보이지 않음. 은폐 점수는 이를 종합합니다—다양한 거리에서 적이 여러분을 얼마나 못 보는지를 평균한 값이죠.

탐지 모델은 COCO‑SSD(텐서플로우.js 팀이 제공한 사전 학습 MobileNet 기반 모델)이며, 완전히 디바이스 내에서 실행됩니다—저는 모델을 직접 학습하지 않았으며, 데모 페이지에도 그렇게 명시돼 있습니다. 여기서 제가 기여한 부분은 평가 프레임워크입니다: 탐지기를 적으로 활용하고, 거리를 시뮬레이션하며, 주관적인 “좋은 위장”을 측정 가능한 프로파일로 전환하는 것이죠. 이 개념의 전체 버전은 더 나아가—다중 모델 앙상블(YOLO, Faster R‑CNN, RetinaNet), 조명 변화, 그리고 어느 부분이 여러분을 드러냈는지 보여주는 히트맵까지 포함합니다.

“인간 대리자를 대신해 실제 배치된 적에 대해 평가하라”는 원칙은 다음과 같이 일반화됩니다: 광고 크리에이티브를 콘텐츠 분류기에 테스트하고, 익명화 방식을 재식별 모델에 검증하며, 누군가가 하기 전에 컴퓨터 비전 시스템을 레드팀으로 평가하는 것 등. 적대적 평가(adversarial evaluation)는 보안 습관 안에 숨은 하나의 제품 카테고리입니다.

시도해 보세요(이미지는 디바이스 내에서 분석되며, 업로드되지 않음): https://rs-03.github.io/portfolio-website/demos
출처: https://github.com/rs-03/portfolio-website

0 조회
Back to Blog

관련 글

더 보기 »

Eidentic 소개

Today we're releasing Eidentic, an open-source TypeScript SDK for building AI agents with self-improving memory and the production fundamentals built in — not b...

Typescript의 타입

Introdução Tipos são uma forma de definir a “forma” ou o contrato dos dados que estamos usando no código. Pensando em Javascript puro, ele é dinâmico: você pode...