Pollen-Vision:機器人零樣本視覺模型的統一介面

Pollen-vision 是一個開源庫,旨在透過提供精選的零樣本視覺模型,賦予機器人抓取未知物體的自主能力。它使得能夠建立 3D 物體偵測管線,從而在不需要事先訓練的情況下確定物體的空間座標 (x, y, z)。

Pollen-Vision 中的核心視覺模型

為了確保在消費級 GPU 上的多樣性與即時性能,該庫整合了三種主要的零樣本模型:

  • OWL-ViT(Open World Localization - Vision Transformer):由 Google Research 開發,此模型在 RGB 圖像中執行文字條件的 2D 物體定位,產生邊界框。
  • Mobile SAM(Segment Anything Model):Meta AI 的 SAM 輕量版,當以邊界框或點作為提示時,該模型提供零樣本圖像分割。
  • RAM(Recognize Anything Model):由 OPPO 研究院創建,RAM 執行零樣本圖像標記,根據文字描述辨識物體的存在,從而協助優化其他模型的效能。

3D 物體偵測管線與實作

pollen-vision 允許開發者將獨立模組結合成一條管線,將 2D 圖像資料轉換為 3D 空間座標。

從 2D 偵測到分割

使用此庫,可建立一條管線,讓 OWL-ViT 偵測物體(例如「紙杯」)並產生邊界框,然後將其傳遞給 Mobile SAM 以產生精確的分割遮罩。

計算 3D 位置

要將 2D 圖像轉換為 3D 座標,該庫使用以下流程:

  1. 質心估計:透過計算二元分割遮罩的質心,得到像素空間中的 (u, v) 位置。使用遮罩而非邊界框可避免背景像素影響深度平均值。
  2. 深度整合:將像素座標與深度資訊(以公尺為單位)以及相機的內部矩陣 (K) 結合,系統計算出物體質心在相機參考座標系中的 (x, y, z) 位置。
  3. 機器人座標轉換:若已知相機相對於機器人原點的位置,則將座標轉換至機器人座標系,使末端執行器能移動至物體位置以進行抓取。

效能與最佳化

OWL-ViT 的推論時間會因提供的提示數量而異。在配備 RTX 3070 GPU 的筆記型電腦上測試得到以下延遲:

  • 1 個提示:每幀約 75ms
  • 2 個提示:每幀約 130ms
  • 5 個提示:每幀約 330ms
  • 10 個提示:每幀約 650ms

由於延遲呈線性增加,故使用 RAM 模型先辨識圖像中存在哪些物體,再對 OWL-ViT 進行提示,以此優化處理速度。

目前限制與未來路線圖

雖然 pollen-vision 為基本機器人操作奠定了基礎,Pollen Robotics 團隊仍發現多個可改進之處:

  • 偵測一致性:OWL-ViT 可能表現不穩定,未必偵測到所有物體;團隊正尋找更優的替代方案。
  • 時間與空間一致性:目前所有資料皆在每幀重新計算。團隊正致力於整合點追蹤以提升一致性。
  • 抓取精細度:目前僅支援前向抓取。未來將聚焦於 6D 偵測與更佳的抓取姿態生成。
  • 系統速度:仍有提升管線整體執行速度的空間。

Sources