【文献調査】FairMOT: A Simple Baseline for Multi-Object Tracking
読んだもの
A Simple Baseline for Multi-Object Tracking
- 華中科技大学とMicrosoftの人が共著の2020年5月公開の文献
GitHub: FairMOT
試してみた
環境
Demoの実行→github#demo
- DLA34を使ったモデル(all_dla34.pth)ではメモリが足らなかった
RuntimeError: CUDA out of memory. Tried to allocate 2.00 MiB (GPU 0; 1.95 GiB total capacity; 0 bytes already allocated; 899.25 MiB free; 0 bytes cached)
- そのためその下のを実行(HRNetV2_w18を使ったモデルを使用)
python demo.py mot --load_model ../models/all_hrnet_v2_w18.pth --arch hrnet_18 --reid_dim 128 --conf_thres 0.4
デモ実行結果
- 大体3.4fpsぐらい出た
- 人のボックスに色、ボックス左上に数字がついて識別してる。すご
- 見えない場合動画DL→FairMOT_Demo.mp4 - Google ドライブ
文献概要
- 近年、Multi Object Tracking(MOT)のための物体検出(Object Detection)と再識別(Re-identification, Re-ID)は目覚ましい発展をしている
- しかし推論速度を向上するためにこの2つのタスクを1つのネットワークで達成する試みにはあまり注意が向けられていない
- 従来研究では再識別部(Re-ID)の学習がうまくいかず失敗している
- 本文献ではこのための問題解決のベースラインを示す
- Public datasetで学習し30fpsの速度が出る(GPUでってことだと思う。ベンチマーク用のなにかがあるのかもしれない)
Keywords: One-shot MOT, Simple Baseline, Anchor-free
手法理解
- 本手法では下記によりMOTを実現
- One-shot method(one-shot learningとは別物?)
- Anchor-free object detection
- Multi-Layer Feature Aggregation
従来研究
- 2ステップ手法(2つのモデルでMOT)
- detection model:
- bounding boxで位置を割り出す
- association model:
- 各bounding boxからRe-ID featureを抽出し対象物を関連付ける
- 2つのネットワークの間では特徴を共有しないため、ビデオレートの速度は出なかった
- detection model:
- one-shot method(従来版)
- 上記2つのネットワークを連結して高速に実行できるが、2ステップ手法に比べて精度が落ちていた
- IDの切り替わり回数が大幅に増加してしまう問題があった(文献中に実験あり)
Re-IDについての2つの手法
- (a)anchor-based Re-IDでは荒いグリッドを使うため物体の中心に合わせられない
- 黄と赤のアンカーは青シャツランナーのIDを推定している
- (b)anchor-free Re-IDは曖昧さの影響を受けづらい
Anchorを用いた手法はRe-IDに向かない
- 問題:
- 複数のアンカーが同じオブジェクトをとらえる可能性がある
- 解決:下記2つの問題に分解
- ピクセル単位のキーポイント(オブジェクトセンター)推定問題
- 高解像度特徴マップ上でのidentity分類問題(AとBは同じ?分類)
Multi-Layer Feature AggregationのMOTにおける重要性
Deep layer aggregationについて
Deep layer aggregation. Cvpr2018 P13〜
既存:
↓
Deep Layer Aggregation:
- MOTではRe-ID featureは大小それぞれのオブジェクトに対応するためlow/high level両方のfeatureを活用する必要がある
- Multi-Layer Feature Aggregationにより様々な大きさに対応できるようになり、実験からID切り替わり回数問題が低減することを確認した
ReIDの特徴の次元数
- 前述したRe-IDでは高次元な特徴を用いており、とてもいい結果を残してきた
- しかし次元数は小さいほうがいいことが判明した
- 低次元な特徴の学習はover-fittingを抑制しトラッキングの頑健性を向上する
学習について
DLA-34(COCOベースのpretrainモデル)で初期化しRTX 2080で30時間学習したそう
Train Dataset
only bounding box annotations (detection branch)
- ETH
- CityPerson
bounding box and identity annotations (detection and identity branch)
- CalTech
- MOT17
- CUHK-SYSU
- PRW
Test Dataset
- 2DMOT15,
- MOT16
- MOT17
- MOT20
所感
- このまま姿勢推定に突っ込めばもう個人を特定できると思った
- one-shotという用語を調べてるうちにone-shot learningが気になり始めたが今回のone-shotは2つのタスクを1つのモデルでやるの意味だと思う。one-shot learning今度調べたい
- 2つのタスクを1つのモデルで実施は前回調査したSiamMaskでも出てきたので最近のトレンドはmultitaskできるモデルなんだろうと思った
用語
- backbone network: 特徴抽出するための基礎的なネットワーク
- DLA-34: 今回backboneに使われたネットワーク
- HRNetV2: DLA-34と同じ感じ?
- Semantic Segmentation: 画像内の全画素にラベルやカテゴリを関連付けるタスク
- MOTAなどの評価指標について
- 「FCOS」、RetinaNetを超えたアンカーフリー物体検出 - LSC PSD - Medium
- Deep layer aggregation. Cvpr2018
- これにより大小のスケールに対応できるようになった
英単語
- degraded: 退化した
- end up: 最後には〜で終わる
- trajectory: 弾道、軌道
- in tern: 順番に
- compounding: 配合
- aggregating: 集約
- deserve: 値する
- dilated: 膨張した
- deformable: 変形可能な
- trivial: 自明
- need to leverage: 活用する必要がある
- observe: 気づく
- due to: のため
- fed to, feed to: 供給する
- promising: 前途有望な
- alleviate: 軽減する
- aligned with: 連携して
- fuse: 導火線
- jittering: 神経質