📹

1件のビデオから、ImageNetに匹敵する画像エンコーダを構築するDoRA(Discover and tRAck objects)

2024/09/02に公開

こんにちは。ZENKIGENデータサイエンスチームの川﨑です。今回は、Is ImageNet worth 1 video? Learning strong image encoders from 1 long unlabelled videoという論文を紹介します。

所属チームでXアカウントを運用しており、AIに関する情報を発信していますのでご興味あれば覗いてみてください。

本論文の特徴

  • 1つの長い動画を用いて自己教師あり学習を行うことで、ImageNetでの自己教師あり学習に匹敵する精度を達成した。
  • 高解像度・長時間・多様なシーンを含むビデオで構成されるデータセットを構築し、自己教師あり学習のデータとしての有効性を示した。
  • Transformerのcross-ttention機構を利用し、フレームをまたいで物体をトラッキングしたattention mapを学習に利用するアプローチを提案し、その有効性を示した。

提案の新規性1: データセット


図1. Walking Toursデータセットの例。Is ImageNet worth 1 video? Learning strong image encoders from 1 long unlabelled videoより引用。

本研究では、YouTubeより取得したWT(Walking Tours)データセットを作成しました。こちらの映像は1人称視点で街を移動しながら撮影されています。

データの特徴は以下の通りです。

  • 動画内に多くの物体が含まれている。さらに歩行、自転車に乗る、座る、飲むなどの動作も含む。
  • 昼〜夜など1日の時間が変化しており、照明条件が徐々に変化している。
  • カメラが移動することで都市の中心部から住宅地、公園に移動するなど場所の遷移も含んでいる。
  • 動画の中で、物体が部分的に隠れたり、動きがぼやけたり、画像が暗くなったりするなどが生じている。そのため、キュレーションされたデータセットよりも現実世界に近いデータとなっている。

提案の新規性2: 学習手法(DoRA: DiscOver and tRAck objects)

アーキテクチャ概要


図2. DoRAのアーキテクチャ概要。Is ImageNet worth 1 video? Learning strong image encoders from 1 long unlabelled videoより引用。

  • 動画からフレームを一定間隔でサンプリングしbatchを作る。
  • Teacher-Student学習を用いている。
  • Teacherモデルは、Studentモデルのパラメータを指数平滑化平均(EMA)で更新する。
  • Teacherモデルの出力を利用してmulti-object maskを作成する。
  • 上記maskで入力パッチをマスクしてStudentモデルに入力し、TeacherモデルのCLS tokenの埋め込みとの差分を損失として学習する。

multi-object tracker


図3. DoRAのmulti-object trackerの図。Is ImageNet worth 1 video? Learning strong image encoders from 1 long unlabelled videoより引用。

  • batch内の最初のフレームt_0の画像を、multi-head attention機構を持つTeacherモデルの各queryとkeyからself-attention行列を計算。
  • CLS tokenの列のみにしぼりheadをランダムにピックしattention-vectorを得る(図3中央のA^lが該当)
    - attention-vectorと同じheadのqueryをかけ合わせることで、オブジェクトのプロトタイプを作成する。
    • ランダムにピックした各headがそれぞれ異なるオブジェクトに対応していることを期待しています。
  • 各プロトタイプに対して異なるフレームtの同一headとのcross-attentionを取ることで、フレーム間の物体を追跡する。

multi-object trackerにおけるSKアルゴリズムを用いたリファイン

  • multi-object trackerそのままでは、プロトタイプ間のcross-attention mapが重複してしまっている。
    • 図4中段の水色、黄色などが重複してしまっているオブジェクト例に該当します。
  • 空間的に異なる物体を検出するために、SK(Sinkhorn-Knopp)アルゴリズムでプロトタイプと教師モデルのパッチ埋め込み間の最適輸送問題を解き、プロトタイプをリファインする。
  • 最後に、リファインしたプロトタイプで異なるフレームの同一headとのcross-attentionを取り、attention-mapを生成し、multi-object maskを作成する。
    • 図4下段が該当します。


