Smorodov/Multitarget-tracker
Multiple Object Tracker, Based on Hungarian algorithm + Kalman filter.
What it solves
This project provides a comprehensive framework for multi-target tracking (MOT), allowing users to detect and follow multiple objects across video frames. It addresses the challenge of maintaining consistent object identities when targets move, overlap, or temporarily disappear from view.
How it works
The system operates as a pipeline combining four core components:
- Object Detection: Identifies targets using either traditional background subtraction (e.g., VIBE, MOG2) or deep learning models (e.g., YOLOv8, YOLOv12, RT-DETR, D-FINE) accelerated via TensorRT.
- Matching Algorithms: Assigns detections to existing tracks using linear assignment algorithms like the Hungarian algorithm or LAPJV, based on distance metrics such as center distance or IoU similarity.
- Trajectory Smoothing: Uses Kalman filters (Linear or Unscented) with constant velocity or acceleration models to predict object positions and smooth their paths.
- Visual Search: Employs specialized trackers (e.g., KCF, CSRT, DaSiamRPN) to recover targets that have temporarily disappeared.
Who it’s for
It is designed for developers and researchers working on computer vision applications such as UAV traffic monitoring, satellite plane detection, vehicle tracking, and robot swarm coordination.
Highlights
- Broad Model Support: Integrates a wide array of SOTA detectors including various YOLO versions, RT-DETR, and D-FINE.
- Hardware Acceleration: Supports TensorRT for high-performance inference of ONNX models.
- Flexible Processing: Offers synchronous, asynchronous (2-thread), and fully asynchronous (4-thread) pipelines to handle different FPS requirements.
- Extensible Architecture: Can be used as a standalone command-line tool or integrated as a C++ library.
Related
- Project
- Project
- Project
- Project