罗 健,罗亚波
(武汉理工大学机电工程学院,武汉 430070)
随着现代科技的发展和民众生活水平的提高,物流行业中的包裹数量与日俱增,为了保护产品不被损坏以及便于包裹的二次转运,很大一部分包裹采用包装箱的方式对产品进行包装,因此亟需快速而精确地测量包装箱方法,用以提高物流系统的效率、减少包裹收存转运空间[1]。以快递行业中常见的包装纸箱为例,快速有效的测量方法能够使其在集装与转运时存储空间的使用率达到最大化,从而降低物流企业的运输成本。
目前,在物流系统中常用的测量方式包括人工测量、光波或声波测量以及辅助机械装置测量等[2]。人工测量方式测量效率低下,测量精度尚可,但容易受工人作业疲劳等因素的影响;光波或声波测量方式,如红外测量,通过将红外传感器放置于指定位置,当测量对象在工作范围内时,计算传感器发射与接受红外线的时间差,计算出当前对象的尺寸,该类方法精度达到毫米级,但对测量环境要求较高,当光波或声波发生折射与漫反射时,导致测量结果有较大误差;辅助机械装置测量方式采用设计的辅助机械结构装置,对不同尺寸的被测对象进行尺寸约束达到测量的效果,因其尺寸大小的设计有限,无法实现多品种的包装箱测量任务。
基于双目视觉的测量方法是一种非接触式的测量方式,因其测量装置简单、非直接接触被测对象及有较高的测量精度等优点,国内外众多学者对此类方法展开了大量研究:文献[3]在精确测量零件表面变形量时,通过在其表面粘贴若干标志点的方式,对比变形前后标志点三维坐标的变化来获取变形量的值;文献[4]针对水下复杂测量环境,除了建立双目相机在水下的成像模型外,还利用线结构光投影的方式,提出一种水下实时测量的方法。该类方法通过在被测对象表面粘贴标志点或投射结构光的方式,使算法能够提取其表面特征信息,实现尺寸测量,但由于需要实现对被测对象进行处理,因此无法满足多样性的测量需求。文献[5]针对流水线上的工业产品,设计了一种在线测量系统,采用对比实验验证了该系统的测量精度及速度达到了工业应用水平;文献[6]在测量连铸板坯模型时,提出一种基于边缘拟合的双目视觉测量方法,实现了模型角点的检测,从而完成板坯模型的测量。从这些研究中可以看出,在明确使用双目立体视觉的测量方法具有高效率的同时,越来越多的学者认为:不同检测对象在进行特征提取和立体匹配时,容易产生较大误差。
针对以上问题,本研究搭建了硬件实验平台,并对影响双目视觉系统测量精度的关键因素提出了算法改进,以解决传统方法存在的操作步骤复杂及测量精度低的问题。
双目相机成像模型[7]描述了物点从三维世界投影至CCD平面的成像过程,若不考虑左右两相机的安装误差、成像畸变等因素,标准双目相机成像模型如图1所示。
图1 标准双目相机成像模型
世界坐标系中一物点P(X,Y,Z)通过两相机凸镜,分别在左右成像平面中有一像点,左右像点与光轴距离不同而形成视差[8]。根据该成像模型,由相似三角关系可得:
(1)
(2)
对于完整双目视觉测量系统而言,主要分为以下步骤:测量系统搭建、控制电路设计、双目相机标定、图像特征提取及对应点立体匹配。由上述步骤计算出被测对象表面特征点的三维坐标值,再经过拟合得到该对象的尺寸,完成测量任务。
针对快递行业中的物流包装纸箱测量问题,为方便算法设计、后续算法验证及精度实验对比,搭建了如图2所示的实验系统。该系统主要包括三部分:PC机部分、控制电路部分及双目相机部分。PC机部分主要实现图像处理与可视化输出,输出内容为待测对象的尺寸数据;控制电路部分主要实现相机与光源电路的通断,控制其工作状态;双目相机部分主要完成图像的获取与布置传感器光源。该系统工作原理为:当位移传感器检测到被测对象时,即该对象已进入相机视野范围内,触发双目相机与光源系统同步工作,使相机获取图像传输至PC机中进行算法处理;算法处理后,获得被测对象的尺寸,进行可视化输出。
图2 双目视觉测量实验系统
系统中所用相机为双目相机模组,为了尽可能提高系统的测量精度,首先需要使两相机在同一时刻获取被测对象图片,避免由于运动等因素的干扰导致测量结果不稳定;其次,保持双目相机和两光源同步工作,如此一来既消除了由光照不均匀导致特征提取产生的偏差,又降低了相机与光源的工作时间,避免其长时间工作导致损坏;最后,将控制电路与位移传感器结合,使被测对象到达指定位置时,同步触发光源系统与相机模组,保证同步工作。
针对以上任务要求,设计了位移传感器、相机及光源控制电路。如图3所示,当光电式位移传感器检测到有被测对象进入图像获取区域内时,传感器输出高电平使相机模组工作;左右两相机通过并联电路实现同步曝光,获取被测对象图像;与此同时,与相机2相连的NPN型三极管基极与集电极接通,光源控制器控制光源打开。最终,系统实现当检测到被测对象时,相机、光源系统同步工作。
图3 相机、传感器及光源控制电路
在双目立体视觉系统中,实现三维坐标尺寸计算过程的算法包含以下几个步骤:双目相机的参数标定、特征轮廓的提取处理及对应点的立体匹配。双目立体视觉系统的测量效率与算法性能的好坏息息相关,本研究分别对双目相机标定方法、Canny边缘特征检测算法及AD-Census立体匹配算法进行改进,以提高算法运行的速度与系统测量精度。
传统相机标定方法主要利用相机成像的几何性质,通过复杂数学模型来描述成像过程中产生的畸变和噪声,将标定过程中所需参数分开进行求解,得到标定结果[9]。此类方法需要构建复杂的数学模型导致求解速度较慢,且标定结果误差不够稳定。
BP神经网络对非线性模型有较好的表达能力,因此对复杂函数逼近有较好的求解结果。因此将BP神经网络应用于双目相机标定过程,充分利用其强大的模型描述能力,将成像过程中所有的影响因素隐含在神经网络中,以提高系统标定算法的精度。然而,网络训练结果依赖于初始权重和阈值的设定,降低了求解过程中的稳定性和可靠性。因此,引入种群阻滞增长机制[10],以解决传统标定方法在操作上的复杂性和BP神经网络标定方法对初始权重和阈值敏感性的问题。
种群阻滞增长机制模拟了在客观条件下,生物种群规模大小随时间的增长曲线模型,称为Logistic模型:
(3)
式中,P(t)为种群数量随时间t变化的值;P0为初始种群规模;K为常数,其含义为环境极限种群数量;t为时间变量;r为种群增长率,随时间变化:
(4)
种群阻滞增长机制的优点在于:①原理简单,易于编程实现;②迭代过程中的迭代次数根据目标函数的变化而改变,保证了跳出迭代时的解为满意解。
将种群阻滞增长机制应用于BP神经网络参数初始化阶段,以网络训练误差作为适应度函数,进行迭代,直到算法选择出最优的个体,作为BP神经网络的初始权重和阈值,改善随机选取权重和阈值的不稳定性。
具体实现流程如图4所示。
图4 阻滞增长神经网络标定流程
完成双目立体视觉系统的标定过程后,首先需要对获取的图像进行特征提取。目前,被广泛应用于边缘特征提取的Canny算子[11]还存在以下局限性:在进行梯度计算时,仅考虑水平和垂直方向上的灰度变化;在非极大值抑制时,人为设置高低阈值具有随机性。针对Canny算子的这两项局限性,本研究对Canny算子作了如下改进。
在应用Canny算子时,考虑45°和135°两方向上的梯度变化。改进后,首先按下式计算4个方向上的梯度幅值,分别记为G0、Gπ/4、Gπ/2、G3π/4:
G0=I(i+1,j-1)+2*I(i+1,j)+I(i+1,j+1)-I(i-1,j-1)-2*I(i-1,j)-I(i-1,j+1)
(5)
(6)
(7)
(8)
对应梯度值计算如下:
(9)
为提高运算速度,节省计算过程中的开销,将式(9)简化为:
(10)
梯度方向考虑4个方向梯度变化值并将其进行矢量相加:
(11)
(12)
其中,ax、ay为a的横纵坐标。
在高低阈值选择时,引入Otsu分割算法对阈值进行自适应选取,避免了人为选择的随机性所产生的不稳定性。
(13)
(14)
(15)
此时当Q值最大时为最优阈值k*,即:
(16)
所求出的k*设定为Canny算子中的高阈值TH,低阈值TL的选择为:
TL=0.5TH
(17)
立体匹配是计算出同一点在两图像中成像位置对应关系,是保证系统测量精度的关键。因此在AD-Census立体匹配方法[12]的基础上,提出了一种基线约束条件下的改进AD-Census立体匹配方法。
非标准成像模型中同一点在左右图像中的像点并非位于同一水平线上,先采用Bouguet法进行极线校正,缩小匹配搜索范围,以提高计算效率。
在进行匹配代价计算时,AD-Census代价采用固定权重的方式约束了两种匹配代价在不同特征图像区域中的表达能力;因此,本研究提出一种自适应权重的AD-Census匹配方法,在原方法的基础上,增加权重:
C(p,d)=(1-τ)ρ(Ccensus(p,d),λcensus)+τρ(CAD(p,d),λAD)
(18)
1-τ为Census代价的权重占比,τ为AD代价的权重占比,权重取值范围为(0,1)。
将权重的取值与图像的特征信息相结合是解决固定权重计算代价的关键,可将权重与图像窗口区域内的像素灰度变化值关联起来。将窗口区域内不同方向上像素灰度变化的方差作为权重影响因素,再通过方向融合及归一化处理来计算最终的权重值。具体求解步骤如下:
首先对多方向上的像素灰度值进行方差计算,以判断该区域是否属于纹理丰富区域,如图5所示,以5×5窗口为例,对4个方向上像素灰度值进行分析。不同方向上的方差计算方法如下:
图5 四方向上像素点分布
(19)
式中,n为像素数目;P为该组像素中灰度值的平均数。
其次,选出最大方差值及其方向,计算表达式如下:
(20)
各方差表示4方向上的方差值。
最后,将所求最大方差值以函数映射的方法,映射至[0,1]区间内,得到所需要的权重τ。映射过程为:
(21)
采用所提出自适应权重计算AD-Census代价时,其权重变化曲线如图6所示,对于处理纹理信息丰富且含有平滑区域块的图像有更好的效果。
图6 权重变化曲线
在设计了硬件实验平台后,实验过程中的具体实验步骤如图7所示。
图7 实验流程图
(1)搭建好硬件实验平台后,首先进行系统标定。采用棋盘格大小为20×20 mm、数量为13×9的标定板进行初始数据集的构建;再搭建BP神经网络,确定网络拓扑结构为4-5-3;将所获得的数据集按照训练集与测试集之比为9:1的比例划分;根据所搭建的网络确定网络参数,设置阻滞增长模拟机制的参数及BP神网络参数如表1所示,开始算法优化,获得优化结果;将优化后的权重和阈值回代至网络模型中进行网络训练,完成系统的标定。取测试集进行标定模型的测试,以平均误差百分比为评价值,对比传统张氏标定法[13]和BP神经网络标定法,测试结果如图8所示。
表1 参数设置表
图8 所提标定方法与其它标定方法测试结果对比
(2)通过双目相机获取被测对象图像,应用所提出的改进Canny算子进行边缘特征提取。图9为得到被测对象特征提取结果。
图9 特征提取效果
(3)由于被测对象上标签等非关键信息的影响,采用膨胀和腐蚀等图像处理方法,去除其它因素的干扰,处理结果如图10所示。
图10 非关键图像信息处理
(4)对上一步图像处理后,应用Bouguet算法进行极线校正,降低立体匹配算法的搜索范围;再采用所提出改进AD-Census匹配代价进行关键点的匹配计算,进而求出其三维坐标;最后通过点云处理,得到被测对象的三维尺寸。校正匹配结果如图11所示。
图11 校正结果
(5)使用50分度游标卡尺对物体的实际尺寸进行多次测量,取测量结果的平均值作为参考,衡量实验系统测量精度高低。其对比结果如表2所示。
表2 实验系统计算结果与人工测量结果对比
由表2可知,双目视觉测量系统测量最大绝对误差为2.83 mm,平均绝对误差为1.8 mm,最大误差率为4.44%,平均误差率为2.38%。而物流行业中要求物流包裹测量精度误差在1 cm范围内,因此,测量系统能够满足在应用时的精度要求。另一方面,平均计算速度为525 ms,也同时满足检测实时性的要求。在误差来源方面,由于快递盒遭受到挤压后,其边缘被挤压向内变形,导致系统测量值比真实值偏小,但测量误差仍在精度要求范围内。
针对物流系统检测精度和检测速度要求,提出了一种双目视觉测量系统,首先搭建了硬件实验平台,并在此基础上设计了相机与光源控制电路;然后在测量算法设计方面,针对算法的主要步骤进行精度影响因素分析与改进;实验结果表明,本文的测量系统可满足物流行业中的测量精度要求。相比传统测量方法,本文所提出的方法测量精度高,计算速度快,测量结果稳定。