基于深度学习和机器视觉的多源数据感知技术研究
2021-06-18张俊豪罗国富杨幸博李亚为张宁波
张俊豪,罗国富,杨幸博,李亚为,张宁波
(郑州轻工业大学 机电工程学院,河南 郑州 450002)
0 引 言
机械臂是一个强耦合的复杂系统,能够代替人工在未知环境以及危险环境中工作,是现代机械设备自动化、智能化、无人化的主要表现[1]。机械臂运行灵活便捷,故受到诸多行业的青睐,在工业装配、煤矿开采等领域应用广泛。在机械臂实际控制过程中,需要采集其末端位姿运行数据提交至机械臂控制端,以完成不同目标物抓取任务[2]。因此,精准感知机械臂位姿数据是顺利完成工作任务的基本保障。但单传感器采集的机械臂数据源难以完整表达目标物准确信息,多传感器已逐渐成为机械臂数据采集的主流方向[3]。
深度学习是机器学习的关键研究方向之一,通过学习大量样本的内在规律与表示层次,形成具有像人脑一样的数据分析能力,其在图像信息识别、图像信息融合领域的应用性能得到广泛认可[4-5]。为此,本文将深度学习算法与机器视觉技术结合,基于深度学习算法感知多个视觉传感器采集的机械臂位姿数据:基于多摄像机采集机械臂及其目标物图像,以提高位姿数据采集的精度;利用卷积神经网络构建深度学习模型,对多摄像机采集的多源数据进行融合,得到机械臂图像的坐标信息;结合机械臂位姿视觉模型与机械臂图像坐标信息运算得到机械臂末端位姿数据,为精准设置机械臂运行轨迹、控制机械臂行为提供数据基础。
1 基于机器视觉技术的机械臂多源数据采集
1.1 机械臂位姿数据采集方案布局的构建
单摄像机采集机械臂的运行位姿数据时,易受相机校正误差、障碍物遮蔽、图像噪声等内外因素影响,导致位姿数据采集误差较大,所以本文使用多相机采集机械臂的目标物图像,以获取高精度的机械臂运行位姿数据。设计的多摄像机机械臂位姿数据采集方案布局如图1所示[6]。方案中,摄像机A安装在机械臂上部,与机械臂为平行关系,能够直接采集机械臂正前方目标物(M1)图像;摄像机B安装在机械臂末端的左侧,负责采集机械臂末端左侧的目标物(M2)图像,M2位于机械臂末端执行器左侧;带箭头曲线用来描述两个物体间的位姿。该布局中已知数据有:机械臂、目标物、摄像机的初始坐标值。
图1 基于多摄像机的机械臂位姿数据采集方案布局
(1)
(2)
(3)
式中:g1、g2分别为摄像机A与摄像机B的坐标;k1、k2分别为目标物M1与目标物M2的坐标;a为机械臂末端的坐标。
摄像机标定期间给定了部分机械臂位姿信息,其余未知信息需要通过摄像机视觉原理计算得到。定义目标物中的一个特征点为i,i在摄像机坐标系中的位姿描述为
(4)
式中,fi为焦距。
基于上述理论分析可求出图像坐标信息,即可得到机械臂末端的位姿数据。
1.2 机械臂原始数据采集与处理
1.2.1 机械臂数据采集
CCD相机采集机械臂图像数据之前需要进行参数标定,以保障采集图像坐标的精准度;采集图像过程中,相机需要将真实三维空间中的点坐标转换为二维平面点坐标,才能将三维空间信息呈现在二维图像中。
(1)相机标定。CCD相机的标定原理是求取焦距、主点坐标等相机内部参数,对相机进行正确设置,从而得到拍摄精准的图像采集效果。相机标定过程中,首先需要设定相机内部参数不变、外部参数发生变化;其次,采集多幅二维平面靶的多方位图像,依据平面靶与平面图像之间的点对应关系,求得相应的矩阵信息;最后,根据得到的内部参数约束表达式,基于非线性优化算法即可求解出相机的内部参数,完成相机标定。具体实现过程如下。
(6)
式中:R、t分别为相机外部参数旋转矩阵与平移向量;s为随机尺度因子,取值不能为0。
基于上述变量,定义相机内参数矩阵为
(7)
式中:(u0,v0)为相机标定的主点坐标;ω1、ω2分别为横向与竖向的等效焦距;δ为图像坐标系的偏斜程度。
解算出内参数矩阵后即可得到精准的相机标定结果,完成CCD相机标定。
(2)相机坐标值转换。机械臂数据采集通过CCD相机完成,可通过式(8)将真实世界三维空间中的一点转换为投影图像平面的一点,
式中:P(XW,YW,ZW)为三维空间中的点;p(u,v)为三维空间中的点转换到二维图像平面时的坐标;ax、ay、u0、v0分别为相机的内部参数;A、A1分别为内外参数矩阵;s为随机尺度因子,为常数项,但取值不能为0。
经过相机标定与相机坐标值转换后,即可使用CCD相机采集精准的机械臂及其目标物图像数据。
1.2.2 机械臂数据预处理
机械臂位姿数据计算精度受诸多参数精度影响,包括摄像机校准和图像噪声等,因此需要对CCD相机采集的图像进行灰度调整、图像去噪、图像增强等预处理,以优化图像融合的精准度。摄像机预设期间需要调整好曝光时长、光圈大小、光源等因素,以很好地避免对比度低、色度不均匀等问题。图像的去噪与增强需要在图像采集后处理,首先采用中值滤波算法解决图像噪声问题,该方法去噪原理是中值滤波器利用排序完成的中值像素取代初始像素。去噪公式为
(9)
式中:λ(i,j)为新的图像像素点;f(i,j)为原始图像像素点;F、Q分别为邻域内坐标与邻域像素数量。
其次,参考沈磊等[9]提出的反锐化掩模法来增强图像效果,该方法优势是重点刻画图像的高频分量,降低低频分量,由此得到清晰的图像效果,图像增强公式为
g(x,y)=f(x,y)+α[f(x,y)-f′(x,y)], (10)
式中:α为增强系数;f′(x,y)、f(x,y)分别为低频分量与原始像素值。
机械臂图像经过去噪和增强处理后,清晰度大幅度提升,有效降低了后期目标点识别的难度,优化了深度学习模型进行数据融合的效率。
2 基于深度学习模型的机械臂运行多源数据感知
本文使用多摄像机采集的图像数据,有助于优化机械臂位姿数据采集精度。但是来自不同摄像机传感器的信息复杂多变,为此使用高性能的深度学习模型对图像信息进行数据融合。信息融合后可精准体现图像坐标信息,结合机械臂位姿视觉模型求解目标物和机械臂末端执行器间的平移向量、旋转矩阵等多项位姿数据,即机械臂运行过程中的位姿数据。
2.1 机械臂多源数据融合的深度学习模型构建
2.1.1 学习样本准备与模型构建
预先需准备大量关于机械臂的目标物图像视觉数据作为卷积神经网络模型学习的样本,每幅图像中均具有6个特征点,便于学习模型识别特征点的位置,得到特征点在图像平面上的坐标,判断图像的坐标信息[10]。原始图像库中的图像规模不足,难以满足卷积神经网络学习需要,因此基于平移、旋转、翻转、变换尺度等方式,对图像库进行扩充,最后得到具有12 000幅目标物图像的学习样本,样本均符合卷积神经网络学习的标准。
为降低模型的过拟合现象[11-12],构建的机械臂多源数据融合深度学习模型采用5层卷积层、4层最大池化层以及3层全连接层,其结构如图2所示。
图2 多源数据融合的深度学习模型
深度学习模型构建完成后,需要对网络进行学习,目的是优化网络的卷积核W和偏置b等参数,提升模型融合数据的性能。
2.1.2 深度学习模型参数优化
卷积神经网络每次学习都是网络参数纠正误差的过程,模型参数越优,模型对目标学习得越透彻,图像坐标信息的提取越精准[13-14]。定义图像训练集名称为{(x1,y1),…,(xm,ym)},训练样本数量为m个。基于批量梯度下降法优化深度学习模型参数,训练卷积神经网络。卷积神经网络模型中每个训练样本均存在一个代价函数[15],即
(11)
式(11)描述的是单个训练样本的代价函数,那么m个训练样本的代价函数为
(12)
使用梯度下降法优化模型参数则需要按照式(13)与式(14)更新卷积神经网络的卷积核W与偏置b:
(13)
(14)
式中,υ为学习率。
梯度下降算法优化卷积核W和偏置b的伪代码如下(单次批量梯度下降法的单次迭代步骤):
(1)定义变量ϑ的全零向量(或矩阵),则存在ΔW(ϑ):=0、Δb(ϑ):=0,其中Δb(ϑ)、ΔW(ϑ)分别表示向量与矩阵。
(2)当取值在1~m之间时,基于反向传播算法求∇W(ϑ)J(W,b;x,y)、∇b(ϑ)J(W,b;x,y)。
(3)分别求取ΔW(ϑ):=ΔW(ϑ)+∇W(ϑ)J(W,b;x,y)、Δb(ϑ):=Δb(ϑ)+∇b(ϑ)J(W,b;x,y)。
循环使用上述梯度下降法进行迭代,降低代价函数J(W,b),优化深度学习模型的卷积核W和偏置b,从而得到高性能的深度学习网络模型。
2.2 机械臂多源数据感知实现
基于训练完成的卷积神经网络深度学习模型进行多源图像数据融合,步骤如图3所示。
图3 深度学习模型的数据融合步骤
Step1:将摄像机A与摄像机B采集的机械臂及其目标物图像数据分别输入至训练完成的深度学习融合模型中。
Step2:图像预处理。基于1.2.2节描述的图像预处理方法对图像进行灰度调整、图像去噪、图像增强等预处理,降低图像数据融合难度。
Step3:图像特征点提取。基于SIFT算法提取图像的特征点,作为图像配准的基础。
Step4:图像数据配准。基于图像特征点配准的两个相机从不同视角采集图像。
Step5:图像数据融合[16]。深度学习模型通过先前样本数据训练中学习到的机械臂图像样本数据内在规律和表示层次,利用现有数据特征,解算出图像坐标信息。
Step6:图像数据融合精度评估。预设图像配准精度值,判断当前图像配准效果是否符合预设精准度,达标后输出有效数据;反之,回到Step3,继续执行运算步骤。
Step7:输出符合标准的精准图像坐标信息,结合机械臂位姿视觉模型进行运算,得到机械臂的运行位姿数据。
3 实验验证
为验证本文多源数据感知方法用于机械臂运行数据采集的有效性与优越性,以本文方法构建深度学习网络模型展开多源数据感知实验。实验平台搭建如下:(1)实验进程控制与数据处理的计算机为4 GB内存,3.2 GHz主频;(2)图4为实验机械臂全景,按照图1方案对机械臂进行摄像机、目标物布局;(3)实验平台中摄像机型号为DMK33G618 CCD相机,采集图像分辨率为640像素×480像素,采样速率可达60 帧/s,摄像机A与机械臂使用可同步转动的支架实现连接,摄像机B使用固定支架放置于机械臂左侧。
图4 实验现场图
实验准备12 000个目标物图像训练样本,通过平移、旋转等方式扩充目标物图像规模。深度学习数据融合模型训练完成后,将本次实验采集的测试图像数据样本输入到模型中,即可得到图像的坐标信息,结合机械臂位姿视觉模型,进一步求解目标物和机械臂末端执行器间的平移向量、旋转矩阵等位姿数据。
3.1 多源数据感知的准确度测试
为机械臂预先设置6个不同姿态(以旋转矩阵位姿为例),基于本文方法感知机械臂运行的位姿数据,实际预设位姿数据与本文研究方法感知数据情况如表1所示。
表1数据显示6次测试过程中,本文研究方法感知机械臂仰俯角、偏航角、翻滚角的最大误差值分别仅为0.37°,0.53°,0.58°,均小于0.6°,所以本文方法采集机械臂位姿数据误差较小、可靠性较强。
表1 预设位姿数据与测试位姿数据比较
3.2 多源数据感知的抗噪性能测试
为验证本文方法感知多源数据的抗噪性能优势,在测试图像中增加不同程度的噪声,噪声添加的5种水平如下:(1)均值为0、方差为0.5像素;(2)均值为0、方差为1.0像素;(3)均值为0、方差为1.5像素;(4)均值为0、方差为2.0像素;(5)均值为0、方差为2.5像素。使用本文方法对不同噪声水平下的图像样本各测试80次,计算旋转矩阵、平移向量的准确值与本文方法测试所获取的值之间的差值,即可得到本文方法的绝对误差,如表2所示。
表2 本文方法感知机械臂多源数据的绝对误差
表2数据显示,不同噪声水平下,噪声方差越大,本文方法感知数据的误差越大,但直至图像噪声方差增加至2.5像素时,本文方法测得机械臂的仰俯角、偏航角、翻滚角与平移向量的相对误差仍不高于2%。由此可见,本文方法感知机械臂位姿数据的抗噪性较好,即使图像噪声方差达到2.5像素水平,仍然可以获得精确的运行位姿数据。
4 结 论
本文结合机器视觉与深度学习技术提出一种新的机械臂运行位姿数据感知方法,可为规划机械臂工作路线、精准控制机械臂行为提供准确的数据基础。本文方法实现数据感知有两点优势:
(1)利用多摄像机采集机械臂及其目标物图像信息,解决了单摄像机视野局限的问题,为全面采集机械臂图像数据打下基础;
(2)基于卷积神经网络构建多源数据深度学习模型,使用批量梯度下降法优化卷积核W和偏置b二个参数,得到能够深度刻画图像特征的深度学习模型,大幅提高了多摄像机传感器信息融合的精准度与性能。