APP下载

基于深度学习的目标识别与抓取研究*

2024-02-10申光鹏苗鸿宾苏赫朋

制造技术与机床 2024年2期
关键词:标定注意力机械

申光鹏 苗鸿宾② 余 浪 苏赫朋

(①中北大学机械工程学院,山西 太原 030051;②山西省深孔加工工程技术研究中心,山西 太原 030051)

在当下人工智能技术快速发展以及产业快速增长的时代,机械臂以其自由度高、工作空间大等特性,被广泛用于特征异构的个性化产品装配和物流等生产过程中,为生产效率的提高发挥着越来越重要的作用[1]。而机械臂最重要的工作环节就是抓取环节,如货物分拣、物流分拣、工业生产等任务,因此机器人抓取问题受到了学者的广泛关注[2]。

当前工业抓取上的许多机械臂大多被应用在点到点之间的操作[3],在单一的环境下进行简单的重复性抓取作业。如果作业环境变为较复杂的作业环境,例如抓取对象位置变化、抓取对象状态变化等,这时就需要重新调整部署机械臂,每一次重新部署都会消耗人力物力[4]。所以如何让机械臂能自主准确快速地获得抓取目标物体的位置是一项非常值得研究的问题。随着深度学习以及视觉检测的深入发展,研究者发现可以通过深度学习结合视觉技术来解决机械臂的复杂抓取问题。

Lenz I 等[5]首次将深度学习应用到机械臂的抓取研究中,提出了一个具有两个深度网络的两步级联系统,此方法虽然在Cornell 抓取数据集上获得了73.9%的抓取准确率,但是速度很慢,处理一张深度图像的时间在10 s 以上。Mallick A 等[6]通过深度卷积神经网络进行语义分割实现目标的检测与抓取,在基于RESNET 的语义分割中,目标被精确地分割出来,并且不存在之前产生冗余的矩形形状相关误差,与单目标检测器算法(YOLO)相比,该算法的检测精度几乎提高了一倍。该项工作虽然高效,但是同样耗费时间。孙先涛等[7]采用通道注意力机制对YOLO-V3 进行算法改进,增强了对图像特征的提取能力,提高了识别率,同时引入最小面积外接矩形算法,对抓取位姿和角度进行优化,提高了抓取效率,减小了抓取过程中产生的有害扭矩。Anjum M U 等[8]通过建立数学关系来估计目标到机械手坐标系的位置,同时提出一种减少误差的方法,即捕捉多个图像并逐渐向目标中心移动,该方法目标定位精度达到 99.785%,误差减小到2 mm,可以有效地应用于机器人操作机。Morrison D 等[9]提出了一种新颖的方法来执行对象独立的抓取合成从深度图像通过深度神经网络,将杂乱中的整体抓取成功率提高了10%,但是速度明显下降。

从整体来看,机械臂抓取在工业生产中仍存在由于复杂作业环境、不同零件之间存在干扰等许多问题造成的不确定性以及不稳定性,因此本文提出了一种基于深度学习的目标识别及抓取方法,来减少抓取场景中物体位置的不确定性,提高检测准确率和抓取成功率。本文抓取系统如图1 所示。

图1 抓取系统图

(1)使用张正友标定法[10]获取相机参数,之后确定电动夹爪的末端中心,用手眼标定的方式得到相机与机械臂末端夹爪之间的关系,由于实验平台是眼在手上(eye-in-hand)的方式,因此还需要获得标定板与机械臂底座之间的关系,最后得到机械臂与相机之间的坐标转换关系矩阵。

(2)在图像处理阶段,首先对要输入的图像进行预处理,将处理后的数据传输到采用CBAM[11]模块改进的YOLO-V5 目标检测网络对目标物体进行检测。

(3)PC 端与机械臂建立通信,实现目标的识别及抓取动作。

1 目标识别

自从卷积神经网络(region proposals convolutional neural networks,R-CNN)[12]的概念被提出,由于其在视觉任务上的优秀属性,基于卷积神经网络的目标检测算法开始了快速发展,先后出现了Fast R-CNN[13]、Faster R-CNN[14]、Mask R-CNN[15]等先区域推荐然后识别的两阶段检测算法以及YOLO系列的直接预测结果输出的一步目标检测算法。同时,目标检测算法与深度学习的结合使得目标识别在准确度和速度方面也有极大的提高。

1.1 YOLO-V5 算法

自Redmon 提出YOLO 算法以来,该算法不断被优化,其检测准确度和速度都在不断上升。

