4. 目标检测与位姿估计
在双臂视觉抓取与交接系统中,感知层决定了后续规划与控制的“输入质量”。如果目标检测框抖动、分割边缘漂移、6D位姿跳变,双臂交接时就会出现夹爪碰撞、抓空或物体滑落。本章围绕四个关键环节展开:检测分割负责“找到并分割目标”,6D位姿估计回答“物体在三维空间中的位置与姿态”,抓取检测给出“夹爪从哪里抓、怎么抓”,不确定性分析则评估“这次感知结果是否可信”。四者构成一条从像素到抓取决策的完整感知链。
一、核心原理:从二维检测到三维抓取
基于深度学习的检测分割通常分为两阶段与单阶段两类。两阶段方法先产生候选区域,再分类与回归;单阶段方法直接输出类别与框。对于抓取任务,实例分割比矩形框更有价值,因为夹爪需要知道物体的可见轮廓与遮挡边界。常用结构包括 Mask R-CNN、YOLOv8-seg、Segment Anything 系列等。分割结果以掩码形式给出,每个像素标记属于哪个物体。
6D位姿估计的目标是求取物体坐标系到相机坐标系的旋转矩阵 R 与平移向量 t。主流方法分为三类:基于对应点(如 PVN3D、DenseFusion,先找2D-3D对应再求解)、基于模板匹配(如 LineMOD 系列,用渲染模板与观测匹配)、基于回归(直接回归 R、t 或四元数)。在双臂场景中,由于存在遮挡与手眼两个视角,常采用多视角融合或点云配准提升位姿精度。
抓取检测则把位姿进一步转化为夹爪可执行的参数。2D 抓取检测输出图像平面上的抓取矩形(中心点、角度、宽度),3D 抓取检测输出抓取点、接近方向与夹爪开合宽度。常用表示包括抓取矩形、抓取质量图与 6-DoF 抓取位姿。抓取检测网络通常以 RGB-D 为输入,输出每个像素的抓取质量、角度与宽度。
感知链核心关系:检测分割提供目标区域 → 6D位姿提供空间变换 → 抓取检测提供夹爪参数 → 不确定性分析提供置信度与风险等级。任一环节误差都会向下游传播,因此必须逐级评估。
二、方法流程:从图像到抓取参数的完整链路
一个可落地的感知流程通常包含以下步骤:
- 数据采集与对齐:获取 RGB 与深度图,完成时间同步与空间对齐,得到有序点云。
- 检测与分割:用实例分割网络输出每个目标的掩码与类别,剔除背景与无关物体。
- 位姿估计:将掩码内的点云与物体模型配准,或用网络直接回归 6D 位姿。
- 抓取检测:在位姿坐标系下采样候选抓取,评估抓取质量并排序。
- 不确定性评估:计算各环节置信度,决定是否接受当前结果。
- 输出抓取位姿:将抓取参数变换到机器人基坐标系,供双臂规划使用。
下面是一段典型的感知参数配置示例,用于说明各环节的关键参数:
# 感知流水线参数配置示例
detector:
model: "yolov8-seg"
conf_threshold: 0.45 # 检测置信度阈值
iou_threshold: 0.50 # NMS IoU 阈值
mask_threshold: 0.50 # 分割掩码二值化阈值
pose_estimator:
method: "densefusion"
num_points: 2048 # 采样点数
refine_iterations: 3 # 位姿精修迭代次数
rot_error_threshold: 5.0 # 旋转误差阈值(度)
grasp_detector:
method: "graspnet"
num_candidates: 64 # 候选抓取数量
approach_angle_range: 60 # 接近方向搜索范围(度)
gripper_width_max: 0.085 # 最大开合宽度(米)
uncertainty:
min_detection_conf: 0.60 # 最低检测置信度
min_pose_confidence: 0.70 # 最低位姿置信度
min_grasp_quality: 0.65 # 最低抓取质量分
multi_view_consistency: 0.80 # 多视角一致性阈值
三、案例场景:双臂交接中的感知协同
假设一个典型场景:左臂从桌面抓取一个圆柱形零件,交给右臂后放入装配孔。左臂相机先观测零件,检测分割得到掩码,6D位姿估计给出零件轴线方向,抓取检测选择侧面抓取。交接时右臂相机从另一角度观测,若两次位姿估计的旋转差异超过阈值,则触发重观测。
在这个场景中,不确定性分析尤为关键。例如,当零件被部分遮挡时,分割掩码不完整,位姿估计的协方差会增大;此时系统应降低抓取速度或请求左臂调整视角。若抓取质量分低于阈值,则不应执行抓取,而应重新采样候选抓取。
实用建议:在双臂交接任务中,建议为每个物体维护一个“感知置信度”状态,并在交接前后各做一次位姿校验。若两次校验的平移差异大于 5mm 或旋转差异大于 3°,则暂停交接并重新观测。
四、误区与复盘:常见问题与改进方向
在实际工程中,以下误区非常常见:
- 只看检测框,不看分割质量:检测框准确不代表掩码准确,掩码边缘误差会直接导致位姿估计偏移。
- 忽略深度图噪声:深度相机在反光、透明或黑色物体上噪声大,位姿估计会剧烈跳变。
- 抓取检测与位姿估计脱节:抓取点若未变换到物体坐标系,换一个视角后抓取参数就失效。
- 不做不确定性评估:盲目执行低置信度抓取,容易造成碰撞或掉落。
复盘时,建议按以下清单逐项检查:
| 检查项 | 正常范围 | 异常表现 | 改进措施 |
|---|---|---|---|
| 检测置信度 | ≥ 0.60 | 频繁低于阈值 | 补充训练数据、调整光照 |
| 分割 IoU | ≥ 0.75 | 边缘缺失或溢出 | 增加掩码监督、后处理优化 |
| 位姿旋转误差 | ≤ 5° | 姿态跳变 | 多视角融合、时序滤波 |
| 位姿平移误差 | ≤ 5mm | 抓取点偏移 | 点云配准精修、标定校验 |
| 抓取质量分 | ≥ 0.65 | 抓空或滑落 | 增加候选抓取、力控反馈 |
| 多视角一致性 | ≥ 0.80 | 两臂观测差异大 | 重新标定、检查遮挡 |
注意:不确定性分析不是“可选项”。在双臂交接中,一次低置信度抓取可能导致物体掉落并损坏,甚至碰撞另一只手臂。建议将不确定性阈值写入状态机,作为抓取执行的前置条件。
总结来看,检测分割、6D位姿估计、抓取检测与不确定性分析共同构成双臂视觉抓取的感知基础。只有把每个环节的误差控制在可接受范围内,并在全链路中持续评估置信度,才能让双臂交接操作稳定、可靠地运行。