SNAC is a system designed for use in the next generation of autonomous cars. Currently, it is capable of the following:
- Counting the number of cars in opposing traffic
- Speed estimation of cars in opposing traffic
- Logging GPS and any OBD data
Utilizing this information, it is capable of traffic estimation, primarily using monocular vision. When combined with a wireless communication network, in theory, it will be able to generate crowdsourced traffic information.
Some features to be implemented in the future:
- Mapping capability to geographically store data
- Robust detection of various traffic signs (stop signs, yield signs, speed limit signs, etc.)
- Detection of obstacles (cars stopped on the road, accidents, major potholes, etc.)
This is the poster for the project:
This is the in car assembly of the SNAC system:
|1 x Omnivision OV10635 USB 3.0 Camera|
|1 x Garmin GPS18-5Hz|
|1 x On-board Diagnostics II (OBDII) Sensor|
- opencv optical flow (farneback) tells us how much pixel movement occurred from frame to frame.
- neural network - trained the YOLO network architecture on the Darknet machine learning framework. 2012 VOC subset of car images. After this, we get the bounding boxes where cars are detected.
- bounding box metadata is enough to be able to count how many opposing cars pass by in an arbitrary time interval.
- with the culmination of optical flow and bounding box data, a second neural network predicts the speed of the individual vehicles.
- finally greenshield's eq, which requires the count and speeds, provides a level of traffic congestion.