MOT-Tracking-by-Detection-Pipeline - For Tracking-by-Detection format MOT (Multi Object Tracking), is it a framework that separates Detection and Tracking processes?

Overview

MOT-Tracking-by-Detection-Pipeline

Tracking-by-Detection形式のMOT(Multi Object Tracking)について、
DetectionとTrackingの処理を分離して寄せ集めたフレームワークです。



09.MOT.mp4

Usage

デモの実行方法は以下です。

python main.py
  • --device
    カメラデバイス番号の指定
    デフォルト:0
  • --movie
    動画ファイルの指定 ※指定時はカメラデバイスより優先
    デフォルト:指定なし
  • --detector
    Object Detectionのモデル選択
    yolox, efficientdet, ssd, centernet, nanodet, mediapipe_face, mediapipe_hand の何れかを指定
    デフォルト:yolox
  • --tracker
    トラッキングアルゴリズムの選択
    motpy, bytetrack, norfair の何れかを指定
    デフォルト:bytetrack

Direcotry

│  main.py
│  test.mp4
├─Detector
│  │  detector.py
│  └─xxxxxxxx
│      │  xxxxxxxx.py
│      │  config.json
│      │  LICENSE
│      └─model
│          xxxxxxxx.onnx
└─Tracker
    │  tracker.py
    └─yyyyyyyy
        │  yyyyyyyy.py
        │  config.json
        │  LICENSE
        └─tracker

各モデル、トラッキングアルゴリズムを格納しているディレクトリには、
ライセンス条項とコンフィグを同梱しています。

Detector

モデル名 取得元リポジトリ ライセンス 備考
YOLOX Megvii-BaseDetection/YOLOX Apache-2.0 YOLOX-ONNX-TFLite-Sampleにて
ONNX化したモデルを使用
EfficientDet tensorflow/models Apache-2.0 Object-Detection-API-TensorFlow2ONNXにて
ONNX化したモデルを使用
SSD MobileNet v2 FPNLite tensorflow/models Apache-2.0 Object-Detection-API-TensorFlow2ONNXにて
ONNX化したモデルを使用
CenterNet tensorflow/models Apache-2.0 Object-Detection-API-TensorFlow2ONNXにて
ONNX化したモデルを使用
NanoDet RangiLyu/nanodet Apache-2.0 NanoDet-ONNX-Sampleにて
ONNX化したモデルを使用
MediaPipe Face Detection google/mediapipe Apache-2.0 目、鼻、口、耳のキーポイントは未使用
MediaPipe Hands google/mediapipe Apache-2.0 ランドマークから外接矩形を算出し使用

Tracker

アルゴリズム名 取得元リポジトリ ライセンス 備考
motpy wmuron/motpy MIT マルチクラス対応
ByteTrack ifzhang/ByteTrack MIT -
Norfair tryolabs/norfair MIT -

Author

