ÁoGeekgineer/ros2_yolos_cpp
ROS2 adapters for the Cross-Platform Production-ready C++ inference engine for YOLO models (v5-v12, YOLO26). Unified API for detection, segmentation, pose estimation, OBB, and classification. Built on ONNX Runtime and OpenCV. Optimized for CPU/GPU with quantization support.
Thành tựu nổi bật
Những danh hiệu mới nhất của dự án
#1 Repository Của Tuần
#1 Repository Của Tuần
#1 Repository Của Tháng
🤖 ROS 2 YOLOs-CPP: Node inference YOLO production-grade cho robotics
Wrapper ROS 2 hoàn chỉnh cho YOLOs-CPP — mang tốc độ và API thống nhất của YOLO v5-v12, YOLO26 vào hệ sinh thái ROS 2 Humble/Jazzy với quản trị vòng đời đầy đủ.
ros2_yolos_cpp là gói ROS 2 chính thức của dự án YOLOs-CPP — inference engine C++ cross-platform, production-ready cho các mô hình YOLO. Gói này bọc engine đó thành các composable lifecycle nodes, cho phép triển khai detection, instance segmentation, pose estimation, oriented bounding box (OBB) và image classification ngay trong pipeline ROS 2, dùng message chuẩn vision_msgs và zero-copy transport để đạt throughput cao.
✨ Điểm nổi bật
- ⚡ Zero-Copy Transport: Tận dụng
rclcpp::Subscriptionđể giảm overhead copy ảnh trong pipeline throughput cao. - 🔄 Lifecycle Management: Hỗ trợ đầy đủ các transition
configure,activate,deactivate,shutdown— phù hợp deployment production. - 🛠️ Composable Nodes: Chạy nhiều model trong cùng một container process, tiết kiệm tài nguyên.
- 📦 Toàn bộ task YOLO: Detection, Segmentation, Pose, OBB, Classification — mỗi task một launch file riêng.
- 🏗️ Production Ready: CI/CD tested, parameter strictly typed, message chuẩn
vision_msgs/sensor_msgs. - 🎯 Hỗ trợ YOLO v5, v8, v11, v26 (YOLO26): Một API thống nhất cho toàn bộ họ mô hình.
- ⚙️ Cấu hình linh hoạt: Launch arguments hoặc YAML parameter file (
config/default_params.yaml). - 🖥️ CPU/GPU (CUDA): Build tùy chọn GPU, auto-download ONNX Runtime 1.16+ khi build.
💡 Vì sao đáng chú ý
Khác với các wrapper ROS 2 YOLO thông thường thường chỉ hỗ trợ detection đơn lẻ, viết bằng Python hoặc thiếu lifecycle management, ros2_yolos_cpp được thiết kế từ đầu cho production robotics: node C++ composable, zero-copy, lifecycle-aware, message chuẩn ROS 2, và bao phủ toàn bộ task của YOLO hiện đại (kể cả OBB và classification). Điều này cho phép một robot chạy đồng thời detection + pose + segmentation trong cùng một process, cấu hình qua YAML, deploy có kiểm soát qua lifecycle — rất phù hợp cho autonomous mobile robot, manipulation, inspection visual. License AGPL-3.0 cần lưu ý nếu dùng cho sản phẩm thương mại.
#ROS2 #YOLO #ComputerVision #Robotics #ONNXRuntime #TiniX
Dự án tương tự
Khám phá các dự án và mô hình AI khác có sự tương đồng.
Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code
C++ Insights - See your source code with the eyes of a compiler
A lite C++ AI toolkit: 100+ models with MNN, ORT and TRT, including Det, Seg, Stable-Diffusion, Face-Fusion.
BS::thread_pool: a fast, lightweight, modern, and easy-to-use C++17 / C++20 / C++23 thread pool library
Nameof operator for modern C++, simply obtain the name of a variable, type, function, macro, and enum