生成AIずかん2024-10-182024年10月17日にMetaが新たなAIモデルをリリースしました!CoTracker3は従来のポイントトラッカーに比べ、1,000分の1のデータ量で結果を返し、標準的なベンチマークでは、従来のポイントトラッカーよりもスコアを上回っています。colaboratoryで実装する方法を解説します。本記事を最後まで読むことで、CoTracker3を使うことができるようになります。最後までお読みください!目次CoTracker3の概要CoTracker3は、最先端のポイントトラッカーであり、新しいトラッキングモデルと半教師あり学習によって、動画内の任意のポイントを追跡できます。CoTracker3はこの新しいモデルと学習方法により、教師モデルを使用して擬似ラベルを生成することで、アノテーションのない実際の動画を学習に使うことが可能です。以前のポイントトラッカーからいくつかのコンポーネントを削除または簡素化し、よりシンプルでより小さなアーキテクチャを実現。CoTracker3の学習スキームは、従来の手法よりはるかにシンプルで、1,000分の1のデータ量でより良い結果を達成します。参考:https://arxiv.org/pdf/2410.11831CoTracker3の特徴CoTracker3は最先端のポイントトラッカーですが、3つの特徴があります。半教師あり学習それぞれを順に解説します。参考:https://cotracker3.github.io/シンプルなアーキテクチャとデータ効率CoTracker3は、従来のトラッカーと比較して、よりシンプルで効率的なアーキテクチャを採用しています。具体的には、BootsTAPIRやLocoTrackといった最新のトラッカーで採用されているグローバルマッチングステージを削除し、相関特徴の処理にはシンプルなMLPを使用しています。これらの簡素化により、CoTracker3はCoTrackerと比較してパラメータ数が1/2に削減され、処理速度は最速のトラッカーであるLocoTrackよりも27%高速化されています。CoTracker3は、従来の手法よりもはるかに少ないデータで学習することが可能。具体的には、15,000本の実際の動画でファインチューニングしたCoTracker3オンラインバージョンは、1,500万本の動画で学習したBootsTAPIRを上回る性能を示しています。参考:https://arxiv.org/pdf/2410.11831オクルージョンに対するロバスト性CoTracker3は、オクルージョンされたポイントも正確に追跡できるという特徴があります。これは、複数のポイントを共同で追跡するクロス-トラックアテンション機構を採用しているためです。※オクルージョン:視点から見ている物体が他の物体によって部分的または完全に隠れる状態クロス-トラックアテンション機構により、可視ポイントの位置に基づいて、オクルージョンされたポイントの位置を推測することが可能になります。オフラインバージョンは、すべての動画フレームに一度にアクセスできるため、オクルージョンされた軌跡をより効果的に補間できるため、オンラインバージョンよりもオクルージョンされたポイントの追跡精度が高くなることが可能です。参考:https://arxiv.org/pdf/2410.11831半教師あり学習CoTracker3は、アノテーションのない実際の動画を学習に利用できる半教師あり学習を採用しています。具体的には、既存のトラッカーを教師モデルとして使用し、実際の動画に擬似ラベルを生成。これらの擬似ラベルを用いてCoTracker3をファインチューニングします。この学習方法のメリットは次の4つです。●ノイズを含む大量のデータセットから学習できるため、生徒モデルは教師モデルよりも優れた性能を達成できる可能性がある。●実際の動画から学習することで、合成データと実際のデータとの間の分布のずれを軽減できる。●アンサンブル/投票効果により、擬似アノテーションのノイズを低減できる。●生徒モデルは、タスクの異なる側面で優れている可能性のある、異なる教師の長所を継承できる。CoTracker3は、上記の3つの特徴に加えて、オンラインとオフラインの両方のバージョンを提供していることも特徴的です。オンラインバージョンは、入力動画を逐次処理し、ポイントを前方だけに追跡するため、リアルタイム処理に適しています。オフラインバージョンは、動画全体を単一のウィンドウとして処理するため、前方と後方の両方向にポイントを追跡することができ、オクルージョンされたポイントの追跡精度が向上します。参考:https://arxiv.org/pdf/2410.11831複数の教師モデルを使うメリットCoTracker3では、トレーニングに複数の教師モデルが使われていますが、複数の教師モデルを使用するメリットは次の4つが挙げられます。複数の教師モデルは、それぞれ異なる強みと弱みを持っているため、生成される擬似ラベルも多様性を持つことになります。生徒モデルは、これらの多様な擬似ラベルから学習することで、特定の教師モデルに偏ることなく、より汎化性能の高いモデルを学習できます。教師モデルが生成する擬似ラベルは、必ずしも完璧ではありません。ノイズが含まれている可能性もあります。複数の教師モデルを用いることで、それぞれの教師モデルが生成する擬似ラベルを組み合わせることで、ノイズの低減ができ、より正確な擬似ラベルを得ることができます。生徒モデルは、複数の教師モデルから学習することで、それぞれの教師モデルの長所を継承可能。ある教師モデルはオクルージョンされたポイントの追跡に優れており、別の教師モデルは高速な動きの追跡に優れているとします。生徒モデルは、これらの教師モデルから学習することで、両方のタスクに優れた性能を発揮するモデルが可能です。実データと合成データのギャップの軽減CoTracker3のトレーニングでは、まず合成データを用いて事前学習を行い、その後、教師モデルが生成した擬似ラベルを用いて実データでファインチューニングを行います。複数の教師モデルを用いることで、より多くの実データから学習ができるため、実データと合成データのギャップを効果的に軽減することができます。4.0ライセンスです。そのため、主に金銭的利益を得ることを目的とした商用利用はできません。Proについて詳しく知りたい方は、下記の記事を合わせてご確認ください。Proはたった1枚の画像から、奥行き情報を高速で高精度で推定するモデルです。colaboratoryのサンプルコードが掲載されているので、そちらを参考に実装します。Colaboratoryでも実行可能です。filename='teaser');トラッキングしている動画の表示はこちらshow_video("./videos/teaser.mp4")GPUのメモリは動画の長さやgrid_sizeなどによって異なるので、OutOfMemoryErrorが出る場合には変更してみてください。CoTracker3でさまざまな動画のトラッキングを検証CoTracker3は遮蔽物で見えなくなった場所も憶測しながら見失わないように追跡したり、柔らかい素材のものも追跡することができるとされています。そこで、本記事では、遮蔽物で見えなくなった場所もトラッキングできるのか、柔らかい素材のものも追跡できるのか検証していきます。どちらの動画も/co-tracker内のフォルダに含まれているので、パス名を変更すればOKです。colaboratoryにアップロードしてパス名を変更すれば使えます。遮蔽物で見えなくなった場所もトラッキングできるかです。これは手でぬいぐるみを動かしている動画を読み込ませていきます。filename='teaser');トラッキングしている動画の表示はこちらshow_video("./videos/teaser.mp4")次にクッションを使ってトラッキングをしていきます。filename='teaser');トラッキングしている動画の表示はこちらshow_video("./videos/teaser.mp4")従来のトラッキングでは、遮蔽物に隠れてしまったり、物体が重なったりしていると正確にトラッキングすることが難しかったです。CoTracker3は物体が重なっていても、素材にも左右されないため非常に使いやすいモデルだと思います。今後の発展が非常に楽しみです。ドラッグ操作だけで画像編集できるAIツール【InstantDrag】について詳しく知りたい方は、下記の記事を合わせてご確認ください。笑顔を足したり、表情を少し変えてみたり、もっと簡単にできたら...と感じたことがある方も多いはず。そんな願いを叶...まとめ本記事では、CoTracker3について紹介をしました。CoTracker3の優れたオクルージョン耐性や効率的なデータ利用により、これまで追跡が難しかったシーンでも高精度なトラッキングが可能です。リアルタイムでの処理能力も向上しており、さまざまな業界での幅広い応用が期待されています。従来は物体が重なってしまうと正確なトラッキングが困難だった環境でも、CoTracker3はその性能を発揮できるでしょう。本記事を参考に、CoTracker3を活用してみてください!最後にいかがだったでしょうか?動画トラッキングを用いて、強固なセキュリティ対策を実現したり、映画やVFXでリアルなエフェクトを付加するなど、さまざまな用途で活用できます。・生徒の感情や学習状況を踏まえ、勉強をアシストするAIアシスタントなどの開発実績がございます。「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。10年間理学療法士として勤務し、その後Pythonを独学で学びデータアナリストとして転職。集計期間:1週間まだデータがありません。高いAIプロフェッショナル集団」を目指して私たちは、AIに関わるすべての人に向けて、透明性の高い適切な情報発信と開発を行います。「WEELは、一番地に足ついたAI情報を教えてくれる」と思っていただけるよう、透明性高い事業運営を行なって参ります。透明性の高い適切な情報発信と開発を行います。透明性高い事業運営を行なって参ります。