mgonzs13/yolo_ros
Ultralytics YOLOv8, YOLOv9, YOLOv10, YOLOv11, YOLOv12 for ROS 2
解決的問題
yolo_ros 是 Ultralytics YOLO 模型的 ROS 2 封裝,讓機器人開發者能輕鬆將進階的電腦視覺任務整合至機器人的軟體堆疊中。它彌補了原始相機畫面與可操作的空間資料之間的差距,提供一種標準化的方式,用於在機器人環境中執行物件檢測、追蹤與 3D 定位。
工作原理
此套件封裝了 Ultralytics YOLO 庫,將其功能以 ROS 2 節點的形式公開。它處理來自相機主題的 RGB 圖像,並發布檢測結果、追蹤 ID 與除錯圖像。當設定為 3D 檢測時,會使用 RGB-D 相機的深度圖像,將 2D 繫框或分割遮罩投影至 3D 空間,計算相對於目標框架(例如 base_link)的 3D 繫框與關鍵點。
適用對象
使用 ROS 2(Humble、Iron、Jazzy、Kilted、Lyrical 或 Rolling)與 RGB-D 相機,需要為機器人實作物件檢測、實例分割或人體姿態估計的開發者與研究人員。
主要特色
- 廣泛的模型支援:相容多種 YOLO 版本(v3 至 v12、YOLO-World、YOLOE 與 YOLOv26)。
- 3D 空間感知:利用深度資料將 2D 檢測轉換為 3D 繫框與關鍵點。
- 生命周期節點支援:實作 ROS 2 生命周期節點,於系統閒置時優化資源使用(CPU/VRAM)。
- 多樣化的視覺任務:支援物件檢測、追蹤、ByteTrack、實例分割與人體姿態估計。
- YOLO-World 支援:內建服務,可在不重啟節點的情況下動態更新檢測類別。
相關
- 專案
- 專案
- 專案
- 專案