GradNet: Gradient-Guided Network for Visual Object Tracking 論文読み

2021年11月2日

最近投稿される論文のカテゴリーでvisual object trackingが増えている。勉強のためICCV2019に投稿されたobject trackingの論文を読んでまとめることにした。また、関連研究からobject tracking手法の全体についても大雑把に把握する。この論文を手始めに知識を深めていく予定。

論文リンクhttps://arxiv.org/abs/1909.06800

概要

深層学習を用いたObject trackingの代表的手法であるSiameseFC[1]を改良。勾配からの情報を利用して推論時にframeのtemplateを更新するGradNetを提案。また、学習時に勾配に注目するように強制するtemplate generalizationも提案し、精度向上やoverfitの軽減を実現。4つのベンチマークで有効性を示した。

Introduction

Visual object trackingとはなにか

動画像の最初のフレームで目標の物体が定義され、それ以降のフレームで連続的に追跡するタスク。要は指定された物体を動画内で追跡し続けることが目的。近年の深層学習の発展により精度が向上してきた。

手法の分類と課題

深層学習ベースの手法は大きく分けて以下の2種類。

  • オンライン学習の手法
    • 代表的なのはCorrelation Filter baseの手法
    • 実行時に頻繁に学習し、ネットワークの性能を向上させる。
    • 計算時間がかかるのであまりリアルタイムの処理には向いていない。
  • オフライン学習の手法
    • 代表的なのはSiamese baseの手法(本論文もこれの発展系)
    • 大規模なオフライン学習でフレーム間の物体の類似性を学習。
    • 高速でリアルタイムの処理に向いている。

本論文では代表的なSiamese baseの手法であるSiameseFC[1]を元にしている。有効な手法ではあるが、オンライン手法のような適応性がない。そのためリアルタイムでの実行中に目標物体の外観の変化についていけず、tracking drift(他の物体を追いかけてしまうこと)を引き起こす可能性が大きくなる。解決策として勾配ベースの手法が挙げられる。しかし、図1のように類似した物体が存在する場合や物体が隠れた状態(occlusion)のとき、その部分の勾配の絶対値が大きくなる傾向にある。勾配が大きくなるとその領域を補足する可能性がおおきくなる。また、計算に多数の反復計算が必要なためリアルタイム処理に向いていない。

提案手法

勾配ベースの手法では収束するのに数百の反復が必要だが、速度は落ちる。速度を上げるために1回の逆誤差伝播で勾配にしたがって移動しても適切な更新は行えない。そのような学習率は存在しないからである。しかし、勾配ベースの最適化をシュミレーションするCNNを用いることで可能になる。本論文では勾配誘導適応を行うためのGradNetを提案する。

GradNetを訓練する難しさは以下の2つが挙げられる。

  • ネットワークがトラッキングに勾配を使う代わりに目標(target template)の外観を使う傾向がある。
  • ネットワークがoverfitし易い。

これらを解決するtemplate generalizationも提案する。

Related Work

Siamese Network based Tracking

Siamese network baseの手法は、以下の3つが挙げられる。

  • SiameseFC[1]
    • 最も代表的な手法。(本論文の基本モデル)
    • templateは初期のtarget特徴として固定。
    • リアルタイムの速度で稼働
  • SINT[2]
    • 1つの検索画像だけではなく数百のパッチがネットワークに送られる。
    • 処理は遅い
  • GOTURN[3]
    • 100fpsの速度で検出可能。

これらの手法は実行時に更新を行わない固定モデルである。物体の変化する外観についていけなくなる傾向があり、ノイズにも弱い。

Model Updating in Tracking

トラッカーの頑健性(rubustness)を保つためには、タイムリーな更新が必要である。モデルの更新手法は以下の3つがあげられる。

Template Combination (テンプレートの組み合わせ)

  • 前のフレームからの目標特徴を効果的に組み合わせることを目的にしている。
  • [4]:前のフレームからの効果的なオンライン学習を可能にする高速変換学習モデル。
  • [5]:optical flow情報を利用して、templateを変換し、重みに従って統合。

templateの情報を重視し、背景などは無視する傾向にある。

Gradient-descent based approaces (勾配降下法ベース)

勾配降下法に基づく深層学習 tracker。何百の反復を経て、モデル更新する。

  • [6]:2つの別個の畳み込み層を訓練。初期フレームでガウスマップを回帰。数フレームごとにこれらの層を更新する。
  • [7]:初期化とオンライン更新の順で多数の勾配降下法を利用する。

