Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ByteTrack_MOTR_CV勉強会ECCV2022論文読み会発表資料

Shirokuma
October 22, 2022

 ByteTrack_MOTR_CV勉強会ECCV2022論文読み会発表資料

CV勉強会ECCV2022論文読み会の発表資料です。

Shirokuma

October 22, 2022
Tweet

Other Decks in Technology

Transcript

  1. ByteTrack vs MOTR
    〜オブジェクトトラッキングガチンコ対決〜
    2022/10/22 しろくま@neka-nat
    第57回 コンピュータビジョン勉強会

    View Slide

  2. 自己紹介
    独立系ロボットエンジニア
    しろくま@neka-nat
    https://twitter.com/neka_nat
    https://github.com/neka-nat
    ● フリーでロボティクス・画像処理関連のソフトウェア開
    発やってます!

    View Slide

  3. 自己紹介
    独立系ロボットエンジニア
    しろくま@neka-nat
    https://twitter.com/neka_nat
    https://github.com/neka-nat
    ● フリーでロボティクス・画像処理関連のソフトウェア開
    発やってます!
    ● 前職は某大手JTC社員
    ● 好きなCV技術
    ○ 点群処理
    ○ 3次元再構成
    ○ 高速化・ハードウェアアクセラレーション

    View Slide

  4. 自己紹介
    独立系ロボットエンジニア
    しろくま@neka-nat
    https://twitter.com/neka_nat
    https://github.com/neka-nat
    ● フリーでロボティクス・画像処理関連のソフトウェア開
    発やってます!
    ● 前職は某大手JTC社員
    ● 好きなCV技術
    ○ 点群処理
    ○ 3次元再構成
    ○ 高速化・ハードウェアアクセラレーション
    ● Web関連のお仕事もやってます
    ○ React/TypeScript/Rust/AWS/Terraform
    ● お仕事に関してDMなどでお気軽にご相談ください!

    View Slide

  5. Multi Object Tracking(MOT)とは?
    ● 動画内に映る人や車を検出し、追跡する手法
    ● フレーム間で同じ物体であるものに同じIDを割り振るようにする
    ID1
    ID2
    ID3

    View Slide

  6. Multi Object Tracking(MOT)とは?
    ● 動画内に映る人や車を検出し、追跡する手法
    ● フレーム間で同じ物体であるものに同じIDを割り振るようにする
    ID1
    ID3
    ID2

    View Slide

  7. Multi Object Tracking(MOT)とは?
    ● 動画内に映る人や車を検出し、追跡する手法
    ● フレーム間で同じ物体であるものに同じIDを割り振るようにする
    ID3
    ID2
    ID4

    View Slide

  8. Multi Object Tracking(MOT)とは?
    ● 動画内に映る人や車を検出し、追跡する手法
    ● フレーム間で同じ物体であるものに同じIDを割り振るようにする
    ID1
    ID3
    ID2
    ID4

    View Slide

  9. MOTの解き方~Tracking by Detection~
    ● 検出結果とトラックレットの紐付け
    ○ 検出結果:物体検出の結果
    ○ トラックレット:追跡情報、IDを保持
    検出結果tフレーム トラックレットtフレーム

    View Slide

  10. MOTの解き方~Tracking by Detection~
    検出結果tフレーム トラックレットtフレーム
    ● 3つのフェーズに分ける
    ○ 物体検出と特徴量計算
    ○ 次フレームのトラックレット予測(カルマンフィルタ)
    ○ 予測トラックレットと検出結果の紐付け(ハンガリアン)

    View Slide

  11. MOTの解き方~Tracking by Detection~
    ● 3つのフェーズに分ける
    ○ 物体検出と特徴量計算
    ○ 次フレームのトラックレット予測(カルマンフィルタ)
    ○ 予測トラックレットと検出結果の紐付け(ハンガリアン)
    検出結果tフレーム トラックレットt+1フレーム予測

    View Slide

  12. MOTの解き方~Tracking by Detection~
    ● 3つのフェーズに分ける
    ○ 物体検出と特徴量計算
    ○ 次フレームのトラックレット予測(カルマンフィルタ)
    ○ 予測トラックレットと検出結果の紐付け(ハンガリアン)
    検出結果t+1フレーム トラックレットt+1フレーム予測

    View Slide

  13. MOTの解き方~Tracking by Detection~
    ● 3つのフェーズに分ける
    ○ 物体検出と特徴量計算
    ○ 次フレームのトラックレット予測(カルマンフィルタ)
    ○ 予測トラックレットと検出結果の紐付け(ハンガリアン)
    検出結果t+1フレーム トラックレットt+1フレーム予測

    View Slide

  14. ハンガリアンとは?
    ● なんか呼び方がいろいろある
    ○ ハンガリー法
    ○ Munkres
    ○ Linear Sum Assignment
    ● 予測物体と検出物体の類似度行列を作成し、割当後の類似度の和が最大になるよう
    に割り当てる
    検出
    物体1
    検出
    物体2
    検出
    物体3
    検出
    物体4
    トラック
    レット1
    0.7 0.6 0.2 0.3
    トラック
    レット2
    0.7 0.3 0.2 0.1
    トラック
    レット3
    0.3 0.2 0.6 0.9
    トラックレッ
    ト1
    検出物体2
    トラックレッ
    ト2
    検出物体1
    トラックレッ
    ト3
    検出物体4
    新たに検出物体3を
    トラックレット4にする

    View Slide

  15. Deep Learningの導入
    ● SORT(2016)
    ○ 物体検出の部分をFasterRCNNにした
    ○ 類似度計算は検出結果とトラックレットの境界ボックスのIoUを使用
    ○ 精度と速度は向上したが、オクルージョンに弱い
    ● DeepSORT(2017)
    ○ 類似度計算に境界ボックスの画像から求めたReID特徴量も使うようにした
    ○ 紐付けの階層化
    ■ ReIDで紐付け→紐付かなかったものをSORTで紐付け
    ● FairMOT(2020)
    ○ 境界ボックスとReID特徴量をOneモデルで推論で
    きるようにした
    ○ アンカーフリーなモデルを採用し、ReID特徴量の
    精度を向上

    View Slide

  16. End-to-endへの挑戦
    ● Transformerを用いたEnd-to-endな手法が登場
    ○ DETRをベースにしたモデル
    ○ DETRでは物体検出クエリを学習パラメタの一部としていた
    ○ 物体検出クエリに前回フレームのトラッキング結果に紐付いたデコーダ出力(ト
    ラッククエリ)を加えることでフレーム間の情報を扱う

    View Slide

  17. End-to-endへの挑戦
    ● Transformerを用いたEnd-to-endな手法が登場
    ○ DETRをベースにしたモデル
    ○ DETRでは物体検出クエリを学習パラメタの一部としていた
    ○ 物体検出クエリに前回フレームのトラッキング結果に紐付いたデコーダ出力(ト
    ラッククエリ)を加えることでフレーム間の情報を扱う

    View Slide

  18. End-to-endへの挑戦
    ● TransTrack(2020)
    ○ 物体検出用とトラッキング用の2つのTransformerデコーダを使用
    ○ 2つの出力を紐付ける用のネットワークを後段に用意
    ● TrackFormer(2021)
    ○ Transformerデコーダを1つにして物体検出と紐付けを一体化
    TransTrack TrackFormer

    View Slide

  19. MOTガチンコ対決 in ECCV2022
    MOTR
    ● End-to-end
    ● DETRベースのトラッキングモデ

    ● 前回トラッククエリを引き継いで
    いくことにより、隣接する時刻だ
    けでない時間的モデリングを構

    ByteTrack
    ● Tracking by Detection
    ● FairMOT作った人の最新論文
    ● MOT20でSOTA(2022/10月)
    ● 物体検出:YOLOX
    ● 次フレーム予測:カルマンフィル

    ● ReID計算:UniTrack
    ● Tracking by Detectionの検出
    のしきい値による問題を克服

    View Slide

  20. ByteTrack

    View Slide

  21. ByteTrack
    ● Tracking by Detectionの問題点
    ○ 検出の信頼度のしきい値に結果が左右されてしまう
    ○ しきい値が高いと検出すべきものを見逃してしまう
    ○ しきい値が低いとトラックレットと間違った紐付けを行ってしまう

    View Slide

  22. ByteTrack
    ● Tracking by Detectionの問題点を解決したBYTEというアルゴリズムを導入
    ○ 検出結果の信頼度が高いものと低いものを分けて両方うまく利用する
    トラックレット
    1
    トラックレット
    2
    トラックレット
    3
    トラックレット
    4
    検出結果1
    信頼度0.9
    検出結果2
    信頼度0.2
    検出結果3
    信頼度0.7
    検出結果5
    信頼度0.1
    検出結果4
    信頼度0.9

    View Slide

  23. ByteTrack
    ● Tracking by Detectionの問題点を解決したBYTEというアルゴリズムを導入
    ○ 検出結果の信頼度が高いものと低いものを分けて両方うまく利用する
    トラックレット
    1
    トラックレット
    2
    トラックレット
    3
    トラックレット
    4
    検出結果1
    信頼度0.9
    検出結果2
    信頼度0.2
    検出結果3
    信頼度0.7
    検出結果5
    信頼度0.1
    まずは信頼度の高い
    検出結果を使って紐
    付け
    類似度計算にIoUと
    ReIDを用いる
    検出結果4
    信頼度0.9
    Tremain
    Dremain

    View Slide

  24. ByteTrack
    ● Tracking by Detectionの問題点を解決したBYTEというアルゴリズムを導入
    ○ 検出結果の信頼度が高いものと低いものを分けて両方うまく利用する
    トラックレット
    1
    トラックレット
    2
    トラックレット
    3
    トラックレット
    4
    検出結果1
    信頼度0.9
    検出結果2
    信頼度0.2
    検出結果3
    信頼度0.7
    検出結果5
    信頼度0.1
    検出結果4
    信頼度0.9
    次に紐付かなかった
    トラックレットと信頼度
    の低い検出結果を紐
    付け
    ここではIoUのみを類
    似度計算に用いる
    Tre-remain
    Dremain

    View Slide

  25. ByteTrack
    ● Tracking by Detectionの問題点を解決したBYTEというアルゴリズムを導入
    ○ 検出結果の信頼度が高いものと低いものを分けて両方うまく利用する
    トラックレット
    1
    トラックレット
    2
    トラックレット
    3
    トラックレット
    4
    検出結果1
    信頼度0.9
    検出結果2
    信頼度0.2
    検出結果3
    信頼度0.7
    検出結果5
    信頼度0.1
    検出結果4
    信頼度0.9
    まだ残っているトラッ
    クレットはロストと見
    なす
    信頼度が高くて紐付
    かなかった検出結果
    は新たなトラックレット
    として登録する
    Tre-remain
    新たなトラックレット

    View Slide

  26. MOTR

    View Slide

  27. MOTR
    ● モデルはTrackFormerとかなり似た構成
    ● MOTRではQuery Interaction Module(QIM)というネットワークが追加されている
    TrackFormer MOTR

    View Slide

  28. MOTRのQIMについて
    ● QIMの入力はTransformerデコーダの出力と前回のトラッククエリ
    物体検出
    クエリ
    Transfor
    mer
    デコーダ
    出力

    View Slide

  29. MOTRのQIMについて
    ● それぞれのクエリに対して検出の信頼度を用いてフィルタリング
    ○ 物体検出クエリに対しては信頼度が高いものを新たなオブジェクトとする
    ○ トラッククエリに対しては信頼度が低いものを退出したオブジェクトとする

    View Slide

  30. MOTRのQIMについて
    ● フィルタされたトラッククエリをTemporal Aggrigation Network(TAN)に通し、フィルタされ
    た物体検出クエリと結合
    ● TANでは前回のトラッククエリと今回のデコーダ出力を結合してMuti Head Attentionと
    FFNに通す

    View Slide

  31. 全フレームでのLossの計算
    ● TrackFormerなどでは各フレーム毎のLossで学習していた
    ● Collective Average Loss(CAL)を計算
    ○ 入力を動画として全フレームでのLossの平均をとる

    View Slide

  32. 実験と評価

    View Slide

  33. MOTの主なデータセットと評価指標
    ● 主なデータセット
    ○ MOT17
    ○ MOT20(より混雑したデータ)
    ○ DanceTrack
    ● 主な評価指標
    ○ MOTA
    ■ FP、見逃し、IDスイッチに対する
    評価の総合
    ○ HOTA
    ■ 高次追跡精度
    ○ IDSW
    ■ IDスイッチに対する評価
    ○ IDF1
    ■ ID毎のF1スコア

    View Slide

  34. 実験結果(MOT17)

    View Slide

  35. 実験結果(MOT17)
    ● ByteTrackが全ての指標で勝利!

    View Slide

  36. 実験結果(DanceTrack)

    View Slide

  37. 実験結果(DanceTrack)
    ● 5つの指標の中でMOTRが3勝!

    View Slide

  38. MOTA-IDF1-FPSの比較(MOT17)
    MOTR

    View Slide

  39. 結果について
    ● MOT17は歩行者がメインなので、検出性能の高さや見かけの類似性による紐付け
    精度が重要となる
    ● DanceTrackでは人の動きが入るため、MOTRはモーションも含めた時間的変化をよ
    り学習できていると言える
    ● 歩行者の検出というシーンでの使い方だとByteTrackが圧倒的高精度

    View Slide

  40. デモ動画
    ● MOTRの動画が見つからなかったのでByteTrackのみ

    View Slide

  41. まとめ
    ● 従来的なTracking by detectionの改良でSOTAを達成したByteTrackすごい!
    ● とはいえ、Transformerの適用によってEnd-to-Endな手法の流れができてきている
    ● 大きな動きがあっても特徴を掴めるという点においてEnd-to-endな手法の将来性を感じ

    ● 参考)2022/10月時点での各データセットでのSOTA
    ○ MOT17:BoT-SORT(2022)(ByteTrackは2位)
    ○ MOT20:ByteTrack
    ○ DanceTrack:OC-SORT(2022)(MOTRは2位)

    View Slide

  42. 参考資料
    ● MOT全般
    ○ Multiple Object Trackingの手法・ライブラリ紹介
    ○ Multiple-object tracking (MOT) アルゴリズム研究の歴史
    1
    ○ Multiple-object tracking (MOT) アルゴリズム研究の歴史
    2
    ○ Multi-Object Trackingの精度評価指標
    ● ByteTrack
    ○ https://github.com/ifzhang/ByteTrack
    ○ ByteTrack : 低い確度のBoundingBoxも考慮するトラッキングモデル
    ○ 【論文ざっくり紹介】ByteTrack ~単純なアルゴリズムで
    SOTAを達成(2021年12月時点)~
    ○ ByteTrackで対象のオブジェクトが障害物に隠れても正しいラベルでトラッキングするレシピ
    ● SORT
    ○ 現在のトラッキングモデルの基礎ともいえる SORT を解説!
    ● DeepSORT
    ○ 2017年に発表された DeepSORT を解説!
    ○ DeepSort : 人物のトラッキングを行う機械学習モデル
    ● Transformer
    ○ https://www.slideshare.net/ArithmerInc/transformer-248613529
    ○ 機械学習エンジニアのための
    Transformers
    ○ 牛久先生の動画
    ○ AIcia Solid Projectさんの動画
    ● DETR
    ○ Transformerを使った初めての物体検出「
    DETR」- 第1回
    ○ Transformerを使った初めての物体検出「
    DETR」 - 第2回
    ○ 物体検出DETR (DEtection TRansformer) - Qiita
    ● MOTR
    ○ megvii-research/MOTR: [ECCV2022] MOTR: End-to-End Multiple-Object Tracking with TRansformer

    View Slide