ByteTrack-ONNX-Sample
ByteTrack(Multi-Object Tracking by Associating Every Detection Box)のPythonでのONNX推論サンプルです。
ONNXに変換したモデルも同梱しています。
変換自体を試したい方はByteTrack_Convert2ONNX.ipynbを使用ください。
ByteTrack_Convert2ONNX.ipynbはColaboratory上での実行を想定しています。
書き動画はWindowsでの実行例です。
sample_.mp4
Requirement
opencv-python 4.5.3.56 or later
onnx 1.9.0 or later
onnxruntime-gpu 1.9.0 or later
Cython 0.29.24 or later
torch 1.8.1 or later
torchvision 0.9.1 or later
pycocotools 2.0.2 or later
scipy 1.6.3 or later
loguru 0.5.3 or later
thop 0.0.31.post2005241907 or later
lap 0.4.0 or later
cython_bbox 0.1.3 or later
※onnxruntime-gpuはonnxruntimeでも動作しますが、推論時間がかかるためGPUを推奨します
※Windowsでcython_bbox のインストールが失敗する場合は、GitHubからのインストールをお試しください(2021/11/19時点)
pip install -e git+https://github.com/samson-wang/cython_bbox.git#egg=cython-bbox
Demo
デモの実行方法は以下です。
動画:動画に対しByteTrackで追跡した結果を動画出力します
python demo_video_onnx.py
実行時オプション
- --use_debug_window
動画書き込み時に書き込みフレームをGUI表示するか否か
デフォルト:指定なし - --model
ByteTrackのONNXモデル格納パス
デフォルト:byte_tracker/model/bytetrack_s.onnx - --video
入力動画の格納パス
デフォルト:sample.mp4 - --output_dir
動画出力パス
デフォルト:output - --score_th
人検出のスコア閾値
デフォルト:0.1 - --score_th
人検出のNMS閾値
デフォルト:0.7 - --input_shape
推論時入力サイズ
デフォルト:608,1088 - --with_p6
YOLOXモデルのFPN/PANでp6を含むか否か
デフォルト:指定なし - --track_thresh
追跡時のスコア閾値
デフォルト:0.5 - --track_buffer
見失い時に何フレームの間、追跡対象を保持するか
デフォルト:30 - --match_thresh
追跡時のマッチングスコア閾値
デフォルト:0.8 - --min-box-area
最小のバウンディングボックスのサイズ閾値
デフォルト:10 - --mot20
MOT20を使用しているか否か
デフォルト:指定なし
Webカメラ:Webカメラ画像に対しByteTrackで追跡した結果をGUI表示します
python demo_webcam_onnx.py
実行時オプション
- --model
ByteTrackのONNXモデル格納パス
デフォルト:byte_tracker/model/bytetrack_s.onnx - --device
カメラデバイス番号の指定
デフォルト:0 - --width
カメラキャプチャ時の横幅
デフォルト:960 - --height
カメラキャプチャ時の縦幅
デフォルト:540 - --score_th
人検出のスコア閾値
デフォルト:0.1 - --score_th
人検出のNMS閾値
デフォルト:0.7 - --input_shape
推論時入力サイズ
デフォルト:608,1088 - --with_p6
YOLOXモデルのFPN/PANでp6を含むか否か
デフォルト:指定なし - --track_thresh
追跡時のスコア閾値
デフォルト:0.5 - --track_buffer
見失い時に何フレームの間、追跡対象を保持するか
デフォルト:30 - --match_thresh
追跡時のマッチングスコア閾値
デフォルト:0.8 - --min-box-area
最小のバウンディングボックスのサイズ閾値
デフォルト:10 - --mot20
MOT20を使用しているか否か
デフォルト:指定なし
Reference
Author
高橋かずひと(https://twitter.com/KzhtTkhs)
License
ByteTrack-ONNX-Sample is under MIT License.
License(Movie)
サンプル動画はNHKクリエイティブ・ライブラリーのイギリス ウースターのエルガー像を使用しています。