R&D
CENTER

3D 視覺與點雲:需要高度與姿態的時候

機械手臂要夾取物體,或要量測焊道高度時,2D 影像並不足夠。本課說明如何整理、分割並比對 3D 相機產生的點雲。

基礎4 分鐘1 瀏覽
本課重點
  1. 2D 影像告訴你「什麼東西在哪裡」,3D 點雲告訴你「有多高、呈什麼姿態」。
  2. 點雲處理依序為:感興趣區域 → 降取樣 → 去除雜訊 → 法線 → 平面分離 → 物體分割 → 配準。
  3. 以模板配準求出物體的 3D 姿態(位置+旋轉),就成為機械手臂可直接使用的座標。
  4. 焊接檢測中,以焊道的斷面輪廓量測焊腳長度·喉厚·咬邊,單位為 mm。

2D 相機把世界拍成平面。要夾起箱子裡層層堆疊的零件中最上面的那一個,或是確認焊道是否足夠飽滿凸起,就需要高度。3D 相機會在每個像素同時量測距離,將場景以點的集合,也就是點雲的形式回傳。

3D 相機的種類

fineAi RoboVision 支援下列 3D 相機。

  • 圖案光(結構光)方式 — Zivid、Photoneo、EpicEye Pixel Pro。以投影機投射條紋圖案,再由圖案在物體表面彎曲的形狀計算距離。適合精密拍攝靜止的物體。
  • 雷射方式 — EpicEye Laser M V3。在反光強烈或深色的表面上也很穩定。

這些相機輸出的是有序(organized)點雲。點依照影像的像素格點順序排列,因此 2D 影像座標可以直接對應到 3D 點。也就是說,在 2D 中以 YOLO 找到的物體區域,可以原封不動地轉移到 3D 點上。通常儲存為 PLY 檔案。

處理流程

ROI 降取樣 去除雜訊 法線計算 平面分離 物體分割 配準 → 姿態 數十萬個點 → 單一物體的位置與旋轉
Digital Twin Pick&Place 在 3D 相機拍攝後執行的處理順序。
  1. ROI(感興趣區域) — 只保留工作台或箱子內部這類需要的空間。
  2. 降取樣 — 在固定間隔的格點(voxel)中各只保留一個點,以減少點數。之後的計算會快上好幾倍。
  3. 去除雜訊 — 刪除與周圍點相距甚遠的點(浮在空中的點)。
  4. 法線計算 — 對每個點,以周圍的點擬合出小平面,求出表面方向。用於決定夾取方向。
  5. 平面分離 — 找出最大的平面(地面、工作台)並刪除。常用 RANSAC 這類以隨機樣本擬合平面的方法。剩下的點就是物體。
  6. 物體分割 — 將彼此相近的點歸為一組,分成一個一個的物體。
  7. 配準(Registration) — 將預先登錄的模板模型套合到各個物體上,求出 3D 姿態(位置 + 旋轉)。

配準結果是相機座標。機械手臂要使用時必須轉換成機械手臂座標,這個轉換就是 Hand-Eye 校正。

從多個方向拍攝並接合

大型物體或彎曲表面無法一次看完整。RoboVision 將相機裝在機械手臂末端,沿著軌跡移動拍攝。每次拍攝時記錄機械手臂回報的相機姿態,再利用這些姿態將多張影像接合成一個(pose-guided stitching)。相較於比對影像之間特徵點的方式,即使在沒有特徵的光滑表面上也更穩定。

焊道檢測

焊接線在 2D 影像中只看得到形狀,但以 3D 觀察就能量測斷面輪廓。RoboVision 從焊道斷面計算下列數值,單位為 mm。

  • 焊腳長度(leg)、喉厚(throat)
  • 焊道寬度·高度、凸起·凹陷程度
  • 咬邊深度

將這些數值與 ISO 5817 品質等級(B/C/D)的定量基準比較並評定等級,並以報告記錄各瑕疵的 OK/NG 原因。

2D 與 3D,該用哪一種

問題 2D 3D
表面是否有刮傷·異物 ✓ 適合 解析度較低,較不利
高度·平面度·體積是否在基準內 困難 ✓ 適合
能否夾取重疊堆放的物體 困難 ✓ 適合
處理速度是否必須非常快 ✓ 有利 相對較慢

實際的工作站會兩者並用。先用 2D 快速找出什麼東西在哪裡,再只針對該區域以 3D 精密觀察。