정보 · 실험 계획

마스크·안전모 검출 — YOLO 밖의 방법들

COCO에 없는 클래스를 잡는 5가지 대안 조사. 실험실 장비로 직접 실측한 비교 — YOLOE가 놓친 어두운 마스크를 OWLv2와 VLM은 잡았다.

문제 정의

마스크·안전모는 COCO 80클래스에 없다. YOLO 데모에서는 YOLOE 제로샷으로 대응했지만, 어두운 마스크를 놓치는 한계를 확인했다. 이 문서는 YOLO 계열 밖의 대안들을 조사하고, 가능한 것은 실험실 장비에서 직접 실측한 기록이다.

실측 비교 — 같은 시험지로

시험지: YOLOE가 실패한 "어두운 마스크 2인" 사진과 "안전모 작업자 5인" 사진.

방법 어두운 마스크 (정답: 2명) 안전모 (정답: 4개 착용) 추론 시간 출력 형태
YOLOE 제로샷 (현행) 0검출 4개 ~130ms 박스
OWLv2 (transformer 오픈보캐뷸러리) 2명 정확 4개 ~470ms 박스
VLM (Gemma 3 12B, 실험실 라이브) 착용 2명 정확 4명+색상까지 ~10s 문장

핵심 관찰:

방법별 조사 정리

1. 오픈 보캐뷸러리 검출기 (OWLv2, Grounding DINO)

transformer 기반 텍스트 프롬프트 검출기. OWLv2(google, Apache-2.0)는 transformers 라이브러리로 바로 실행되고 MPS에서 동작함을 확인했다. Grounding DINO는 표현력이 더 좋다는 평가지만 의존성이 무겁다. 학습 없이 클래스를 문장으로 추가할 수 있어 "헬멧 안 쓴 사람", "조끼 미착용" 같은 확장이 쉽다.

2. VLM 판정 (실험실에 이미 있음)

검출이 아니라 질문으로 푼다: 스냅샷을 주고 "안전모 미착용자가 있는가?"를 묻는다. 박스 좌표는 없지만 규칙을 프롬프트로 바꾸는 유연성과 착용 품질 판단이 강점. YOLO가 person을 세고, 크롭을 VLM에 넘겨 착용 여부만 묻는 하이브리드가 실용적이다.

3. 2단계: 얼굴 검출 + 분류기

고전적이지만 여전히 산업 표준에 가까운 방식. 얼굴 검출(RetinaFace, SCRFD, MediaPipe Face Detection — 모두 Mac에서 실시간)로 얼굴을 크롭한 뒤, 소형 분류기(MobileNet급, mask/no-mask 2클래스)로 판정한다. 얼굴 단위라 원거리 CCTV에 강하고 각 단계가 빠르다(전체 <50ms 가능). 분류기는 공개 데이터셋으로 몇 시간이면 학습된다.

4. CLIP 제로샷 분류 (크롭 + 유사도)

사람/얼굴 크롭에 대해 CLIP으로 "a person wearing a face mask" vs "a person without a mask" 텍스트 유사도를 비교. 학습 불필요, 분류기 대체재. YOLOE가 내부적으로 쓰는 MobileCLIP이 이미 노드 2에 설치돼 있어 시도 비용이 낮다. 검출기가 아니므로 1단계(사람/얼굴 검출)와 조합해야 한다.

5. 전용 데이터셋 파인튜닝 (최고 정확도의 길)

실무 정확도(>95%)가 필요하면 결국 여기로 온다. 공개 데이터셋이 잘 갖춰져 있다:

대상 데이터셋 규모
안전모 SHWD (Safety Helmet Wearing Dataset) ~7,600장, hat/person 라벨
마스크 MAFA, Kaggle Face Mask Detection MAFA 3만+장 / 853장(3클래스: 정상·미착용·오착용)
PPE 전반 Roboflow Universe 공개 프로젝트 다수 조끼·장갑·고글 포함

아키텍처는 RT-DETR(transformer 검출기) 같은 비-YOLO 선택지도 있고, M4에서도 nano급 파인튜닝은 가능하지만 대규모 학습은 외부 GPU가 경제적이다.

6. Apple 네이티브 경로 (Core ML + Vision)

VNDetectFaceRectanglesRequest(얼굴 검출, ANE 가속) + Create ML로 학습한 소형 분류기 조합. 전력 효율이 가장 좋고 iPhone/iPad 현장 앱으로 이식이 자연스럽다. 24시간 상시 가동 엣지 서버라는 이 실험실의 포지셔닝과 잘 맞는 장기 후보.

결론과 다음 단계

단기: 데모의 PPE 시나리오에 OWLv2 백엔드 추가(또는 교체) — 실측으로 확인된 최소 비용 개선. ✅ 적용 완료(2026-07-22): YOLO 데모의 PPE 시나리오가 이제 "person=YOLO26 + 마스크·안전모=OWLv2" 하이브리드로 동작한다. 어두운 마스크 사진이 mask wearer 2 / person 5로 판독된다(~0.5초). 중기: "YOLO 카운팅 + VLM 착용품질 판정" 하이브리드 파이프라인. 장기(실무 정확도): SHWD/MAFA 파인튜닝 또는 Apple 네이티브 2단계.

속도·정확도·구현 비용의 트레이드오프에서, 이번 실측의 교훈은 명확하다: "제로샷이 안 되면 더 큰 제로샷을 먼저 시험하라 — 파인튜닝은 그 다음이다."