Python版OpenCVのTracking APIのサンプルです。
- opencv-contrib-python 4.9.0.80 or later
2024/01/18時点でOpenCVには以下11アルゴリズムが実装されています。
- DaSiamRPN
- NanoTrack
- Vit
- MIL
- GOTURN
- CSRT
- KCF
- Boosting(Legacy API)
- MOSSE(Legacy API)
- MedianFlow(Legacy API)
- TLD(Legacy API)
DaSiamRPNトラッカーのみのサンプルと、各アルゴリズムを比較するサンプルの2種類を用意しています。
以下コマンドでデモを起動してください。
最初のフレーム表示時に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_nano
NanoTrackの使用有無
デフォルト:指定なし - --use_vit
Vitの使用有無
デフォルト:指定なし - --use_csrt
CSRTトラッカーの使用有無
デフォルト:指定なし - --use_kcf
KCFトラッカーの使用有無
デフォルト:指定なし - --use_boosting
Boostingトラッカーの使用有無
デフォルト:指定なし - --use_mosse
MOSSEトラッカーの使用有無
デフォルト:指定なし - --use_medianflow
MedianFlowトラッカーの使用有無
デフォルト:指定なし - --use_tld
TLDトラッカーの使用有無
デフォルト:指定なし
高橋かずひと(https://twitter.com/KzhtTkhs)
OpenCV-Object-Tracker-Sample is under Apache-2.0 License.
サンプル動画はNHKクリエイティブ・ライブラリーのハクセキレイ エサをついばみながら歩くを使用しています。