张 洋,付继连,蔡宏伟,张凌韬
(1.中车齐齐哈尔车辆有限公司,黑龙江 齐齐哈尔 161002;2.北京精勤谐创科技发展有限公司,北京 100102)
随着国民经济的持续快速增长,运输业越来越走向信息化。铁路货车关键件检测工作是铁路运输信息化的重要组成部分,做好铁路货车关键件动态检测管理工作是保证行车安全、提高运行速度、加快车辆周转的重要基础。车轴、轴承、滑阀、中间体、承载鞍以及弹簧等是铁路货车的关键件,现阶段对这些货车关键件的结构尺寸与表面缺陷主要依赖于人工检测,多采用游标卡尺及量规检测法,二次元测量仪检测法和三坐标检测法等[1-2]。人工检测效率低、准确性差、受环境影响大,不能及时发现关键件的缺陷,有安全隐患。因此,本文对基于机器视觉技术的铁路货车零部件尺寸的快速检测算法进行了研究。
机器视觉技术是一门涉及人工智能、神经生物学、心理物理学、计算机科学、图像处理、模式识别等诸多领域的交叉学科[3]。该技术主要用计算机来模拟人的视觉功能,对从客观事物图像中提取的信息进行处理并加以理解,最终用于实际检测、测量和控制。机器视觉检测系统最基本的特点是:灵活性和自动化程度高;可以用于一些不适于人工作业的危险工作环境或者人工视觉难以达到要求的场合;对于大批量重复性工业生产,用机器视觉检测方法可以大大提高生产效率和自动化程度。对于机器视觉检测算法,文献[4]提出了透视变换法等形状分割算法,具有一定的实用价值,但只针对较为普通的特征;文献[5]通过预处理解决了部分图像噪声干扰问题,利用亚像素的轮廓分析进行细化,提取有效边界,去除虚假边界。上述算法并不能解决工业实际的检测问题,并且未经过稳定性验证,属于理论研究课题。
基于机器视觉的智能化检测技术核心算法是以图像算法为主,并结合了三维计算和深度学习等技术。本文以铁路货车中间体为例,基于视觉识别、图像分析、深度学习等人工智能技术和现代信息技术对其结构尺寸进行自动检测,同时提出一种基于机器视觉技术的铁路货车关键零部件几何尺寸的高精度、高效率的快速检测算法。
图1为基于机器视觉技术的铁路货车关键件几何尺寸检测系统结构示意图,该装置主要包括主控装置、工业相机及镜头、视觉专用光源、精密导向顶升装置和显示器,其他还有传送机构和联动机构等。
图1 铁路货车关键件机器视觉检测系统结构示意图
机器视觉检测系统工作流程如图2所示。进行机器视觉检测时,人工提前把需要检测关键件的尺寸信息输入视觉检测系统中。如图2所示将关键件放置到传送装置上,完成上料操作;传送装置将关键件输送到视觉检测工位,通过导向顶升装置将关键件送至拍照位置;3组工业相机同时对关键件的3个检测面拍照并进行识别定位;检测系统自动检测并通过对比分析来判别关键件尺寸数据是否满足生产要求;将判别结果输入主控系统中,同时联动操作将不合格产品通过传送装置送达不合格品区,合格产品通过传动装置送达合格品区,再由人工将其放置在成品料箱。
图2 机器视觉检测系统工作流程图
机器视觉检测系统通过相机(CCD/COMS)采集检测目标的图像信号,并传送给专用的图像处理系统;图像处理系统将像素分布、亮度和颜色等信息转变成数字信号,并对这些信号通过各种运算来抽取其特征信息,如面积、数量、位置等,再根据预设的条件输出结果进行自动识别。
铁路货车关键件机器视觉检测系统涉及二维检测、三维检测以及深度学习等技术,其中涉及2D相机的二维检测项目较多。2D相机检测系统用2D相机在固定位置采集关键件图像,利用去噪算法、形态学算法、边缘提取算法以及目标匹配算法等数字图像处理算法进行相应处理,将目标位置提取出来;利用标准件对相机进行标定,通过标定参数与处理后的图像数据计算出关键件形状和尺寸等信息。
关键件定位的准确性直接影响二维检测的结果。传送装置中的定位销等可进行关键件的准确定位,但是如果关键件在机械加工时存在较大误差,可能出现二维计算不准确的情况。对于此问题,利用3D相机或者辅助传感器识别关键件姿态,通过三维算法进行校正可保证最终检测结果准确。3D相机检测系统与2D相机检测系统不同,是利用3D相机获取关键件外观相应的三维坐标,根据三维坐标对关键件上的点、线、面等特征进行尺寸计算。3D相机检测系统对工件摆放位置要求不高,且可一次检测多个关键件。
按照上述设计方案,铁路货车关键件机器视觉检测系统使用不同种类的相机(2D/3D),利用机械定位装置、自动升降装置以及传送装置实现自动化检测及分类等工作,利用配套智能笔以及标识识别装置等完成检测数据的标记、采集和记录功能。经实际验证,该方案鲁棒性相对较高,且对于不同工件的工装依赖性比较低,具有极强的实用价值。
用机器视觉检测系统进行检测时,相机拍摄关键件图像,并综合运用多种图像处理技术将关键件的尺寸信息从原始图像中提取出来。铁路货车的零部件大多数由铸造加工而成,待检测面为加工面。同时这些零部件有贯穿性和非贯穿性的,表面有比较多的微小瑕疵,孔脚点有磨损。因此本文提出一种基于机器视觉检测的比较全面的检测算法,增加了一些图像处理过程和对应的系统功能实现该算法。检测算法流程设计主要有相机标定、图像采集及滤波、膨胀和腐蚀处理、ROI提取、二次图像采集及滤波、特征提取与测量等,如图3所示。
图3 检测算法流程图
相机标定结果的精度直接影响检测结果的准确性,本文选择精度为0.001 mm的标定板(图4)进行视觉标定及矫正,标定板的参数为:阵列个数7×7,中心距12.5 mm,原点直径6.25 mm,标定板厚1.1 mm。通过标定板得到的相机内参数为:[0.016 346 7,3.75e-0.006,1.750 09e-0.006,2 685.461,2 430.691,5 360,4 850],相机外参数为:[0.000 858 001,-0.001 381 58,0.216 512,0.287 6,359.517,180.1,0]。通过设置坐标原点建立检测平面与标定平面的转换关系,将像素坐标点转换为物理坐标点之后,可通过数据计算得到实际物理尺寸。
图4 标定板
相机采集检测目标的图像信号,再根据像素分布、亮度、颜色等信息转变成数字信号,此过程会引入一部分噪声,因此首先要对图像进行预处理以消除噪声。考虑到检测尺寸大多属于图像的边缘部分,选择保留边缘更有效的双边滤波算法。双边滤波算法采用了2个高斯滤波结合的方法,同时考虑空间邻近度和像素相似度的权值,从而达到保留边缘、去除噪声的效果[6]。
双边滤波算法主要包括线性自适应算法和非线性自适应算法。非线性自适应算法具有更强的信号处理能力,但计算比较复杂,因此实际应用最多的仍然是线性自适应算法。自适应算法一般包括最小均方误差算法(LMS,以下简称“LMS算法”)、递推最小二乘算法(RLS)、变换域自适应滤波算法和仿射投影算法。表1为各种自适应算法的优缺点。
表1 各种自适应算法优缺点
LMS算法是在维纳滤波理论上运用速下降法后的优化延伸,最早是由Widrow-Hoff提出来的,也被称为Widrow-Hoff LMS算法,该算法不需要已知输入信号和期望信号的统计特征,“当前时刻”的权系数通过“上一时刻”权系数再加上一个负均方误差梯度的比例项求得。该算法原理简单、参数少、易于实现,在自适应滤波器中得到广泛应用,因此本研究采用LMS算法。
3.2.1 基本原理
LMS算法是一种特殊的梯度估计,不必重复使用数据,也不必对相关矩阵和互相关矩阵进行运算,只需要在每次迭代时利用输入向量和期望响应,原理简单,易于实现。
根据小均方误差准则以及均方误差曲面特点,沿每一时刻均方误差的陡下降在权向量面上的投影方向更新,也就是通过目标函数的反梯度向量反复迭代更新。由于均方误差性能曲面只有唯一一个极小值,只要收敛步长选择恰当,不管初始权向量在哪,后期都可以收敛到误差曲面的小点,或者收敛在极小值的一个邻域内。这种沿目标函数梯度反方向来解决小化问题的方法就是前文提到的速下降法,其表达式为:
(1)
式中:w——滤波器权向量;
k——时刻;
μ——收敛因子;
基于随机梯度算法的小均方自适应滤波算法的完整表达式如下:
y(k)=wT(k)x(k)
(2)
e(k)=d(k)-y(k)
(3)
w(k+1)=w(k)+μe(k)x(k)
(4)
式中:y——实际输出;
x——训练样本;
e——期望输出与实际输出误差;
d——期望输出。
3.2.2 性能分析
文献[7-9]对随机梯度LMS算法的性能进行了大量研究。按照自适应滤波性能指标,假设输入信号和期望信号具有联合平稳性,基于横向FIR结构的滤波器标准LMS算法的4个性能为收敛性、收敛速度、稳态误差和计算复杂度。只有在输入信号具有严格稳定的统计特性时权向量的优解是不变的,否则将会随着统计特性的变化而变化,而自适应算法则能够通过不断调整滤波器权向量,使其接近优解。因此,自适应算法在平稳条件下的性能表现可以认为是非平稳条件下的一种特殊情况。如果在平稳条件下自适应算法能够快速、平稳地逼近权向量的优解,那么在非平稳条件下该算法也能很好地逼近时变的权向量优解。
LMS算法包括均值滤波(blur)算法、中值滤波(madianblur)算法和双边滤波(bilateralter)算法。均值滤波算法结构简单,计算速度较快,在去噪声的同时去除了很多细节,但由于边缘损失部分细节,图像会变得模糊;中值滤波算法在边界保存方面好于均值滤波算法,但在模板变大的时候一些边界会出现模糊的情况,因此该算法对于处理椒盐噪声和斑块噪声非常有效;双边滤波属于非线性滤波,可保留较多的高频信息,但不能干净地过滤高频噪声,对于低频滤波能达到保边去噪的目的。图5为各滤波算法得到的实际效果。从图5的对比可以看出,双边滤波可以达到最佳的噪声去除效果,并能最大程度地保留边缘细节,且计算速度相对较快,从效率和效果上都是最佳的选择。
图5 3种滤波算法实际效果对比
采用自动阈值法[10]对图像进行二值化操作和连通域处理后,得到的边界通常都很不光滑,背景区域散布着一些小的噪声,物体区域则会具有一些噪声孔,这种情况可利用腐蚀和膨胀处理得到有效改善。腐蚀和膨胀运算应用于二值图像,通过一个探针(是一个集合,称为结构元素)对二值图像(是一个集合)进行变换,以突出所需要的信息。
(1) 膨胀运算。定义:A⊕B={z|(B)z∩a≠ø},若集合A与B满足膨胀运算定义,则称A被B膨胀,也就是对B的反射平移z后,使之与A的交集是不为空的点集合。膨胀运算就是将与物体接触的所有背景合并到该物体中、使边界向外扩张的过程。因此,膨胀运算常用来填补物体中的空洞及消除目标物体中的小颗粒噪声。例如,在处理一张字迹不清的图片时,可以用膨胀运算填补字迹的空洞,从而使字迹更加清晰。
(2) 腐蚀运算。定义:A⊖B={z|(B)z⊆a},若集合A与B满足腐蚀运算定义,则称A被B腐蚀。也就是将B的反射平移z后,集合被包含在A的点的集合。腐蚀运算是一种消除边界点、使边界点向内部收缩的过程,具有消除细小物体、在纤细处分离物体和平滑较大物体边界的作用,能消除图像的背景部分,因此可以起到滤波器的作用。
腐蚀运算用来收缩或者细化对象,结构元素的大小和形状决定了收缩的程度和范围。腐蚀运算时,用某个结构元素对二值图像进行探测,找出图像内部可以容纳该结构元素的区域,是一种消除边界点、使边界向内部收缩的过程,对于二值图像的每个点,如果在结构元素范围内的所有点都为1,则该点为1,否则为0;而膨胀运算是使二值图像加长或变粗的过程,对于二值图像的每个点,如果在结构元素范围内的所有点都为0,则该点为0,否则为1。腐蚀运算后图像中的亮点范围缩减,相反,膨胀运算后亮点的范围增大,膨胀运算为二值图像的逻辑运算中的或运算,而腐蚀运算则为与运算,如图6所示。
图6 腐蚀膨胀运算的二值图像的逻辑运算
把腐蚀和膨胀运算推广到任意的灰度图,对于任意灰度图,腐蚀运算求结构元素范围内(领域)最小值,即腐蚀运算使领域中心值变为结构元素内的最小像素值。比如,结构元素为矩形领域,则腐蚀运算对每个像素求取以该像素为中心的矩形领域内的最小像素值,膨胀运算就是求矩形领域内的最大值。通过Blob分析得到大概边界轮廓后,先对轮廓进行腐蚀运算,再进行膨胀运算,然后通过剪切区域分割出待提取的准确边界。图7为Blob分析得到的图像。
ROI提取是利用Mask(掩膜)技术提取纯色背景图像ROI区域中的人或物,并将提取出来的人或物添加在其他图像上。ROI提取流程是:先通过cv.cvtColor( )函数将原RGB彩色图像转换为hsv色彩空间的图像,然后通过cv.inRange( )函数获得ROI区域的mask,最后利用cv.bitwise( )函数提取得到ROI,具体ROI提取流程如图8所示。
图8 ROI提取流程
对于拍摄的整幅图像,只针对关键尺寸所在的区域进行计算即可[11],避免对整幅图像进行过度处理,还能提高系统响应速度。因此,先根据目标的特征信息(如面积、数量、位置等)将大致的目标边缘提取出来,然后利用形态学处理中的腐蚀和膨胀算法进行ROI提取,图9为ROI提取图像。
图9 ROI提取图像
以铁路货车关键部件中间体为例,利用标定参数与处理后的图像计算中间体的形状和尺寸等信息。图10是相机拍摄的铁路货车中间体,其中彩色圆标出的圆孔1~4是提取到的目标孔位置,可根据这些目标孔位置计算其直径、拟合圆心、孔距以及孔圆心到毛坯中心线距离等,通过与技术指标的对比结果判断相应测量参数是否合格,同时得到具体偏差,实现自动测量和识别功能。图10中的绿色数据为自动生成的检测结果,其中226.011 682 mm、226.078 342 mm分别为圆孔1与圆孔3、圆孔2与圆孔4的距离,76.090 617 mm、76.083 460 mm为圆孔1与圆孔2、圆孔3与圆孔4的距离,21.999 596 mm、21.990 868 mm、22.021 915 mm和22.014 180 mm为拟合圆孔的直径。
图10 中间体检测示意图
由于边界干扰,提取到的边缘轮廓会有很多虚假边缘,因此,转入亚像素轮廓分析以后,通过Blob分析算法提取圆弧边缘轮廓,然后根据轮廓的直径、轮廓长度等轮廓特征筛选得到最终提取的边缘轮廓。这样得到的曲线轮廓有闭合轮廓和非闭合轮廓,根据轮廓轴端距离、忽略点数、迭代次数等参数将轮廓拟合为圆心,圆拟合效果如图11所示。
图11 圆拟合效果图
为验证基于机器识别检测算法的可行性与正确性,就货车关键部件中间体进行检测研究,具体检测位置如图12所示。图12中毛坯中心线是上下2个精加工面的中心点连线上的一个点与方孔的连线,绿色数据为自动生成的检测结果,对应检测指标见表2。
图12 实际检测位置
表2 中间体检测指标 mm
检测时,采用2 600万像素全局快门相机,16 mm镜头、白色面光源对部件进行正面采集,对应每个位置分别采集、检测10次,中间体各检测项的标准值与检测值见表3。
表3 中间体各检测项的标准值与检测值 mm
对检测结果进行对比分析,可以看出:检测值与实际值的平均相对误差基本低于0.50%,检测精度较高;检测效率基本上达到32件/h,检测速度快;单个检测项目10次检测的平均相对误差(10次检测数据的加权平均值与标准数据做差获得的差值与标准数据的比值)低于0.50%,满足检测需求。
本研究针对传统人工检测方法效率低和准确性差等现状,以铁路货车关键件中间体为例,提出一种基于机器视觉技术对铁路货车零部件几何尺寸的检测算法,该算法可对关键件几何尺寸进行实时检测并做出相应处理。相较人工质检,该算法检测精度高,检测速度快,稳定可靠,对提高货车关键件检修效率、降低劳动强度具有重要意义,而且为基于计算机视觉的关键部件检测算法研究提供了新的思路和方法。