1. 透明物体感知的技术痛点与DKT突破
透明物体在机器人抓取任务中一直是行业公认的"硬骨头"。传统视觉系统依赖物体表面的漫反射特性进行三维重建,但透明材质会让90%以上的入射光线发生折射或直接穿透。这导致两个致命问题:深度相机采集的点云数据存在大面积空洞(实测误差可达80%以上),而RGB图像又缺乏有效的纹理特征。去年我们团队在汽车挡风玻璃装配线上就吃过亏——机械臂每次都会把夹爪戳进玻璃内部3-5厘米。
智源研究院与清华联合发布的DKT模型(Depth-aware Keypoint Transformer)给出了创新解法。其核心在于将光学物理模型嵌入到深度学习架构中:通过光线追迹模拟器预生成百万级透明物体的光路数据集,训练时让网络同时预测表面深度和光线偏折向量。我们在实验室用KUKA机械臂配合Phoxi相机实测,对矿泉水瓶的抓取成功率从传统方法的32%直接提升到89%。
2. DKT模型的三大技术支柱
2.1 多模态数据融合架构
DKT的输入层采用双通道设计:一路处理RGB图像提取纹理特征,另一路处理原始ToF/结构光深度图。关键创新在于增加了第三路"伪深度"通道——通过预训练的折射网络(RefNet)将原始深度图中的异常值转换为概率分布。在PyTorch中的实现如下:
python复制class RefNet(nn.Module):
def __init__(self):
super().__init__()
self.conv1 = nn.Conv2d(1, 64, kernel_size=9, padding=4)
self.ref_block = nn.Sequential(
ResBlock(64),
ResBlock(64, dilation=2) # 扩大感受野捕捉折射路径
)
def forward(self, x):
x = F.relu(self.conv1(x))
return self.ref_block(x)
2.2 基于物理的损失函数
模型在训练时不仅要最小化深度预测的L2误差,还加入了光线一致性约束(Light Consistency Loss)。该损失项会计算入射光线与预测法向量的夹角,确保符合斯涅尔定律。具体公式为:
$$
\mathcal{L}{phy} = \frac{1}{N}\sum^N |n_i \cdot (v_i - \eta(v_i - n_i(n_i \cdot v_i)))|_2
$$
其中$\eta$为折射率,$v_i$是入射光方向,$n_i$是预测表面法向。这个设计让模型在数据稀缺区域也能保持物理合理性。
2.3 关键点Transformer解码器
传统方法依赖全卷积网络输出密集预测,而DKT创新性地采用稀疏关键点表征。其解码器会先预测50-100个特征关键点(如瓶口螺纹、瓶底凹陷),再通过图神经网络构建表面拓扑。实测表明,这种设计使推理速度提升3倍(在RTX 3090上达到17ms/帧),特别适合实时抓取场景。
3. 工业场景落地实战
3.1 硬件配置方案
在电子元件分拣项目中,我们采用如下配置:
- 视觉端:Lucid Helios2 ToF相机(分辨率640×480,90fps)
- 机械臂:UR5e配OnRobot RG2夹爪
- 主机:Intel i7-12800HX + NVIDIA RTX A5000
关键提示:ToF相机需距离物体40-60cm,并关闭内置的深度补全算法,原始数据直接输入DKT
3.2 抓取策略优化
透明物体抓取存在特殊约束:
- 接触点需避开曲面突变区(如瓶肩部位)
- 夹持力应随表面斜率动态调整
- 运动轨迹需考虑视觉遮挡最小化
我们开发了基于ROS的抓取规划插件,核心逻辑如下:
python复制def compute_grasp_pose(kpts):
# 选择曲率最小的三个关键点构建平面
tri_mesh = Delaunay(kpts[:,:2])
curvatures = compute_curvature(tri_mesh)
grasp_points = kpts[curvatures.argsort()[:3]]
# 根据材料刚度计算所需夹持力
if is_glass(kpts):
force = 15.0 # N
else:
force = 8.0
return grasp_points, force
4. 性能对比与局限分析
在COCO Transparent数据集上的测试结果显示:
| 方法 | 深度误差(mm) | 抓取成功率 | 推理速度(ms) |
|---|---|---|---|
| 传统双目视觉 | 23.7 | 31.2% | 45 |
| 纯深度学习 | 18.5 | 65.8% | 22 |
| DKT(本方案) | 6.3 | 88.7% | 17 |
当前主要局限在于:
- 对多层透明介质(如眼镜片)效果下降明显
- 需要约200组标定数据做domain adaptation
- 动态液体表面仍无法处理
我们在汽车制造车间部署时发现,给透明件喷涂临时标记点(可擦除水溶性涂料)能使成功率再提升5-8个百分点。这虽然增加了工序,但相比人工装配仍节省60%以上工时。
