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 模型的進行高效能推理。
  • Flexible Processing: 提供同步、非同步 (2-thread) 與完全非同步 (4-thread) 管線,以處理不同的 FPS 要求。
  • Extensible Architecture: 可作為獨立的命令列工具或整合為 C++ 函式庫。

相關

  • 專案
  • 專案
  • 專案
  • 專案