AI 바우처 사업 간 발생한 결함 내역 및 해결 방법

딥러닝 차량분석

기존 시스템의 문제점

단속 시스템의 경우 각 단속 기능에 대한 카메라가 개별적으로 설치되는 것이 문제점이라고 할 수 있습니다.
교차로마다 평균 1~2개의 단속시스템이 설치되는데, 확실한 단속을 위해서는 교차로에서 방향별로 총 4개의 과속단속 및 신호 위반 단속시스템이 설치되어야 하며,
불법 주/정차 카메라 및 우회전 단속 카메라가 설치되어야 합니다.

이는 관리 및 장소, 설치에 큰 비용이 들며 예산으로 인한 추가적인 설치가 부족해 어린이 보호구역에도 설치가 잘 안 되는 결과를 만들어 냅니다.

해결 방안

  1. 기존의 단속시스템을 통합하여 하나의 시스템을 도입

  2. 차량의 추적 및 3D 박스를 이용한 통합단속 시행

voucher

그림) 통합 단속시스템 개요

사용자 인터페이스

voucher

OpenCV에서 화면에 문자열을 출력할 때 사용하는 putText() 함수는 한글을 출력할 수 없습니다.
– 따라서 화면에 한글을 출력하기 위해서는 유니코드 문자열비트맵 이미지로, 비트맵 이미지행렬로 변환하여 출력해야 합니다.

voucher

– 문자열을 행렬로 바꿔 출력한 결과, 한글이 문제없이 잘 출력됩니다.
– 기존 문자열 출력 함수와 큰 차이가 나지 않도록 출력 형태 수정해야 합니다.

기존 단속 기준

  1. 차량의 경계 박스 중심점을 기준점으로 설정합니다.
  2. 현재 프레임의 기준점과 이전 프레임의 기준점의 위치를 비교하여, 그 거리가 기준치 이하라면 정지 상태로 판단합니다.
  3. 정지 상태일 경우 단속 타이머를 작동하여 시간을 누적시킵니다.
  4. 현재 프레임의 기준점과 이전 프레임의 기준점 사이의 거리가 일정 값을 초과하는 즉시 이동 상태로 판단하여, 단속 타이머를 초기화합니다.
  5. 단속 타이머가 정해진 시간을 초과한다면 불법 주/정차 차량으로 판단합니다.

기존 단속 기준의 문제점

경계 박스의 떨림이나 다른 물체에 의한 부분 폐색, 카메라의 흔들림 등 다양한 요인으로 인해 기준점인 경계 박스의 중심점의 이동 거리가 기준치를 초과하여, 차량이 실제로는 정지 상태라도 이동 중으로 오인될 수 있습니다.

위와 같은 이유로 잠깐이라도 오판 시, 단속 타이머가 즉시 초기화됩니다.

단속 알고리즘 개선

voucher

– 이전 프레임과 비교하여 기준점이 일정 픽셀 이하로 이동했을 경우, 정지 여부를 확인하는 일시 정지 판단 카운터를 증가시킵니다.

– 해당 카운터가 일정 값을 초과할 때, 일시 정지 타이머를 작동시킵니다.

– 동시에 기준점을 중심으로, 주/정차 판단 기준으로 사용할 영역을 설정합니다.

– 기준점이 주차 판단 영역 내부에 있다면 일시 정지 타이머에 값을 누적시킵니다. 기준점이 주차 판단 영역을 5 프레임 이상 벗어난다면, 주/정차를 멈추고 이동 중인 것으로 판단합니다.

개선 결과

  1. 차량이 주차를 시작한 것으로 판단하면, 이후의 정지 판단 기준은 비교적 여유 있게 설정하여, 부분 폐색과 같은 예외 상황에 대처합니다.
  2. 기준점이 연속으로 판단 기준을 벗어나는 경우에만 정차 후 이동 중인 차량으로 판단하여, 타이머가 초기화되는 일을 최대한 방지할 수 있습니다.