目標の外観変化を補足するために多くの反復訓練が必要とするため、リアルタイムでの利用に向いていない。本論文では1回の誤差逆伝播と2回の順伝播のみでtemplateを効果的に更新できるGradNetを提案。

Correlation based Tracking (相関ベース)

頑健な特徴量を抽出するために深層学習を用いているに過ぎない。本手法ではend-to-endでtemplateを更新することを目的としている。

  •  [8, 9, 10, 11, 12, 13] 相関に基づくtracking。フーリエ領域で高速に計算できる円形畳み込みを用いてモデルを訓練。
  • 最終的な分類器は、最適化関数の閉形式を解くことによって訓練され、更新される。
  • ロバストな特徴を抽出するために深層学習を用いているに過ぎない。

Gradient Exploting

Meta Learning

  • [14]Learning to learn by gradient decent by gradient decent
    最適化(optimization)ベースの手法(本手法はこれの改良版)
    • 本手法との違い
      • templateの更新のみ学習、探索領域のネットワーク分岐は学習しない。
      • 複数回の反復でなく1回の反復のみ。
      • Optimizerの学習に2次勾配が含まれる。
  • [15]メモリベースの手法
  • [16, 17, 18]変数ベースの手法

Meta Learning for Tracking

  • [19]: モデル更新のために過去のtemplateを動的に書き込んだり、読み込んだりするメモリ構造を設計。
    • 本手法では勾配の識別情報の探索に焦点を当てている。
  • [20]: ピクセル単位の学習率を持つフィルタの初期化パラメータをオフラインで学習し、フィルタを更新するために行列乗算を利用。更新は線形プロセス。
    • 本手法では更新は畳み込み層とReLUを用いた非線形プロセス。
    • 本手法では対象特徴量を事前情報として使用。良好な初期値を提供し、更新処理を高速化。

Proposed Algorithm

ネットワークの構造は以下の図の通り。

GradNet構造図

処理は、大きく分けてinitial embeding , gradient caluculation, template updateの順に行われる。-

  1. 目標特徴量f2(Z)をsub-net U1に送る。
  2. 初期損失Lを得るための初期template βを求める。
  3. 目標特徴の勾配を誤差逆伝播で計算し、sub-net U2へ送る。
  4. 変換された勾配が、目標特徴量に加えられ、更新された目標特徴量を得る。
  5. 再びsub-net U1に更新された目標特徴量を送り、最終的なtemplateを得る。

Basic Tracker

本手法では基本モデルとしてSiameseFC[1]を採用している。構造は次の図に示す。

  • fx(.): 探索領域の特徴量抽出のブランチモデル。
  • fz(.): 目標領域の特徴量抽出のブランチモデル。

最終的なscore mapは次の式(1)で表現される。

$$S=\beta \ast f_{x}\left( X\right) ,\hspace{15pt}\left( 1\right)$$

  • β: 探索領域Xを網羅的に探索するためのtemplate
  • *: cross correlation convolution
  • S: target を見つけるためのscore map

SiameseFCでのtemplate βの定義は以下の通り。Zは1フレーム目のtarget patchを表す。

$$\beta_{sia}=f_{Z}\left( Z\right) ,\hspace{15pt}\left( 2\right)$$

本論文では、オンライントラッキングの識別性能を向上させるため、勾配の情報探索をするupdate branch U(α)を設計した。αはupdate branchのパラメータ。

$$\beta_{our}=U\left( Z, X, \alpha \right) ,\hspace{15pt}\left( 3\right)$$

Template Generation

Initial Embedding

  • 入力: 画像ペア(X, Z)

手順

  1. 2つの畳み込み層を用いて対象特徴量f2(Z)を得る。
  2. f2(Z)をsub-net U1に送り、initial template βを得る。
    • $\beta=U_{1}\left( f_{2} (Z), \alpha_{1} \right) ,\hspace{15pt}\left( 4\right)$
    • initial templateは背景情報を含まず、template情報のみ含む。
  3. βを得たら式(1)でintial socre map Sを算出する。

Gradient Caculation

  • 入力: initial score map S, 学習ラベルY

$$L=l\left( S, Y \right) ,\hspace{15pt}\left( 5\right)$$

l(.): ロジスティック損失関数

この損失を利用してf2(Z)の勾配を計算し、f2(X)に加算する。目標特徴量は次のように得る。α2はU2のパラメータ

