Automatic vehicle detection using open-cv(Python)
The objective of the program given is to detect object of interest(Car) in video frames and to keep tracking the same object. This is an example of how to detect vehicles in Python.
Why vehicle detection?
The startling losses both in human lives and finance caused by vehicle accidents.
Detecting vehicles in images acquired from a moving platform is a challenging problem.
Some Knowledge About Programming Language, Libraries and Editor used to build this project.
- Python : Python is an interpreted, high-level and general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python’s design philosophy emphasizes code readability with its notable use of significant whitespace.
- OpenCV : (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products.
- NumPy : NumPy is a python library used for working with arrays. It also has functions for working in domain of linear algebra, fourier transform, and matrices. NumPy was created in 2005 by Travis Oliphant. It is an open source project and you can use it freely. NumPy stands for Numerical Python.
Vehicle Detection Advantages
Vehicle detection reliability offers advantages for site safety and traffic control. Identifying the perfect technology for your requirements can be challenging for a vehicle detection application. Some of the factors that can play a major role in the success of a vehicle detection system are application environment (indoors or outdoors) , sensor mounting, sensing range, and target size.
Use Cases
- Sensors at parking stations can identify defaulters
- Detecting the speed of cars
- Identify defaulters who speed up the car while pedestrians cross the road
Overview and Conclusion
Detection of cars is a difficult problem. The sliding window method is expensive, in the sense that it takes too long to process (10 min to process 1 min). For a real-time application, it has to be optimized, say using parallel processing. And this method is likely to find a lot of false positives, even averaging frames.
The described method is likely to fail in cases where it wasn’t trained for: a bicycle, a pedestrian, a dog crossing the street, a cone in the middle of the road.
In real world car driving, we use the rear mirror to look behind. In the same way, we should have a rear camera to identify cars behind us.
I would like to thanks Udacity for providing this high level challenge and valuable guidance on this project.
Github project link