YOLO 有端到端的网络结构特性,其区别于之前的候选区域推荐和预测结果优化的两步检测方法,具有输入一张图像直接预测结果的特性,并且最大的特性就是检测速度较快。2020 年Jocher 提出了YOLO-V5 算法,将CSP1_X 结构应用于Backbone主干网络,另一种CSP2_X 结构则应用于Neck 中,加强网络特征融合的能力。图2 所示为YOLO-V5的网络结构图。

图2 YOLO-V5 结构图

1.2 算法优化

现在的YOLO-V5 检测模型已经拥有了很好的检测精度和检测速度,但是依然有着改进空间。在目标识别中,如何让检测模型更快更好地识别图像的特征并将之提取出来十分重要。本文在YOLOV5 检测模型中引入一个轻量级的卷积注意力模块CBAM,该模块同时在通道和空间两个维度上引入了注意力机制,在不显著增加计算量和参数量的前提下能提升网络模型的特征提取能力。

由图3 可知,CBAM 由输入、通道注意力模块CAM(channel attention module)、空间注意力模块SAM(spartial attention module)和输出组成。

图3 CBAM 结构图

图4 所示为通道注意力机制结构。通道注意力机制结构首先将输入的特征图经过两个并行的平均池化层和最大池化层,将特征图的高和宽变为1,然后经过Share MLP 模块,在该模块中,先压缩通道数,然后再扩张到原通道数,经过ReLU 激活函数得到两个激活后的结果。将输出的两个结果进行逐元素相加,再经过一个Sigmoid 激活函数特征加权得到输出结果,最后乘以原图变回原来的大小。

图4 通道注意力机制结构

图5 所示为空间注意力机制结构。空间注意力机制结构首先经过两个并行的平均池化层和最大池化层突出特征区域,得到两个1×H×W的特征图,接下来经过一个卷积层卷积变为1 通道的特征图,再由Sigmoid 函数归一化得到新的特征图,并生成空间注意力矩阵。最后经过加权操作为特征图增加空间注意力,得到新的特征图。

图5 空间注意力机制结构

如图6 所示,为了更好地加强改进后网络的特征提取能力,本文将CBAM 模块加入到原网络Backbone 部分的C3 网络结构中,形成了新的C3_CBAM 网络结构。相较于单纯的C3 网络,添加CBAM 模块的C3_CBAM 网络,优点在于引入了注意力机制,可以使网络加强对图像的关注能力,提高特征提取能力,从而提升检测效果。

图6 网络结构对比

2 机械臂抓取模型

2.1 五维抓取框

机器人想要准确地抓取目标物体,首要条件就是获取待抓取物体的位姿信息[7]。现位姿表示方法多以3 自由度以及6 自由度为主,由于本文仅涉及平面工作台上的目标物体的识别及抓取,因此本文采用Redmon J 等提出的机器人抓取参数表征方法,通过5 个参数来确定抓取框图[16],该方法由3 自由度扩展而来,如图7 所示。

图7 抓取框图

五维抓取位姿的函数表示方法如下:

式中:(x,y)为矩形的中心; θ为矩形相对于水平轴的方向;h为高度;w为宽度。

2.2 抓取位姿估计

抓取位姿算法本质是使用主干网络对于输入的图像进行特征提取,然后对目标抓取的{x,y,w,h}信息做回归预测以及抓取角度做预测[17]。

结合实际情况,本文使用的抓取位姿估计算法是对单个目标进行位姿估计的单层网络,主体为VGG-16 网络[18],有13 个卷积层和3 个全连接层。抓取网络结构图如图8 所示。

图8 抓取网络结构图

3 实验设计及分析

3.1 目标检测

本文目标检测所采用的数据集是基于VOC2012格式的自建数据集进行目标检测训练,一共选取了8 个类别,分别为“apple”“box”“screwdriver”“scissors” “pincers ” “stapler ” “hammer”“key”。本文共采集了960 张图像进行目标识别,其中900 张用于训练模型,剩余60 张图像用于测试。图9 所示为检测类别图。

图9 检测类别图

本文目标检测主要采用的配置为:使用基于Windows 下的Pycharm 编译软件进行开发,环境配置主要为Python 3.9,使用Pytorch 深度学习框架,torch 版本为2.0.1+cu118,torchvision 版本为0.15.2+cu118。迭代次数epoch 为300 次。在训练之后得到训练权重,利用该权重文件对输入的图像进行检测,得到输出的预测结果和种类,以及两个网络特征图的对比,如图10 所示。

图10 检测结果图

