当前位置: 首页 > news >正文

ROS2 + RealSense + YOLOv8 实战(三):自定义铰链实例分割数据集采集、SAM3 标注与模型训练

摘要

  • 核心流程:本文完整走通了从 RealSense 采集铰链图片、Ultralytics Platform + SAM3 辅助标注,到本地 RTX 5060 上基于 yolov8n-seg.pt 迁移学习训练实例分割模型的闭环。
  • 关键发现:在仅 32 张图片(Train 26 / Val 6)的小数据集下,虽然 mAP50 一度达到 0.955,但离线推理显示大量低置信度预测,说明小数据集下的 mAP 并不可靠,不能直接等同于真实场景准确率。
  • 最终建议:当前阶段不应继续在小数据集上反复调参,而应优先扩充高质量、具有场景多样性的真实数据(建议 150~500 张),并加入负样本,再重新训练 hinge_v2。

一、前言

前面已经在 ROS2 Humble 环境下完成了 RealSense 相机与yolo_ros的联调,并成功使用官方:

yolov8n-seg.pt

实现实时实例分割。

但官方 YOLOv8 模型主要基于 COCO 数据集训练,并不认识实际装配任务中的专用工业零件,例如本文使用的铰链 hinge

因此下一步需要构建自己的铰链数据集,并基于yolov8n-seg.pt进行迁移学习,得到:

hinge-yolov8n-seg.pt

整体流程如下:

flowchart TD A[RealSense RGB 图像] --> B[采集铰链图片] B --> C[Ultralytics Platform] C --> D[SAM3 辅助实例分割标注] D --> E[Train / Val 数据集] E --> F[yolov8n-seg.pt 迁移学习] F --> G[best.pt] G --> H[hinge-yolov8n-seg.pt] H --> I[ROS2 / yolo_ros]

本文使用的主要环境:

项目环境
Ubuntu22.04
ROS2Humble
相机Intel RealSense D435i
RGB 工作分辨率424×240×30 FPS
GPUNVIDIA GeForce RTX 5060 Laptop GPU
CUDA可正常使用
PyTorch2.11.0+cu128
Ultralytics 训练环境8.4.117
基础模型yolov8n-seg.pt
任务hinge 实例分割

二、使用 RealSense 采集铰链图片

首先建立数据集目录:

mkdir -p ~/hinge_dataset/raw cd ~/hinge_dataset/raw

RealSense RGB 图像话题为:

/camera/camera/color/image_raw

当前相机已经稳定运行在:

424 × 240 × 30 FPS

这里不直接录制视频再抽帧,而是使用 ROS2image_saver手动触发保存图片。这样可以避免连续保存大量几乎一模一样的相邻帧。

启动:

cd ~/hinge_dataset/raw ros2 run image_view image_saver --ros-args \ -r image:=/camera/camera/color/image_raw \ -p save_all_image:=false \ -p filename_format:="hinge_%04i.jpg"

另开一个终端查看保存服务:

ros2 service list | grep save

实际环境中出现的是:

/save

因此保存一张图片:

ros2 service call /save std_srvs/srv/Empty "{}"

每调用一次就保存一张,例如:

http://www.cnnetsun.cn/news/3996178.html

相关文章:

  • ESR对电源纹波与电路性能的影响及选型实战
  • 三站合一网站建设怎么做好?揭秘PC+移动+微信无缝衔接的高效运营逻辑
  • 深度解读昭通建设局网站背后的城市更新脉络与民生温度
  • LabVIEW 运行时 GUID 生成的多种实现途径
  • Python爬虫实战:动态网页数据抓取与反爬策略解析
  • ShardingSphere分布式数据库中间件架构与实战解析
  • 从零部署AI模型服务:Flask+ONNX Runtime实战指南
  • Cursor、Claude Code 会让普通程序员失业吗?2026年AI编程工具深度解析与Java开发者转型指南
  • 模块化数据中心:云计算基础设施的乐高革命与开发者新机遇
  • 算法学习全攻略:从数据结构到实战应用,构建高效编程思维
  • 我拆了一个 Agent 仓库,发现真正难的从来不是让 AI 会写代码
  • 为什么你的网站建设竞标书总是被无视?资深开发团队揭秘中标核心逻辑
  • Vue项目PDF预览实战:基于vue-pdf的集成、优化与避坑指南
  • 告别繁琐!揭秘高效的港口建设费申报网站实操指南与避坑指南
  • 胖头鱼的技术专栏-459 Agent 也需要“身份证”(20260812)
  • 从数据可视化练习到企业级大屏实战:技术选型与核心流程解析
  • Linux软件包管理:从依赖地狱到系统稳定的核心技术解析
  • 实时笔记如何帮助远程面试?QZ Mate 的信息整理思路
  • 从RAG、工具调用到MCP:构建可扩展AI系统的统一协议架构
  • 厦门市海沧区建设局网站_深度解读厦门海沧建设最新动态与民生服务指南
  • 银川网站建设0951:为什么你的网站在百度搜不到?资深SEO专家揭秘流量密码
  • Function Calling:大语言模型连接真实世界的核心机制与产品实践
  • TqSdk K 线怎么读?字段、更新判断和新 K 线识别
  • 游戏开发实战:基于MiniMax M3大模型的AI内容生成与API集成指南
  • 电力市场优化运行模型与消纳责任权重技术解析
  • 论文AI痕迹消除实测:Passbug降痕全记录
  • 做网站别只看价格,鞍山晟宇网站建设教你如何避开那些隐形大坑
  • 猫抓插件:浏览器内免费下载网页视频与M3U8流媒体指南
  • 从济南网站建设泉诺角度看,为什么您的企业官网越来越难带来精准客户?资深顾问的深度复盘
  • 私房菜上门服务微信小程序开发实战