🐶

FEAR: Fast, Efficient, Accurate and Robust Visual Tracker

2022/11/16に公開

概要

モバイル環境でもリアルタイムに推論可能な軽量物体トラッカーFEARを提案。動的に更新されるDual Templateと、効率的な特徴量融合による高速なトラッキングを可能にしている。

書誌情報

ポイント

モデルは以下の5つのモジュールから構成される。

  • Feature Extraction Network
  • Dual Template Representations
  • Pixel-wise Fusion Block
  • Bounding Box Regression Head
  • Bounding Box Classification Head

Feature Extraction Network

ImageNetで学習済みのバックボーンを使用する。チャンネル数を調整するためのAdjustLayer(Conv層+BN)が続く。モデルのサイズごとに以下のようなバックボーンを使用する。
FBNet[1]は、NASによってモバイル向けに最適化されたアーキテクチャを採用している。

  • FEAR-M: ResNet-50
  • FEAR-L: RegNet
  • FEAR-XS: FBNet

Dual Template Representations

FEARでは、StaticとDynamicの2種類のテンプレートを使用する。Dynamicは追跡対象の時間的な見えの変化に追従するためのテンプレートで、推論時には定期的に更新される。

以下は、記号の整理である。

  • Staticテンプレート画像I_T。ここから得られる特徴マップをF_Tとする。
  • Dynamicテンプレート画像I_d。ここから得られる特徴マップをF_dとする
  • F_T, F_dの重みつき和F_T^{\prime}=(1-w) F_T+w F_dが、テンプレートの最終的な特徴マップとして使用される。wは学習対象のパラメーターである。これをAvgPoolしたものをDual-Template embeddinge_Tという。
  • 検索画像I_S。Nフレームあり、そこから特徴マップF_Sが得られる。分類スコアによって重みづけしてPoolingしたものをe_Sと呼ぶ。
  • ネガティブ画像I_N。追跡対象が写っていない画像からサンプルする。こちらも同様に分類スコアによって重みづけしてPoolingしたものをe_Nとする。

Dynamicテンプレートに使用するI_dの作り方が訓練時と推論時で異なる。

  • 訓練時:検索画像I_Sから1枚サンプルして正解領域をクロップしたものをI_dとし、そこからF_dを算出、以降はF_Tと組み合わせて順次F_T^{\prime}, e_Tを得る。e_T, e_Sの距離が近く、e_T, e_Nの距離が遠くなるようにTriplet Lossを損失に加える。
  • 推論時:e_Sを各フレームについて算出する。前回の推論で得られたI_dを使って、固定のI_Tと組み合わせてe_Tまで計算しておく。e_Tともっともコサイン類似度が高くなるe_Sに対応するフレームについて、FEARの後続処理を適用してトラック対象の領域を検出してクロップし、次のI_dとする。

Pixel-wise Fusion Block

テンプレート画像の特徴マップF'_Tが検索画像特徴マップF_Sのどこに対応しているかを知るために、多くの既存手法では相互相関(cross-correlation)が使用される。これは、F'_TそのものをカーネルとしてF_Sに対して畳み込みを行う2dConv層として実装されることが多いが、軽量化のための工夫としてより簡易な方法がいままでも提案されてきている。
FEARでは、検索画像の特徴マップF_Sを3x3 Conv-BN-ReLUブロックに通して新たに得られた特徴マップに対して、テンプレート特徴マップF'_Tとのpixel-wiseなcross-correlationを計算する。公式実装を確認すると、pixel-wise cross-correlationは、以下のような行列の掛け算として実装できる。

# z: (b, c=256, hw=64)
# x: (b, c, H=16, W=16)
s = torch.matmul(z.permute(0, 2, 1), x.view(b, c, -1)).view(b, -1, w, h)

これをもとの特徴マップと結合して3x3 Conv-BN-ReLUブロックに通して得られる特徴マップを出力とする。

Classification and Bounding Box Regression Heads

一般的な物体検出と同様の、BoundingBoxの分類と回帰を担当するヘッド。
これにより、最終的なトラッキング対象の位置が特定される。3x3 Conv-BN-ReLUブロック数層重ねて最終的な分類と矩形回帰ヘッドとしている。

損失関数

損失は、embeddinge_T, e_S, e_Nに関するTriplet LossL_tと、BoundingBox回帰損失L_{\text{reg}}と分類の損失L_{c}が使用される。

L=\lambda_1 * L_t+\lambda_2 * L_{\text{reg}}+\lambda_3 * L_c

ここで、L_tはembeddingに関するTriplet Lossであり、下式で表される。これにより、e_Te_Sと近く、e_Nと遠くなるようにする。

\left.\left.L_t=\max \left\{d\left(e_T, e_S\right)-d\left(e_T, e_N\right)+\operatorname{margin}, 0\right)\right)\right\}

dはembedding間の\ell_2距離を表す。

d\left(x_i, y_i\right)=\left\|x_i-y_i\right\|_2

回帰損失L_{\text{reg}}は、下式のようなIoU損失が使用される。

L_{\text{reg}}=1-\sum_i \text{IoU} \left(t_{\text{reg}}, p_{\text{reg}}\right)

分類ヘッドの出力に関してはFocalLossを適用している。

L_c=-\left(1-p_t\right)^\gamma \log \left(p_t\right), \quad p_t= \begin{cases}p & \text { if } \mathrm{y}=1 \\ 1-p & \text { otherwise }\end{cases}

実験

省略

脚注
  1. Borsuk, Vasyl, et al. "FEAR: Fast, Efficient, Accurate and Robust Visual Tracker." European Conference on Computer Vision. Springer, Cham, 2022. ↩︎

Discussion