Gavinic / Traffic-Lights-Detection

This project is aimed to realize the relative algorithms about traffic lights detection. I will complete it by two methods ,the classical computer vision algorithms and deep learning method based on tensorflow objection API.I am a graduate student from UESTC, Chengdu, China.
63 stars 25 forks source link
cpp

Traffic Lights Detection


This project is aimed to realize the relative algorithms about traffic lights. I will complete it by two methods ,the classical computer vision algorithms and deep learning method based on tensorflow objection API.I am a graduate student from UESTC, Chengdu, China.

Summary:

As the title says, the main job of this project is to achieve the detection of traffic lights. In the field of intelligent transportation, there have been extensive researches on traffic signs, lane lines, vehicle forward collision warning, backward collision warning, and distance detection. These traffic-related computer vision directions are also classic issues that autopilot cars are currently addressing or have solved. Compared to these directions, there are relatively few studies on the detection of traffic lights. The detection of traffic lights is crucial in the safe driving of autonomous vehicles. In the study of traditional CV, more is the identification of relatively simple overhead light traffic lights. In complex urban environments, the detection and identification of traffic lights is still a difficult problem. Although the technology of Deep Learning is currently used, the recognition effect of traffic lights has been greatly improved. However, traffic light detection in complex urban environmental roads still does not achieve high accuracy. The purpose of this project is to sort out the relevant knowledge of the object detection while improving its C++ coding ability and programming and project building capabilities based on the tensorflow framework.I hope that interested friends can maintain this project together.

Here is the github link:
https://github.com/Gavinic/Traffic-Lights-Detection

(1)Overall design of the project:

The whole project is mainly divided into three parts:Traffic lights locate; Traffic lights detect; Traffic lights recognize;
1,Traffic lights locate:
The traffic light positioning part mainly performs pre-processing operations on the pictures used by the project to accurately find the traffic light area.
2,Traffic lights detection:
The traffic light detection part mainly focuses on the precise screening of the traffic light area obtained by the positioning part.
3,Traffic lights recognize:
The traffic light recognition part mainly distinguishes the detected traffic lights by red, yellow and green colors.

(2)DataSet:

Bosch Small Traffic Lights Dataset
image
image
image
image

(3)The results of conventional cv algorithm:

image
image
image
image
image
image

(4)The results of faster r-cnn based on Tensorflow:

image
image
image
image
image

(5)Reference:

1,Traffic Light Mapping and Detection
2,Traffic Light Detection: A Learning Algorithm and Evaluations on Challenging Dataset
3,A Tlreshold Selection Method from Gray-Level Histograms
4,Research on Traffic Object Detection and Recognition in Urban Environment
5,Research on Detection and Recognition Method of Traffic Lights in Complex Scenes
The above only lists the main references. The overall algorithm mainly uses the ideas of each article to design and implement the overall algorithm.

(6)Code overview:

image

(7)tensorflow objection API

https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md
The code based on object detection API of tensorflow is also open source. Code running needs to be configured according to the above URL. Because the author is not major in the object detection direction. So this part of the network directly calls the Google Tensorflow API. Subsequent project team members will perform this part of the code rewriting. Welcome to pay attention in real time. At present, the DL-based traffic light detection algorithm is modified and implemented. The 1024*720 picture takes about 150ms, and the accuracy on the test data set reaches 98%. Since the effect of directly using the API is not satisfactory, the team designed a new detection algorithm. And has applied for a patent, and there is a paper in the investment, after which will give the relevant paper link.

This is a persistent project and the subsequent analysis and explanation of the relevant code and algorithm principles. The code of the whole project is all from the author's original, except for a small number of references. Due to my limited ability, there may be some flaws in the structure and quality of the code. I hope that you can make valuable comments and contribute on Github to improve the project. The algorithm part is currently implemented, and the subsequent plan plus the software interface. The result is a complete product.
I am currently studying at the University of Electronic Science and Technology of China. If you have any questions about the project, please send an email to:Gavinzmail@163.com,At the same time, I will also introduce the whole project in the domestic CSDN blog platform. https://blog.csdn.net/gavinv/article/details/81016064.However. However, the current scientific research task is heavy, I will try my best to make this project a good job. I hope everyone can support!

996.icu