컴퓨터 비전을 활용한 프로덕션 레디 교통 위반 감지 시스템 구축
I’m happy to translate the article for you, but I’ll need the text of the article itself. Could you please paste the content you’d like translated (excluding the source link you already provided)? Once I have the full text, I’ll keep the source line unchanged and translate the rest into Korean while preserving all formatting, markdown, and technical terms.
문제 개요
핵심 문제는 비디오 스트림에서 차량 행동을 자동으로 감지하고 분석하여 불법 회전, 차선 위반, 제한 구역 이동과 같은 교통 위반을 식별하는 것이었습니다.
주요 과제
- 혼잡한 장면에서 차량을 정확하게 감지하기
- 프레임 간 일관된 추적 유지하기
- 부분적인 가림 및 빠른 움직임 처리하기
- 단일 비디오를 넘어 확장 가능한 파이프라인 설계하기
시스템 아키텍처
높은 수준에서 이 시스템은 다섯 개의 모듈식 단계로 구성됩니다:
- Video ingestion
- Vehicle detection
- Multi‑object tracking
- Violation logic & analytics
- Visualisation & reporting
각 단계는 독립적으로 개선될 수 있습니다.
차량 감지
감지를 위해 실시간 시나리오에서 속도와 정확도의 균형 때문에 YOLO 기반 모델을 사용했습니다.
핵심 결정 사항
- 차량 클래스에 맞게 YOLO 모델을 미세 조정함
- 고해상도 프레임에서 감지 정확도를 높이기 위해 SAHI (Slicing Aided Hyper Inference)를 사용함
- 빠르게 움직이는 차량을 놓치지 않도록 추론 속도와 재현율을 균형 있게 조정함
YOLO는 중간 정도로 밀집된 교통 상황에서도 신뢰할 수 있는 경계 상자를 제공했으며, SAHI는 거리에서 작은 차량을 감지하는 데 도움이 되었습니다.
Source:
다중 객체 추적
단순히 탐지만으로는 충분하지 않으며, 위반을 판단하려면 시간에 따른 움직임을 이해해야 합니다. 저는 DeepSORT를 사용했으며, 이는 다음을 결합합니다:
- 움직임 예측을 위한 칼만 필터링
- 정체성 일관성을 위한 외관 임베딩
이를 통해 시스템은 다음을 수행할 수 있었습니다:
- 차량에 고유 ID 할당
- 프레임 간 차량 추적
- 일시적인 가림 현상을 비교적 잘 처리
추적 안정성은 매우 중요했으며, 작은 ID 전환이라도 위반 로직을 무효화할 수 있습니다.
위반 감지 로직
차량이 신뢰할 수 있게 추적된 후, 다음 과제는 위반 규칙을 정의하는 것이었습니다. 픽셀 기반 규칙을 하드코딩하는 대신, 다음을 구현했습니다:
- 영역 기반 로직(진입/출구 구역)
- 방향 흐름 분석
- 거짓 양성을 줄이기 위한 시간 임계값
예시
- 제한 구역에 진입하는 차량은 일관된 추적이 확인된 후에만 플래그가 지정되었습니다.
- 급격한 감지 스파이크는 프레임 전반에 걸쳐 지속되지 않는 한 무시되었습니다.
이 접근 방식은 시스템을 잡음 및 카메라 아티팩트에 더 강인하게 만들었습니다.
데이터 파이프라인 및 성능 고려 사항
시스템을 프로덕션 준비 상태로 유지하기 위해:
- 가능한 경우 프레임을 배치 처리했습니다.
- 추론과 추적을 분리했습니다.
- 중간 메타데이터(ID, 좌표, 타임스탬프)를 나중 분석을 위해 저장했습니다.
성능 트레이드오프
- 높은 해상도가 감지를 개선했지만 지연 시간이 증가했습니다.
- 정확성을 위해 원시 FPS보다 추적 안정성을 우선시했습니다.
이러한 결정은 종종 간과되지만 실제 배포에서는 크게 영향을 미칩니다.
시각화 및 출력
- 위반 사항을 비디오 출력에 직접 오버레이했습니다.
- 차량 ID와 경로를 시각화했습니다.
- 하위 분석을 위한 구조화된 출력물을 생성했습니다.
이렇게 하면 시스템 동작을 검증하고 비기술 이해관계자에게 결과를 설명하기가 쉬워졌습니다.
주요 과제 및 교훈
- 검출 정확도는 문제의 절반에 불과하며, 추적 품질도 동일하게 중요합니다.
- 실제 영상은 잡음이 많으며, 시스템은 불완전한 데이터를 견딜 수 있어야 합니다.
- 신중하게 설계된 간단한 규칙이 복잡한 모델보다 종종 더 좋은 성능을 보입니다.
- 모듈식 설계는 반복 작업을 크게 용이하게 합니다.
- 이러한 교훈은 컴퓨터 비전을 넘어 적용 AI 시스템을 접근하는 방식에 영향을 미쳤습니다.
최종 생각
이 프로젝트는 적용 AI 시스템을 구축할 때 엔지니어링 판단의 중요성을 재확인시켰습니다. 모델만으로는 문제를 해결할 수 없으며, 사려 깊은 시스템 설계, 현실적인 가정, 그리고 신중한 트레이드‑오프가 생산 환경에서 솔루션을 실현 가능하게 만듭니다.
전체 구현(모델 설정 및 파이프라인 코드 포함)은 GitHub에서 확인할 수 있습니다: