OpenCV-Object-Tracker-Sample
Python版OpenCVのTracking APIのサンプルです。
Requirement
- opencv-contrib-python 4.5.3.56 or later
Algorithm
2021/07/16時点でOpenCVには以下9アルゴリズムが実装されています。
- DaSiamRPN
- MIL
- GOTURN
- CSRT
- KCF
- Boosting(Legacy API)
- MOSSE(Legacy API)
- MedianFlow(Legacy API)
- TLD(Legacy API)
Usage
DaSiamRPNトラッカーのみのサンプルと、各アルゴリズムを比較するサンプルの2種類を用意しています。
DaSiamRPNトラッカーサンプル
以下コマンドでデモを起動してください。
最初のフレーム表示時にROI選択を行い追跡対象を指定します。
ESCキー押下でプログラム終了、スペースキー押下で追跡対象の再指定を行います。
python DaSiamRPN_sample.py
- --device
動画ファイル、もしくはカメラデバイス番号の指定
デフォルト:"sample_movie/bird.mp4" - --width
カメラキャプチャ時の横幅
デフォルト:960 - --height
カメラキャプチャ時の縦幅
デフォルト:540
各アルゴリズム比較サンプル
以下コマンドでデモを起動してください。
最初のフレーム表示時にROI選択を行い追跡対象を指定します。
ESCキー押下でプログラム終了、スペースキー押下で追跡対象の再指定を行います。
--use_xxxxを指定することで使用アルゴリズムを追加できます。 ※何も指定していない場合はDaSiamRPNのみで動作
python performance_comparison_sample.py
- --device
動画ファイル、もしくはカメラデバイス番号の指定
デフォルト:"sample_movie/bird.mp4" - --width
カメラキャプチャ時の横幅
デフォルト:960 - --height
カメラキャプチャ時の縦幅
デフォルト:540 - --use_mil
MILトラッカーの使用有無
デフォルト:指定なし - --use_goturn
GOTURNトラッカーの使用有無 ※model/GOTURN配下のzip要解凍
デフォルト:指定なし - --use_dasiamrpn
DaSiamRPNトラッカーの使用有無
デフォルト:指定なし - --use_csrt
CSRTトラッカーの使用有無
デフォルト:指定なし - --use_kcf
KCFトラッカーの使用有無
デフォルト:指定なし - --use_boosting
Boostingトラッカーの使用有無
デフォルト:指定なし - --use_mosse
MOSSEトラッカーの使用有無
デフォルト:指定なし - --use_medianflow
MedianFlowトラッカーの使用有無
デフォルト:指定なし - --use_tld
TLDトラッカーの使用有無
デフォルト:指定なし
ToDo
- GOTURNトラッカーのモデル読み込みに失敗する問題の調査
Author
高橋かずひと(https://twitter.com/KzhtTkhs)
License
OpenCV-Object-Tracker-Sample is under Apache-2.0 License.
License(Image)
サンプル動画はNHKクリエイティブ・ライブラリーのハクセキレイ エサをついばみながら歩くを使用しています。