$$h_2(Z)=f_2(Z) + U_{2}\left( \dfrac {\partial L}{\partial f_{2}\left( z\right) }
, \alpha_{2} \right) ,\hspace{30pt}\left( 6\right)$$

Template Update

  • 入力: 更新された目標特徴量h2(Z)

最適なtemplate $\beta^{\ast}$と最終のscore map $S^{\ast}$を出力する。

$$\beta^{\ast} = U_{1}(h_2(Z), \alpha_1), \\ S^{\ast} = \beta^{\ast} \ast f_x(X).\hspace{15pt}(7)$$

最終socore map $S^{\ast}$は目標位置の推定に利用される。$S^{\ast}$が目標位置で高い値を持ち、他の位置ではより低い値を持つようにする。$S^{\ast}$で計算された損失を利用してupdate branchを学習する。

$$arg\ min_{\alpha}\sum{l(S^{\ast}, Y)}. \hspace{15pt}(8)$$

Template Generalization

Problem of Basic Optimization

異なる動画からの画像ペアとその画像ラベルはT = {(X1, Z1, Y1),(X2, Z2, Y2), . . . ,(Xn, Zn, Yn)}で表現する。Xiはtarget patchZiより大きい探索領域、Yiは学習ラベル、nは学習サンプル数を表す。この時XiとZiは同じ動画の異なるフレームのもので、XiとXj(i≠j)は異なる動画のものである。訓練集合Tの画像ペア(Xi, Zi, Yi)を利用して式(4-7)によって最適なtemplate$\beta^{\ast}_i$と最終Score map $S^{\ast}$を得る。update branchは次の様に学習する。

$$arg\ min_{\alpha}\sum^n_{i=1}{l(S^{\ast}_i, Y_i)}. \hspace{15pt}(9)$$

この手法の問題点は以下の2つ。

  • ネットワークのupdate branchが勾配ではなく、template appearance(目標の概観)に焦点を当ててしまうこと。
    • 図4: template generalization(この後説明)を行わずに学習されたネットワークは勾配の重み比が低い(ours-T)。つまり勾配にあまり注目していないことがわかる。
  • ネットワークがoverfitを回避できない。
    • 図のOurs-Tがoverfitしている。

これらの問題を解決するために、update branchが勾配に焦点を当てるように強要する必要がある。それを可能にするのがTemplate Generalizationである。図の(a)がtemplate generalizaionなしのモデルの学習経過を、(b)がtemplate generalization有りのモデルの学習経過を表す。

  • (a): template generalization無し
    • 異なる動画からの4つの画像から目標画像を検索するために4つのtemplateを使用。
  • (b): template generalizaton有り
    • 異なる動画からの4つの画像から目標を検索するために1つのtemplateを使用。

1つのtemplatedeで学習することで、他の動画でも良い性能を発揮するtemplateを得ようとするので、ネットワークが勾配に注目するように強制できる。

Template generalizationの詳しい流れは下図に示す。

  • 訓練セットTからk個の訓練画像ペアを選択。
  • 最初の画像ペアのターゲットパッチZ1を利用してターゲット特徴量f2(Z1)を計算。
  • 初期template β1を式(4)で求める。
    • β1:Z1を介して計算されるtemplate
  • β1を利用して全探索領域からターゲットを探索。
    • $\beta_{i}=\beta_{1}\ast f_x(X_i), i=1,2,..k. \hspace{15pt}\left( 10\right)$
  • 式(5)により初期損失を求める。
  • 式(6-7)によってtemplate β1を更新。
  • 更新されたtemplate β1*を利用して全探索領域 (X1, X2, …, Xk)の探索を行い、式(9)によってupdate branchを訓練する。

template generalizationの効果

  • オフライン訓練中にネットワークを強制的に勾配に集中させることができる。
  • overfitを効果的に回避することができる。

Implementation Details

  • 探索領域の特徴抽出fx(.)は、SiameseFC[3]と同じ構造とパラメータを持つ5つの畳み込み層で構成されている。
  • 浅いターゲット特徴量f2(.)はSiameseFCの第2の畳み込み層からのもの。
  • U1にはSiameseFCの最後の3層と同じ構造の畳み込み層が3つ存在する。
  • U2の畳み込み層のカーネルサイズは3×3
  • template βとβ*のサイズは6×6, score map のサイズは17×17
  • トラッキング中は、template β*を5フレームごとに更新する。
  • score mapの最大値に応じて信頼性の高い学習サンプルを選択する。
  • 最初のフレームのsocore mapの最大値をしきい値 threとする。
  • 現在のsocre mapの最大値が thre * 0.5よりも大きければ結果が正確であると判断し、信頼性の高い学習サンプルとして学習サンプルXtをクロップする。
  • スケール評価、学習率、学習エポックはSiameseFCと同じ .
  • 初期templateとβを組み合わせて最終的なtemplateを得る。
  • ILSVRC2014 VID datasetでの学習のみを行い、推論中はネットワーク全体を固定。

