データの山から針を探す:Daftによる物理AIデータのクエリ
本記事では、Daftフレームワークを使用してAppleのEgoDexデータセットを効率的にクエリする方法を紹介します。フレームレベルのセマンティック埋め込み(SigLIPなど)と幾何学的特徴を組み合わせることで、研究者は自然言語でビデオクリップを検索できます。例えば、「筆記グリップで手が箸を持ち上げるすべてのクリップを見つける」などが可能です。Daftは大規模で非構造化されたロボットデータセットの発見可能性を実現します。
ロボット工学の分野では、従来の方法は事前定義されたタスクメニューに依存していました。例えば、AmazonのKivaロボットは棚を移動させる方法だけを知っていればよく、掃除ロボットは床を掃除する方法だけを知っていればよかったのです。しかし、環境が制御不能になると、この仮定は崩れます。衣服を折りたたむロボットを訓練する場合、すべての衣類の構成を事前に列挙することはできません。自動運転車のフリートは毎日ペタバイト単位のビデオとセンサーデータをアップロードしますが、研究者は数万時間のビデオからニアミスや違反を特定する方法を模索しています。これが、最先端のロボット研究所が直面している「データ理解問題」です。
AppleのEgoDexデータセットは、この問題を解決する絶好の場を提供します。このデータセットは、自己中心的な手のポーズのアノテーションとヘッドビュービデオをペアにしたもので、さまざまなテーブルトップタスクをカバーしています。しかし、EgoDexも「メニュー問題」に直面しています。例えば、「木製のテーブルに座って小さなTシャツを折る」というタスクの説明は、重要な幾何学的・視覚的プリミティブを隠してしまいます。研究者は、トレーニングミックスにひねる動作が不足していないか、またはハンマーグリップで何かを保持しているエピソードを選択する方法を知る必要があります。
Daftフレームワークは、このためのソリューションを提供します。まず、HDF5ファイル形式をネイティブサポートし、EgoDexデータセットをフレーム単位のDataFrameに変換します。各エピソード(.hdf5ファイルと対応する.mp4ビデオ)は、カスタムUDF(ユーザー定義関数)を介して読み取られ、フレームインデックス、状態、スケルトン、アクションなどのフィールドを含む構造化テーブルを生成します。
視覚的な内容を理解するために、DaftはGoogleのSigLIP-2画像エンコーダを使用してフレームをサブサンプリング(1 fps)し、768次元の正規化埋め込みベクトルを生成します。これらの埋め込みは、テキストクエリ(例:「箸」)のエンコーディングとのコサイン類似度を計算し、関連フレームをフィルタリングします。しかし、視覚エンコーディングだけでは手の幾何学的特徴(「筆記グリップ」や「ハンマーグリップ」など)を認識できません。そのため、Daftはセンサーデータの48次元手首姿勢と204次元関節スケルトンを利用して、手の開き度、グリップタイプ(精密グリップまたはパワーグリップ)、および動作(ひねり、リーチ、持ち上げなど)を計算します。これらの幾何学的特徴は、NumPyとDaft UDFを使用して実装され、新しい列としてDataFrameに追加されます。
最終的に、Daftはセマンティック埋め込みと幾何学的特徴を組み合わせることで、自然言語クエリをサポートします。例えば、「筆記グリップで手が箸を持ち上げるすべてのクリップを見つける」といった検索が可能です。研究者はデータセット全体をCTRL+Fで検索するように、トレーニングデータの監査、失敗ケースの検索、トレーニングセットの最適化を迅速に行うことができます。これにより、ロボットデータが「メニュー方式」から「発見可能な方式」へと変革されます。
さらに、Daftのアーキテクチャは大規模データを効率的に処理できるように設計されています。埋め込み計算と幾何学的特徴抽出を並列化することで、DaftはEgoDexデータセット全体のインデックスを数分で作成できます。インデックスが構築されると、クエリはほぼリアルタイムで実行されます。この手法はEgoDexだけでなく、自動運転センサーデータや産業用ロボット操作データなど、他のロボットデータセットにも拡張可能です。将来的には、深度画像や触覚データなど、さらに多くのセンサーモダリティをサポートする予定であり、その応用範囲はさらに広がるでしょう。Daftは、物理AIの発展を支えるロボットデータ管理の基盤ツールとなる可能性を秘めています。