OpenMMLab MMTrackingターゲットトラッキング公式ドキュメント学習(1)

導入

MMTracking は、PyTorch 用のオープンソースのビデオ認識ツールボックスです。これは OpenMMLab プロジェクトの一部です。
4 つのビデオ タスクをサポートします:
ビデオ オブジェクト検出 (VID)
単一オブジェクト トラッキング (SOT)
複数オブジェクト トラッキング (MOT)
ビデオ インスタンス セグメンテーション (VIS)

主な特徴

初の統合ビデオ認識プラットフォーム当社は、ビデオ オブジェクトの検出、複数のオブジェクトの追跡、単一オブジェクトの追跡、ビデオ インスタンスのセグメンテーションなどの
多機能ビデオ認識タスクを統合する最初のオープンソース ツールボックスです。

モジュール設計
ビデオ認識フレームワークをさまざまなコンポーネントに分解し、さまざまなモジュールを組み合わせることでカスタマイズされたメソッドを簡単に構築できます。

シンプル、高速、強力
シンプル: MMTracking は他の OpenMMLab プロジェクトと対話します。これは MMDetection に基づいて構築されており、構成を変更するだけで任意の検出器を利用できます。
高速: すべての操作が GPU 上で実行されます。トレーニングと推論の速度は、他の実装と比べて速いか同等です。
強力: 私たちは最先端のモデルを再現しており、中には公式の実装を上回るパフォーマンスを示すものもあります。

入門

MMTracking の基本的な使用方法については、get_started.md を参照してください。
Colab チュートリアルが提供されています。ここでノートブックをプレビューしたり、Colab で直接実行したりできます。

追加のアカウント、追加のアカウント〜MMTracking は継続的に更新を開始します

同時に、効率的で強力なベンチマーク モデルがリリースされ、その一部は公式バージョンを超えています (ビデオ ターゲット検出の SELSA、マルチターゲット追跡の Tracktor、単一ターゲット追跡の SiameseRPN++ など)、およびいくつかの学術データセット ( ImageNet VID として)SOTA レベルに達します。

1) MMTracking V0.5.0 がリリースされたとき、次のアルゴリズムをサポートしました。

ビデオオブジェクト検出 (VID) アルゴリズム:

ビデオ オブジェクトの検出では、ビデオ内の各フレームを検出するだけでよく、異なるフレーム内の同じオブジェクトを関連付ける必要はありません。
DFF (CVPR 2017)
FGFA (ICCV 2017)
SELSA (ICCV 2019)
時間的 ROI アライン (AAAI 2021)

複数オブジェクト追跡 (MOT) アルゴリズム:

ビデオ ターゲット検出の完了に基づいて、マルチターゲット検出ではビデオ内の同じターゲットを関連付けることに重点が置かれます。
SORT (ICIP 2016)
DeepSORT (ICIP 2017)
Tracktor (ICCV 2019)

単一オブジェクト追跡 (SOT) アルゴリズム:

単一ターゲット追跡では、人間とコンピューターの相互作用に重点が置かれており、アルゴリズムは、あらゆるカテゴリや形状のターゲットを指定して継続的に追跡できる必要があります。
シャム RPN++ (CVPR 2019)

MMTracking V0.7.0がリリースされました!このバージョンでは主に以下の機能が追加されています:
コードベースの
リファクタリング、改良された英語のユーザー ドキュメント、中国語のユーザー ドキュメント (VID、MOT、SOT モデルの推論、テスト、トレーニング方法を説明する鮮やかな例付き) すべてのアルゴリズムの FP16 トレーニングとテストのサポート
VID
サポート
新しいビデオ オブジェクト検出アルゴリズム Temporal RoI Align (AAAI 2021)、すべてのビデオ オブジェクト検出アルゴリズムのバックボーンとして ResNeXt-101 を使用した事前トレーニング済みモデルを提供しますこのメソッドは、ImageNet VID データセットで 84.1 mAP@50 のパフォーマンスを備えています
MOT は、MOT15、MOT16、MOT20 の Tracktor 結果を提供します
。より複雑な MOT20 データセットの主な評価指標である MOTA では、公式バージョンより 5.3 ポイント高くなっています。MOT データセットでの ReID モデルのトレーニングをサポートしています。エラーの視覚的分析
(
FP、FN、IDS) 上の MOT データ セット
SOT は、
より多くの SOT データ セットをサポートします: LaSOT、UAV123、TrackingNet、およびその他の主流のデータ セットも間もなくサポートされる予定です。

OpenMMLab 内のプロジェクト間の完全な対話

MMTracking: OpenMMLab オールインワン ビデオ オブジェクト認識プラットフォーム

ビデオ内の物体認識は、ほとんどの場合、2D 物体検出の下流タスクとして考えることができ、さまざまな 2D 物体検出アルゴリズムに大きく依存しますこれに先立って、さまざまな 2D オブジェクト検出器を使用したり、それらの間で切り替えたりする方法は、実際には非常に面倒で時間のかかる作業です。

