객체 인식과 객체 추적을 활용한 고속도로 주행 영상에서의 돌발 상황 인식 방법
초록
본 논문에서는 객체 인식과 객체 추적을 활용하여 도로 주행 영상에서 돌발상황을 인식하는 연구를 진행하였다. 차량의 블랙박스를 통해 촬영된 도로 주행 영상의 각 프레임마다 객체 인식을 수행하고, 객체 추적 기술을 활용해 차량의 이동 경로를 학습한다. 학습된 이동 경로를 활용하여 다음 프레임에서 차량의 위치를 예측하고 이 예측값과 실제 프레임 상의 위치 차이를 활용하여 돌발상황을 인식한다. 객체 인식에는 YOLO(You Only Look Once), 객체 추적에는 DeepSORT(Deep Simple Online and Realtime Tracking), 차량 이동 경로 학습에는 RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory) 모델을 활용하였다. 학습 및 시험 데이터는 도심 및 고속도로 주행 영상 전체를 사용한 경우, 도심 주행 영상만 사용한 경우, 고속도로 주행 영상만 사용한 경우로 나누어 사용한 경우로 실험을 진행하였다.
Abstract
The aim of this study is to recognize unexpected situations in road driving images using object detection and object tracking. Object detection is performed for each frame of the road driving image captured through the vehicle's black box, and the vehicle's movement path is learned using object tracking. Using the learned movement path, predict next vehicle's position, and the unexpected situation is detecting by using the difference between predicted position and the actual position. YOLO (You Only Look Once) is used for object recognition, Deep SORT (Deep Simple Online and Realtime Tracking) for object tracking, and RNN (Recurrent Neural Network) and LSTM (Long Short-Term Memory) for path learning. We used 3 types of training and test data set obtained from the entire videos, driving videos, or from the highway driving videos.
Keywords:
machine learning, object detection, object tracking, RNN, LSTMⅠ. 서 론
전기 자동차, 자율주행 등의 발전으로 여러 가지 이동 수단에 고성능의 처리장치와 각종 센서(레이더, 라이다 등)가 탑재된다. 이와 같은 이동 수단의 발전에 따라 수집된 도로 교통 정보를 효율적으로 수집하고 이를 활용하여 교통에 편의성을 증대시키기 위한 연구가 활발하게 이루어지고 있다[1][2]. [3]과 [4]에서 교통 영상을 활용하여 교통사고를 인식하는 연구가 진행되었다. [3]에서는 Markov random field 알고리즘을 활용하여 교차로에서 CCTV와 같이 위에서 아래를 내려다보는 구도에서 교통사고를 인식하는 방법을 연구하였고, [4]에서는 스마트폰의 가속도 센서와 음향 데이터를 활용하여 교통사고를 인식하는 연구가 진행되었다.
본 논문에서는 이동 수단에 탑재된 여러 가지 정보 수집 수단 중 블랙박스를 통해 수집되는 영상 정보를 활용하여 돌발상황을 인식하는 연구를 진행하였다. 연구에 사용된 시스템은 크게 세 가지로 구성된다. 첫 번째로 객체 인식, 두 번째로 객체 추적, 세 번째로 돌발상황 인식이다. 블랙박스를 통해 수집된 도로 주행 영상에서 나타나는 모든 차량 객체를 인식한다. 인식된 객체를 추적하고, 그 경로를 학습하여 돌발상황 인식에 활용한다.
객체 인식에는 YOLO(You Only Look Once) v3를 활용하였다. 주행 중인 차량에서 실시간으로 수집되는 블랙박스 영상을 실시간으로 처리하기 위해 빠른 인식 속도를 가지는 1-stage detector 중 비교적 성능이 뛰어난 YOLO v3를 활용하였다[5].
객체 추적에는 DeepSORT(Deep Simple Online and Realtime Tracking)를 활용하였다. DeepSORT는 Kalman filter와 YOLO v3를 활용해 영상의 다음 프레임에서의 객체의 위치를 추정하는 기술이다[6][7].
돌발상황 인식에는 DeepSORT를 통해 추적된 객체의 이동 경로를 사용한다. 도로 주행 영상에서 추적된 객체의 이동 경로를 학습하고 각 차량 객체의 이동 경로가 정상적인 범위에서 벗어나는 경우를 돌발상황으로 인식한다. 본 논문에서는 이동 경로의 학습과 돌발상황 인식에 RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory)을 사용하였다[8][9].
본 연구에서 제안하는 시스템으로 도로 주행 영상에서 돌발상황을 인식할 수 있게 되면 이를 주변 차량, 도로교통공사 등과 공유하여 2차 사고 예방, 도로의 유지보수, 사고 처리 등에 유용하게 활용될 수 있다.
Ⅱ. 시스템 개요 및 구성
그림 1은 돌발상황 인식 시스템의 구성도이다. 시스템은 크게 세 가지로 나뉜다. 첫 번째로 블랙박스를 통해 수집된 도로 주행 영상에서 차량 객체를 검출하는 객체 인식 과정, 두 번째로 각 차량 객체의 이동 경로를 추적하는 객체 추적 과정, 마지막으로 각 차량 객체의 이동 경로를 RNN과 LSTM을 통해 각각 학습하고 객체의 다음 위치를 예측하여 돌발상황을 인식하는 과정이 있다. 돌발 상황 인식은 RNN과 LSTM을 통해 예측된 객체의 다음 위치와 실제 도로 주행 영상에서의 객체의 위치를 비교하고 실제 도로 주행 영상에서의 객체의 위치가 예측된 위치와 크게 다를 경우 돌발상황으로 인식한다.
2.1 객체 인식
객체 인식 기술은 사진 또는 영상에 나타나는 물체의 분류와 위치를 다룬다. 객체 인식은 물체 분류 문제와 물체의 위치를 찾는 문제를 처리하는 방법에 따라 1-stage detector와 2-stage detector로 나뉜다. 1-stage detector는 두 과정을 동시에 수행하는 것이고, 2-stage detector는 두 과정을 순차적으로 처리하는 방식이다. 1-stage detector는 두 과정을 동시에 처리하는 만큼 실행 시간이 짧아지는 장점이 있지만, 두 가지 과정을 순차적으로 처리하는 2-stage detector에 비해 인식률 및 정확도가 떨어지는 단점이 있다.
본 연구에 사용된 YOLO v3은 1-stage detector로, 2-stage detector의 대표적인 모델인 R-CNN 계열의 모델에 준하는 정확도를 가지면서 더 많은 양의 데이터를 빠르게 처리할 수 있는 실시간 객체 탐지를 지향한다[10].
그림 2는 YOLO v3의 간략한 동작 구조이다. Convolutional network를 단 한 번만 사용하여 객체의 위치와 종류를 판별한다.
본 연구에서는 블랙박스를 통해 수집된 도로 주행 영상의 각 frame에 YOLO v3을 적용하여 차량 객체를 검출하였다.
2.2 객체 추적
객체 추적 기술은 영상 처리 분야에서 관심 영역 및 관심 객체를 탐지하고 추적하는 기술이다. 영상의 한 frame에서 객체를 인식하고 이 정보를 다음 frame과 비교하여 ID를 매칭시킨다[11].
본 연구에서는 object tracking 기술 중 하나인 DeepSORT를 활용하였다. DeepSORT는 Kalman filter와 Hungraian algorithm을 사용하는 SORT(Deep Simple Online and Realtime Tracking)에서 Occlusion이나 ID switching 등의 문제를 해결하기 위해 딥러닝 feature vector를 더한 것이다. 객체 인식을 활용하여 이전 frame의 객체를 활용하여 다음 frame의 객체 위치를 예측한다. 예측 모델과 측정 모델로 나누어져 있다.
그림 3은 DeepSORT의 구조이다. Detections는 frame에서 탐지된 객체이고, Tracks는 객체의 이동 경로이다. Matching Cascade는 Confirmed 상태의 tracks에 대해 matching을 진행하는 과정이다.
예측값과 측정값의 matching 정도를 파악하는 Mahalanobis distance와 객체가 가지는 모양을 판단하는 cosine distance의 가중평균을 이용하여 matching을 수행한다. IOU(Intersection Over Union) Match는 IOU 유사도를 구한 뒤 추적되고 있는 객체와 그렇지 않은 객체를 분류한다. 추적되지 않는 객체는 새로 나타난 객체와 사라진 객체로 나누어진다. Matched Tracks는 추적 중인 객체의 이동 경로, Unmatched Tracks는 사라진 객체의 이동 경로, Unmatched Detections는 새로 나타난 객체이다. Matched Tracks는 Kalman filter를 통해 다음 frame에서의 객체 추적을 위한 측정치 업데이트를 수행한다.
그림 4는 IOU의 정의이다. 겹치는 영역에 대해 수치화 시킨 값으로, 겹치는 영역이 클수록 그 값이 크다.
2.3 돌발상황 인식
객체 추적 과정에서 얻어낸 차량 객체들의 이동 경로는 시간의 흐름에 따라 변화하는 시계열 데이터이다. 시계열 데이터의 처리에는 RNN 계열의 모델이 많이 사용된다. 대표적으로 RNN, LSTM, GRU 등이 있다.
차량 객체의 이동 경로를 학습하고 학습된 데이터를 활용하여 차량 객체의 다음 위치를 예측하기 위해 사용되었다. RNN은 모델 내부에 과거의 형태를 저장하는 메모리가 존재하여 시계열 데이터 분석에 효과적이다. 기존의 다른 네트워크와 달리 이전의 상태를 참고할 수 있기 때문이다. RNN은 각 셀에 저장된 이전 state와 입력에 따라 출력이 결정되고, 역전파를 통해 학습한다.
그림 5는 LSTM 모델의 구조이다. RNN의 단점을 보완한 모델로, 장기간 메모리의 역할을 하는 cell state와 각 cell 간의 연결 강도룰 조절하는 forget gate, input gate, output gate로 구성된다. σ는 시그모이드 함수, tanh는 하이퍼볼릭탄젠트함수, W는 각 게이트에서 활용되는 가중치, ht는 t 시점의 은닉 상태를 의미한다. 본 연구에서는 객체 추적에서 얻은 각 차량 객체의 이동 경로를 RNN, LSTM 모델로 각각 학습하고, 다음 frame에서의 차량 위치를 예측한다. RNN, LSTM으로 예측한 차량 객체의 위치와 실제 도로 주행 영상에서 나타나는 차량 객체의 위치가 서로 다를 경우 돌발상황으로 인식한다.
본 연구에서 사용된 RNN, LSTM 모델은 프레임 상에 등장하는 객체의 이전 좌표들을 입력으로 사용하여 다음 프레임에서 객체의 예상 위치를 출력한다. (1)은 돌발 상황 인식에 사용된 수식이다. 예측된 위치와 실제 위치 사이의 거리를 f(Ri, Pi)로 정의하였다. Ri는 실제 객체의 위치, Pi는 RNN, LSTM을 활용하여 예측한 객체의 위치이다.
(1) |
Ⅲ. 실험 데이터 및 결과
본 연구에서 사용된 데이터는 블랙박스를 통해 촬영된 도로 주행 영상이다. 학습 데이터로는 정상 주행 영상이 사용되었고, 테스트 데이터로는 정상 주행 영상과 돌발상황이 발생한 영상을 사용하였다. 학습과 테스트에 사용된 도로 주행 영상은 도심 주행 영상과 고속도로 주행 영상으로 나누어진다. 도심 주행 영상의 경우 차량의 수가 많고 이동 경로가 복잡한 경향이 있고, 고속도로 주행 영상의 경우 차량의 수가 적고 차량들의 움직임이 단순한 모습을 볼 수 있다. 실험에 사용될 도로 주행 영상은 데이터의 크기를 줄여 실시간 처리에 적합하도록 초당 frame을 1/10로 줄여서 사용하였다. 실험 환경의 경우 Windows10, TitanZ GPU를 활용하여 각 모델 당 epoch 값은 1,000으로 학습을 진행하였다.
3.2 객체 추적 결과
그림 7은 DeepSORT를 활용하여 객체 추적을 수행한 결과이다. 각 차량 객체에 ID가 부여되고 차량의 이동 경로가 표시되는 모습을 확인할 수 있다.
그림 8은 객체 추적 과정에서 발생하는 ID switching 현상이다. 차량 객체가 영상에서 다른 객체에 의해 가려지고, 비슷한 위치에 있는 다른 객체로 ID가 옮겨가는 현상이다.
3.3 돌발 상황 인식 결과
학습 데이터는 모든 정상 주행 영상이다. 그림 9는 정상 주행 데이터중 한 예시이다. 테스트 데이터로는 돌발 상황 데이터 50개, 정상 주행 데이터 50개를 무작위로 선별하여 테스트를 진행하였다. 돌발 상황 데이터의 경우에는 사고 영상 100개 중 무작위로 50개를 사용하였고, 정상 주행 데이터의 경우 전체 주행 영상을 활용하여 무작위로 1분 길이의 영상을 만들어 사용하였다. 돌발 상황 인식은 총 3가지로 학습 데이터를 나누어 진행하였다. 첫 번째로 도심 주행, 고속도로 주행의 모든 영상을 학습 및 테스트에 사용한 결과이다.
표 1과 표 2는 도심 및 고속도로 주행 영상을 학습 데이터로 사용하고 테스트 데이터로는 도심 및 고속도에서 발생한 돌발 상황 데이터 중 50개를 무작위로 선별하여 사용하였다. 인식률이 RNN과 LSTM 각각 54%, 49%로 현저히 낮게 나타난 것을 확인할 수 있다.
두 번째로는 도심 주행 영상만을 학습 데이터와 실험 데이터로 사용한 경우이다. 표 3과 표 4는 도심 주행 데이터만을 학습 데이터로 사용하고 도심에서 일어나는 돌발 상황에 대한 데이터를 테스트 데이터로 사용한 결과이다. 데이터를 도심 주행 영상으로 제한하여 실험하였으나 여전히 인식률이 RNN과 LSTM 각각 53%, 54%로 현저히 낮았다.
세 번째로는 학습 데이터와 테스트 데이터 모두를 고속도로 주행 영상으로 사용하였을 경우이다. 학습 데이터는 고속도로에서 정상적으로 주행하는 영상, 테스트 데이터로는 고속도로 정상 주행 영상, 고속도로에서 발생한 돌발상황 영상을 각 50개씩 사용하여 총 100개의 테스트 데이터로 실험을 진행하였다.
표 5와 표 6은 학습 데이터와 테스트 데이터 모두 고속도로 주행 영상을 사용하였을 때의 실험 결과이다. 인식률은 RNN과 LSTM 각각 86%, 91%로 준수한 인식률을 보인다. 인식에 실패한 경우의 예를 들면, 야간 주행 중 주변의 광량이 부족하여 객체 인식이 원활히 이루어지지 않거나, 영상 내에서 차량의 거리가 너무 멀어 이동 경로의 변화가 적은 경우 등이 있었다.
그림 10은 돌발 상황 인식에 성공한 영상이다. 우측에서 주행하던 차량의 이동 경로가 왼쪽으로 크게 치우쳐 돌발상황으로 인식된 경우이다.
실험 결과 도심 주행의 경우 차량의 수가 많고 반대편 차선에서 나타나는 차량의 개수가 많아 YOLO v3의 인식률이 떨어지고 ID switching 현상이 많이 발생하여 학습에 어려움이 있었다. 하지만 고속도로 주행 영상의 경우 중앙분리대로 인해 반대편 차선의 차량들이 가려지고, 차량의 움직임도 단순하여 학습에 용이했다.
Ⅳ. 결론 및 향후 연구 계획
본 논문에서는 객체 인식과 객체 추적을 활용하여 도로 주행 영상에서 돌발상황을 인식하는 방법에 대하여 기술하였다. 도로 주행 영상에서 차량 객체들을 인식하고 이를 object tracking 기술로 추적하여 이동 경로를 학습하였다. 학습된 이동 경로를 바탕으로 객체의 다음 위치를 예측하고 이 예측값과 실제 객체의 위치 차이를 활용하여 돌발 상황을 인식하였다. 실험 결과 도심 주행 영상을 학습 데이터로 사용한 경우에는 인식률이 54% 이하로 현저히 낮았고, 학습 및 실험 데이터를 고속도로로 제한한 결과 RNN을 사용한 모델의 경우 86%, LSTM을 사용한 모델의 경우 91%로 높은 인식률을 보였다.
도심 주행의 경우 차량의 수가 많아 객체 인식에 어려움이 있고, 차량의 이동이 복잡하여 object tracking 과정에서 ID switching 현상이 빈번하게 발생하였다. 하지만 고속도로 주행 영상의 경우 차량의 움직임이 비교적 단순하고, 차량의 수도 상대적으로 적어 학습과 실험에 유리했다.
이러한 결과를 통해 고속도로 주행 영상의 경우 돌발상황 인식이 충분히 가능함을 확인하였다. 추후 연구를 통해 도심 주행 등 복잡한 이동 경로를 갖는 영상에 대한 개선이 필요하다. 높은 해상도의 블랙박스 사용, 영상에서 차량 객체를 인식하는 범위 제한, 차량의 이동 방향을 고려하여 추적하는 객체의 종류를 제한하는 등의 방법으로 연구를 진행하여 인식률을 개선할 예정이다.
Acknowledgments
본 연구는 금오공과대학교 교수연구년제에 의하여 연구된 실적물
“2021년도 한국정보기술학회 추계종합학술대회에서 발표한 논문(Object Tracking을 활용한 교통사고 인식)을 확장한 것임”
References
- Z. Xiong, W. Li, Q. Han, and Z. Cai, "Privacy-preserving auto-driving: a GAN-based approach to protect vehicular camera data", 2019 IEEE International Conference on Data Mining (ICDM), Beijing, China, pp. 668-667, Nov. 2019. [https://doi.org/10.1109/ICDM.2019.00077]
- Z. Xiong, Z. Cai, Q. Han, A. Alrawais, and W. Li, "ADGAN: Protect Your Location Privacy in Camera Data of Auto-Driving Vehicles", IEEE Transactions on Industrial Informatics, Vol. 17, No. 9, pp. 6200-6210, Sep. 2021. [https://doi.org/10.1109/TII.2020.3032352]
- S. Kamijo, Y. Matsushita, K. Ikeuchi, and M. Sakauchi, "Traffic monitoring and accident detection at intersections", IEEE Transactions on Intelligent Transportation Systems, Vol. 1, No. 2, pp. 108-118, Jun. 2000. [https://doi.org/10.1109/6979.880968]
- J. White, C. Thompson, H. Turner, B. Dougherty, and D. C. Schmidt, "Wreckwatch: Automatic traffic accident detection and notification with smartphones", Mobile Networks and Applications, Vol. 16, No. 3, pp. 285-303, Mar. 2011. [https://doi.org/10.1007/s11036-011-0304-8]
- J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, "You only look once: Unified, real-time object detection", IEEE conference on computer vision and pattern recognition, Las Vegas, NV, USA, pp. 779-788, Jun. 2016. [https://doi.org/10.1109/CVPR.2016.91]
- A. Bewley, Z. Ge, L. Ott, F. Ramos, and B. Upcroft, "Simple online and realtime tracking", 2016 IEEE international conference on image processing (ICIP), Phoenix, AZ, USA, pp. 3464-3468, Sep. 2016. [https://doi.org/10.1109/ICIP.2016.7533003]
- N. Wojke, A. Bewley, and D. Paulus, "Simple online and realtime tracking with a deep association metric", 2017 IEEE International Conference on Image Processing (ICIP), Beijing, China, pp. 3645-3649, Sep. 2017. [https://doi.org/10.1109/ICIP.2017.8296962]
- D. E. Rumelhart, G. E. Hinton, and R. J. Williams, "Learning representations by back-propagating errors", Nature, No. 323, pp. 533-536, Oct. 1986. [https://doi.org/10.1038/323533a0]
- K. Greff, R. K. Srivastava, J. Koutník, B. R. Steunebrink, and J. Schmidhuber, "LSTM: A search space odyssey", IEEE transactions on neural networks and learning systems, Vol. 28, No. 10, pp. 2222-2232, Oct. 2017. [https://doi.org/10.1109/TNNLS.2016.2582924]
- Jae-Jung Kim and Chang-Bok Kim. "Implementation of Robust License Plate Recognition System using YOLO and CNN", The Journal of Korean Institute of Information Technology, Vol. 19, No. 4 pp. 1-9, Apr. 2021. [https://doi.org/10.14801/jkiit.2021.19.4.1]
- Yun-Hee Woo, Kwon-Taeg Choi, and Jeong-Gun Lee, "Hybrid Multiple Object Tracking System Design for Real-Time Application", The Journal of Korean Institute of Information Technology, Vol. 17, No. 11 pp. 1-8, Nov. 2019. [https://doi.org/10.14801/jkiit.2019.17.11.1]
2020년 2월 : 금오공과대학교 컴퓨터소프트웨어공학과 공학사
2020년 3월 ~ 현재 : 금오공과대학교 전자공학과 공학석사 과정 재학
관심분야 : 머신러닝, 채널코딩
1987년 2월 : 한양대학교 전자통신공학과 공학사
1994년 2월 : 한양대학교 전자통신공학과 공학석사
1999년 2월 : 한양대학교 전자통신공학과 공학박사
1994년 10월 ~ 2002년 2월 : LG전자 책임연구원
2002년 3월 ~ 현재 : 금오공과대학교 전자공학부 교수 IEEE senior member
관심분야 : 머신러닝, 채널코딩, 이동통신 시스템