结合目标检测与定位的物料抓取研究
2022-07-07肖志强周书民汪志成
肖志强 周书民 汪志成
(东华理工大学机械与电子工程学院 江西省南昌市 330013)
1 引言
在手机玻璃基板的生产过程中,需要对玻璃基板进行AOI视觉检测,玻璃基板根据不同的质量放在放置区域的放置柜中,由人工拿到检测区域进行AOI检测,工作重复性很高,并且在AOI检测过程中,工人需要等待,造成时间浪费,如果使用固定基座的机械臂进行上下料,每一个放置柜都需要配一台机械臂,还需要配备传送带进行运输,这样成本很高。为了降低成本,使用移动机械臂进行物料运送任务,玻璃基板是装在物料框中,机械臂抓取放置柜的物料,运送到AOI检测区域,在这一批物料检测的过程中,移动机械臂可以去另一个放置柜抓取物料并运送,以此往复。为了准确的抓取到物料并运送到目标区域,物料的三维坐标识别是主要问题,本文基于深度学习算法中的YOLOv5,实现物料的识别,使用两台海康威视的MV-CA032-10G10型号,焦距为6mm的相机组成双目系统来进行物料的定位。
主要工作流程为从双目相机获得左右图像后,使用训练好的YOLOv5模型进行识别,得到物料的抓取点,以左图像为基准,使用SGBM算法进行图像的立体匹配,获得视差图,得到物料抓取点的三维坐标,完成物料的三维定位。
2 YOLOv5算法
YOLOv5可以分为四个网络模型版本:YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,其中YOLOv5l是基准模型,YOLOv5x是扩展模型,YOLOv5s和YOLOv5m是预设的简化模型。他们的主要区别在于网络深度和宽度有差异,YOLOv5的结构如图1所示。
图1:YOLOv5结构
输入端(Input)是图像预处理阶段,主要包括三个部分来提升训练效率,分别是马赛克(Mosaic)数据增强、自适应锚框计算和自适应图像缩放技术。
主干网络(Backbone)主要是对图片进行下采样,提取丰富的图像语义特征,随着主干网络的加深,提取的语义信息越高级。主干网络主要包括切片(Focus)结构、跨阶段局部网络(CSP)结构和空间金字塔池化(SPP)结构,在YOLOv5中有两种CSP结构,CSP1_X在主干网络中,CSP2_X在颈部网络中,空间金字塔池化采用4种不同卷积核大小的池化层执行最大池化操作,对池化后的结果进行堆叠,完成特征融合,其主要功能是提取重要的上下文特征,增加感受野。
颈部网络(Neck)使用的是FPN+PAN网络结构,是一种多尺度目标特征融合的方法,主要用于生成特征金字塔,增强模型对不同尺度物体的检测。
预测头部(Head)组成损失函数和非极大值抑制,预测头部负责在特征图上应用锚框(anchor),生成带类概率、对象得分和矩形框的最终输出向量,生成预测结果。
2 双目视觉
双目视觉是将两个相机放在不同的位置对目标进行观察,由于两个相机摆放位置不同,目标物体在相机投影平面上的投影位置也会不同,这种投影位置之差就是视差,目标物体与两个相机的投影平面可以构成三角形平面,对相机进行标定获得两个相机之间的位置关系,再利用三角测量的方法获取目标距离。平行双目视觉模型如图2所示。
图2:双目视觉模型
图中我们将左相机的透镜光心定义为O,右相机的透镜光心定义为O,左右光心之间的距离为基线距离用b表示,两个相机的焦距用f表示,其中空间中有一点P(Xc,Yc,Zc),P点在左右相机的投影平面上的像素坐标分别为PL(X,Y)和PR(X,Y),双目视觉模型中,两相机的图像平面在同一平面上,空间点P的坐标中Y值相等,所以Y=Y,由三角关系可以得到如式(1)所示:
将P点的视差XL-XR记为d,以左相机的坐标系作为世界坐标系,利用视差值,计算得到P点在左相机坐标系下的坐标,如式(2)所示为:
因此左图像平面上的点只要在右图像上找到相对应的匹配点,可计算出视差和景深,就能求得该点的三维坐标。
相机标定要确定像素坐标系-图像坐标系-相机坐标系-世界坐标系的转换,相机投影模型如图3所示。
图3:相机投影模型
世界坐标系一般由人来定义的,它的坐标原点和方向是任意的,是用来表示场景中任意物体的位置,用坐标系OXYZ来表示。
相机坐标系是以透镜面的角度来描述物体位置的,用坐标系O-XYZ来表示,一般用来描述相机的位置。
图像物理坐标系是以图像中心建立的坐标系,用平面坐标系Oxy表示,在该坐标系中的点以毫米(mm)的物理单位来描述,其坐标原点O为相机光轴与投影平面的交点,其x轴取向右为正,y轴垂直x轴向下为正,表示的坐标(x,y)为像素在实际图片中的物理坐标。
在我国国内物品物流的运输中,从下单到收货,这对包裹的全程追踪已常态化,是对商家最基本的要求,由于跨境电商物流地区广,不能做到每个跨境物品的全程追踪,在国内,信息追踪可以实现,而当包裹出境后,由于信息水平的限制,很难对其再进行继续追踪。虽然目前在一些发达国家可以实现全程追踪,但在信息化不高的国家难以实现,大大制约了跨境交易及跨境物流的发展。这是由于电商物流企业无法与其他国家物流企业构建起物流信息共享网络,所以对出境的货物进行全程追踪服务很难实现。
图像像素坐标系是图片像素所在的坐标系,用平面坐标系O-uv表示。此坐标系的原点一般定义为图片的左上角,其uv轴别与图像物理坐标系的xy轴平行且方向一致,单位为像素,其表示的坐标(u,v)就是像素所在的行和列。
为了得到实际空间中任意一点的坐标到图像像素坐标的转换,我们需要用数学的方法来推导,在上述坐标系的基础上,设点P(X,Y,Z)为世界坐标系中的任意一点,点P由像素坐标系到世界坐标系之间的转换关系如下:
式中f为焦距,R为旋转矩阵,t为平移向量,N为相机内参矩阵,M为外参矩阵,NM为相机坐标系到世界坐标的转换矩阵。
3 实验与分析
3.1 目标检测实验
目标检测模型训练需要大量数据集,为此用相机对所需要的识别的物料进行拍摄,将拍摄好的图片进行手工标注。为了验证YOLOv5模型识别效果,在制作数据集的过程中分别拍摄了距离远近不同和相机角度不同的图片,总共制作了2000张图片作为数据集,按照9:1的比例划分训练集和测试集。训练环境CPU为Intel(R)Core(TM)I7-10750H,GPU为RTX 2060,深度学习框架为pytorch。训练epoch为300,衰减率为0.002,batch-size为16,得到最优权重。
本文使用平均精度均值(mAP)来评价模型准确性,mAP是各类别平均准确率(AP)的平均值,AP值指的是精确率(precision)和召回率(recall)组成PR关系曲线所围成的面积,实验中,训练前期损失值下降较快,随着训练轮数增,在200轮后损失降至稳定,模型收敛。得到最终物料的平均精度均值(mAP)值达到95.9%。
3.2 双目相机标定
将双目相机固定不动,确保标定板在相机视野内,不断的改变标定板的位置和姿态,在实验过程中采集多组左右标定图片,选取较好的21组图片,使用MATLAB标定工具箱进行标定,得到双目相机参数如表1所示。
表1:双目相机参数表
由表1分析可知,旋转矩阵近似于单位矩阵,标定获得的相机内参经求出的实际焦距结果与标称焦距6mm相差不大,实验标定精度较高。
3.3 物料识别与定位
为了验证SGBM的有效性,将物料放置于不同的位置,手工测量物料距离,与算法计算距离比较,以左相机光心建立坐标系,得到的距离如表2所示。
表2:实际距离与计算距离对比
目标检测的之后得到物料的矩形框,以矩形框长边一半,短边的四分之一位置的点为抓取目标点,与双目立体匹配的结果结合起来,由式得到该点三维坐标,实现物料的三维定位,将物料放置在距离相机610mm的地方,其检测结果如图4所示。根据检测结果可以看出,结合目标检测与双目视觉的物料定位效果很好,测得的距离精度很高,能够满足机械臂抓取要求。
图4:三维坐标检测结果
4 总结
综上,研究了基于目标检测算法识别物料的位置,使用双目视觉测得物料的距离,完成物料的三维定位,通过利用YOLOv5算法对左图进行检测得到物料的矩形框,然后利用SGBM算法获得抓取点的距离,算法测得的距离误差在1cm内,得到物料抓取点的世界坐标值,最终完成物料的识别与定位,通过实验表明定位精度可以满足抓取要求。