Smorodov/Multitarget-tracker

Multiple Object Tracker, Based on Hungarian algorithm + Kalman filter.

What it solves

本项目提供了一个全面的多目标跟踪 (MOT) 框架,允许用户在视频帧中检测并跟踪多个目标。它解决了当目标移动、重叠或暂时从视野中消失时,如何维持一致的目标身份识别的挑战。

How it works

该系统以流水线方式运行,结合了四个核心组件:

  1. Object Detection: 使用传统的背景相减法 (例如 VIBE, MOG2) 或通过 TensorRT 加速的深度学习模型 (例如 YOLOv8, YOLOv12, RT-DETR, D-FINE) 来识别目标。
  2. Matching Algorithms: 基于距离度量(如中心距离或 IoU 相似度),使用匈牙利算法 (Hungarian algorithm) 或 LAPJV 等线性分配算法,将检测结果分配给现有的跟踪轨迹。
  3. Trajectory Smoothing: 使用具有恒定速度或加速度模型的 Kalman filters (Linear 或 Unscented) 来预测目标位置并平滑其路径。
  4. Visual Search: 使用专门的跟踪器 (例如 KCF, CSRT, DaSiamRPN) 来找回暂时消失的目标。

Who it’s for

它专为开发者和研究人员设计,适用于 UAV 交通监控、卫星平面检测、车辆跟踪以及机器人集群协调等计算机视觉应用。

Highlights

  • Broad Model Support: 集成了广泛的 SOTA 检测器,包括各种 YOLO 版本、RT-DETRD-FINE
  • Hardware Acceleration: 支持 TensorRT 以进行 ONNX 模型的高性能推理。
  • 智能 Processing: 提供同步、异步 (2-thread) 并全异步 (4-thread) 流水线,以处理不同的 FPS 要求。
  • Extensible Architecture: 可以作为独立的命令行工具或集成作为 C++ 函式库。

相关

  • 项目
  • 项目
  • 项目
  • 项目