Experiments

  • pytorchで実装
  • 32G memory搭載の intel i7 3.2GHz CPU
  • 11G memory搭載の Nvidia 1080ti GPU
  • 80fpsで動作

使用したベンチマークは4種類。

Evaluation on the OTB-2015 dataset

datasetの概要

  • 11のクラスでアノテーション
  • 100のvideo clip
  • 最も一般的なベンチマークの一つ。
  • 評価方法
    • precision plots (精度プロット)
      • 中心位置誤差がある閾値よりも小さくなった割合。
    • success plot (成功プロット)
      • 予測されたbboxとground truthのbboxの重なりがある比率よりも高いフレームの割合

結果

今回は9つの深層学習trackerと、3つの伝統的なtrackerの計12個と提案アルゴリズムを比較。

SiameseFCよりも精度で8%, 成功率で6%も優位に優れた性能。

Ours(赤色)が一貫して良好なパフォーマンスを発揮。

Evaluation on the TC-128 dataset

datasetの概要

  • 11のクラスで128の完全アノテーション画像シーケンス。
  • OTB-2015よりも大きく、色情報に重点を置く。
  • 評価方法
    • 精度プロット
    • 成功プロット

計11個のモデルと提案アルゴリズムを比較。

結果

Evaluation on the VOT2017 dataset

VOT2017 datasetの概要

  • 6つの属性でアノテーションされた60の短いシーケンス。
  • 評価方法
    • 精度:A(accuracy)
    • 堅牢性:R(robustness)
    • オーバーラップ:EAO(average overlap)

計11個のモデルと提案アルゴリズムを比較。

結果


Evaluation on the LaSOT dataset

datasetの概要

  • 70のカテゴリ、1400のシーケンスからなる大規模データセット
  • 合計350万フレーム以上含まれる。
  • 平均フレーム長2500以上
  • 評価方法
    • 精度: precision
    • 正規化された精度: normalized precision
    • 成功率: success

結果


3番目に良い結果。しかし、MDNetとVITALはリアルタイムの要求には程遠い。(MDNet:1fps, VITAL, 1.5fps)

Ablation Analysis

Self-comparsion

提案手法の各コンポーネントの有効性を確かめるためにOTB-2015上で実装、評価。

  • Ours w/o M
    • GradNetにtemplate generalizationを行わない
  • Ours w/o MG
    • template generalizationの訓練を行わない
  • Ours w/o U
    • template generalizationの訓練過程と勾配適用を削除
  • Ours w/o 2U
    • templateの更新を行わない
  • Ours-baseline
    • SiameseFC

結果

すべてのコンポーネントがトラッキング精度の向上に役立っている。

Training Analysis

template generalizationを更に分析するために2つの異なる訓練方法の

  • 初期score map S
  • 最適score map S*

を図に示す。

  • (a ):提案モデルS
    • すべてのobjectの近似面積が高い応答値を持つノイズの多いscore map
  • (b ):提案モデル$S^\ast$
    • 目標位置でのみ高い応答性を持つ
  • (c ):template generalization無しS
    • 目標位置での応答が高い初期score mapが直接出力される可能性が高い。
  • (d ):template generalization無し$S^\ast$
    • (c )と大差ない。

emplate generalizationで学習されたモデルは、初期埋め込みと、template更新の過程で異なるタスクを学習すると考えられる。

  • 初期埋め込みの際には、ターゲットと背景clutterを検出するための一般的なtemplateを学習する。
    • より識別性の高い勾配を得られる。
  • templateの更新処理において、これらの勾配に基づいてtemplateを更新するように学習する。

識別勾配はネットワークの高速な適応を可能にする。

