More Related Content
Similar to [DL Hacks]Simple Online Realtime Tracking with a Deep Association Metric (20)
More from Deep Learning JP (20)
[DL Hacks]Simple Online Realtime Tracking with a Deep Association Metric
- 3. 論文情報
● 論文名
○ Simple Online Realtime Tracking with a Deep Association Metric [1]
● 公開日
○ 2017/03/21
3
- 4. 概要
● Deep SORT
● 1台のカメラからの連続したフレームから複数オブジェクト(人)のトラッキング手法
● SORT [2] アルゴリズムに改良を加えたもの
● SORTアルゴリズムよりも長いスパンでトラッキング可能
● リアルタイム処理可能な軽さ
4
- 5. MOT Problem
● Train (det.txt + gt.txt)
○ gt.txt : Bounding Boxの情報と写っている人の IDをもつ
○ det.txt : 何かしらの物体検出器によって人の領域のみを取得した
情報
● Test (det.txtのみ)
5
ID
- 7. SORT 1/4 [2]
● SORT (Simple Online and Realtime
Tracking)
● 高いフレームレートでも高い精度を出すこと
ができた (右図)
● フレーム間トラッキング
○ Re-Identification (同一人物判定) はこの論文の範囲外
○ これらの違いは一度物陰に隠れた人物が再び現れたとき
同一人物と再認識できるかどうかの違い?
7
- 8. SORT 2/4
● 他の手法よりシンプルなモデルで実現
○ 「ある事柄を説明するためには、必要以上に多くを仮定するべきでない」 (オッカムの剃刀)
○ Bboxの位置とサイズ情報のみからフレーム間のオブジェクトの動きと associationの推測を行う
■ "Data association は追跡対象が検出された人物候補のどれと対応付けられるかを求める処
理である" [7]
○ short-term and long-term occlusionは無視
■ これらの情報を盛り込むとトラッキングの複雑性が上がる
● 効率的で重要度の高い情報にのみを使いリアルタイム性を重視
○ 複雑なモデルは処理のオーバヘッドが上がるため リアルタイム性に制限がかかる
● 論文では歩行者についてのみ言及
○ “CNNの柔軟性を考えれば汎用性は上がるかも知れない ”
8
- 9. カルマンフィルタ [10] [11]
● 状態空間
○ 前フレームのトラッキングから現在のトラッキング位置の予測
● 観測空間
○ 事前に検出されたbounding box領域からトラッキング対象の位置を予測
9
- 10. SORT 3/4
● constant velocity model (等速モデル) - カルマンフィルタ
○ (u,v) : bboxの左上座標
○ s : bboxの面積
○ r : アスペクト比
○ それぞれの時間微分 (速度)
● 更新
○ TracksとdetectionsそれぞれのbboxのIoUを計算しIoUの大きいペア同士を結びつけトラッキング
結果とする. (計算にHungarian Algorithmを使用)
○ trackに対応するdetectionsが見つかったとき
■ カルマンフィルタの更新
○ trackに対応するDetectionsが見つからなかったとき (occlusion等)
■ 速度を用いた直線運動と仮定し予測値とする
■ ただし論文では見つからなかったときにすぐにそのトラッキングを捨てることを推奨している
(コード中の`max_age=1`) 10
- 11. SORT 4/4
● 予測したbboxがトラッキング中のどの対象とも関連づかないときにその bboxを元に新たなトラッキングが
開始
● トラッキング開始時には速度情報を持たないためカルマンフィルタに与える初期値はゼロでその共分散
は大きい値にしておく
○ => 速度情報があてにならないことをフィルタに盛り込む
● 初期化されたbboxには仮期間を用意
○ False Positive を減らす処置
○ 仮期間の間連続して associationできれば
ちゃんとトラッカーとして機能させる
● これらの工夫で高速なままで精度も高いモデル
になった
11
- 12. Deep SORT 1/6
● constant velocity model - カルマンフィルタ
○ (u,v) : bboxの左上座標
○ r: アスペクト比
○ h: bboxの高さ
○ それぞれの時間微分 (速度)
12
- 13. Deep SORT 2/6 - マハラノビス距離
● Trackのカルマンフィルタが持つ予測値と共分散の情報とdetectionの情報を用い
てマハラノビス距離を求める
● 逆カイ2乗分布を用いて信頼度が95%になるマハラノビス距離(t^(1))を求め,それ以
下なら1を返しその他の場合は0を返すゲートb^(1)を求める.
● これによりSORTのIoUを用いる方法より適しているが, カメラ本体等を大きく動かし
たりする場合は画像中の物体が急に動くため意味を成さなくなる.
13
- 14. Deep SORT 3/6 - Deep Appearance Descriptor (1)
● 先の問題が残るので"見た目の情報"を利用する方法を統合する.
● Trackとdetectionそれぞれのbboxを,次のスライドに示すCNNを用いて,
大きさ1のベクトルに変換する. j番目のdetectionをr_jに変換し,i番目のtrackは直近
のbboxデータ最大100個までR_iに保存して置く.
● これらのコサイン類似度が最小にするペアを求める.
● マハラノビス距離の時と同様にゲートb^(2)を求める
14
- 15. Deep SORT 3/6 - Deep Appearance Descriptor (2)
● 見た目の特徴を区別できる方法と
して事前にオフライン学習させてお
いたCNNを用いている.
● Re-Identification dataset [8][9]
15
- 16. Deep SORT 4/6 - Matching Cascade
追跡しているターゲットの割り当てにおいて測定値(bbox等)から直接トラッキングを求める
associationには問題がある.
● 長い間物陰に隠れてしまう(occlusion) とカルマンフィルタの不確かさが増加すること. つまり,こ
れを解消するために許容するマハラノビス距離の閾値を大きくすることになる.
● 別々のターゲットを追うトラッカーが同一のdetectionを取り合うとき,マハラノビス距離は不確か度
の大きい方が優勢になる場合がある. (不確か度の大きい方が大きく値を更新し距離が逆にマハ
ラノビス距離が縮まるから?)
16
- 17. Deep SORT 5/6 - 全体のアルゴリズム
● occlusionなどでdetection外に
なってしまった物体に割り当てら
れる優先順位を下げている.
(forループ個所)
17
- 19. [1] Simple Online and Realtime Tracking with a Deep Association Metric https://arxiv.org/abs/1703.07402
[2] Simple Online and Realtime Tracking https://arxiv.org/abs/1602.00763
[3] SORTの著者実装 https://github.com/abewley/sort
[4] Deep SORTの著者実装 https://github.com/nwojke/deep_sort
[5] Deep SORTの物体検出にYOLOv3を用いた実装 https://github.com/Qidian213/deep_sort_yolov3
[6] MOT16 https://arxiv.org/abs/1603.00831
[7] 追跡対象の適応的グルーピングによる重なりにロバストな複数人物追跡
http://www.ieice.org/jpn/event/FIT/2016/data/pdf/H-003.pdf
[8] https://www.researchgate.net/publication/308277502_MARS_A_Video_Benchmark_for_Large-Scale_P
erson_Re-Identification
[9] http://www.liangzheng.com.cn/Project/project_mars.html
[10] カルマンフィルタの考え方 | Logics of Blue https://logics-of-blue.com/kalman-filter-concept/
[11] カルマンフィルタってなに? - Qiita https://qiita.com/IshitaTakeshi/items/740ac7e9b549eee4cc04
参考
19