MOT17などでSOTAを達成した「BoT-SORT」を解説!

MOT17などでSOTAを達成した「BoT-SORT」を解説!

はじめに
 2022年6月にイスラエルのテルアビブ大学電気工学部の研究チームから、新たなトラッキングモデル「BoT-SORT」が発表されました。MOT17やMOT20などのベンチマークテストの主要指標でSOTAを達成しました。

※記事内の図等は特に断りがない限り、当該論文から引用しております。

●論文
『BoT-SORT: Robust Associations Multi-Pedestrian Tracking』
https://arxiv.org/pdf/2206.14651v1.pdf

概要

 2022年6月にイスラエルのテルアビブ大学電気工学部の研究チームから、新たなトラッキングモデル「BoT-SORT」が発表されました。
 「BoT-SORT」はこれまでのSORT系の問題点、①カルマンフィルターに改善の余地がある、②カメラの撮影画角が大幅に変化したときに精度が大幅に下がる、③検出物体とトラッキングしているIDの紐づけに問題がある、という課題に対して対処したモデルとなります。
 MOT17の主要指標で 80.5MOTA, 80.2 IDF1, 65.0 HOTA をSOTAとしてそれぞれ達成しました。そのほかにも、MOT20などのベンチマークテストの主要指標でもSOTAを達成しました。

ポイント
●カメラの動きにあわせて補正を加える機能を追加しました。
●ボックスの位置座標を改善するための適切なカルマンフィルター状態ベクトルなどの改善を追加しました。
●検出した物体とトラッキングしているIDを適切に紐づけるために、IoUとReIDのコサイン距離を融合した手法を追加しました。
●MOT17やMOT20などでSOTAを達成しました。

詳細

開発背景

 現在のトラッキングモデルは、モーションモデル型としてカルマンフィルターなどを利用して、物体の次の位置を予測し、新しく検出した物体をIoUや、Re-IDタスクとして処理して、マッチングするものが主流となっています。特にSORT、DeepSORT、JDEなどがその代表格として知られています。

SORT系の限界

・カルマンフィルターで利用している値

 SORT系では、等速を想定したカルマンフィルターを利用しています。またカルマンフィルターの利用は、バウンディングボックスシェイプの最適化問題にもつながります。そのため、DeepSORT以来、横幅(width)では不正確なことがあるため、ボックス比率を利用して対応してきました。ただし、このカルマンフィルターで利用している値にはまだ改良の余地があります。

・カメラのずれ

 通常SORT系では、IoUベースのマッチングもしくはコサイン類似度を利用したマッチングが行われます。IoUベースのマッチングは、予測ボックスの正確性に大きく依存します。そのため、検出精度が下がると、当然マッチングも失敗しやすくなり、特にカメラの動きによって精度が悪化するということがいえます。

・マッチング手法

 SORT系のアルゴリズムにおいて、地点情報を利用するIoUベースのマッチングと外見情報を利用するコサイン類似度ベースのマッチングには、トラッキングを開始すること(MOTAで測られる)と正しいIDを維持し続けること(IDF1で測られる)のトレードオフ関係にあります。一般的に、IOUを利用するとMOTAを良くし、Re-IDを利用すると、IDF1が良くなります。

提案手法

 3つの改善ポイントを提案します。ByteTrackをベースにそれらの改善点を織り込んだ、BoT-SORT及びBoT-SORT-ReIDを開発しました。(BoT-SORT-ReIDは、BoT-SORTにReIDを組み込んだモデルです。)

●アルゴリズムのパイプライン

カルマンフィルターに対する改善

 現行のSORT系モデルの利用要素は以下のようになっています。

・SORTの利用要素