Conclusions

  • template 更新のためのGradNetを提案
    • 高速で正確なトラッキングを実現
  • GradNetの2つのsub-netは、feed-forwardとbackward演算により勾配の識別情報を利用し、最適化プロセスを高速化する。
  • 勾配を活用し、汎用性の高いtemplateを得るためにオフライン学習中にtemplate generalizationを適用。
    • update branchを強制的に勾配に集中させ、overfittingを回避。
  • 4つのベンチマークで他のリアルタイムトラッカーと比較して性能を大幅に上昇させた。

References

  1. Luca Bertinetto, Jack Valmadre, Joao F Henriques, Andrea ˜ Vedaldi, and Philip HS Torr. Fully-convolutional siamese networks for object tracking. In ECCV, 2016.
  2. Ran Tao, Efstratios Gavves, and Arnold W M Smeulders. Siamese instance search for tracking. In CVPR, 2016.
  3. David Held, Sebastian Thrun, and Silvio Savarese. Learning to track at 100 fps with deep regression networks. In ECCV, 2016.
  4. Qing Guo, Wei Feng, Ce Zhou, Rui Huang, Liang Wan, and Song Wang. Learning dynamic siamese network for visual object tracking. In ICCV, 2017.
  5. Zheng Zhu, Wei Wu, Wei Zou, and Junjie Yan. End-to-end flow correlation tracking with spatial-temporal attention. In ECCV, 2018.
  6. Lijun Wang, Wanli Ouyang, Xiaogang Wang, and Huchuan Lu. Visual tracking with fully convolutional networks. In ICCV, 2015.
  7. Yibing Song, Chao Ma, Lijun Gong, Jiawei Zhang, Rynson W. H. Lau, and Ming-Hsuan Yang. CREST: convolutional residual learning for visual tracking. In ICCV, 2017.
  8. Joao F. Henriques, Rui Caseiro, Pedro Martins, and Jorge ˜ Batista. High-speed tracking with kernelized correlation filters. IEEE Transactions on Pattern Analysis and Machine Intelligence, 37(3):583–596, 2015.
  9. Chao Ma, Jia-Bin Huang, Xiaokang Yang, and Ming-Hsuan Yang. Hierarchical convolutional features for visual tracking. In ICCV, 2015.
  10. Martin Danelljan, Andreas Robinson, Fahad Shahbaz Khan, and Michael Felsberg. Beyond correlation filters: Learning continuous convolution operators for visual tracking. In ECCV, 2016.
  11. Tianzhu Zhang, Changsheng Xu, and Ming-Hsuan Yang. Learning multi-task correlation particle filters for visual tracking. IEEE Transactions on Pattern Analysis and Machine Intelligence, 41(2):365–378, 2019.
  12. Tianzhu Zhang, Si Liu, Changsheng Xu, Bin Liu, and MingHsuan Yang. Correlation particle filter for visual tracking. IEEE Transactions on Image Processing, 27(6):2676–2687, 2018.
  13. Kenan Dai, Dong Wang, Huchuan Lu, Chong Sun, and Jianhua Li. Visual tracking via adaptive spatially-regularized correlation filters. In ICCV, 2019.
  14. Marcin Andrychowicz, Misha Denil, Sergio Gomez Colmenarejo, Matthew W. Hoffman, David Pfau, Tom Schaul, and Nando de Freitas. Learning to learn by gradient descent by gradient descent. In NIPS, 2016.
  15. Adam Santoro, Sergey Bartunov, Matthew Botvinick, Daan Wierstra, and Timothy P. Lillicrap. Meta-learning with memory-augmented neural networks. In ICML, 2016.
  16. Chelsea Finn, Pieter Abbeel, and Sergey Levine. Modelagnostic meta-learning for fast adaptation of deep networks. In ICML, 2017.
  17. Andrei A. Rusu, Dushyant Rao, Jakub Sygnowski, Oriol Vinyals, Razvan Pascanu, Simon Osindero, and Raia Hadsell. Meta-learning with latent embedding optimization. CoRR, abs/1807.05960, 2018.
  18. Zhenguo Li, Fengwei Zhou, Fei Chen, and Hang Li. Metasgd: Learning to learn quickly for few shot learning. CoRR, abs/1707.09835, 2017.
  19. Tianyu Yang and Antoni B. Chan. Learning dynamic memory networks for object tracking. In ECCV, 2018.
  20. Eunbyung Park and Alexander C. Berg. Meta-tracker: Fast and robust online adaptation for visual object trackers. In ECCV, 2018.

まだ完全に理解はできていないので、間違った解釈をしている部分があれば教えてくださると幸いです。

動画で学べる⇓