TL;DR
실제 산업용 부품과 공장 데이터셋 없이 DPM-Pattern-Image-Generator로 Data Matrix 코드의 기하 구조와 결함을 합성해 YOLOX를 학습한 프로젝트입니다. 모델은 Axis-Aligned Bounding Box 방식으로 구성됐고 ONNX Runtime과 OpenVINO backend를 통해 실행됩니다. 11세대 Intel Core i5-11400 CPU에서 전체 roi_track 루프가 약 10ms, 약 100 FPS를 기록했으며, 15초 주기의 메모리 기록 기능으로 장시간 실행 상태도 확인할 수 있습니다. 실제 금속 부품에서의 정확도는 아직 외부 사용자의 하드웨어 테스트가 필요한 상태입니다.
섹션별 상세
용어 해설
- Data Matrix 코드(Data Matrix Code)
- — 작은 점과 셀의 공간 배열로 정보를 표현하는 2차원 코드입니다. 이 프로젝트에서는 실제 산업 부품 대신 합성 패턴으로 코드의 위치와 결함을 학습하고, 이동과 크기 변화가 있는 영상에서 코드를 추적하는 대상으로 사용합니다.
- 축 정렬 경계 상자(Axis-Aligned Bounding Box)
- — 객체의 회전 각도와 무관하게 이미지의 가로·세로 축에 맞춘 사각형으로 위치를 표시하는 방식입니다. 대상의 촬영 각도가 기계적으로 제한되어 있어 회전 경계 상자 대신 ABB만으로 충분하다는 판단에 사용됐습니다.
- ONNX Runtime
- — 학습된 모델을 다양한 환경에서 실행하는 추론 런타임입니다. 이 구현은 YOLOX 모델을 ONNX Runtime으로 실행하고 OpenVINO 백엔드를 연결해 CPU 중심의 낮은 지연시간을 목표로 삼습니다.
- OpenVINO
- — Intel 하드웨어에서 신경망 추론을 최적화하고 실행하는 도구 모음입니다. 게시물에서는 ONNX Runtime의 backend provider로 연결하고, multi-device 모드와 latency priority 설정을 적용했습니다.
- 합성 데이터(Synthetic Data)
- — 실제 수집 데이터 대신 규칙이나 프로그램으로 생성한 학습 데이터입니다. DPM-Pattern-Image-Generator로 Data Matrix 패턴을 만들고 누락된 점과 표면 노이즈 같은 결함을 넣어 모델 학습에 사용했습니다.
- 관심 영역 추적 루프(roi_track)
- — 관심 영역을 대상으로 검출과 추적을 반복하는 처리 경로입니다. 게시물의 전체 roi_track 루프는 11세대 Intel Core i5-11400 CPU에서 프레임당 약 10ms를 기록해 전용 GPU 없이 초당 100프레임 처리를 달성했습니다.
언급된 도구
Data Matrix 패턴과 누락된 점, 표면 노이즈를 포함한 합성 학습 이미지 생성
Data Matrix 코드와 peened needle mark의 위치 검출
학습된 YOLOX 모델의 추론 실행
ONNX Runtime에 연결된 Intel 추론 backend provider
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.