図4. 作成したmulti-object maskの例。上段は各フレームにおける画像。中段は各フレームにおけるcross attention map。下段はSKアルゴリズムを適用しリファインされたプロトタイプによるcross attention map。Is ImageNet worth 1 video? Learning strong image encoders from 1 long unlabelled videoより引用。

実験と考察

データセットの説明

  • \textsf{\footnotesize WT}_{\textsf{\tiny Venice}}データセット: Walking Toursデータセットの中で、Veniceで撮影されたビデオ。1件。
  • \textsf{\footnotesize WT}_{\textsf{\tiny all}}データセット: Walking Toursデータセット全体。10件。

各種画像系下流タスクにおける比較


図5. 各種画像系下流タスクにおける比較。Is ImageNet worth 1 video? Learning strong image encoders from 1 long unlabelled videoより引用。

  • a(表の中央辺りの列)の結果より、\textsf{\footnotesize WT}_{\textsf{\tiny Venice}}データセットを用いた場合、DoRAはDINOを3%上回っている。さらに、ImageNet-1kの1.3Mのフレームで学習したモデルに対しても1.5%上回っている。また、\textsf{\footnotesize WT}_{\textsf{\tiny all}}の1.5Mフレームを用いた場合、ImageNet-1kを3%上回っている。
  • b, cにおいても、\textsf{\footnotesize WT}_{\textsf{\tiny Venice}}データセットを用いた場合、DoRAはDINOをどちらも上回っている。また、ImageNetで事前学習したDINOに近い精度を達成している。

各種動画系下流タスクにおける比較


図6. 各種ビデオ系下流タスクにおける比較。Is ImageNet worth 1 video? Learning strong image encoders from 1 long unlabelled videoより引用。

  • DoRA vs DINO:全条件でDoRAが上回っている。
  • ImageNet vs WT:\textsf{\footnotesize WT}_{\textsf{\tiny Venice}}のみならず、\textsf{\footnotesize WT}_{\textsf{\tiny all}}と比較しても全条件でImageNetが上回っている。

各種画像系下流タスクの教師なしの手法での比較


図7. 各種自己教師あり学習手法間の比較。どれも教師なしの手法で評価しており、得られた特徴表現自体の質を比較している。Is ImageNet worth 1 video? Learning strong image encoders from 1 long unlabelled videoより引用。

  • DoRAはDINOを大差で上回っている。
  • DoRAを用いて\textsf{\footnotesize WT}_{\textsf{\tiny Venice}}データセットで学習したモデルと\textsf{\footnotesize WT}_{\textsf{\tiny all}}データセットで学習したモデルは、データサイズが10倍異なるものの精度面の差は小さい
  • (論文の主題とはずれるが)non-contrastive methods(DINO, iBOT, VICReg)は全般的にcontrastive methods(SimCLR, SwAV)よりも精度が高い。
    • non-contrastive methodsは負例ペアを用いないため、学習効率が良い。

気になった点

  • 図5, 6を見るとDoRA × WTデータセットは画像系のタスクにおいてはDINO × ImageNetに匹敵する性能を示すものの、ビデオ系のタスクにおいてはDINO × ImageNetに劣る結果となっている点。
    • DoRAはフレーム間の関係を考慮して物体を追跡するようにmaskを生成しているものの、モデル自体がフレーム間の情報を考慮して学習しているわけではないと思います。そのため、必ずしもvideo系のタスクに適したフレームワークではないということかもしれません。
  • 図7ではデータセットを固定して手法間でepoch数を揃えているものの、各手法のベストなepoch、ないしは計算量ベースで揃えて比較するとどういった結果になるか。

お知らせ

少しでも弊社にご興味を持っていただけた方は、お気軽にご連絡頂けますと幸いです。まずはカジュアルにお話を、という形でも、副業を検討したいという形でも歓迎しています。

https://hrmos.co/pages/zenkigen/jobs?jobType=FULL
https://speakerdeck.com/zenkigenforrecruit/detailed-version-recruitment-materials-for-data-scientists

ZENKIGENテックブログ

Discussion