MMTracking では、OpenMMLab の他のプラットフォームの成果と利点を最大限に活用し、コード フレームワークを大幅に簡素化します。たとえば、MMDetection のほとんどのモジュールをインポートまたは継承することで、コード フレームワークが大幅に簡素化されます。このモードでは、構成を通じて MMDetection のすべてのモデルを直接使用できます。マルチターゲット追跡を例にとると、各マルチターゲット追跡モデルは次のモジュールで構成されます

import torch.nn as nn
from mmdet.models import build_detector

class BaseMultiObjectTracker(nn.Module):

    def __init__(self,
                 detector=None,
                 reid=None,
                 tracker=None,
                 motion=None,
                 pretrains=None):
        self.detector = build_detector(detector)
        ...

設定例:

model = dict(
    type='BaseMultiObjectTracker',
    detector=dict(type='FasterRCNN', **kwargs),
    reid=dict(type='BaseReID', **kwargs),
    motion=dict(type='KalmanFilter', **kwargs),
    tracker=dict(type='BaseTracker', **kwargs))

すぐに始めましょう!MMTracking Edible Guide (Video Object Detection) の VID (AAAI2021 論文の解釈付き!)

1. VID デモを実行する

このスクリプトは、ビデオ オブジェクト検出モデルを使用して入力ビデオを推測できます。

python demo/demo_vid.py \
    ${CONFIG_FILE}\
    --input ${INPUT} \
    --checkpoint ${CHECKPOINT_FILE} \
    [--output ${OUTPUT}] \
    [--device ${DEVICE}] \
    [--show]

また、INPUT と OUTPUT は mp4 ビデオ形式とフォルダー形式をサポートします。
オプションのパラメータ:

出力: 視覚化プレゼンテーションの出力。指定しない場合、 --show はビデオをオンザフライで再生する必要があります。
DEVICE: 推論に使用されるデバイス。オプションは cpu または cuda:0 などです。
–show: ビデオを動的に表示するかどうか。

例:

チェックポイントをディレクトリ Checkpoints/ にダウンロードしたとします。ビデオ ファイル名は demo.mp4、出力パスは ./outputs/ です。

python ./demo/demo_vid.py \
    configs/vid/selsa/selsa_faster-rcnn_r50-dc5_8xb1-7e_imagenetvid.py \
    --input ./demo.mp4 \
    --checkpoint checkpoints/selsa_faster_rcnn_r101_dc5_1x_imagenetvid_20201218_172724-aa961bcc.pth \
    --output ./outputs/ \
    --show

MMTracking ルート ディレクトリで次のコマンドを実行するだけで、SELSA + Temporal RoI Align アルゴリズムを使用して VID デモを実行できます。

python demo/demo_vid.py configs/vid/temporal_roi_align/selsa-troialign_faster-rcnn_r101-dc5_8xb1-7e_imagenetvid.py  --input demo/demo.mp4 --checkpoint checkpoints/selsa_troialign_faster_rcnn_r101_dc5_7e_imagenetvid_20210822_111621-22cb96b9.pth --output vid.mp4  --show
python demo/demo_vid.py configs/vid/temporal_roi_align/selsa-troialign_faster-rcnn_x101-dc5_8xb1-7e_imagenetvid.py --input demo/demo.mp4 --checkpoint checkpoints/selsa_troialign_faster_rcnn_x101_dc5_7e_imagenetvid_20210822_164036-4471ac42.pth --output vid.mp4  --show

ここに画像の説明を挿入

2. VID モデルをテストする

MMTracking ルート ディレクトリで次のコマンドを使用して、VID モデルをテストし、モデルの bbox mAP を評価します。

./tools/dist_test.sh configs/vid/temporal_roi_align/selsa_troialign_faster_rcnn_r101_dc5_7e_imagenetvid.py 8 \
    --checkpoint checkpoints/selsa_troialign_faster_rcnn_r101_dc5_7e_imagenetvid_20210822_111621-22cb96b9.pth \
    --out results.pkl \
    --eval bbox

3. VID モデルのトレーニング

MMTracking ルート ディレクトリで次のコマンドを使用して、VID モデルをトレーニングし、最後のエポックでモデルの bbox mAP を評価します。

./tools/dist_train.sh ./configs/temporal_roi_align/selsa_troialign_faster_rcnn_r101_dc5_7e_imagenetvid.py 8 \
    --work-dir ./work_dirs/

オンラインの最新情報!MMTracking ビデオ インスタンス セグメンテーション エディブル ガイドが
新しくなりました。MMTracking 単一オブジェクト追跡タスク (可読ガイド)
MMTracking 複数オブジェクト追跡 (MOT) タスク 可読ガイド

おすすめ

転載: blog.csdn.net/qq_41627642/article/details/131723815