陈鑫昊 张 镇 高轶晨 石 建 李佳童
(北京印刷学院,北京 102600)
目前绝大多数工业机器人是依靠示教再现的方式在固定的位置完成抓取和放置作业的,如果环境或工件发生变化,抓取作业将会失败[1]。将视觉技术与工业机器人相结合,可极大提高机器人的智能化水平。解决抓取任务的前提是目标检测,目前基于深度学习的目标检测算法主要分为双阶段检测算法和单阶段检测算法[2]。双阶段检测算法是以R-CNN系列为代表的基于候选区域的目标检测算法;单阶段检测算法是以YOLO、SSD 为代表的基于回归分析的目标检测算法。其中YOLOv4[3]目标检测算法在速度和精度上取得了较好的平衡,可以满足视觉工业机器人目标检测高精度、实时性的要求。
该文以深度可分离卷积替换YOLOv4 特征提取部分及中间层的标准卷积,来实现机器人的目标快速识别;采用D-YOLOv4-grasp 网络进行特征提取,并通过五参数法实现目标的抓取位姿预测;通过坐标变换,将目标抓取坐标转换到视觉工业机器人坐标系中,以控制机器人完成抓取任务。
视觉工业机器人目标识别与抓取系统主要由图像采集、计算机处理和机械臂运动控制3 个部分组成,图像采集部分通过相机采集目标图像,计算机处理部分负责识别目标并对目标进行抓取预测,机械臂运动控制部分负责机械臂运动的路径规划并控制机械臂执行抓取目标的任务。系统总体组成如图1 所示。
图1 识别与抓取系统总体组成
该文研究的视觉工业机器人目标识别与抓取系统的工作流程如图2 所示。首先,将相机采集的图像进行预处理,输入D-YOLOv4 目标检测网络和D-YOLOv4-grasp 抓取网络,以实现目标识别和抓取框预测。其次,通过五参数法得到抓取目标的五参数坐标,同时利用坐标变换和标定法实现目标抓取坐标从像素坐标系,到相机坐标系,再到机器人坐标系之间的转换。最后,机械臂运动控制部分根据所得到的目标位姿信息在ROS 平台中进行机械臂的逆运动学解算和路径规划,得出机械臂各个关节转动角度及运动距离,并将所得到的运动指令通过Socket 通信传输给机械臂控制器,来控制末端机械爪实现抓取作业,同时控制器实时反馈机械臂在空间中的位姿,最终实现整个系统的识别与抓取。
图2 系统工作流程图
YOLO(You Only Look Once)的核心思想是将目标检测问题转变为一个回归问题,将整张图像作为网络的输入,通过一个神经网络直接得到目标边界框的位置与所属类别。YOLOv4 网络是由CSPNet 和Darknet-53 网络组合而成的CSPDarknet-53 特征提取网络、空间金字塔池化模块(Spatial Pyramid Poling,SPP)和路径聚合网络(Path Aggregation Network,PANet)组合而成的中间层部分、YOLOv3 的Head部分所组成。该文主要对YOLOv4 的骨干网络、PANet 网络结构进行了改进。针对骨干网络CSPDarknet-53,将最开始的3×3标准卷积层中的第一次3×3标准卷积层均替换成深度可分离卷积层。针对PANet,将所有标准卷积层均替换为深度可分离卷积层。记改进后的YOLOv4 算法为D-YOLOv4。和标准卷积操作相比,深度可分离卷积可以降低参数量,提高运行速度。
使用COCO数据集对原YOLOv4网络与改进的D-YOLOv4网络进行训练测试,得到的性能对比见表1。可以看出改进的D-YOLOv4 网络的参数量是原网络的39.05%,检测速度提高了4.6f/s,虽然mAP 减少了1.5%,但是可以满足试验实时性的需求,精度也在可接受范围之内,改进的D-YOLOv4 算法网络可以满足该文试验要求。
表1 不同模型性能比较
对于目标抓取预测,该文采用端到端的卷积神经网络模型,与检测识别类似,通过训练抓取网络模型来实现图像输入网络后直接输出预测抓取位姿。物体的位姿由矩形框的位置和方向表示,该文使用的是五维参数表示法[4],即G=(x,y,w,h,θ),其中包括预测抓取框中心点(x,y)、抓取框宽度和高度(w,y)以及抓取角度θ。其评价指标通常为预测值与真实值之间的差别。该文抓取预测网络结构如图3 所示,将改进的D-YOLOv4 网络中的D-CSPDarknet-53 作为特征提取结构。在D-CSPDarknet-53 进行特征提取之后进行SPP 模块的最大池化操作,增强感受野并输出融合的特征层。最后通过D-PANet2 模块的2 次上采样输出进行抓取预测的特征图。记构建的目标抓取预测网络为D-YOLOv4-grasp。
图3 D-YOLOv4-grasp 网络结构
图3 中的D-CSPDarknet-53 是抓取网络的特征提取部分,SPP 是池化层模块,D-PANet2 是中间层部分的路径聚合网络,DConvBNMish、DConvBNLeaky 是指改进后的深度可分离卷积层。假设以大小为608×608×3 的RGB 图像为输入,经过D-YOLOv4-grasp 抓取网络生成一个维度为76×76×128的特征图,再通过预测模块输出预测抓取框,最后通过坐标回归输出抓取坐标。
为了提高网络普适性和调节网络权重,可以采用迁移学习的方法,先利用开源数据集对D-YOLOv4-grasp 特征提取部分进行预训练,得到预训练的权重,再在Cornell grasp 抓取数据集中进行训练。将训练数据集中抓取框的4 个顶点坐标通过五参数表示法转化成抓取数据集中的真实值(X0,Y0,H0,W0,θ0)。五参数表示结果如图4 所示。
图4 五参数抓取矩形在图像中的描述
图4 中,(X0,Y0)为抓取物体中心在平面坐标系的横、纵坐标,(H0,W0)为抓取时机械臂末端执行器的开合长度与宽度,θ0为执行器与水平的夹角,[(x1,y1),(x2,y2),(x3,y3),(x4,y4)]为抓取矩形框的4 个顶点坐标。根据图4,(X0,Y0,H0,W0,θ0)的计算如公式(1)所示。
式中:X0为物体中心横坐标;Y0为物体中心纵坐标;H0为末端执行器的最大开合长度;W0为末端执行器的宽度;θ0为执行器与水平方向的夹角;[(x1,y1),(x2,y2),(x3,y3),(x4,y4)]为抓取矩形框的4 个顶点坐标。
根据公式(1)可知,为了避免出现预测框与真实框重合的情况,需要将角度值限制在-80°~80°,也可避免W0绝对竖直情况的出现。该文采集的数据集不带深度信息,在标注过程中将可成功抓取的矩形框记为正样本,不能成功抓取的矩形框记为负样本,这些可抓取、不可抓取的标记会受人类经验的影响,因此样本越多越好。
网络的训练过程,即权重的更新过程主要通过反向传播实现。要进行反向传播和优化,就要定义网络的损失函数,并通过最小化损失函数找到最优解。该文将均方差(MSE)作为损失函数,随机梯度下降法(SGD)作为优化器。损失函数的定义如公式(2)所示。
式中:Lgp_reg为损失函数;为坐标预测值;Ci为坐标真实值为角度预测值;θi为角度真实值;λ为角度加权值,该文取为10;N为样本批量。
抓取网络训练采用迁移学习的方法,先将D-YOLOv4-grasp 模型在公开数据集PASCAL VOC2007 和COCO 上进行预训练,只训练网络模型前面的特征提取部分。在预训练阶段,首先训练20 个epoch,初始学习率设为0.001,然后训练50 个epoch,学习率设置为0.0001,最后完成预训练。在抓取训练阶段,将预训练得到的权重参数作为初始值,同时开放网络所有层,使用Cornell grasp 抓取数据集进行微调训练,首先训练20 个epoch,学习率设置为0.001,然后训练50 个epoch,学习率设置为0.0001 并保持不变,最后完成抓取网络模型的训练。
试验物理样机由D-YOLOv4 目标检测算法、D-YOLOv4-grasp 抓取网络、机械臂及其控制系统,如图5 所示。
图5 试验物理样机
试验测试表明,该文研究的D-YOLOv4 目标检测算法的检测速度在试验条件下可以达到0.23s,满足实时性要求。构建的D-YOLOv4-grasp 抓取网络可以实现抓取预测,部分正确抓取预测结果如图6 所示。从图6 可以看出,无论是规则的物体(小盒子、纸巾包、喷雾瓶)还是不规则的物体(手表、牙膏、剃须刀、梳子、牙刷、护手霜),该文提出的D-YOLOv4-grasp 网络都可以较好地实现对抓取框的预测,然后通过五参数法就可以计算出抓取框的中心坐标(x,y)和抓取角度θ,再控制机械臂完成抓取。
图6 部分正确抓取预测结果
无论是规则物体,还是不规则物体,实际最佳抓取中心点位置通常都位于物体的中心轴线上,因此该文将抓取预测中心点的位置与实际抓取物体的中心轴线的最短距离定义为抓取位置偏差,将抓取预测角度与实际抓取物体角度的差值定义为抓取角度偏差。图6 所示的抓取预测结果与实际最佳抓取位置和角度的偏差见表2。
表2 抓取预测与实际抓取偏差表
根据表2 可知,对不同物体,D-YOLOv4-grasp 网络预测得到的结果与实际最佳抓取位置的平均位置偏差为0.94mm,平均角度偏差为3.78°,可以满足精度要求。
该文改进了YOLOv4 算法,以深度可分离卷积替换YOLOv4 特征提取部分及中间层的标准卷积,降低了参数量,提高了网络速度,实现了视觉工业机器人的目标快速检测。然后构建了D-YOLOv4-grasp 抓取预测网络,并通过试验研究和数据分析证明该网络可以实现目标抓取框预测。最后搭建了视觉工业机器人目标识别与抓取系统试验平台,采用该文提出的D-YOLOv4 目标检测算法以及D-YOLOv4-grasp 抓取预测网络,可以实现视觉工业机器人的目标快速识别与抓取。