CVPR2021 トラッキング アルゴリズム TransformerTrack の構成 (Exploiting Temporal Context for Robust Visual Tracking)

1. 用紙のダウンロードアドレス:

 Transformer と Tracker の出会い: 時間的コンテキストを活用して堅牢な視覚的追跡を実現します。

2. コードのダウンロード アドレス:

https://github.com/594422814/TransformerTrack

3. 環境構築

TransformerTrack は pytracking に基づいて構成されているため、既に構成されている pytracking の Python 環境を直接使用します。

pytracking の Ubuntu バージョン構成:

pytracking シリーズの追跡アルゴリズム (LWL、KYS、PrDiMP、DiMP、および ATOM Trackers) の構成 (Ubuntu バージョン)_Bobo には大きな Dream-CSDN があります blog_pytracking 構成

pytracking の Windows バージョン構成:

pytracking シリーズの追跡アルゴリズム (LWL、KYS、PrDiMP、DiMP、ATOM Trackers) の構成 (Windows10 バージョン)_Bobo には大きな Dream-CSDN ブログがあります

conda activate pytracking

4. 事前トレーニングされたモデルを構成する

github ダウンロード リンク: https://github.com/594422814/TransformerTrack/releases/download/model/trdimp_net.pth.tar

Baidu Cloud のダウンロード リンク: リンク: https://pan.baidu.com/s/1SY_qR0wri0Ep9DYY1vffBg 
抽出コード: w4of 
ダウンロードしたモデルをパス pytracking/networks/ に配置します。

5. pytracking/evaluation/local.py を開き、パラメータを設定します

 6. 視覚化サーバーを実行する

conda activate pytracking
python -m visdom.server

7. コードを実行します

別のターミナルを開いて実行します

conda activate pytracking
python pytracking/run_tracker.py trdimp trdimp --dataset_name otb --sequence Soccer --debug 1 --threads 0

パラメータの説明: trdimp は、実行する必要があるトラッカーの名前です。

trdimp はパラメータ設定であり、pytracking/parameter/trdimp パスの下に多くのパラメータが用意されています。

otb は、実行する必要があるデータセットの名前です。

Soccer は、実行する必要があるビデオ シーケンスの名前です。

8. エラー 1 が発生しました

raise Exception('ファイル {}'.format(path) を読み取れませんでした)
例外: ファイル /data3/publicData/Datasets/OTB/OTB2015/BlurCar1/groundtruth_rect.txt を読み取れませんでした

間違った理由:

groundtruth_rect.txt形式が読み取り形式に対応していません

解決:

pytracking/utils/load_text.py を開いて関数を変更します。

def load_text_numpy(path, delimiter, dtype)

次のように:

def load_text_numpy(path, delimiter, dtype):
    if isinstance(delimiter, (tuple, list)):
        for d in delimiter:
            try:
                # ground_truth_rect = np.loadtxt(path, delimiter=d, dtype=dtype)
                
                # to deal with different delimeters
                import io
                with open(path,'r') as f:
                    ground_truth_rect=np.loadtxt(io.StringIO(f.read().replace(',',' ')))
                
                return ground_truth_rect
            except:
                pass
 
        raise Exception('Could not read file {}'.format(path))
    else:
        ground_truth_rect = np.loadtxt(path, delimiter=delimiter, dtype=dtype)
        return ground_truth_rect

9. エラー 2 が発生しました

モジュール「torch」には属性「floor_divide」がありません

間違った理由:

torch 1.6.0 以降、テンソル A と整数 n の間の直接除算はサポートされなくなりました。

result = A / n # not supported in torch 1.6.0
 
 
# solution
result = torch.floor_divide(A, n)

出典: [pytorch] RuntimeError: div または / を使用したテンソルの整数除算はサポートされなくなりました [解決策]_Muzhan-CSDN ブログ

トーチのバージョンは 1.4.0 で、floor_divide 関数がまだないため、floor_divide を通常の直接除算に変更します。

解決:

pytracking/features/preprocessing.py を開きます

コメント行 101/113/114 およびコメント解除行 100/111/112

 10. 再度実行すると成功します。

追跡結果はhttp://localhost:8097/確認できます。

おすすめ

転載: blog.csdn.net/qq_17783559/article/details/119120812
おすすめ