在草莓采摘机器人的自主作业流程中,视觉系统承担着 “环境感知” 与 “作业引导” 的双重核心角色。本文聚焦草莓采摘场景下视觉系统的三大核心功能 ——草莓目标检测、草莓大小判别及抓取点四元数坐标获取,结合奥比中光 dabai_DCW 与 Intel RealSense D455 两款主流深度相机的应用实践,从技术原理到工程实现,系统拆解视觉感知如何为机器人作业提供精准支撑。

一、系统整体架构

草莓采摘机器人视觉系统以 “深度相机” 为硬件核心,依托机器视觉与坐标变换技术,构建 “数据采集 - 特征处理 - 信息输出” 的感知闭环。系统整体架构分为三层,且兼容 dabai_DCW 与 Intel D455 两款深度相机的硬件特性。

1.两款深度相机介绍

选择 dabai_DCW 与 Intel D455 作为感知硬件,均围绕草莓田间 “非接触式感知” 需求展开,但二者在数据对齐方式、技术路线及工程适配难度上存在显著差异,具体特性对比与适配价值如下。实际使用时选择一种相机使用即可。
dabai_DCW深度相机:
在这里插入图片描述
Intel D455 深度相机:
在这里插入图片描述

核心特性 奥比中光 dabai_DCW Intel RealSense D455 适配草莓采摘场景的核心价值
测距技术原理 结构光技术(投射编码光图案计算深度) 主动红外立体视觉(双摄像头视差匹配) 均能适应大棚内弱光、草莓表面纹理复杂的测距需求
RGB 与深度图对齐 厂商出厂预校准,默认实现像素级对齐 需用户自行通过标定获取外参,手动完成坐标转换与对齐 dabai_DCW 降低工程集成难度;D455 灵活适配自定义安装场景
数据输出能力 同步输出 RGB 图、深度图(时序与空间均对齐) 同步输出 RGB 图、深度图、红外图(仅时序对齐) 均满足 “颜色特征 + 深度信息” 的多维度感知需求
有效测距范围 0.3-10m 0.1-10m 全覆盖草莓植株 0.3-1.5m 的典型作业高度区间
图像分辨率 RGB:1280×720;深度:640×480 RGB:1920×1080;深度:1280×720 平衡 “识别精度” 与 “数据处理耗时” 的矛盾
ROS2 驱动支持 提供第三方 ROS2 驱动包,支持标定文件导入 官方原生支持 ROS2 驱动,配套标定工具 均能快速接入 ROS2 机器人开发框架

二者最关键的区别在于RGB 与深度图的空间对齐方式——dabai_DCW 通过厂商出厂时的硬件校准与算法优化,已实现 RGB 图像与深度图的 “像素级预对齐”,即同一像素位置对应的草莓区域,其颜色信息与深度信息完全匹配;而 Intel D455 仅保证 RGB 图与深度图的 “时序同步”(同一时刻采集),但二者的像素坐标存在空间偏移,必须由用户通过手眼标定获取外参矩阵,手动执行坐标转换才能实现对齐,这直接导致二者在工程适配阶段的工作量差异显著。

2.算法层

算法层采用模块化设计实现功能解耦,通过 ROS2 节点间的话题通信实现数据流转,同时针对两款相机的对齐差异设计分支逻辑:
• 检测节点:订阅深度相机的 RGB 图像话题,输出草莓目标的边界框与置信度;
• 尺寸判别节点:接收检测边界框与深度图,根据相机类型选择 “直接提取深度”(dabai_DCW)或 “对齐后提取深度”(Intel D455),计算草莓实际大小;
• 坐标转换节点:基于抓取点像素坐标与相机参数,输出机械臂基坐标系下的四元数位姿。

3.接口层

