바로가기 메뉴
주메뉴 바로가기

[세종시] 교통 CCTV 를 이용한 교통량 분석

CCTV 영상기반의 딥러닝 객체 인식기술 적용을 통한 차량 통행량 분석
분석 배경
  • 교통 CCTV 영상의 객체인식을 통해 특정지점에서의 시간대별 차종별 통행량 산정 및 분석
  • 기존에는 버려지고 있는 빅데이터(CCTV 영상 )를 딥러닝 객체인식이라는 신기술을 이용해
    새로운 의미 있는 데이터를 생성해 지자체에 제공
시나리오
  • 기존 CCTV의 영상은 그 크기로 인해 적재 하지 못하고 벼려짐 으로서 의미 있는 데이터로 존재하기 어려움
  • 기존 통행량 측정은 CCTV와 센서 등의 복합적인 장비를 이용해 산정함으로 도로공사를 해야 하는 등의 소요 비용이 큼
  • 기존 빅데이터(CCTV 영상)를 이용해 새로운 의미 있는 데이터(시간대별 차종별 통행량 등)를 생성해 지자체에 제공
활용 데이터
  • CCTV 공간 데이터(국가 공간정보 포털에서 수급)
  • CCTV 영상 데이터(지자체나, 신도시 센터에서 수급)
분석 방법(절차)
  • CCTV 영상 접속하여 1분마다 이미지 캡쳐
  • 딥러닝 이미지 객체 분석 서버를 이용해 이미지 내 객체 확인(YOLO –You Only Look Once- 라이브러리 활용)
  • DB에 분석 내용 저장, 지도상에 CCTV 위치 자료 표출
  • 표출 기한을 선정하여 분석 이미지 시계열 표출
  • YOLO(You Only Look Once)
    YOLO는 각 이미지를 S x S 개의 그리드로 분할하고, 그리드의 신뢰도를 계산한다.
    신뢰도는 그리드 내 객체 인식 시 정확성을 반영한다.
    다음 그림과 같이 처음에는 객체 인식과는 동떨어진 경계 상자가 설정되지만,
    신뢰도를 계산하여 경계 상자의 위치를 조정함으로써, 가장 높은 객체 인식 정확성을 가지는 경계 상자를 얻을 수 있다.
  • 그리드에 객체 포함 여부를 계산하기 위해, 객체 클래스 점수를 계산한다. 이 결과로 총 S x S x N 객체가 예측된다.
    이 그리드의 대부분은 낮은 신뢰도를 가진다. 신뢰도를 높이기 위해 주변의 그리드를 합칠 수 있다.
    이후, 임계값을 설정해 불필요한 부분은 제거할 수 있다. 아래 그림과 같이 30% 신뢰도를 설정하면, 많은 그리드는 제외된다.
문제점
  • 세종시에서 고해상도의 교통 CCTV를 제공키로 하였으나, 제공된 싸이트가 주중에는 트래픽이 몰려 정상 적으로 영상을 추출해 낼 수가 없었음.
    그래서 ITS 저해상도 영상을 이용하여 추출함
분석결과(1/3) 지도상에 검출량 표출
  • 지도상에 딥러닝을 통한 CCTV 영상 차량 분석 결과 표출
  • 히트맵 형태로 나타나 교통 증가 구간을 시각적으로 확인
분석결과(2/3): CCTV 영상 개체인식 확인
  • 각 CCTV의 원본영상과 개체 검출 영상을 동시에 확인
  • 차종(승용차, 버스, 트럭)에 따른 분류 검출 확인
분석결과(3/3) 시간의 흐름에 따른 영상 검출 결과 확인
  • 시간의 흐름에 따른 영상 검출 결과 확인
  • 그래프와 텍스트를 이용한 시각적 표출