物件感知
物件感知是將相機資料轉換為機器人可用資訊的過程,使機器人能夠辨識並定位目標物件。
在 Manipulation 工作流程中,感知主要回答以下問題:
- 畫面中看到了什麼物件?
- 物件位於影像中的哪個位置?
- 影像中的哪個區域屬於該物件?
- 偵測結果是否足夠可靠,可以進入下一個步驟?
此階段的輸出會作為姿態估測的輸入,提供後續運動規劃與機器人動作所需的空間目標資訊。
在機械手臂工作流程中的角色
相機會產生原始影像,但機器手臂無法直接從影像像素規劃抓取動作。首先必須透過感知演算法,從影像中擷取目標物件的結構化資訊。
典型工作流程如下:
相機影像 → 影像處理或 AI 模型 → 物件偵測結果 → 姿態估測
依照不同應用,偵測結果可能包含:
- 物件類別或目標顏色
- 邊界、輪廓或分割遮罩
- 中心點像素座標
- 偵測信心度
- Timestamp 與 Camera Frame 資訊
對於彩色方塊範例這類 2D Detector,結果通常會以影像座標表示。如何將此偵測結果轉換成機器人可使用的 3D Pose,將在 姿態估測 中說明。
相機輸入
機械手臂應用通常會使用 RGB 相機或 RGB-D 相機。
| 輸入 | 提供的資訊 | 常見用途 |
|---|---|---|
| RGB 影像 | 顏色、紋理與外觀 | 物件偵測與分類 |
| Depth 影像 | 物件與相機之間的距離 | 3D 位置估算 |
| Camera Information | 相機內參 | 將像素座標轉換為 3D 座標 |
物件感知主要處理 RGB 影像。Depth 與 Camera Information 通常會在後續姿態估測階段,與偵測結果一起使用。
在 ROS 2 中,這些輸入通常會以 sensor_msgs/msg/Image 與 sensor_msgs/msg/CameraInfo 訊息發布。
常見偵測方法
偵測方法應根據目標物件與操作環境選擇。
基於顏色的偵測
基於顏色的偵測會根據設定好的顏色範圍區分物件。此方法容易理解、不需要進行模型訓練,當目標物件具有明顯顏色且環境較為可控時,通常可以得到良好的效果。
常見的處理流程如下:
- 將 RGB 或 BGR 影像轉換為 HSV。
- 套用目標 HSV 範圍,建立遮罩。
- 使用影像濾波移除小型雜訊。
- 尋找連通區域或輪廓。
- 選擇最符合預期目標的區域。
- 計算其中心點、邊界與近似的影像平面方向。
HSV 通常比 RGB 更適合此類任務,因為 HSV 將顏色資訊拆分為 Hue、Saturation 與 Value,使顏色閾值在中等程度的光線變化下更容易調整。
Robotic Suite Sample 將設定與偵測分離:
- Color Profile Creation 用於建立並儲存可重複使用的 HSV 顏色設定檔。
- Color Block Detection & Position Estimation 載入該設定檔,並從 RGB-D 影像串流中偵測符合條件的方塊。
基於AI的偵測
AI 模型可以辨識具有較複雜形狀、紋理與背景的物件類別。依照使用的模型不同,輸出可能是邊界框、分割遮罩、關鍵點或物件姿態。
基於AI的偵測適用於以下情況:
- 無法僅依靠顏色可靠區分物件。
- 需要辨識多種物件類別。
- 光線與背景變化較大。
- 應用需要物件的語意資訊。
不過,此方法通常需要訓練完成的模型、具代表性的資料,以及額外的運算資源。
即使更換感知方法,也不需要重新設計整套機械手臂的流程。只要新的偵測方法能提供一致的輸出介面,後續的姿態估測與運動規劃階段通常可以維持大致不變。
範例:偵測彩色方塊
Robotic Suite的機械手臂範例使用彩色方塊示範完整工作流程。
針對每個目標顏色,感知節點會:
- 載入已儲存的 HSV 顏色設定檔。
- 接收最新的 RGB 影像。
- 視需要將處理範圍限制在感興趣區域內。
- 建立指定顏色的遮罩。
- 尋找候選輪廓並過濾較小區域。
- 選擇目標方塊。
- 回報其中心點與近似的影像平面方向。
彩色方塊範例刻意維持簡單,目的在於讓使用者容易觀察相機輸入、物件偵測、姿態估測與機器人動作之間的關係。未來也可以將相同流程的前端替換為基於AI的偵測方法,以處理更複雜的物件。
偵測品質
在將偵測結果傳送給機器人之前,應先確認結果是否有效。常見的檢查項目包括:
- 偵測到的區域大於最小面積。
- 物件位於設定的影像感興趣區域內。
- 偵測信心度或幾何條件符合指定門檻。
- 偵測結果在連續數個 Frame 中保持穩定。
- 當任務只需要一個目標時,只選取一個有效物件。
造成偵測不穩定的常見原因包括光線變化、反光、陰影、Motion Blur、遮擋,以及背景中存在相近顏色。
對於基於顏色的偵測方法,當相機、光線或工作環境有明顯改變時,應重新建立或調整顏色設定檔。
重點整理
- 物件感知會將相機影像轉換成結構化的目標資訊。
- 2D 感知結果通常以影像座標描述目標,在作為 3D 機器人目標使用之前,仍需要進一步轉換。
- 基於顏色的偵測方法適合簡單且環境受控的教學範例。
- 當物件或環境變得更複雜時,可以將前端替換為基於AI的偵測方法。
- 在開始姿態估測與機器人動作之前,必須先取得可靠的偵測結果。
下一步: 將偵測結果搭配 Depth 與相機校正資訊,用於姿態估測.