オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】TrackFormer #アルゴリズム編

Index

TrackFormer

Multi Object Tracking (MOT) のアルゴリズム.

MOT では、追跡している物体についていくつかの事項を同時に予測しなければならない.

  • 新しい物体かどうか / もうすでに存在していない物体かどうか (Initialization)
  • 前の時刻のどの物体を、次の時刻の物体に紐付けるかどうか (Identity)
  • 前の時刻の物体の空間的な移動 (Spatiotemporal Trajectory)

このように予測するべき項目をフレームワークに落とし込み、
Encoder-Decoder 形式の Transformer を使用して、End-To-End で予測する.

フレームワーク

MOT の問題を Transformer に適用するためのフレームワークを考える.

  • 問題の定式化
  • Track Query
  • フレーム間を関連付けた学習

問題の定式化

まずは、変数の紹介.

  •  K : ある動画像データの映っている物体の ID の件数

  •  T_{k} : ある ID  k が割り当てられている物体の Bounding Box の集合
    •  T_{k}\ =\ (b_{t_{1}}^{k},\ b_{t_{2}}^{k},\ \cdots)
    •  t_1\ <\ t_2\ <\ \cdots

  •  b_{t}^{k} : ある ID  k が割り当てられている物体の ある時刻  t の Bounding Box



この手法では、4つの処理を行うことで、 ID に紐づけられた物体の BB とクラスを予測する.

  1. CNN を利用した フレームレベルの特徴量抽出
  2. フレームの特徴量を Encoding
  3. Decoding
  4. MLP を利用した BB と Class の予測

Decoder Query

Object は、Decoder Query で表現される.



Decoder Query は Decoder が 物体の BB と Class を予測するための、Embedding されたベクトル.

Decoder Attention

Decoder は 2 つの種類の Attention 処理を交互に繰り返す.

  1. Self Attention
    • Object Query を通じて、すべての時刻の物体の情報に接触する

  2. Encoder-Decoder Attention
    • Encoder からの画像情報を参照する



そして、Decoder は予測結果の情報を内包した Object Query を出力する.

順序的な情報を維持するために、
フレームの特徴量には Positional Encoding、
Object Query にはObject Encoding が必要.

Track Initialization / Track Query

出力された Embedding ベクトルは、2 種類の Query Embedding で初期化される.

  1. Static Object Query / Track Initialization
  2. Autoregressive Track Query



Track Initialization

検出された物体は、固定値  N_{object} 個 の Object Query として初期化された状態で追加される.

 N_{object} : 検出された物体の件数



各 Object Query は、前のフレームの情報からあらかた予測をつけた場所から BB の位置を予測することができる.

Track Query

フレーム間の追跡の実現に欠かせない概念 Track Query.

Track Query は、自己回帰的な方法で、位置情報を予測しながら、ID 情報を引き継ぐ.

新しい物体

新しい物体が検出されるたびに、前のフレームにおける Decoder の出力から対応する Object Query を初期化する.

Decoding

フレーム画像の特徴量と Decoder への入力である Object Query に Attention を適用して、
各 Track Query の情報を更新する.

Self Attention を通じて、Object Query / Tracking Query の情報共有を行うことで
新しい検出を可能にすると同時にすでに検出されている物体の再検出を回避できる.

時刻 (フレーム)  t=0 にて、
閾値  \sigma_{object} を超えるスコアを持つ検出された物体の集合、
 \{ b_{0}^{0},\ b_{0}^{1},\ \cdots\ \} は初期化される.

ID は  K の時刻  t における 部分集合の  K_{t}\ =\ \{0,\ 1,\ \cdots \}\ \subset\ K で与えている様.

追跡の削除

Track Query の数  N_{track} は、新しい物体が検出されるか 追跡している物体が削除されると、フレーム間で変化する.

検出のスコアが、閾値 [tex: \sigma{track}] を下回るか、
Non-Maximum Suppression (NMS) の計算時に IoU の閾値 [tex: \sigma
{NMS}] を下回った場合、
追跡物体を削除する.

Track Query Re-Identification

最大  T_{track-reid} フレームは、追跡対象として削除された物体でも追跡し続けてあげる.

この期間中に、追跡対象として復活するには、閾値  \sigma_{track-reid} 以上の検出スコアを出す必要がある.

フレーム間を関連付けた学習

Track Query で物体を次フレームまで追跡し、 Object Query に引き継ぐ様な作業をするため、 TrackFormer でフレーム間の関連を学習に適用する必要がある.

Ground Truth は、 N\ =\ N_{object}\ +\ N_{track} 個分必要になる.

Lossの計算

Loss の計算は 2 つのステップで算出される.

  1. 時刻  t-1 における  N_{object} 個の Object Query の計算
  2. ステップ 1 で検出された物体の追跡と  N の Query のフレーム  t における新しい物体の検出



MLP の予測を定義する.

 \hat{y}\ =\ \{ \hat{y_{j}} \}_{j=1}^{N}


GT の集合を  y\ \{ y_{i} \} としたとき、 各  y_{i} は BB  b_{i} とクラス  c_{i} と ID  k_{i} を表現する.

Bipartite Matching

GT  y_{i} と予測  \hat{y_{j}} を結びつけるマッピングを以下のように定義する.

 j\ =\ \pi (i)



時刻 / フレーム  t の GT の ID の集合  K_{t} は、以下を満たすことに注意.

 K_t\ \subset\ K



また、前のフレーム  t-1 で検出された物体の ID は  K_{t-1}\ \subset\ K で、  K_{t-1} から結びつけられる.

  •  K_t\ \cap\ K_{t-1}
  •  K_{t-1}\ \setminus\ K_{t}
  •  K_{t}\ \setminus\ K_{t-1}



 \hat{\sigma}\ =\ \DeclareMathOperator*{\argmax}{arg\,max} \displaystyle \argmax_{\sigma}\ \displaystyle \sum C_{match} (y_{i},\ \hat{y}_{\sigma\ (i)})



 C_{match}\ =\ -\ \lambda_{cls}\ \hat{p}_{\sigma\ (i)}(c_{i})\ +\ C_{box}(b_{i},\ \hat{b}_{\sigma\ (i)})



 C_{box}\ =\ \lambda_{l_{1}}\ ||b_{i}\ -\ \hat{b}_{\sigma\ (i)}||_{1}\ +\ \lambda_{iou}\ C_{iou}(b_{i},\ \hat{b}_{\sigma\ (i)})

Set Prediction Loss

 L_{MOT} (y,\ \hat{y},\ \pi)\ =\ \displaystyle \sum_{i=1}^{N} L_{query} (y,\ \hat{y},\ \pi)



 
L_{query}\ =\ 
\left\{
\begin{array}{ll}
-\ \lambda_{cls}\ \log\ \hat{p}_{i} (c_{\pi\ =\ i})\ +\ L_{box}(b_{\pi\ =\ i},\ \hat{b}_{i}) & i\ \in\ \pi \\
-\ \lambda_{cls}\ \log\ \hat{p}_{i} (0)& i\ \notin\ \pi
\end{array}
\right.

精度評価

実装編

参考

  • TrackFormer: Multi-Object Tracking with Transformers
    • [2021]
    • Abstract
    • 2 Related work
      • Tracking-by-detection
      • Tracking-by-regression
      • Tracking-by-segmentation
      • Attention for image recognition
    • 3 TrackFormer
      • 3.1 MOT as a set prediction problem
      • 3.2 Tracking with decoder queries
      • 3.3 TrackFormer training
    • 4 Experiments
      • 4.3 Benchmarkresults
    • arxiv.org

Web サイト