본문으로 건너뛰기
r/computervision조회 7

브라우저에서 작동하는 온디바이스 바퀴벌레 검출기 구현 경험과 실험 결과 공유

작성자는 YOLO11n/26n 실험과 데이터 정제를 통해 ONNX로 브라우저 내에서 동작하는 약 9MB 바퀴벌레 검출기를 만든 경험을 공유했다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

작성자는 파트너의 경험을 계기로 웹페이지에 노출되는 바퀴벌레 이미지를 온디바이스에서 가려내는 목표로 YOLO11n에서 YOLO26n으로 전환하며 Roboflow 데이터로 학습한 모델을 ONNX로 내보내 onnxruntime-web으로 브라우저 추론을 수행했다. 동일 데이터에서 nano→small로 확장할 때 mAP50이 0.942→0.960으로 상승했으나 데이터 정제가 모델 확장보다 더 큰 성능 향상을 가져왔고 음성 샘플 오염·라벨 오류(예: Tribolium castaneum 잘못 라벨링)가 성능을 크게 깎는 주요 원인으로 확인됐다. 목재 무늬·카펫 질감 오탐은 질감 이미지를 음성 샘플로 추가해 줄였고 YOLO26의 end2end(NMS-free) 내보내기는 nano 크기에서 파일 크기와 속도 측면에서 유리한 트레이드오프를 보였으나 small 크기에서는 기존 YOLO11s보다 성능이 낮은 사례도 관찰됐다. 최종 산출물은 약 9MB ONNX 모델과 이미지당 수밀리초 추론 지연이며 작성자는 전체 수치와 학습 파이프라인을 GitHub에 공개해 추가 검증을 허용하고 있다.

실용적 조언

  • 데이터셋을 다운로드하면 파일 단위가 아니라 개별 이미지를 검증해 라벨 오염이나 클래스 혼동 여부를 반드시 확인해야 한다.
  • 의미가 불분명한 라벨('object', 'insect' 등)은 추측으로 처리하지 말고 해당 이미지를 배제하거나 별도 라벨링 기준을 세워야 한다.
  • 목재 무늬·카펫 등 반복적인 배경 질감 문제는 해당 질감 이미지를 명시적 음성 샘플로 추가해 오탐을 줄이는 것이 효과적이다.
  • ONNX로 내보낸 모델의 파일 크기와 브라우저 추론 지연을 측정해 목표 지연·용량에 맞는 모델 크기(nano/small)를 선택해야 한다.

섹션별 상세

01
작성자는 파트너가 바퀴벌레 사진에 놀란 사건을 계기로 웹페이지에 표시되는 바퀴벌레 이미지를 온디바이스에서 차단하는 것을 목표로 삼았고, 이를 위해 YOLO11n에서 시작해 YOLO26n으로 전환하면서 Roboflow에서 병합한 데이터셋으로 학습을 진행했다. 학습한 모델을 ONNX로 내보내 브라우저에서는 onnxruntime-web을 사용해 추론을 수행했고 최종적으로 약 9MB 크기의 ONNX 파일과 이미지당 수밀리초 수준의 추론 속도를 확보했다. 이 파이프라인은 클라이언트 사이드 개인정보 보호와 낮은 네트워크 의존성을 보장하는 현실적인 배포 방안으로 작동했다.
02
작성자는 동일한 데이터셋을 사용해 모델 크기와 입력 해상도를 통제한 비교 실험을 수행했으며 nano에서 small로 갈 때 mAP50이 0.942에서 0.960으로 상승하는 결과를 보고했다. 이 실험에서 데이터 정제가 모델 확장보다 더 큰 성능 향상을 가져왔고 정제에 투입된 시간은 모델 확장보다 적었다는 점이 수치적·경험적으로 관찰됐다. 이 결과는 작은 모델을 우선 배포하고 데이터 품질에 자원을 집중하는 것이 실무적 비용 대비 효율이 높다는 실무적 결론으로 이어졌다.
03
학습 데이터의 라벨 오류와 음성(negative) 샘플 오염이 모델 성능에 심각한 영향을 미쳤으며 작성자는 특정 'cockroach' 데이터셋이 사실은 Tribolium castaneum이라는 다른 딱정벌레로 잘못 라벨된 사례를 확인했다. 또한 음성 샘플에 실제 바퀴벌레가 포함되어 모델이 잘못된 패턴을 학습하는 문제가 발생했고 해당 오염을 제거했을 때 아키텍처 변경보다 더 큰 mAP 상승이 관찰되었다. 이 경험은 데이터셋을 개별 이미지 수준으로 검증하고 음성 샘플을 신중히 구성하는 절차가 필수임을 강조한다.
04
작성자는 의미가 모호한 라벨(예: 'object', 'insect')을 포함한 이미지를 추측으로 처리하는 대신 배제하는 정책을 채택했고, 목재 무늬나 카펫 질감에서 반복되는 오탐을 줄이기 위해 해당 질감 이미지를 명시적 음성 샘플로 추가했다. 이러한 처리 과정은 입력 이미지 → 라벨 필터링 및 음성 샘플 추가 → 재학습의 파이프라인을 통해 오탐률을 낮추는 결과로 연결되었고 경험적으로 오탐이 현저히 감소했다. 이 사례는 도메인특화 음성 데이터와 엄격한 라벨 정책이 실제 배포 안정성에 직접적으로 기여함을 보여준다.
05
YOLO26의 end2end(NMS-free) 내보내기를 nano 크기에서 시험한 결과 nano 수준의 속도와 파일 크기에서 YOLO11s와 유사한 정확도를 확보하는 트레이드오프가 관찰되었으나 YOLO26s는 동일한 small 구성에서 YOLO11s보다 성능이 낮아 몇몇 GitHub 이슈와 일치하는 결과가 나왔다. 작성자는 전체 비교 수치를 공유할 의사가 있음을 밝히며 새로운 아키텍처가 모든 상황에서 우월하지 않음을 확인했다. 따라서 모델 선택은 단순 성능 표면 숫자뿐 아니라 파일 크기·추론 지연·내보내기 방식의 상호작용을 기반으로 케이스별 검증이 필요하다.

