← kwjin.dev
프로젝트 · xray

X-ray 위해물품 탐지

2026.04 ~ 진행 중 · 2025.11 1차 참여 공공 보안검색 과제

73개 클래스 · 약 28만 장 규모의 공공 보안검색 과제를 담당자 퇴사로 단독 인수했습니다. 인수 시점 mAP50 0.986으로 완성 단계처럼 보였지만, 실환경 대비 과도하게 높은 수치라는 의문을 제기한 것이 이 프로젝트의 출발점이었습니다.

기간
2026.04 ~ 진행 중 (2025.11 1차 참여)
유형
공공 보안검색 과제 — 73개 클래스 · 약 28만 장 (Train / Val / Test = 239,084 / 24,256 / 24,183)
역할
담당자 퇴사로 단독 인수 — 평가 체계 재구축, 데이터 정제, 모델 개선 전 과정
기술
YOLOv11x · 9-view Late Fusion · 물성(Zeff) 채널 실험
오경보율 2.18 → 1.68% 재구축한 평가 기준에서 측정
정탐률 94.4 ~ 95% 1차 모델 수준 유지
규모 73 class · 28만 장 단독 인수·운영
배경

0.986이라는 숫자를 믿지 않은 이유

보안검색은 놓치면 안 되는 태스크이지만, 동시에 오경보가 잦으면 현장에서 쓸 수 없는 태스크이기도 합니다. 두 수치를 동시에 신뢰하려면 평가 기준부터 신뢰할 수 있어야 했습니다.

인수 시점의 지표는 mAP50 0.986이었습니다. 73개 클래스에 물체가 겹쳐 찍히는 X-ray 도메인에서 나오기 어려운 수치였고, 실환경 판정 결과와도 감각적으로 맞지 않았습니다. 모델 개선을 시작하기 전에 이 숫자가 어디서 나왔는지부터 확인하기로 했습니다.

데이터 구조를 거슬러 올라가자 원인이 나왔습니다. 이 데이터셋은 동일 장면을 9개 각도에서 촬영한 9-view 구조인데, 분할이 이미지 단위로 이루어져 있어 같은 장면의 다른 각도 이미지가 train과 test에 교차 혼입되어 있었습니다. 모델은 테스트 장면을 사실상 학습한 상태였습니다.

작업

문제 → 접근 → 결과

01 — 데이터 누수 진단과 평가 체계 재구축

문제

인수 시점 mAP50 0.986 — 실환경 대비 과도하게 높은 수치.

접근

데이터 구조를 추적해 9-view 이미지의 train/test 교차 혼입을 확인하고, 이미지 단위가 아닌 장면(scene) 단위로 재분할했습니다. 평가 단위도 이미지 1장이 아니라 9-view 세트 판정(실제 검색대에서 한 짐을 통과시키는 단위)으로 다시 정의했습니다.

결과

실환경에 대응되는 평가 기준을 확보했습니다. 이후의 모든 개선은 이 기준 위에서 측정했습니다.

02 — 오라벨 필터링

재분할 후에도 학습이 흔들리는 구간이 남아, 라벨 자체를 검증했습니다. box 크기와 종횡비 분포를 클래스별로 검사해 물리적으로 불가능한 박스를 오라벨로 분류·제거했습니다.

03 — 9-view를 약점에서 강점으로 — Late Fusion 앙상블

문제

9-view는 누수의 원인이었지만, 동시에 이 데이터셋만의 구조적 특징이기도 했습니다. 각도에 따라 물체가 가려지거나 겹쳐 보이는 정도가 달라, 어떤 각도에서는 보이는 물체가 다른 각도에서는 보이지 않습니다.

접근

9개 view의 탐지 결과를 box 크기별 가중치 기반 late fusion으로 통합했습니다. 큰 박스로 명확히 보인 view의 판정에 더 큰 신뢰를 주는 방식입니다.

결과

정탐률을 유지하면서 오경보를 줄이는 방향으로 작동했습니다 — 한 view에서만 튀는 검출은 세트 판정에서 걸러집니다.

04 — 물성(Zeff) 채널 추가 실험

X-ray 장비는 물체의 실효 원자번호(Zeff) 정보를 함께 가지고 있고, 이는 형태만으로는 구분되지 않는 재질 차이를 담습니다. 다만 공식 물성 데이터 전달은 일정이 뒤에 있었습니다.

기다리는 대신 color 이미지에서 Zeff를 역추출해 선행 검증을 진행했습니다. 공식 데이터가 도착하기 전에 이 채널이 성능에 실제로 기여하는지를 미리 판단하기 위한 실험이었습니다.

05 — 결과

지표 (9-view 세트 판정)1차 모델개선 모델
정탐률95.05%94.44 ~ 95% 유지
오경보율2.18%1.68%

재구축한 평가 기준에서 정탐률 95% 수준을 유지한 채 오경보율을 2.18% → 1.68%로 낮췄습니다. 인수 시점의 0.986보다 낮아 보이는 숫자지만, 이쪽이 현장에서 실제로 재현되는 수치입니다.

화면

화면 · 데모

탐지 결과와 9-view 구조를 보여줄 자료를 추가할 자리입니다.

스크린샷 9-view 세트 탐지 결과 스크린샷 추가 예정 — 각도별 검출 차이와 late fusion 결과 9view-fusion.png
차트 누수 교정 전후 평가 지표 비교 차트 추가 예정 leak-before-after.png
스크린샷 Zeff 역추출 채널 시각화 추가 예정 zeff-channel.png
메인으로 돌아가기
영상보안 솔루션 촬영기기 탐지 집중 스프린트 — 탐지 모델 라인 총점검 카지노 영상분석 MATE — 데이터 엔진 워크벤치 비정사각 입력으로 CPU 연산 40% 절감 Center — AI 코딩 에이전트 지휘 보드