xc、yc:中心座標
s:バウンディングボックスの面積`
a:バウンディングボックスのアスペクト比

・より改良が加えられたSORT系の利用要素

h:高さ

 今回の研究で、幅(width)と高さ(height)を直接予測するほうが精度がよいことがわかりました。

BoT-SORTでの利用要素xk

・計測値zk

メトリックQ及びRは、SORTでは時間独立していましたが、DeepSORTをいくつかの推測要素と計測要素の関数として選択することを提案しており、そのため、今回は時間依存しているQ,Kを選択しています。

プロセスノイズ共分散Qk

計測ノイズ共分散Rk


σp = 0.05, σv = 0.00625, σm = 0.,30FPS

わずかに異なる状態ベクトルxに従ってQとRを変更しています。トラッキングを失う場合、予測が長いとボックスの形状が変形する可能性があるため、適切な処理が実装される必要があります。(なお、全体的なHOTAの改善の理由に関して研究チームは明らかではないと明言しています。) 以下の図に示すように、KFを変更すると、バウンディングボックスの幅がオブジェクトにフィットするようになります。

カメラモーション補正

 トラッキング精度は、予測したバウンディングボックスと検出したバウンディングボックスの重なりに大きく依存しています。画像の変動は、「画面全体の動き」と「画像内の物体の動き」の二つによって生じますが、前者は画像内の物体の位置を大きく変えてしまうため、精度向上には補正が必要です。
 今回は、OpenCVのアフィン変換を伴う動画安定モジュールで利用されている「global motion estimation (GMC)」を利用して画像を安定させます。

GMCの処理

①画像キーポイントを抽出します。
②変換ベースの局所的な外れ値の除去を伴う特徴追跡のためのスパースオプティカルフローを行います。

・アフィンマトリック(A)
転移マトリックスは、バウンディングボックスの中心座標のみに影響します。
RANSAC によって解析されます。

・それぞれの値



※「’」は、カメラモーション補正の前後を意味しています。
※なお、FPS以下でしか、カメラが移動していないときは、一番下の処理は必要ないとしています。

最終的に以下の通りによって、カルマンフィルターによるアップデートは行われます。

以下のような効果を得ることができます。

IoUマッチングとRe-IDマッチングの融合

 FastReIDライブラリーのBoTのトップをベースラインとして採用しました。加えて、「exponential moving average (EMA)」メカニズムを導入して、外見上の一致を以下のように行うようにしました。

f :現在のマッチした検出物体のエンベディングした外見特徴
α:0.9に設定したモーメンタム

外見の一致(Aa)と、モーションの一致(Am)に対して重み掛けした値を利用する以下のようなやり方は行いません。

新しく、IoU距離マトリックスと、コサイン距離マトリックスを利用したものを設定します。

①低いコサイン一致度もしくはIoUスコアが低く=遠い候補は、候補から排除します。
②以下のコストマトリックスが一番低いものを採用します。


θiou:距離の閾値=0.5
θemb:外見一致の閾値=0.2
※以下で示されているように、Re-ID時に同一である者同士の閾値が0.2付近にあるため。

実験

 MOT17及びMOT20 に対して性能実験を行いました。

実験設定

・PyTorchを使用して実装されました。
・第11世代Intel(R)Core(TM)i9-11900F@2.50GHzおよびNVIDIAGeForceRTX3060GPUを搭載したデスクトップPCで実験されました。
・公正な比較のために、MOT17、MOT20、およびMOT17のアブレーション研究のために訓練されたYOLOXを直接利用しています。
・特徴抽出器については、FastReIDの SBS-50モデルをMOT17およびMOT20用に、デフォルトのトレーニング戦略で60エポックトレーニングしたものを利用しています。
・各シーンの前半でトレーニングを行い、残りのシーンでテストされました。
・実験全体を通して、同じトラッカーパラメーターが使用されました。
・特に指定がない限り、デフォルトの検出スコアしきい値τは0.6に設定されました。
・検出とトラックレットの類似性が0.2より小さい場合、マッチングを拒否するように設定されました。
・失われたトラックレットについては、再び表示される場合に備えて30フレーム保持するよう設定されました。
・グラウンドトゥルースの不完全性を補正するために、最大間隔が20の線形トラックレット補間が実行されました。

アブレーションスタディ

各コンポーネントの性能確認

Re-IDの性能確認

Current MOTA

 マルチオブジェクトトラッカーを開発する際の課題の1つは、標準のMOTメトリックを使用してトラッカーの障害を特定することに時間がかかる可能性が高いということです。(多くの場合、トラッカー障害の特定の理由や時間範囲を見つけるのは時間がかかる可能性があります。)
 そのため、マルチオブジェクトトラッカーのフォールバックと難易度を分析するために、MOTAメトリックを時間またはフレームに依存するMOTAを研究チームが改良し、Current-MOTA(cMOTA)と定義しました。 cMOTA(tk)は、t=t0からt=tkまでの単純なMOTAを指します。
 例えば cMOTA(T)は、すべてのシーケンスに対して計算された従来のMOTAに等しくなります。(ここで、Tはシーケンスの長さです。)これにより、トラッカーが失敗したケースを簡単に見つけることができるようになります。 同じ手順をCLEARマトリックスのいずれかで再生できます。cMOTAは、他の多くのトラッカーの障害シナリオを特定して調査するのに役立つ可能性があります。

●cMOTAの利点

ベンチマーク評価

MOT17

BoT-SORT-ReIDが MOTA, IDF1, HOTAなど基本的な指標でSOTAを達成しました。
BoT-SORTReID が IDF1 ではじめて80に到達しました

MOT20

BoT-SORT-ReIDが MOTA, IDF1, HOTAなど基本的な指標でSOTAを達成しました。なお、ほかのトラッカーでも単一指標のみなら同程度の値を出している場合も確認できましたが、すべての指標で最も高い値を出していたのは、BoT-SORT-ReIDのみでした。

BoT-SORTの課題

BoT-SORT(及びBoT-SORT-ReID)の課題は、実行速度であることが示されています。大きな画像を処理する必要がある場合、カメラのグローバルモーションの計算には時間がかかる可能性が指摘されています。ただし、GMCの実行時間は、検出器の推定時間と比較してごくわずかであり、追加の遅延なしに、マルチスレッドをGMCの計算に適用できると考えられます。
 外観情報を利用するRe-IDトラッカーは、ジョイントトラッカーやいくつかの外観のないトラッカーと比較して、実行速度が比較的遅くなります。計算コストを削減するために、信頼性の高い検出にのみ深い特徴抽出を適用します。 必要に応じて、特徴抽出ネットワークを、共同検出埋め込み方式で検出器ヘッドにマージすることで処理速度を高速化させます。