Practical overview
When it fits
Use it as a readable starting point when studying or prototyping multi-vehicle tracking on camera footage, especially when you want to examine how frame-level detections feed a Kalman-filter tracker.
Who it is for
- Developers exploring vehicle detection and tracking code.
- Researchers and engineers prototyping or comparing detectors and tracking algorithms.
Documented uses
- Detect cars, buses and trucks in individual video frames.
- Filter detections using confidence and bounding-box size or shape thresholds.
- Predict and update bounding-box tracks across frames.
- Inspect a pipeline that assigns detections to tracks and displays annotated results.
Requirements & limits
- The included SSD MobileNet V1 COCO model is general-purpose, not specifically optimized for vehicle detection.
- The example uses confidence filtering and bounding-box dimensions and aspect ratio to screen detections.
- The tracker models bounding-box edge positions and velocities with a constant-velocity Kalman filter.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Configure detection filtering and bounding-box checks
Adapt the documented TensorFlow detection filtering to retain selected vehicle classes and reject boxes by confidence and size/shape criteria.
Before you start
- The repository’s TensorFlow Object Detection API detector and COCO class IDs.
- Detection scores, classes, and bounding boxes from the detector.
Steps
Use COCO class ID 3 for cars; include IDs 6 and 8 to include buses and trucks.
Filter detections using a confidence threshold; the example uses scores greater than 0.3.
Apply the documented box checks: height-to-width ratio below 0.8 and box height and width each greater than 20.
Expected outcome
The filter produces candidate vehicle bounding boxes subject to the selected class, confidence, and box-dimension criteria.
Guide limitations
- The example uses a general-purpose COCO-pretrained SSD MobileNet model, not a model specifically optimized for vehicle detection.
- The confidence and box-dimension thresholds are example values and may affect detection results.
Connect detections to Kalman-filter tracking
Use the documented frame-level pipeline to update vehicle tracks from detector bounding boxes.
Before you start
- The repository’s detector.py, tracker.py, and main.py components.
- Video frames and bounding-box detections from the detector.
Steps
Initialize a detector and a tracker.
Run the detector on each video frame to localize vehicles.
Update the tracker with the detection results; the tracker uses Kalman-filter prediction and measurement updates.
Annotate the tracking results and display them in a video frame.
Expected outcome
The pipeline tracks detected vehicles across frames and annotates the tracking results in displayed frames.
Guide limitations
- The documented tracker assumes constant velocity in its process model.
- The described detection and tracking example uses footage from a camera mounted inside a self-driving car.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 18 October 2026
- Original website title
- kcg2015/Vehicle-Detection-and-Tracking · Official homepage title · retained in its source language

