USB 카메라 기반 실시간 결함 탐지 시스템: 스몰 배치 품질 관리 솔루션

소규모 생산 현장이나 수공업 워크숍에서 품질 검사를 담당하는 분들이라면 익숙한 고민이 있을 것입니다. 숙련된 검사원 양성에 수 주일이 소요되고, 인력 검사의 한계로 누락과 오판이 반복되며, 산업용 검사 장비는 수천만 원에 달해 도입이 어렵습니다. 게다가 검사 기록을 수기로 관리하다 보면 데이터 분석은커녕 기본적인 추적도 어려운 상황이죠.

이러한 현실에 맞춰 개발된 경량형 품질 검사 솔루션을 소개합니다. 고가의 산업용 카메라 없이 일반 USB 웹캠만으로 실시간 결함 탐지와 자동 데이터 기록, 시각화 리포트 생성이 가능한 시스템입니다.

핵심 특성

  • 장벽 없는 진입: 노트북 내장 카메라 또는 보급형 USB 웹캠으로 동작, 저장 공간 100MB면 충분
  • 즉시 실행: 단일 실행 파일로 배포, Windows 환경에서 설치 없이 바로 사용
  • 전 주기 커버리지: 실시간 탐지부터 샘플 수집, 데이터 정제, 리포트 출력까지 통합 제공
  • 확장 가능한 구조: Python 기반 오픈소스로 감도 조절, 알고리즘 변경, 추가 기능 개발 가능
  • 데이터 기반 개선: 자동화된 기록과 추세 분석으로 품질 향상의 근거 확보

시스템 구성과 역할

네 가지 전용 도구가 유기적으로 연결되어 검사 프로세스를 완성합니다.

1. 실시간 탐지 엔진

카메라 영상을 1초 간격으로 분석하여 결함을 자동 식별합니다. 탐지된 이상 영역은 시각적 표시로 강조되며, 동시에 누적 개수가 화면에 표시됩니다. 검사 과정에서 세 가지 출력물이 자동 생성됩니다: 상세 이벤트 로그(CSV), 일별 집계 표(Excel), 추세 시각화 이지입니다. 프로그램 종료는 키보드 Q 입력으로 처리하여 데이터 손실을 방지합니다.

2. 샘플 수집 유틸리티

제품 규격 변경이 잦은 소규모 환경에서 필수적인 도구입니다. 스페이스바 입력으로 현재 화면을 타임스탬프가 포함된 파일명으로 저장하며, 양품 템플릿 확보와 불량 사례 수집에 활용합니다. 캡처된 이미지는 지정된 디렉터리에 자동 분류됩니다.

3. 자동 리포트 생성기

수기 작성과 수동 집계를 대체하는 도구입니다. 검사 로그를 날짜별로 집계하여 서식이 적용된 Excel 파일과 추세 그래프를 산출합니다. 실시간 탐지 엔진과 연동되어 검사 종료 시 자동 실행되거나, 독립적으로 특정 기간 데이터를 처리할 수 있습니다.

4. 데이터 정제 인터페이스

CSV 및 Excel 파일을 그래픽 환경에서 정렬, 필터링, 정리할 수 있는 도구입니다. 검사 데이터의 사후 검증과 수정, 간단한 통계 분석에 활용하여 데이터 신뢰도를 높입니다.

동작 환경

항목요구사항
운영체제Windows 10/11 (64비트)
영상 입력USB 웹캠 또는 노트북 내장 카메라
저장 공간100MB 이상 여유 공간
개발 환경Python 3.7+ (소스 수정 시)

핵심 알고리즘 설명

시스템은 차영상 분석을 기반으로 동작합니다. 현재 입력 프레임과 사전 등록된 양품 템플릿 간의 픽셀 차이를 계산하고, 임계값을 적용하여 변화 영역을 분리합니다. 면적 기준을 초과하는 영역을 결함으로 판정하며, ORB 특징점 매칭으로 위치 편차와 회전을 보정합니다.

기본 파라미터는 다음과 같습니다:

# 핵심 설정값 예시
PIXEL_DIFF_THRESHOLD = 25      # 픽셀 차이 임계값
MIN_DEFECT_AREA = 200          # 결함 최소 면적 (픽셀)
DETECTION_INTERVAL_MS = 1000   # 검사 주기 (밀리초)
TEMPLATE_MATCH_FEATURES = 500  # 특징점 매칭 수

Python 소스 수정을 통해 감도, 주기, 알고리즘을 조정할 수 있으며, 산업용 카메라 통합, 딥러닝 기반 분류, MES 연동, 엣지 디바이스 배포 등으로 확장 가능합니다.

실전 활용 시 참고사항

정확도 향상을 위한 체크포인트

  • 템플릿 이미지는 조명이 균일한 환경에서 촬영
  • 카메라 고정 상태 유지, 진동 최소화
  • 표면 반사와 그림자 제거
  • 소스 코드의 면적 임계값 조정으로 민감도 조절

카메라 인식 실패 시

다른 애플리케이션이 영상 장치를 점유하고 있는지 확인하고, USB 연결을 재시도합니다. 이미지 파일로 기능 테스트가 필요한 경우 소스 코드의 데모 스크립트를 실행합니다.

프로그램 종료

창 닫기 버튼 대신 Q 키를 사용합니다. 비정상 종료 시 터미널에서 Ctrl+C로 프로세스를 중단합니다.

소스 코드 구조

eagle_vision/
├── core/
│   ├── detector.py          # 실시간 탐지 엔진
│   ├── aligner.py           # 영상 정렬 모듈 (ORB 기반)
│   └── reporter.py          # 리포트 생성 로직
├── tools/
│   ├── capture_gui.py       # 샘플 수집 인터페이스
│   ├── daily_report.py      # 일일 집계 생성기
│   └── data_cleaner.py      # 데이터 정제 도구
├── assets/
│   └── template.jpg         # 기본 양품 템플릿
├── config.yaml              # 사용자 설정 파일
└── main.py                  # 실행 진입점

설정 파일 분리로 코드 수정 없이 파라미터 변경이 가능하며, 모듈화된 구조로 특정 기능만 선택적으로 활용할 수 있습니다.

버전 2.0 개선사항

  • 실시간 탐지 안정성 강화 및 자동 리포트 연동
  • 샘플 수집 도구 신규 추가
  • Excel 날짜 형식 처리 개선 및 한글 차트 지원
  • 실행 환경 의존성 완전 제거 (단일 파일 배포)

획득 방법

Gitee 저장소에서 릴리즈 버전을 내려받거나, GitHub 미러를 통해 소스 코드에 접근할 수 있습니다. 모든 실행 파일은 보안 검증을 거쳤으며, 검사 데이터는 로컬에만 저장되어 외부 전송이 없습니다.

소규모 생산 환경에서 데이터 기반 품질 관리의 문턱을 낮추는 것이 이 시스템의 목표입니다. 보급형 장비와 개방형 구조로, 필요에 맞게 조정하고 확장해 나가길 바랍니다.

태그: computer-vision OpenCV quality-control defect-detection image-processing

6월 22일 17:30에 게시됨