接口层作为视觉系统与机器人其他模块(机械臂、导航系统)的 “数据桥梁”,遵循 ROS2 的通信规范,通过话题、参数服务器标准化接口,实现多模块的高效协同与灵活配置,确保数据流转的实时性、可靠性与可扩展性。
话题采用“发布 - 订阅”模式,将草莓的视觉处理数据实时发送给下游模块:
• /strawberry/detection:发布草莓边界框、检测置信度等定位信息;
• /strawberry/size:发布草莓实际横径、深度值等尺寸数据;
• /strawberry/grab_pose:发布抓取点的三维坐标与姿态四元数,供机械臂直接使用。
参数服务器支持在线调整系统参数,位于每一个功能包下config/param.yaml文件。修改参数时,可直接修改param.yaml中的文件。
在这里插入图片描述

二、草莓目标检测功能

草莓目标检测的核心是从叶片、茎秆、土壤构成的复杂背景中定位草莓位置,为后续尺寸判别与抓取定位提供目标区域基准,技术路线采用轻量化深度学习目标检测模型,兼顾田间作业的实时性与精度需求。

1.检测原理

检测过程本质是模型通过样本学习草莓视觉特征,再通过实时推理匹配目标的过程,核心依托YOLOv11模型实现。
采集大棚内不同成熟度、不同遮挡程度、不同光照的草莓图像,共1000张;使用LabelImg工具标注草莓边界框,生成“图像-边界框坐标-类别”的结构化标注数据。
采用数据增强扩展样本多样性,以分类损失与回归损失联合优化模型参数,使模型学习草莓与背景的特征差异。
深度相机的RGB图像输入模型后,模型在30ms内完成特征提取与目标匹配,输出边界框坐标;通过非极大值抑制(NMS)过滤重叠框,保留置信度≥0.7的目标,确保检测结果唯一性。

打开深度相机按键s拍摄数据集:

打开相机按键s拍摄数据集


实时检测-草莓识别:

实时检测-草莓识别

2.跨相机适配细节

针对两款相机的 RGB 图像特性差异,可以自己设计自适应预处理模块:
(1)对于 dabai_DCW 的 RGB 图像偶发偏色问题,加入灰度世界白平衡算法校正颜色偏差;
(2)对于 Intel D455 的高分辨率 RGB 图像(1920×1080),先缩放至 1280×720 再输入模型,在保证检测精度的前提下将推理耗时从 45ms 降至 32ms。

三、草莓大小判别功能

草莓大小判别是实现分级采摘的基础,依托深度相机的“RGB+深度”双数据输出特性,基于立体几何与相机成像模型实现非接触式尺寸计算,避免接触对果实造成机械损伤。

1.大小判别核心原理

大小判别以二中实现的“检测边界框”为区域基准,通过像素尺寸→实际尺寸的转换实现,核心依赖深度值与相机内参,具体逻辑如下:
(1)关键数据提取
以检测节点输出的草莓边界框为感兴趣区域(ROI),提取边界框的像素宽度(W_pixel)——该参数与草莓实际横径呈线性正相关,作为尺寸计算的核心特征;深度值获取时,针对两款相机的对齐差异,采用不同的深度值提取逻辑:①dabai_DCW因 RGB 与深度图已预对齐,直接提取 ROI 内所有像素的深度值,计算平均值 Z(剔除标准差>0.05m 的异常点,避免叶片遮挡导致的深度跳变);②Intel D455:先加载预标定的外参矩阵(旋转矩阵 R、平移向量 T),通过公式(P_{depth} = R \times P_{rgb} + T)将 RGB 边界框坐标转换至深度图坐标系,再提取对应区域的深度平均值 Z。
基于针孔相机成像模型,草莓实际横径(W_actual,单位:mm)的计算公式为:
在这里插入图片描述
其中,(f_x)为相机 x 轴方向的焦距(从相机内参矩阵中提取,单位:pixel),1000 为米到毫米的单位转换系数。该公式的物理意义是:在焦距固定时,物体的实际尺寸与“像素尺寸 × 拍摄距离(深度值)”成正比。
(2) 精度优化措施
为减小尺寸判别误差,可采取两项关键优化:①定期内参校准:每月使用 12×9 棋盘格标定板校准两款相机的内参,修正镜头畸变导致的像素尺寸测量偏差;②深度值滤波优化:对 ROI 内的深度值采用 “中值滤波(5×5 窗口)+ 均值滤波” 的组合滤波策略,去除环境噪声与遮挡导致的深度波动。
实时检测-求草莓大小:

