はじめに
CVPR2021でニューヨーク州立大学バッファロー校を中心とした研究チームからトラッキングに必要な情報を有効活用することで物体検出の精度を高めたトラッキングモデルが発表されました。
なお、特に断りがない限り利用した図や表は下記発表論文から引用しています。
Track to Detect and Segment: An Online Multi-Object Tracker
https://arxiv.org/pdf/2103.08808.pdf
●HP
https://jialianwu.com/projects/TraDeS.html
●GitHub
https://github.com/JialianW/TraDeS
概要
マルチオブジェクトトラッキングは、物体検出とトラッキングという2つのタスクが組み合わされたタスクです。そのため、従来のマルチオブジェクトトラッキングモデルは、物体検出とトラッキングに別々の行うモデル(tracking-by-detection TBD)が主流でした。しかし、別々なタスクとして扱うと学習が非効率かつEnd-to-Endなモデルとして最適化されないなどの問題があり、2つのタスクをひとつのタスクとして行うモデル(joint detection and tracking:JDT)の開発が近年行われるようになりました。
今回、発表された TraDe sは後者の JDT モデルであり、これまでの JDT モデルが抱えていたトラッキングのために算出した特徴量が物体検出にうまく利用されていないという問題を解決することを目的としたものです。
トラッキング時に必要となる特徴量を利用して2つのフレーム間のポイントの類似度からなる CVA(cost volume based association module) とCVAをもとに算出されたトラッキング補正を利用してオブジェクトの特徴を前フレームから現在のフレームへと伝播する MFW(motion-guided feature warper module)を構築することで、トラッキング情報を物体検出に有効活用しオクルージョンや物体のずれなどによりロバストなモデルをつくることに成功しました。
MOTなどの2DトラッキングタスクやMOTSなどのインスタンスセグメンテーションタスクでSoATを達成しました。
論文のポイント
・トラッキングと物体検出を組み合わせたJDTモデル。
・トラッキング時に取得した情報をCVAやMFWといった独自モジュールを構築することで物体検出に有効活用することに成功した。
・2Dトラッキングタスクやインスタンスセグメンテーションタスクなどで、SoATを達成した。
・また物体が大きく移動したときや物体がオクルージョンしてしまったときなどによりロバストな性能があることを示した。
詳細
背景
マルチオブジェクトトラッキング(MOT)には、大きく2つのやり方が存在します。
MOTの方法
① tracking-by-detection (TBD)
物体検出を行って、その結果を利用してトラッキングする
② joint detection and tracking(JDT)
物体検出とトラッキングを組み合わせる。
TBDの問題点は、別々のタスクとして行われるで、非効率かつEnd-to-endとして最適化されていないというものです。そのため、近年はTBDに変わってJDT方式が好んで利用されるようになっています。
今回の論文はJDT方式が抱えている以下の問題を解決しようとしたものです。
JDTの問題点
Ⅰ:バックボーンネットワークを共有しているにもかかわらず、物体検出はトラッキングから利用できる情報を使われずに行われている。
⇛安定性及び一貫性のあるトラッキングを考えた場合、有効利用することが重要であるはずです。またオクルージョンやぼやけなどがあるときに有効に働くはずであると考えられます。
Ⅱ:一般的なre-ID トラッキング損失が物体検出損失と適合していないものがあり、物体検出の精度を低下させる要因になる。
⇛これはre-IDがntra-class varianceに焦点を合わせているのに対して、物体検出がクラス間の差異を大きくし、クラス内の分散を小さくしようとしているという違いがあることに起因しています。そのため、うまく適合させる必要があります。
TraDeS (TRAck to DEtect and Segment)
今回発表されたモデルであるTraDeSは、トラッキング用のre-IDの学習スキームを丁寧に構築することで問題の解決を目指しました。CVA (a cost volume based association )モジュールと MFW(a motion-guided feature warper)モジュールの開発が特徴となります。
最終的にトラッキングから得ることができる特徴量を物体検出にうまい形で統合することで、難しい条件下での物体検出を改善することを目的としています。
モデル図
Cost Volume based Association:CVA
CVAモジュールでは、コストボリュームを使用してre-IDのembeddingを学習することで、さまざまなオブジェクトクラスと背景領域が暗黙的に考慮されます。一般的なre-ID損失と比べて効果的なembeddingを学習するだけでなく、物体検出損失との互換性が高く、検出パフォーマンスを損なうことがなくなります。
CVAの特徴
①CVAは一般的なre-ID Lossよりもクラス内分散を強調するだけでなく、クラス間差異も強調することができる。このことで物体検出の精度を下げずにトラッキングのための特徴量を算出することができる。
②見た目の類似度を利用してトラッキング補正点を予測するため、動きの範囲が広い場合やフレームレートが低い場合でも精確なトラッキングができる。
③長い時系列間の相関関係を獲得するために、一般的なものがどちらか一方を利用するのに対して、TraDesではembeddingとトラッキング補正点の両方を利用する。
CVAの計算方法
①ベース特徴量としてftとft-τが与えられる。
②ベース特徴量をCNNに与えて、re-ID用のembedding特徴量etを抽出する。
③etからコストボリューム C (2つのフレーム内の1つのポイントとそれに対応するポイントの間の密な一致の類似度)を算出する。
※ただし、このetは計算効率のために一度1/2にダウンサンプリングしたe’tを利用する。
コストボリュームの計算式
ここで、i, j,k,lはそれぞれt時間における点(i, j)とt-τ時間における点(k, l)間の類似性を意味している。
なお、学習されるのは、ベース特徴量からre-ID embedding 特徴量を抽出するためのCNNだけとなり、Focal Lossを採用しています。
トラッキング補正 Tracking Offset
コストボリュームをベースとして、トラッキング補正 O の行列を計算します。トラッキング補正 O は、ある時間tにおける全ての点とそれに対応するある時間t−τにおける点のための空間的かつ一時的な変異となります。
トラッキング補正 O の計算方法
①Ci, jをHc×1と1×Wcのカーネルでそれぞれマックスプーリングして、ソフトマックス関数で正規化する。
②このことで、Ci,jがある物体xが時間t-τに特定の水平及び垂直位置にあるもっともらしさを意味するようになる。
③最終的なトラッキング補正値0を算出するために、2つのテンプレートとなる補正値MとVを事前に定義する。
Mが「水平」で、Vが「垂直」を意味し、sは「ストライド」を意味しています。
④最終的なトラッキング補正値0は②と③で求められた値を利用することで求め荒れる。
Motion-guided Feature Warper:MFW
MFWは、予測されたトラッキングオフセットOCをモーションの手がかりとして取得し、ft-τを現在の時刻にワープおよび伝播して、ftを補正および強化することを目的としています。そのために単一の変形可能なCNN(deformable convolution (DCN) )を利用します。また、このモジュールはCenterTrackなどをもとにしたヒートマップを利用したものです。
MFWの計算方法
①まず、ヒートマップを利用して特徴量を算出する。
qは「チャンネルインデックス」、Pは「クラスにとらわれないセンターヒートマップ」を意味します。
②DCNとトラッキング補正 O を利用して特徴量を算出する。
③現在の特徴量と②で作られた特徴量を組み合わせて最終的な特徴量を算出する。
損失関数
TraDesの損失関数は、物体検出とインスタンスセグメンテーションの損失にCVAの損失を組み合わせたものです。
L = Lcva + Ldet + Lmask
(det=物体検出、mask=インスタンスセグメンテーション)
性能実験
TraDesはCenterTrackをベースとしているため、基本的にバックボーンモデル、画像サイズ、事前学習、スコア閾値などで同じ値を設定して実験が行われています。
基本設定
バックボーンネットワーク:DLA-34
バッチ:32
学習率:1.25e-4 (低下させるときは、10分の1にする)
マシン性能:2080Ti GPU.
アブレーション研究
今回、組み込んだ各種モジュールが有効なものであることが研究で明らかにされています。
結果
基本的にすべてのタスクでTraDesが既存のモデルを上回りました。
MOT(2D物体トラッキング)の結果
nuScenes(3D物体トラッキング)の結果
MOTS(インスタンスセグメンテーショントラッキング)の結果
YouTube-VIS(インスタンスセグメンテーショントラッキング)の結果
まとめ
マルチオブジェクトトラッキングモデルTraDesを解説しました。算出している特徴をより有効活用することで精度をあげることに向上しています。GitHubで公開されているコードを使えば、簡単に実装することができます。実際動かした感触としては、あくまで感覚値ではありますが、性能もよい印象を受け、今後選択肢のひとつになる可能性を感じました。