Vehicle counting, filtering and tracking in a roundabout (Python3/OpenCV)
Budget: €30 – €250 EUR
I’d need a Python3 program that is able to count vehicles and filter them in a roundabout. The most important thing will be to know the entrance and exit lane of the vehicle. It would be great to have the vehicles separated between: motorbikes, cars and truck/buses. Everything saved into a database like MySQL.
I’d like to know a bit of which would be the different phases in the process that you’ll use and which recognition and filtering methods are you going to use.
As an example, this could be a video of the desired job:
https://vimeo.com/122096921
https://www.youtube.com/watch?v=FM22gwXvFCw
Required features of the program:
- MUST be a Python3 program not using any external API that needs any kind of subscription
- Is should be configurable to be able to define as many entrances and exits and their location in an easy interactive way (Maybe the camera won’t be always in the same position and should be configurated everytime that starts the program)
- The centerpoints of the vehicles should be drawn on the video as they are detected and have a unique ID that will be saved into the database, having the trajectories and their timing. Also could be nice to have the vehicle in a rectangle showing if the program filters it as car, motorbike or truck/bus.
The database should have something like this:
- Video: ID, name of the video, length, description
- vehicle_type: types of vehicles that will be discriminated
- vehicle: vehicle that has been recognize. Has its ID and type, in_lane ID and out_lane ID
- trajectory: x and y position, datetime and vehicle ID, video ID, timing in video footage
- in_lane: ID of the lane, rectangle position that marks the threshold where the vehicle must pass to be recognized, video ID, name of the lane
- out_lane: ID of the lane, rectangle position that marks the threshold where the vehicle must pass to be recognized , video ID, name of the lane
- stats_general: start time, end time of video, ID video, number of cars, number of motorbikes and number of trucks/buses
- stats_lanes: video ID, lane ID, total count, car count, motorbike count, truck/bus count
Feel free to change the model of the database in the best way that you see to get statistics depending on the lanes.
I’d like to know a bit of which would be the different phases in the process that you’ll use and which recognition and filtering methods are you going to use.
As an example, this could be a video of the desired job:
https://vimeo.com/122096921
https://www.youtube.com/watch?v=FM22gwXvFCw
Required features of the program:
- MUST be a Python3 program not using any external API that needs any kind of subscription
- Is should be configurable to be able to define as many entrances and exits and their location in an easy interactive way (Maybe the camera won’t be always in the same position and should be configurated everytime that starts the program)
- The centerpoints of the vehicles should be drawn on the video as they are detected and have a unique ID that will be saved into the database, having the trajectories and their timing. Also could be nice to have the vehicle in a rectangle showing if the program filters it as car, motorbike or truck/bus.
The database should have something like this:
- Video: ID, name of the video, length, description
- vehicle_type: types of vehicles that will be discriminated
- vehicle: vehicle that has been recognize. Has its ID and type, in_lane ID and out_lane ID
- trajectory: x and y position, datetime and vehicle ID, video ID, timing in video footage
- in_lane: ID of the lane, rectangle position that marks the threshold where the vehicle must pass to be recognized, video ID, name of the lane
- out_lane: ID of the lane, rectangle position that marks the threshold where the vehicle must pass to be recognized , video ID, name of the lane
- stats_general: start time, end time of video, ID video, number of cars, number of motorbikes and number of trucks/buses
- stats_lanes: video ID, lane ID, total count, car count, motorbike count, truck/bus count
Feel free to change the model of the database in the best way that you see to get statistics depending on the lanes.