实时检测-求草莓大小

四、抓取点四元数坐标获取功能

抓取点坐标是指导机械臂作业的直接依据,需将“图像中的最优抓取像素点”转换为“机械臂基坐标系下的四元数位姿”(包含位置与姿态),核心依赖轮廓分析与多坐标系变换技术,兼顾抓取稳定性与果实无损性。

1.抓取点像素定位

抓取点需避开果蒂硬梗、选择果实中部的稳定夹持区域,通过机器视觉的轮廓分析实现,流程如下:①截取草莓边界框区域,将RGB图像从RGB空间转换至HSV空间,通过阈值分割(H:0-10,S:40-255,V:40-255)提取草莓果实前景,过滤绿色叶片背景;②采用腐蚀(3×3 核)与膨胀(5×5 核)的形态学运算去除小噪声,通过cv2.findContours函数提取草莓完整轮廓;③计算轮廓的最小外接矩形,确定其中心纵轴(y=Cy);沿纵轴扫描轮廓边缘,取左右交点的中点(u, v)作为抓取点像素坐标 —— 该点位于果实几何中心,夹持时力分布均匀,可最大限度降低果实挤压损伤风险。
图片检测-两个黄色抓取点:

图片检测-两个黄色抓取点

2.三维坐标转换

抓取点的像素坐标需经两次坐标转换,才能成为机械臂可识别的四元数位姿,转换过程需结合相机类型适配。
(1)像素坐标到相机坐标系坐标变换
利用相机内参矩阵(K),通过针孔相机逆投影公式,将二维像素坐标(u, v)转换为三维相机坐标系坐标(Xc, Yc, Zc):
在这里插入图片描述
其中,Z 为抓取点的深度值(dabai_DCW 直接提取,Intel D455 对齐后提取),(K^{-1})为内参矩阵的逆矩阵。
(2)相机坐标系到机械臂基坐标系坐标变换
通过 “手眼标定” 获取相机坐标系到机械臂基坐标系的变换矩阵(包含旋转矩阵 R_bc 与平移向量 T_bc),利用齐次坐标变换公式实现映射:
在这里插入图片描述

其中,(Xb, Yb, Zb)为机械臂基坐标系下的抓取点位置坐标。

3.四元数姿态构建

机械臂抓取需同时明确位置与姿态(末端执行器朝向),姿态通过四元数描述,构建逻辑如下:
(1)基于草莓轮廓的最小外接矩形,计算果实的“长轴方向向量”(即草莓的自然朝向);
(2)设定机械臂末端执行器的朝向与果实长轴平行(确保夹持时与果实表面贴合);
(3)将 “朝向向量” 对应的旋转矩阵通过罗德里格斯公式转换为四元数(x, y, z, w),与位置坐标(Xb, Yb, Zb)整合为geometry_msgs/PoseStamped消息,通过/strawberry/grab_pose话题发布。
实时监测-中心点坐标与四元数:

实时检测-中心点坐标与四元数

五、总结与展望

本文构建的草莓采摘机器人视觉系统,以dabai_DCW与Intel D455深度相机为硬件基础,针对二者的数据对齐差异设计了适配逻辑,实现了“草莓检测-大小判别-抓取点四元数坐标获取”的全流程感知功能。系统的核心优势在于硬件兼容性强,覆盖两种主流深度相机,工程落地性好,采用标准化接口与动态参数配置。
未来优化方向将聚焦两点:
(1)动态遮挡适应:增加基于深度图的动态障碍物检测模块,识别采摘过程中突然出现的叶片晃动、人员移动等干扰,实时调整抓取点;
(2)多目标抓取规划:结合检测结果与坐标信息,采用贪心算法优化多草莓抓取顺序,减少机械臂空行程,提升单位时间采摘效率。
该视觉系统的实践经验可为番茄、蓝莓等其他浆果类采摘机器人的感知模块设计提供参考,助力农业机器人的规模化应用落地。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