经计算得知,相比于改进前,加入CBAM 机制模型的网络检测的平均识别精度(mean average precision,mAP)从88.62% 增加到93.88%,提升了5.26%,同时可以清楚地看到集成了CBAM 的网络对于特征图的提取相比之前的方法更优秀。

本文提出的算法与Lenz I 等[5]的算法、YOLOV3[7]、YOLO-V3 改[7]、Morrison D 等[9]的算法、YOLO-V5 等5 种算法进行对比,对比指标为平均识别精度和检测速度,对比结果见表1。

表1 算法对比表

由表1 结果可以得出,本文所提出算法平均精度与文献[5]的基本持平,但是检测速度方面领先了约13 s。与其他算法相比,平均精度分别提高了1.55%、1.23%、5.88%、5.26%,同时在速度方面并没有出现明显劣势,表明了本文所改进的检测模型有着较好的应用前景。

3.2 机械臂抓取实验

本文所使用的机器人抓取系统主要包括AUBOi5 工业机器人、海康工业相机、PC 端、平行夹爪、KWR75 六轴力传感器等。系统整体图如图11 所示。

图11 系统整体图

PC 端连接真实工业机器人和相机,进行图像处理以及配合机械臂进行抓取工作。在抓取实验中,机械臂须获得目标物体的坐标信息,而机械臂是没办法直接使用相机获取到的目标位置信息。想要实现机器人目标的抓取,就必须得到机器人末端坐标系和相机坐标系之间的转换关系,即手眼标定。

本文实验平台的相机装在机械臂末端,采用eye-in-hand(图12)的方法进行手眼标定。

图12 eye-in-hand

由于目标工件放置在二维平面的平台上,因此选择更方便的九点标定法,这种手眼标定方法是基于仿射变换的标定方法,实际标定仅需要目标工件相对工业机器人的基坐标系的二维坐标即可,较为方便且适合本文的标定模型。九点标定法通过仿射变换构建相机坐标系和工业机器人末端坐标系之间的坐标转换关系,其中仿射变换主要包括缩放、旋转、平移3 种变换方式,原理如下:

式中:u、v为相机像素坐标;x、y为工业机器人末端坐标; β为旋转角度,Sx、Tx分别为x轴方向的缩放因子和平移系数,对应的Sy、Ty为y轴的相应系数。

对式(2)进行变换可得:

由式(3)可以看出,只需要获得三组像素坐标和工业机器人末端坐标数据即可得到它们的映射关系,但是考虑到误差因素的影响,一般选取九组数据完成标定,再用最小二乘法求解各个未知参数以优化提高标定精度。经过标定实验之后,通过计算得到的机器人坐标和实际机器人坐标之间的误差在0.1 mm 以内,可以满足抓取实验的要求。在完成标定以及坐标系的转换之后,电脑获得数据然后对机械臂进行控制,进行对目标物体的抓取。图13 所示为抓取实验。

图13 抓取实验

抓取实验在3 种不同的光照环境下进行,来验证改进后的方法对不同光照环境的适应性。3 种环境下的光通量大约为426 流明、267 流明、96 流明,来验证改进后的方法对不同光照环境的适应性。抓取场景分别为在没有杂物干扰和堆叠的情况下,以及在有杂物干扰和堆叠的情况下。本文在两种抓取场景中分别进行了多次检测和抓取实验。

由表2 可明确看出,在进行实际抓取的实验中,添加了CBAM 模块的YOLO-V5 检测模型在抓取平台上进行抓取实验时的平均检测准确率相比较原YOLO-V5 模型抓取实验的准确率提高了约4.1%。

表2 实验抓取结果

4 结语

针对机械臂在工业生产中的复杂抓取作业环境,本文提出了基于深度学习的目标检测及机械臂抓取方法。

(1)经实验验证,在加入CBAM 模块后的YOLO-V5 目标检测模型,在复杂抓取的作业环境下有更好的检测效率,相较YOLO-V5 的识别率提高了5.26%。

(2)实验结果表明,添加了CBAM 模块的YOLO-V5 检测模型在抓取平台上进行抓取实验时的平均检测准确率,相较原YOLO-V5 模型抓取实验的准确率提高了约4.1%。

(3)本文没有提及具体抓取优化改进及抓取后的装配问题,后续可在此方面深入研究。

猜你喜欢

标定注意力机械
让注意力“飞”回来
使用朗仁H6 Pro标定北汽绅宝转向角传感器
调试机械臂
简单机械
“扬眼”APP:让注意力“变现”
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
船载高精度星敏感器安装角的标定
A Beautiful Way Of Looking At Things
按摩机械臂
基于Harris-张正友平面标定法的摄像机标定算法