yolo_ros

在 ROS 2 里一行启动 YOLO 检测,图像进结果出

yolo_ros 是把 Ultralytics YOLO 系列模型(YOLOv8/v9/v10/v11/v12)封装成 ROS 2 节点的开源项目,解决机器人开发者需要在 ROS 2 系统中快速接入目标检测、实例分割、姿态估计、OBB 旋转框和 3D 检测等视觉能力的问题。它提供标准化的发布/订阅接口,把图像话题输入直接转成检测结果话题输出,支持多种任务类型和模型切换,省去自己写推理节点、消息转换和参数配置的重复工作。项目用 Python 实现,依赖 Ultralytics 库,可配合深度相机或点云做 3D 检测与人体姿态估计,适合移动机器人、机械臂抓取、自动驾驶感知等场景快速验证。

开源 free 计算机视觉
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1136
维护状态 较活跃
是否开源
定价模式 free

项目数据

分类计算机视觉
开发团队mgonzs13
所属国家
定价模式free
价格说明开源免费,基于AGPL-3.0许可证
访问状态
是否开源
开源协议GPL-3.0
主要语言Python
技术栈/模型3d-human-pose-estimation,3d-object-detection,human-pose-estimation,instance-segmentation,obb,object-detection,object-tracking,oriented-bounding-box,ros2,ultralytics,yolo,yolo-world,yolo26,yoloe,yolov10,yolov11,yolov12,yolov8,yolov9
GitHub 星标★ 1136
30天Star增速
HF 下载量
上线时间2023-02-21 00:00:00
最近更新2026-09-16 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-13
浏览次数1

使用教程

难度:进阶 约 30 分钟 部署方式:本地安装 7 步

环境要求

  • ROS 2 环境(README 提供 Humble 分支 main 的构建测试)
  • 已配置的 ROS 2 工作空间(README 示例路径为 ~/ros2_ws)
  • Python 3 与 pip3(使用旧版 pip/rosdep 安装方式时需要)
  • Docker(使用 Docker 方式构建运行容器时需要)
  • NVIDIA Container Toolkit 与 CUDA GPU(可选,容器内加速需要)

安装与启动步骤

  1. 1获取项目源码

    把仓库放到 ROS 2 工作空间的 src 目录下,README 中使用的路径是 ~/ros2_ws/src/yolo_ros。

    git clone https://github.com/mgonzs13/yolo_ros.git ~/ros2_ws/src/yolo_ros
  2. 2安装 uv 工具

    README 推荐的安装方式,用官方脚本安装 uv,并重新加载 shell 配置使其生效。

    curl -LsSf https://astral.sh/uv/install.sh | sh
    source ~/.bashrc
  3. 3同步虚拟环境

    进入 yolo_ros 包目录,创建带系统站点包的 .venv,并按 pyproject.toml 同步依赖(不安装项目本身与 dev 依赖)。

    cd ~/ros2_ws/src/yolo_ros/yolo_ros
    uv venv --python python3 --system-site-packages .venv
    uv sync --no-install-project --no-dev
  4. 4安装 rosdep 依赖

    回到工作空间根目录,用 rosdep 安装 apt 安装器对应的系统依赖,-r 忽略错误、-y 自动确认。

    cd ~/ros2_ws
    rosdep install --from-paths src --ignore-src --filter-for-installers "apt" -r -y
  5. 5构建工作空间

    在 ~/ros2_ws 下用 colcon build 构建;已装 uv 时会自动管理虚拟环境,未装则用系统 Python。

    cd ~/ros2_ws
    colcon build
  6. 6构建 Docker 镜像

    在仓库根目录执行 docker build 生成 yolo_ros 镜像,镜像名与 README 中一致。

    docker build -t yolo_ros .
  7. 7运行 Docker 容器

    以交互方式启动容器,--rm 退出即删除;用 GPU 需先装 NVIDIA Container Toolkit 并加 --gpus all。

    docker run -it --rm --gpus all yolo_ros

如何确认成功

uv sync 与 rosdep 安装无报错、colcon build 构建成功,或 docker run 后成功进入容器交互终端即可。

常见问题

Q:uv 安装和旧的 pip 安装该选哪个?

A:优先用 uv(README 推荐),它会在包源码树内创建并同步隔离虚拟环境;pip 和 rosdep 方式为旧方案,依赖装进系统环境,可能出现 Python 包版本冲突。

Q:不装 uv 时依赖怎么装?

A:在 ~/ros2_ws/src/yolo_ros/yolo_ros 下执行 pip3 install -r requirements.txt --break-system-packages;或用旧 rosdep 方式:先 pip3 install lap,再执行 PIP_BREAK_SYSTEM_PACKAGES=1 rosdep install --from-paths src --ignore

Q:Docker 里怎么启用 GPU?

A:先安装 NVIDIA Container Toolkit,然后在 docker run 时加上 --gpus all 参数,否则容器只能使用 CPU 运行。

注意事项

  • uv 是 README 推荐方式,会保证 pyproject.toml 中声明的 Python 依赖版本一致。
  • 未安装 uv 时 colcon build 会跳过虚拟环境管理,节点改用系统 Python 解释器运行。
  • 旧版 pip 安装需带 --break-system-packages,旧版 rosdep 安装需设置 PIP_BREAK_SYSTEM_PACKAGES=1。
  • README 中的 ~/ros2_ws 是示例工作空间路径,请按自己的实际路径替换。

核心亮点

  • 覆盖 YOLOv8 到 v12 多版本,检测/分割/姿态/OBB/3D 任务一站式支持
  • 标准 ROS 2 话题接口,图像输入检测输出,接入现有机器人系统成本低
  • Python 实现依赖 Ultralytics,模型替换和参数调整直观,上手快

不足之处

  • Python 推理节点在高帧率或大模型下实时性不如 C++ 方案
  • 3D 检测和姿态估计依赖深度/点云输入,配置门槛相对较高

适用场景

  • 移动机器人用摄像头做行人、障碍物实时检测
  • 机械臂视觉抓取中做目标检测与 OBB 位姿估计
  • 服务机器人或巡检机器人做人体姿态与行为感知

替代项目

ros2_yolo、darknet_ros、vision_msgs

项目介绍

yolo_ros 是一个计算机视觉领域的开源项目,官方简介:Ultralytics YOLOv8, YOLOv9, YOLOv10, YOLOv11, YOLOv12 for ROS 2。项目使用 Python 开发,在 GitHub 上获得 1135 星标。

上一篇:TagLab

下一篇:camera.ui

同类项目推荐

modlens 开源

给纯文本编码代理装上眼睛,粘贴图片即刻获得结构化视觉证据。

The first vision plugin for DeepSeek Harness, and the vision bridge for every text-o···

★ 3973 2026-08-19
opencv 开源

开箱即用的视觉算法库,搞定图像视频处理与识别

Open Source Computer Vision Library

★ 90860 2026-08-10
OpenCVTutorials 开源

中文 OpenCV 教程,从入门到实战,边看边跑代码

OpenCV-Python4.1 中文文档

★ 1430 2026-08-20
DEIMv2 开源

用DINOv3做实时检测,又快又准,直接落地。

[DEIMv2] Real Time Object Detection Meets DINOv3

★ 2032 2026-08-14