An automatic multi-class vehicle detection and traffic congestion analysis system - Huang, Xinwei (Nanyang Technological University, 2020)
Surveillance cameras are widely installed along roadways, and the numbers are steadily increasing. With widely deployed surveillance cameras that monitor the road conditions, it’s feasible to develop a system to analyse the traffic conditions automatically. The aim of this project is to develop an automatic algorithm using Python and deep learning techniques to detect the vehicles from the traffic surveillance video and automatically analyse the traffic flow and congestion. The system is mainly divided into two components: vehicle detection and traffic congestion analysis. For the vehicle detection component of the system, deep learning model RetinaNet was trained on UA-DETRAC Benchmark which consisted of vehicle images extracted from real life traffic videos. Besides, Cycle Generative Adversarial Network (Cycle-GAN) was adopted to improve the vehicle detection performance at night time. Artificial night time images generated from trained Cycle-GAN models and augmented training dataset were used for RetinaNet vehicle detector. For the traffic congestion analysis component of the system, OpenCV and several Python packages and modules such as Matplotlib, Numpy, Pandas, Tkinter and CSV were used to perform congestion level analysis, display the traffic information in traffic images, generate popping up alert notifications, write log files and report, and generate traffic flow charts and output video. This automatic traffic congestion analysis system can bring many benefits and has great potential in urban traffic management. For example, the information generated from this automated system can be used by the traffic management authorities to monitor the traffic flow in an efficient manner and develop a balanced urban road transportation system. Furthermore, the system-generated alert notifications can help the drivers to improve their awareness of safety driving and reduce the risk of getting into car accidents, especially in traffic congested areas.