1件のビデオから、ImageNetに匹敵する画像エンコーダを構築するDoRA(Discover and tRAck objects)
こんにちは。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内の最初のフレーム
の画像を、multi-head attention機構を持つTeacherモデルの各queryとkeyからself-attention行列を計算。t_0 - CLS tokenの列のみにしぼりheadをランダムにピックしattention-vectorを得る(図3中央の
が該当)A^l
- attention-vectorと同じheadのqueryをかけ合わせることで、オブジェクトのプロトタイプを作成する。- ランダムにピックした各headがそれぞれ異なるオブジェクトに対応していることを期待しています。
- 各プロトタイプに対して異なるフレーム
の同一headとのcross-attentionを取ることで、フレーム間の物体を追跡する。t
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より引用。
実験と考察
データセットの説明
-
データセット: Walking Toursデータセットの中で、Veniceで撮影されたビデオ。1件。\textsf{\footnotesize WT}_{\textsf{\tiny Venice}} -
データセット: Walking Toursデータセット全体。10件。\textsf{\footnotesize WT}_{\textsf{\tiny all}}
各種画像系下流タスクにおける比較
図5. 各種画像系下流タスクにおける比較。Is ImageNet worth 1 video? Learning strong image encoders from 1 long unlabelled videoより引用。
- a(表の中央辺りの列)の結果より、
データセットを用いた場合、DoRAはDINOを3%上回っている。さらに、ImageNet-1kの1.3Mのフレームで学習したモデルに対しても1.5%上回っている。また、\textsf{\footnotesize WT}_{\textsf{\tiny Venice}} の1.5Mフレームを用いた場合、ImageNet-1kを3%上回っている。\textsf{\footnotesize WT}_{\textsf{\tiny all}} - b, cにおいても、
データセットを用いた場合、DoRAはDINOをどちらも上回っている。また、ImageNetで事前学習したDINOに近い精度を達成している。\textsf{\footnotesize WT}_{\textsf{\tiny Venice}}
各種動画系下流タスクにおける比較
図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}} と比較しても全条件でImageNetが上回っている。\textsf{\footnotesize WT}_{\textsf{\tiny all}}
各種画像系下流タスクの教師なしの手法での比較
図7. 各種自己教師あり学習手法間の比較。どれも教師なしの手法で評価しており、得られた特徴表現自体の質を比較している。Is ImageNet worth 1 video? Learning strong image encoders from 1 long unlabelled videoより引用。
- DoRAはDINOを大差で上回っている。
- DoRAを用いて
データセットで学習したモデルと\textsf{\footnotesize WT}_{\textsf{\tiny Venice}} データセットで学習したモデルは、データサイズが10倍異なるものの精度面の差は小さい\textsf{\footnotesize WT}_{\textsf{\tiny all}} - (論文の主題とはずれるが)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、ないしは計算量ベースで揃えて比較するとどういった結果になるか。
お知らせ
少しでも弊社にご興味を持っていただけた方は、お気軽にご連絡頂けますと幸いです。まずはカジュアルにお話を、という形でも、副業を検討したいという形でも歓迎しています。
Discussion