용어 해설

ONNX
ONNX는 서로 다른 딥러닝 프레임워크 간 모델을 교환하기 위한 중립 포맷으로, 학습된 모델의 그래프와 가중치를 표현해 다양한 런타임에서 동일한 모델을 실행할 수 있게 한다. 작성자는 PyTorch/YOLO로 학습한 모델을 ONNX로 내보낸 뒤 브라우저 환경에서 onnxruntime-web으로 추론을 실행해 온디바이스 검출을 실현했다. ONNX는 모델 포맷 변환 과정에서 호환성 검증과 최적화 기회를 제공해 경량 배포에 유리하다.
onnxruntime-web
onnxruntime-web은 브라우저 환경에서 ONNX 모델을 실행하기 위한 런타임으로, WASM이나 WebGPU를 통해 클라이언트 사이드 추론을 수행한다. 작성자는 이 런타임을 사용해 서버 전송 없이 웹페이지 내에서 이미지당 수밀리초 수준의 추론을 달성했고 최종 모델 용량은 약 9MB로 보고됐다. 브라우저 내 추론은 개인정보 유출 위험을 낮추고 네트워크 지연을 제거하는 장점이 있다.
mAP50
mAP50은 객체 검출 성능을 평가하는 지표로, IoU(Intersection over Union) 임계값 0.5에서 클래스별 평균 정밀도를 평균해 계산한다. 작성자는 모델 크기별 실험에서 nano에서 small로 이동할 때 mAP50이 0.942에서 0.960으로 상승했다고 보고해 모델 확장 효과의 크기를 수치로 제시했다. mAP50은 모델 비교에 직관적인 수치지만, 실제 적용에서는 오탐·재현성·추론 지연을 함께 고려해야 한다.
Non-Maximum Suppression(NMS)
NMS는 객체 검출에서 중복되는 박스들을 제거해 최종 바운딩박스를 결정하는 기법으로, 전통적으로 후처리 단계에서 사용된다. 작성자는 YOLO26의 end2end(NMS-free) 내보내기를 시험해 NMS를 제거한 워크플로가 nano 크기에서 유리한 트레이드오프를 제공했음을 보고했다. NMS-free 방식은 후처리 비용을 줄이며 일부 상황에서 속도와 정확도 균형을 개선할 수 있다.
Roboflow
Roboflow는 이미지 데이터 전처리·라벨링·데이터셋 관리 기능을 제공하는 플랫폼으로, 다양한 공개·합성 데이터셋을 병합하거나 변환해 학습용으로 준비할 수 있다. 작성자는 Roboflow에서 합쳐진 데이터셋을 사용해 YOLO 모델을 학습했으나 일부 데이터셋의 라벨 오류와 이미지 단위 오염 문제를 경험했다. 데이터 출처와 각 이미지의 라벨을 검증하는 과정이 실무에서 매우 중요하다는 점을 보여준다.

언급된 도구

YOLO11n / YOLO11s / YOLO26n / YOLO26s중립

객체 검출 모델 아키텍처 변형을 비교해 추론 정확도와 파일 크기·속도 트레이드오프를 평가하는 데 사용됐다.

ONNX추천

학습된 모델을 프레임워크 간 교환 가능한 포맷으로 변환해 브라우저 배포를 가능하게 하는 데 사용됐다.

onnxruntime-web추천

브라우저 환경에서 ONNX 모델을 실행해 온디바이스 추론을 수행하는 런타임으로 사용됐다.

Roboflow중립링크

여러 공개 데이터셋을 병합하고 학습용으로 전처리하는 데 사용된 데이터 관리 플랫폼이다.

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 07. 03.수집 2026. 07. 03.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.