在數據海洋中定位關鍵信息:使用Daft查詢物理AI數據
本文介紹瞭如何使用Daft框架對Apple的EgoDex數據集進行高效查詢。通過結合幀級語義嵌入(如SigLIP)和幾何特徵,研究人員可以用自然語言搜索視頻片段,例如“找到所有手部呈寫字姿勢並舉起筷子的片段”。Daft使大規模、非結構化機器人數據集的可發現性成為可能。
在機器人技術領域,傳統方法通常依賴於預設的任務菜單——例如,亞馬遜的Kiva機器人只需知道如何移動貨架,而掃地機器人只需清潔地板。然而,當環境變得不可控時,這種方法便失效了。訓練摺疊衣物機器人時,無法枚舉所有衣物配置;自動駕駛車隊每天上傳PB級數據,但研究人員難以從數萬小時視頻中找出近碰撞或違規事件。這就是前沿機器人實驗室面臨的“數據理解問題”。
蘋果公司的EgoDex數據集為解決這一問題提供了絕佳場景。該數據集包含第一人稱視角的手部姿態標註和頭部攝像頭視頻,涵蓋多種桌面任務。但EgoDex同樣面臨“菜單問題”:任務描述如“坐在木桌上摺疊小T恤”無法揭示具體動作細節。研究人員需要知道訓練數據中是否缺少扭轉動作,或如何篩選出緊握錘子的片段。
Daft框架為此提供瞭解決方案。首先,它通過本機HDF5文件類型直接讀取EgoDex數據集(HDF5格式),將每個片段(.hdf5文件和對應.mp4視頻)轉換為逐幀DataFrame。通過自定義UDF(用户定義函數),可以批量讀取手部變換矩陣、骨架數據和外參,生成一個包含幀索引、狀態、骨架、動作等字段的結構化表格。
為了理解視覺內容,Daft使用Google的SigLIP-2圖像編碼器對幀進行子採樣(每秒1幀),生成768維歸一化嵌入向量。這些嵌入與文本查詢(如“筷子”)的編碼計算餘弦相似度,從而篩選相關幀。然而,視覺編碼無法識別手部幾何特徵,例如“寫字姿勢”或“錘式抓握”。為此,Daft利用傳感器數據中的48維手腕姿態和204維關節骨架,計算手部開放度、抓握類型(精密抓握或力量抓握)以及動作(扭轉、伸手、舉起等)。這些幾何特徵通過NumPy和Daft UDF實現,並作為新列添加到DataFrame中。
最終,Daft將語義嵌入與幾何特徵結合,支持自然語言查詢。例如,“找到每個片段中手部呈寫字姿勢並舉起筷子的畫面”。研究人員可以像使用CTRL+F一樣搜索整個數據集,實現快速的數據審計、失敗案例檢索和訓練集優化。這為機器人數據從“菜單式”向“可發現式”轉變提供了強大工具。
此外,Daft的架構設計使其能夠高效處理大規模數據。通過將嵌入計算和幾何特徵提取並行化,Daft可以在幾分鐘內完成對整個EgoDex數據集的索引。一旦索引建立,查詢過程近乎實時。這種方法不僅適用於EgoDex,還可以推廣到其他類似的機器人數據集,如自動駕駛傳感器數據或工業機器人操作數據。未來,Daft計劃支持更多傳感器模態,如深度圖像和觸覺數據,進一步擴展其應用範圍。總之,Daft有潛力成為機器人數據管理的基礎工具,推動物理AI的發展。