港口集装箱自主识别定位技术
2019-09-02丁小虎
丁小虎,陈 宁
(集美大学机械与能源工程学院,福建 厦门 361021)
0 引言
提升集装箱的自主搬运能力是港口设备智能化升级的主要研究方向,目前有越来越多的先进技术在港口设备智能化改造中得到应用,如视觉检测技术、防摇摆控制技术和自动导引技术等。文献[1]提出了一种基于机器视觉的集装箱装卸桥系统闭环防摇切换控制方法;文献[2]研究了基于图像处理的起重机吊装防摇晃系统;文献[3]研究了一种港口集装箱卡车的视觉自动导引停靠技术。但是传统的机器视觉检测和定位技术的鲁棒性较差,其特征提取或者特征融合等目标提取算法难以适应复杂的港口实际环境。随着深度学习技术的不断发展,该技术在物体目标检测识别等领域已逐渐代替传统视觉处理算法,成为处理图像问题的主流算法[4-7],机器视觉结合深度学习技术也将成为提升轮胎吊智能化装卸水平的突破点。目前,在物体目标检测方面,Faster R-CNN模型利用和整个目标检测网络共享卷积特征的区域建议网络RPN(region proposal network)[8],生成包含目标的候选区域,检测精度相对较高。目标定位方面,为了获取目标的三维位置信息,考虑到双目视觉系统能够适用于室外光照变化环境,并且具有高精度和非接触测量的特点,选择双目视觉系统测量与目标的距离。本文提出使用MYNT EYE D1000-IR双目摄像头作为集装箱图像采集器,研究轮胎吊下集装箱目标的识别和定位技术,首先利用Faster R-CNN模型实时判别及检测集装箱,然后通过张正友标定法[9]对双目摄像头进行标定,采用半全局立体匹配算法求解视差,并计算集装箱目标的三维信息,最后经过坐标系转换计算获得吊具中心和所有集装箱目标中心的距离,从而实现轮胎吊系统对集装箱目标装卸定位。
1 轮胎吊模拟装卸系统
轮胎吊模拟装卸系统台架结构图如图1所示,该台架可以实现手动控制小车水平移动、吊具垂直升降、吊锁开闭和集卡等基本功能。
吊具和双目视觉系统的安装位置如图2所示,吊具传感器坐标原点为Od-XdYdZd。双目视觉传感器型号为MYNT EYE D1000-IR,主要由一对基线为120 mm的平行的RGB镜头、一个惯性测量单元IMU和两颗IR红外主动光探测器组成。该双目摄像头能够以60帧/s的速率同步传送最高2560×720分辨率的RGB彩色图像,惯性测量单元可以测量和调节运动中吊具的姿态,红外主动光探测器可以通过发射的红外结构光来增加视野纹理,适用于室外以及完全黑暗环境。
2 集装箱检测系统
集装箱检测系统通过D1000-IR双目相机采集视野内的彩色RGB图像,存储含有集装箱目标在不同环境和姿态下的图像,对其中的集装箱目标进行标记,并用于训练Faster R-CNN模型,训练后的Faster R-CNN模型可以检测集装箱目标以及返回其位置的图像坐标点。
2.1 集装箱图像采集和扩增
选取8种不同船运公司的20尺(5.89 m×2.32 m×2.31 m)集装箱货柜的缩比模型作为实验图像采集目标,比例为1∶20,如图3所示。集装箱搬运的工作区域主要都是灰黑色的水泥地面,吊具的垂直运动最大高度设置为2.5 m,使用D1000-IR进行图像采集,按照不同运动高度,并考虑昼夜、雨天和雾天等天气,同时采集的图像序列涵盖边缘部分残缺和多种位姿状态等情况,共采集集装箱图像1 000张。
为了进一步增加集装箱数据集的多样性,对已采集的集装箱数据样本图像进行扩增,分别对原图像作±45°旋转变换,同时对获得的旋转图像进行椒盐噪声和锐化处理,最后对所有±45°旋转变换后的图像进行居中截取,如图4所示。
扩增后的集装箱数据集总共包含了9 000张含有集装箱目标的图像,随机选取6 750张图像(含有20 250个集装箱目标)为训练集,其余剩下2 250张图像(含有5 625个集装箱目标)作为测试集。
2.2 Faster R-CNN模型参数初始化及训练
Faster R-CNN是一种检测精度较高的深度学习模型,模型结构如图5所示。
Faster R-CNN模型通过卷积层提取目标特征映像图谱(feature map),输入给区域建议网络RPN(region proposal network),产生候选区域,再连接到感兴趣区域池化层(region pooling layer),然后将池化后的特征输入给全连接层(fully connected layer),最后通过分类器进行分类及回归,获得目标的类别和位置[8]。
采用集装箱数据集微调Faster R-CNN预训练模型的方式训练整个模型,其中预训练模型在Oxford-IIIT Pet数据集下训练获得,同时将模型训练参数中的学习率设为0.0002,批量大小设定为24,迭代次数设定为65 000。在训练过程中,对于RPN网络中每个滑动窗口,分别取4种面积尺度{492,642,1 282,2 562}和3种长宽比{1∶1,1∶2,2∶1},共组合成12个不同尺度和长宽比的锚框,在深度学习框架Tensorflow下,实现Faster R-CNN检测模型算法。
服务器平台配置:Intel(R) Core(TM) i7-7700K CPU@4.2GHz 处理器;16GB内存;1T硬盘;8GB Geforce GTX 1080 GPU。
3 集装箱定位系统
集装箱检测系统可生成集装箱目标的识别矩形包络框,取其矩形框的中心点作为装卸搬运定位点,利用集装箱定位系统可以获得该点的深度值,得到定位目标点的三维坐标后,通过坐标变换将其世界坐标位置转换到吊具坐标系下,以实现对集装箱目标的抓取。
3.1 摄像头投影关系
为了获得集装箱上一点的三维坐标与其对应像素坐标的关系,需要知道视觉系统模型的投影关系和相关参数,根据针孔相机模型可建立成像几何关系,如图6所示。图6表示视觉系统的世界坐标系{W}、摄像机坐标系{C}、图像坐标系{1}和像素坐标系{2}之间投影关系。
假设集装箱目标上某点世界坐标值为(Xw,Yw,Zw),在像素坐标系中的坐标是(u,v),可得到成像模型齐次坐标投影变换关系:
(1)
式中:fx、fy为尺度因子;cx、cy为图像中心与原点偏差像素数;R为旋转矩阵;T为平移矩阵;M为摄像头的投影矩阵。其中:M1为摄像头的内部参数矩阵;M2为摄像头的外部参数矩阵。
3.2 双目相机标定及匹配
3.2.1 双目相机标定
为了获取相机模型的对应参数,采用Stereo Camera Calibrator Toolbox工具对D1000-IR双目相机进行标定。在标定板上选取世界坐标系(Zw=0),标定板采用的是8×8黑白相间的正方形棋盘格,每个正方形边长为28 mm。确保足够的光照后,调整标定板的姿态,并采集20组左右标定板图片,其标定重构结果如图7所示。
在确定双目摄像头的内部参数后,即可进一步求出外部参数矩阵M2的旋转矩阵R和平移矩阵T,如下所示:
由标定结果可知,两摄像头之间存在径向畸变,双目视觉系统能够满足光轴平行的理想状态。
3.2.2 双目立体匹配
半全局立体匹配SGM (semi-global matching) 算法是一种稠密立体匹配方法[10],本文采用SGM算法对双目图像进行立体匹配,SGM算法具有较好的鲁棒性,使用双目相机的GPU处理器加速可以取得比较高的计算效率,主要算法步骤如下:
1)利用Census变换[11]计算匹配代价值,即将集装箱图像局部窗口区域的中心像素灰度和邻域内像素灰度映射为一个比特串,然后将映射得到的比特串来代替中心像素的灰度值。其变换公式如下:
(2)
(3)
其中:I(u,v)—集装箱图像中心(x,y)的灰度值;I(u+i,v+j)—图像坐标(u+i,v+j)的灰度值;ξ(Ip,Iq)—比特位,像素点p、q的灰度值Ip和Iq比较运算;Cs(u,v)—集装箱中心像素的点(u,v)的Census的变换码;l—1/2局部图像窗口宽度;r—1/2局部窗口高度;⊗—位串联符。
集装箱场景图像经过Census变换后,根据汉明距离相似性测度函数[12]计算匹配代价,其公式如下:
C(u,v,d)=Hamming(Csl(u,v),Csr(u-d,v))。
(4)
式中:Csl(u,v),Csr(u-d,v)分别为集装箱左图像和右图像的Census的变换码;C(u,v,d)为匹配代价值;d为左、右图像横坐标像素点的差值。
2)由于代价计算只考虑局部相关性,无法直接获得视差,通过匹配代价聚合,可以使计算得到的匹配代价值更准确地反应像素相关性。代价聚合采用大小固定矩阵窗口策略,计算窗口内的聚合代价,
(5)
式中:m—聚合窗口的宽度;n—聚合窗口的高度;
利用公式(5)求出聚合代价之后,计算集装箱图像的每个像素点坐标对应的视差
(6)
3)对视差图进一步优化处理,采用唯一性检测方法剔除错误视差,并通过中值滤波的方法来抑制图像噪点。
3.3 目标深度坐标计算
轮胎吊模拟装卸系统通过卷扬系统的钢丝绳连接吊具和平移小车,吊具和平移小车的位置相对平行,MYNT EYE D1000-IR左右摄像头的距离相对固定且与光轴平行,原理如图8所示。图8中双目视觉系统以左摄像头为原点建立左摄像机坐标系O-XYZ,并令世界坐标系与其重合,左摄像头的图像像素坐标系O1-ulvl,右摄像头的图像像素坐标系O2-urvr;f为双目摄像头的焦距;b为基线距离;H0为平移小车和吊具之间的高度;集装箱上的某点P(XQ,YQ,ZQ)在左右摄像头图像像素坐标系的对应点分别是Pl(ul,vl)和Pr(ur,vr)。根据相似三角形的几何关系易得:
XQ=[ul/(ur-ul)]·b,
YQ=[vl/(ur-ul)]·b,
ZQ=[f/(ur-ul)]·b。
3.4 世界坐标系转换为吊具坐标系
集装箱检测和定位系统在确定集装箱目标和所在位置后,将信息发送给吊具抓取系统。由于双目摄像头安装在吊具抓取系统上,所以在对集装箱的装卸过程中摄像头会随着平移小车水平移动和卷扬升降而运动。又因为抓取时只考虑集装箱目标和吊具的相对位置,所以在吊具上的双目系统完成对集装箱的三维测距后,需要将结果由双目摄像机的世界坐标系转换到吊具坐标系。
实验过程中,双目摄像头安装在吊具的正中间,所以吊具坐标系的原点选在双目摄像头的中点处。对双目摄像头原始标定时,标定板和吊具平面平行,所以旋转矩阵近似为0,左右摄像头初始标定的外参的平移矩阵分别是T1(txl,tyl,tzl),T2(txr,tyr,tzr),所以左右摄像头相对于原始世界坐标系的坐标分别为(-txl,-tyl,-tzl)和(-txr,-tyr,-tzr),可得吊具坐标系原点相对于原始世界坐标系的坐标为(-(txl+txr)/2,-(tyl+tyr)/2,-(tzl+tzr)/2)。
集装箱在世界坐标系的某点P(Xw,Yw,Zw),则可得该点在吊具坐标系下P′(Xd,Yd,Zd)坐标的转换关系:
(7)
4 结果与分析
4.1 集装箱目标识别实验
为检测Faster R-CNN算法对集装箱识别的准确性,本文进行了集装箱识别实验。图9是Faster R-CNN的网络训练损失函数值变化曲线图,训练迭代次数到5万次后,损失函数值基本保持稳定,提取训练的模型文件,对集装箱的图像帧进行检测识别。
将不同类别的集装箱箱体随机放在轮胎吊工作区域内,使用Faster R-CNN模型进行检测识别,Faster R-CNN模型使用矩形框将所有集装箱目标包络起来,并在其矩形包络框上方显示检测到的集装箱的名称和准确度,同时根据包络框的位置可以确定集装箱中心点在整个图像中的位置,如图10所示。
本文将正确识别集装箱目标个数和错误识别集装箱目标个数作为识别准确率的标准,集装箱错误识别包括漏识别和误识别两种情况。统计2 250张集装箱测试集图像,共有5 625个集装箱目标,集装箱检测识别统计结果如表 1所示。5 625个集装箱中有5 468个集装箱被正确识别,识别正确率为 97.21%,错误识别的集装箱个数为157个,识别错误率为2.79%,其中漏识别29个,误识别128个。
表1 集装箱测试集检测结果统计
4.2 双目深度定位实验
本文采用Faster R-CNN和基于SGM的双目立体匹配算法组成的轮胎吊双目Faster R-CNN系统,进行集装箱的定位实验,控制吊具在距离集装箱目标400~2 000 mm范围内进行测量实验,其中双目深度定位测距率如图11所示。
根据矩形框位置确定集装箱目标中心点二维位置坐标点后,同时由双目定位系统可获得其目标矩形框中心点深度坐标信息,中心点的坐标代表集装箱目标的图像坐标,在吊具坐标系下,识别定位图像坐标原点转换到其图像正中央,如图12所示,图12(a)为彩色图像,图12(b)为深度图像,图中集装箱的图像坐标深度分别是Z1=1246.37 mm,Z2=1139.48 mm,Z3=1246.90 mm,同时根据公式(7)计算得到吊具坐标系原点和集装箱目标识别矩形框的直线距离分别为1250.79 mm,1158.73 mm和1278.95 mm。
4.3 系统性能分析
表2和表3分别是系统误差和实时性能分析,集装箱检测系统识别单帧图像耗时0.027 s,集装箱定位系统进行一组左右图像匹配耗时0.0065 s,整个识别和定位系统对双目左右图像进行一次图像匹配和各一次集装箱目标检测,总共耗时0.035 s(~30帧/s)。分析表明,该系统精度和实时性可以满足实际工作的要求。
表2 集装箱坐标值平均误差Tab.2 Average error of container coordinate value定位坐标Location coordinate误差Error/%水平坐标XHorizontal coordinates1.23垂直坐标YVertical coordinates0.94深度坐标ZDepth coordinates1.18表3 系统处理速度Tab.3 Processing speed of system系统System耗时Time/s整个系统Entire system0.035检测识别模块Detection and recognition module0.027双目定位模块Binocular positioning module0.0065
5 结论
本文基于轮胎吊装卸模拟系统台架设计了一套集装箱三维自动识别和定位系统,系统利用双目摄像机实时检测识别作业场景内的集装箱目标,并准确计算集装箱的三维空间定位信息。在该系统中,本文引入了一种基于Faster R-CNN的集装箱目标识别模型,并设计和制作满足数据多样性要求的集装箱图像数据集来训练该目标识别模型,通过调整训练参数实现了模型网络收敛,同时使用GPU处理器加速集装箱目标检测模型算法和SGM双目匹配算法,最终系统展现了对集装箱目标识别定位的鲁棒、实时和稳定检测的优良性能。本文将双目视觉和深度学习技术同时应用在港口装卸中,实现了对集装箱的自动三维识别与定位。