#5757th of 71 in Model servingFor science, health and research, robotics

yolo_ros

ROS 2 node running Ultralytics YOLO ONNX models for detection, pose and segmentation

Stars
1.2k
License
MIT
Last commit
Nov 2026
Last release
Sep 2026
Language
C++
Stars, last 29 weeks+166
21 Apr 2026: 993 stars28 Apr 2026: 1,005 stars5 May 2026: 1,008 stars12 May 2026: 1,014 stars19 May 2026: 1,021 stars26 May 2026: 1,030 stars2 Jun 2026: 1,035 stars9 Jun 2026: 1,047 stars16 Jun 2026: 1,052 stars23 Jun 2026: 1,059 stars30 Jun 2026: 1,064 stars7 Jul 2026: 1,070 stars14 Jul 2026: 1,074 stars21 Jul 2026: 1,080 stars28 Jul 2026: 1,083 stars4 Aug 2026: 1,087 stars11 Aug 2026: 1,107 stars18 Aug 2026: 1,113 stars25 Aug 2026: 1,121 stars1 Sept 2026: 1,125 stars8 Sept 2026: 1,129 stars15 Sept 2026: 1,130 stars22 Sept 2026: 1,133 stars29 Sept 2026: 1,138 stars6 Oct 2026: 1,145 stars13 Oct 2026: 1,148 stars20 Oct 2026: 1,151 stars27 Oct 2026: 1,153 stars3 Nov 2026: 1,156 stars10 Nov 2026: 1,159 stars

993 on 21 Apr 20261,159 on 10 Nov 2026

From GitHub's daily star counts.

Checked on GitHub.

Overview

C++ ROS 2 package that runs Ultralytics-exported YOLO ONNX models through ONNX Runtime, with no Python or ultralytics dependency at run time. A single yolo_node loads detection, tracking, 3D lifting from depth images and debug rendering as pluginlib plugins, configured from one YAML file. It supports detect, segment, pose, OBB and classify tasks on CPU, CUDA or TensorRT.

Who it is for: Robotics engineers adding YOLO perception to ROS 2 robots

Strengths

  • Pure C++ and ONNX Runtime; no Python runtime or ultralytics install needed at run time
  • One process with ordered plugin chain (detection, tracking, 3D, debug) configured by one YAML
  • Covers detect, segment, pose, OBB and classify; YOLOv3 through YOLO26 models
  • CPU on x64 and aarch64, CUDA, TensorRT, plus a QNN Hexagon NPU path

Weaknesses

  • Ultralytics weights are AGPL-3.0, so the MIT license does not cover the models
  • Prebuilt GPU ONNX Runtime is x64-only and limited to CUDA 11, 12 and 13
  • QNN NPU support requires building ONNX Runtime from source
  • Needs a ROS 2 colcon workspace; not usable outside ROS 2

What it needs

  • GPU optional
  • Docker
  • Needs ROS 2, colcon, ONNX Runtime 1.20.0 (vendored), CUDA and cuDNN (GPU only), TensorRT 10 (optional)
  • Models: YOLOv3, YOLOv5, YOLOv8, YOLOv9, YOLOv10

What changed

From the release notes. No flag means the note does not say so, not that the upgrade is safe.

Also in Model serving

See all 71
Also in Model serving
RankProjectScore
1llama.cppC/C++ inference engine for GGUF LLMs and VLMs with an OpenAI-compatible server134.3k starsMIT94 out of 100
2OllamaLocal model runner with CLI and REST API for open-weight LLMs186.8k starsMITknown advisory in latest version92 out of 100
3LocalAISelf-hosted inference server with OpenAI-compatible API and pluggable backends50.3k starsMIT91 out of 100
#4vLLMInference engine serving LLMs with PagedAttention and an OpenAI-compatible API96.8k starsApache-2.088 out of 100
#5strataRuns a 125B-parameter MoE model on one consumer GPU plus system RAM43.4k stars+20,534 (+90%) in 30 daysMIT88 out of 100