高橋かずひと(https://twitter.com/KzhtTkhs)

License

MOT-Tracking-by-Detection-Pipeline is under MIT License.

※MOT-Tracking-by-Detection-Pipelineのソースコード自体はMIT Licenseでの提供ですが、
各アルゴリズムのソースコードは、それぞれのライセンスに従います。
詳細は各ディレクトリ同梱のLICENSEファイルをご確認ください。

License(Movie)

サンプル動画はNHKクリエイティブ・ライブラリーイタリア ミラノの横断歩道を使用しています。

You might also like...
Object tracking and object detection is applied to track golf puts in real time and display stats/games.

Putting_Game Object tracking and object detection is applied to track golf puts in real time and display stats/games. Works best with the Perfect Prac

Tools to create pixel-wise object masks, bounding box labels (2D and 3D) and 3D object model (PLY triangle mesh) for object sequences filmed with an RGB-D camera.
Tools to create pixel-wise object masks, bounding box labels (2D and 3D) and 3D object model (PLY triangle mesh) for object sequences filmed with an RGB-D camera.

Tools to create pixel-wise object masks, bounding box labels (2D and 3D) and 3D object model (PLY triangle mesh) for object sequences filmed with an RGB-D camera. This project prepares training and testing data for various deep learning projects such as 6D object pose estimation projects singleshotpose, as well as object detection and instance segmentation projects.

ByteTrack(Multi-Object Tracking by Associating Every Detection Box)のPythonでのONNX推論サンプル

ByteTrack-ONNX-Sample ByteTrack(Multi-Object Tracking by Associating Every Detection Box)のPythonでのONNX推論サンプルです。 ONNXに変換したモデルも同梱しています。 変換自体を試したい方はByteT

⚡ Fast • 🪶 Lightweight • 0️⃣ Dependency • 🔌 Pluggable • 😈 TLS interception • 🔒 DNS-over-HTTPS • 🔥 Poor Man's VPN • ⏪ Reverse & ⏩ Forward • 👮🏿 QuakeLabeler is a Python package to create and manage your seismic training data, processes, and visualization in a single place — so you can focus on building the next big thing.
QuakeLabeler is a Python package to create and manage your seismic training data, processes, and visualization in a single place — so you can focus on building the next big thing.

QuakeLabeler Quake Labeler was born from the need for seismologists and developers who are not AI specialists to easily, quickly, and independently bu

The official repo for OC-SORT: Observation-Centric SORT on video Multi-Object Tracking. OC-SORT is simple, online and robust to occlusion/non-linear motion.
The official repo for OC-SORT: Observation-Centric SORT on video Multi-Object Tracking. OC-SORT is simple, online and robust to occlusion/non-linear motion.

OC-SORT Observation-Centric SORT (OC-SORT) is a pure motion-model-based multi-object tracker. It aims to improve tracking robustness in crowded scenes

Code of U2Fusion: a unified unsupervised image fusion network for multiple image fusion tasks, including multi-modal, multi-exposure and multi-focus image fusion.

U2Fusion Code of U2Fusion: a unified unsupervised image fusion network for multiple image fusion tasks, including multi-modal (VIS-IR, medical), multi

A highly efficient and modular implementation of Gaussian Processes in PyTorch

GPyTorch GPyTorch is a Gaussian process library implemented using PyTorch. GPyTorch is designed for creating scalable, flexible, and modular Gaussian

Implementation of "Fast and Flexible Temporal Point Processes with Triangular Maps" (Oral @ NeurIPS 2020)

Fast and Flexible Temporal Point Processes with Triangular Maps This repository includes a reference implementation of the algorithms described in "Fa

Comments
  • : cannot connect to X server

    : cannot connect to X server

    /usr/local/lib/python3.7/dist-packages/onnxruntime/capi/onnxruntime_inference_collection.py:56: UserWarning: Specified provider 'CUDAExecutionProvider' is not in available provider names.Available providers: 'CPUExecutionProvider' "Available providers: '{}'".format(name, ", ".join(available_provider_names))) Detector: yolox Target ID: [1] GPU: True { 'class_score_th': 0.3, 'input_shape': '416, 416', 'model_path': 'Detector/yolox/model/yolox_nano_416x416.onnx', 'nms_score_th': 0.1, 'nms_th': 0.45, 'with_p6': False}

    Tracker: bytetrack FPS: 29.97 GPU: False { 'match_thresh': 0.8, 'min_box_area': 10, 'mot20': False, 'track_buffer': 30, 'track_thresh': 0.5}

    : cannot connect to X server

    Can you help me with this? I am trying to run your code in google colab on your test video.

    This is what I am trying to execute: !python main.py --movie test.mp4 --use_gpu --target_id=1 --tracker bytetrack

    opened by JovanBosic 1
Owner
KazuhitoTakahashi
KazuhitoTakahashi
Yolox-bytetrack-sample - Python sample of MOT (Multiple Object Tracking) using YOLOX and ByteTrack

yolox-bytetrack-sample YOLOXとByteTrackを用いたMOT(Multiple Object Tracking)のPythonサン

KazuhitoTakahashi 12 Nov 9, 2022
FairMOT for Multi-Class MOT using YOLOX as Detector

FairMOT-X Project Overview FairMOT-X is a multi-class multi object tracker, which has been tailored for training on the BDD100K MOT Dataset. It makes

Jonathan Tan 33 Dec 28, 2022
Json2Xml tool will help you convert from json COCO format to VOC xml format in Object Detection Problem.

JSON 2 XML All codes assume running from root directory. Please update the sys path at the beginning of the codes before running. Over View Json2Xml t

Nguyễn Trường Lâu 6 Aug 22, 2022
Txt2Xml tool will help you convert from txt COCO format to VOC xml format in Object Detection Problem.

TXT 2 XML All codes assume running from root directory. Please update the sys path at the beginning of the codes before running. Over View Txt2Xml too

Nguyễn Trường Lâu 4 Nov 24, 2022
Official PyTorch implementation of Joint Object Detection and Multi-Object Tracking with Graph Neural Networks

This is the official PyTorch implementation of our paper: "Joint Object Detection and Multi-Object Tracking with Graph Neural Networks". Our project website and video demos are here.

Richard Wang 443 Dec 6, 2022
Object Detection and Multi-Object Tracking

Object Detection and Multi-Object Tracking

Bobby Chen 1.6k Jan 4, 2023
TSDF++: A Multi-Object Formulation for Dynamic Object Tracking and Reconstruction

TSDF++: A Multi-Object Formulation for Dynamic Object Tracking and Reconstruction TSDF++ is a novel multi-object TSDF formulation that can encode mult

ETHZ ASL 130 Dec 29, 2022
Multi-Object Tracking in Satellite Videos with Graph-Based Multi-Task Modeling

TGraM Multi-Object Tracking in Satellite Videos with Graph-Based Multi-Task Modeling, Qibin He, Xian Sun, Zhiyuan Yan, Beibei Li, Kun Fu Abstract Rece

Qibin He 6 Nov 25, 2022
Tracking Pipeline helps you to solve the tracking problem more easily

Tracking_Pipeline Tracking_Pipeline helps you to solve the tracking problem more easily I integrate detection algorithms like: Yolov5, Yolov4, YoloX,

VNOpenAI 32 Dec 21, 2022