During the fourth week of our project, we focused on estimating the speed of vehicles using visual cues and multi-camera tracking.
- Task 1: Estimate the speed of vehicles using visual cues
- Task 1.1: Speed estimation
- Task 1.2: Speed estimation with our data
- Task 2: Multi-camera tracking
python tracking_speed.py [--store] [--vizualize] [--o_name OUTPUT_NAME] [--detections DETECTIONS_FILE]
-
--store
: This flag indicates whether to generate a video output or not. If provided, the script will generate a video with the tracking results. -
--vizualize
: Another flag that determines whether to visualize the tracking process or not. When included, it enables the visualization of the tracking in real-time. -
--o_name OUTPUT_NAME
: This argument specifies the name of the output video file that will be generated by the script. The user can provide a custom name for the output file. -
--detections DETECTIONS_FILE
: This argument takes the path to the input JSON file containing bounding box detections of objects in the video. The script utilizes this file to perform object tracking.
-
--stop-threshold STOP_THRESHOLD
: This parameter sets the threshold to stop detection when an object has been stopped for more than a specified number of times. It helps in filtering out stationary objects. -
--speed-threshold SPEED_THRESHOLD
: This parameter determines the threshold for stopping the detection of speed. Objects moving below this threshold will not be tracked for speed estimation. -
--thr THRESHOLD
: This parameter specifies the minimum Intersection over Union (IoU) required to keep tracking an object. If the IoU falls below this threshold, the object may be considered lost. -
--max_age MAX_AGE
: This parameter sets the maximum number of frames an object can be 'skipped' before it is considered lost by the Kalman Filter.
cd Week4/Task2
Run mot
TODO
Put training data inside Task2 folder like this:
Data
└───train
├───S01
│ ├───c001
│ │
│ ├───c002
│ │
│ ├───c003
│ │
│ ├───c004
│ │
│ └───c005
├───S03
│ ├───c010
│ │
│ ├───c011
│ │
│ ├───c012
│ │
│ ├───c013
│ │
│ ├───c014
│ │
│ └───c015
└───S04
├───c016
├───c017
├───c018
├───c019
├───c020
├───c021
├───c022
├───c023
├───c024
├───c025
├───c026
├───c027
├───c028
├───c029
├───c030
├───c031
├───c032
├───c033
├───c034
├───c035
├───c036
├───c037
├───c038
├───c039
└───c040
python inverse_projection.py
This will save th camera tracklets csv's and the videos for visualization
To compute the IDF1 first concatenate the tracklets files and gt files with:
python concatenate_csv.py
And run trackeval TODO
Install the requirements with the following command:
pip install -r Week4/requirements.txt