跳至主要内容

物件感知

物件感知是將相機資料轉換為機器人可用資訊的過程,使機器人能夠辨識並定位目標物件。

object-perception-flow

在 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 訊息發布。


常見偵測方法​

偵測方法應根據目標物件與操作環境選擇。

基於顏色的偵測​

基於顏色的偵測會根據設定好的顏色範圍區分物件。此方法容易理解、不需要進行模型訓練,當目標物件具有明顯顏色且環境較為可控時,通常可以得到良好的效果。

常見的處理流程如下:

  1. 將 RGB 或 BGR 影像轉換為 HSV。
  2. 套用目標 HSV 範圍,建立遮罩。
  3. 使用影像濾波移除小型雜訊。
  4. 尋找連通區域或輪廓。
  5. 選擇最符合預期目標的區域。
  6. 計算其中心點、邊界與近似的影像平面方向。

HSV 通常比 RGB 更適合此類任務,因為 HSV 將顏色資訊拆分為 Hue、Saturation 與 Value,使顏色閾值在中等程度的光線變化下更容易調整。

Robotic Suite Sample 將設定與偵測分離:

基於AI的偵測​

AI 模型可以辨識具有較複雜形狀、紋理與背景的物件類別。依照使用的模型不同,輸出可能是邊界框、分割遮罩、關鍵點或物件姿態。

基於AI的偵測適用於以下情況:

  • 無法僅依靠顏色可靠區分物件。
  • 需要辨識多種物件類別。
  • 光線與背景變化較大。
  • 應用需要物件的語意資訊。

不過,此方法通常需要訓練完成的模型、具代表性的資料,以及額外的運算資源。

即使更換感知方法,也不需要重新設計整套機械手臂的流程。只要新的偵測方法能提供一致的輸出介面,後續的姿態估測與運動規劃階段通常可以維持大致不變。


範例:偵測彩色方塊​

Robotic Suite的機械手臂範例使用彩色方塊示範完整工作流程。

針對每個目標顏色,感知節點會:

  1. 載入已儲存的 HSV 顏色設定檔。
  2. 接收最新的 RGB 影像。
  3. 視需要將處理範圍限制在感興趣區域內。
  4. 建立指定顏色的遮罩。
  5. 尋找候選輪廓並過濾較小區域。
  6. 選擇目標方塊。
  7. 回報其中心點與近似的影像平面方向。

彩色方塊範例刻意維持簡單,目的在於讓使用者容易觀察相機輸入、物件偵測、姿態估測與機器人動作之間的關係。未來也可以將相同流程的前端替換為基於AI的偵測方法,以處理更複雜的物件。


偵測品質​

在將偵測結果傳送給機器人之前,應先確認結果是否有效。常見的檢查項目包括:

  • 偵測到的區域大於最小面積。
  • 物件位於設定的影像感興趣區域內。
  • 偵測信心度或幾何條件符合指定門檻。
  • 偵測結果在連續數個 Frame 中保持穩定。
  • 當任務只需要一個目標時,只選取一個有效物件。

造成偵測不穩定的常見原因包括光線變化、反光、陰影、Motion Blur、遮擋,以及背景中存在相近顏色。

對於基於顏色的偵測方法,當相機、光線或工作環境有明顯改變時,應重新建立或調整顏色設定檔。


重點整理​

  • 物件感知會將相機影像轉換成結構化的目標資訊。
  • 2D 感知結果通常以影像座標描述目標,在作為 3D 機器人目標使用之前,仍需要進一步轉換。
  • 基於顏色的偵測方法適合簡單且環境受控的教學範例。
  • 當物件或環境變得更複雜時,可以將前端替換為基於AI的偵測方法。
  • 在開始姿態估測與機器人動作之前,必須先取得可靠的偵測結果。

下一步: 將偵測結果搭配 Depth 與相機校正資訊,用於姿態估測.