基于机器视觉的曳引轮磨损检测方法研究
2022-07-05刘士兴马登科刘光柱
刘士兴,马登科,刘光柱
(合肥工业大学电子科学与应用物理学院,安徽 合肥 230009)
0 引 言
曳引电梯在日常生活中具有广泛的应用。曳引轮受电机驱动在曳引轮槽和曳引绳之间产生摩擦力,从而为轿厢提供牵引力。曳引轮是电梯上的重要动力组件,其可靠性对于电梯的安全运行极为重要。当凹槽磨损引起的绳索下沉超过4 mm,将影响曳引轮的正常运行[1]。现行国内有关电梯曳引轮的维护和更换标准[2]是GB/T 31821—2015《电梯主要部件报废技术条件》。
在曳引轮正常使用过程中,凹槽将不断磨损[3]。目前,绳槽磨损主要采用定性分析的检测方法,如目测法或者采取电梯制动的方式检测曳引绳是否有滑移[4],操作复杂且不能保证可靠性。为解决传统检测方法不便性以及可靠性不高的问题,李继波等[5]发明了一种结构简单的接触式高精度测量仪,但该种方法只能测量绳槽的相对磨损量,无法进行直接磨损测量。陈建勋等[6]根据激光三角测量原理,开发了一种非接触式曳引轮磨损检测仪,使用步进电机调节相机和绳槽之间的相对位置,但该方法需要将曳引轮从设备上拆卸下来,未能实现就地检测。谢小娟等[7]通过建立相对的离散特征参数来分析钢丝绳的变形,这些特征参数可以表征曳引轮槽的累积磨损,但是这种方法不能定量地分析磨损量。张湘泽[8]通过采集声发射传感器信号,构建能量特征样本数据库,对曳引轮磨损程度进行决策分析,但是该方法可靠度低,无法实现精确测量与预警。目前,随着机器视觉技术成熟,其在工业领域逐步得到应用[9]。本文使用工业相机构建检测系统,检测时利用自制夹具将相机固定于曳引绳上。与当前已有的曳引轮检测系统相比,该系统具有结构简单、可靠性高和成本低廉的优点,避免了繁琐的设备结构和操作步骤。同时,由于检测环境光照不均匀给检测带了难度,本文通过基于机器视觉技术的算法开发,实现弱光照环境下的稳定可靠测量,提高了检测系统精度。
本文基于机器视觉技术,研发了一种电梯曳引轮槽磨损检测系统。本系统建立了实际硬件检测平台,采集钢丝绳与曳引轮槽底部的间隙图像,基于多特征融合算法进行目标匹配,获取ROI(region of interest)区域,通过模拟退火算法获取最佳阈值,以去除弱光环境下的干扰光,实现目标区域边界坐标的精确提取,并进行拟合。然后计算磨损量,并根据建立的遮挡补偿模型对上述磨损量进行补偿,以获取准确值。最后,验证了系统的检测精度。
1 检测系统的构成
常用的曳引轮绳槽主要包括:U型槽、V型槽、带切口的U型槽和带切口的V型槽。本文以带切口的U型槽为研究对象,绳槽截面如图1所示。
图1 曳引轮槽截面
本文以该槽为检测对象建立检测系统,该系统由软件和硬件两部分构成,系统硬件结构如图2所示,主要由计算机、控制模块、图像采集平台组成。检测系统采用传感器像元尺寸为 2.2 µm×2.2 µm的500万像素CMOS黑白工业相机,型号为MVGE500M-T,像素尺寸为 2 592×1 944,镜头焦距在20~30 mm 范围内可调。
图2 检测系统硬件结构
图像采集平台包括工业相机、漫反射光源和相机固定架。工业相机通过千兆网线连接到计算机。控制模块包括微处理器和控制继电器。通过在水平方向上精确调整工业相机位移,实现相机与曳引轮绳槽对齐,以进行各个绳槽的图像捕获。
曳引轮检测系统的软件处理流程如图3所示。检测系统的算法基于 Visual Studio 2017 平台,使用OpenCV4开发。
图3 图像处理流程图
2 曳引轮磨损检测算法
2.1 轮廓检测与提取
在工业领域中为了实现实时快速检测,本系统对现有的连通域提取算法进行了改进,提出基于链表结构的快速连接域标记算法。
本文基于链表结构的连通域标记数据结构如图4所示。Dn(n=1,2 ,···,n)表示输入图像中的一个连通域。假设连通域位于M×N像素域(M=7,N=5)。Ri(i=1,2,3,4)表示一行中归属于同一个连通域的行程,Li(i=1,2,3,4)是行程中像素构成的链表节点,每个节点存储每个行程的标签、行号、当前行的起点和终点、指向上一个节点的指针、指向尾节点的指针和当前连通域的面积(即像素总数)。向量Vector存储链表的头节点,系统通过遍历向量实现指定面积连通域的快速搜索。
图4 数据结构示意图
扫描每一行,每一行的每个连通域对应一个链表节点。对上一行与当前行的行程进行比较,如果两个连通域的行程,即它们的起始和终止点之间的区域有重合的情况:
1) 当前行程从属于一个已有连通域,给当前行程创建链表节点及表头,节点中的指针指向上一个节点,以上一个节点的标签label作为当前链表的标签,在向量Vector中创建键值对<Head,label>,头节点Head中更新链表所代表的连通域面积,如图5(a)所示。
图5 基于链表结构的连通域标记过程
2) 当前行程从属于已有的两个链表,则合并两个链表,并更新表头,以O(1)的时间复杂度快速查找并删除向量中右链表头节点,以左链表的头节点作为新链表的头节点,并在向量中更新,如图5(b)所示。
与两次扫描算法[10]和种子填充算法等使用的四邻域或八邻域相比,此方法不需要大量的入栈和出栈操作,因此有效减少了内存消耗。同时,与当前现有的基于行程的连接域标记算法相比,基于链表结构的改进算法不需要为重叠团创建和维护等价对表[11]。与当前的轮廓搜索算法相比,该算法只需要一次扫描就可以实现对连通域的提取,并且可以在链表头结点中储存连通域面积等信息,通过头节点遍历连通域,然后执行其他操作。
本文首先根据大津法对获取的图像进行二值化预处理,然后执行本文提出的基于链表结构的快速连通域标记算法。本文选择5个较大的面积作为匹配样本,最终轮廓检测结果如图6所示。
图6 轮廓检测结果
2.2 融合不变矩和特征向量的匹配算法
为了完成轮廓的筛选并找到目标绳槽间隙轮廓,本文采用一种融合不变矩[12]和特征向量[13]的匹配算法。以标准轮廓形状为模板,计算出模板轮廓与图像中每个凹槽轮廓的不变矩,并根据融合匹配参数对它们的相似度进行比较。计算轮廓的不变矩,首先要计算离散情况下的 (p+q)阶几何矩和中心矩:
和表示图像重心:
其中p,q=0,1,2,···,∞;(m,n)表示图像中像素点的坐标;f(m,n)表示像素点的灰度值,得到归一化中心矩:
导出了一组7个不变矩,但是在匹配目标图像的过程中,只有前两个矩具有更好的匹配效果。对于目标轮廓,将外接矩形的长度和宽度定义为h和w,轮廓面积定义为s,从而构造外接矩形的宽高比S1以及占空比S2作为尺度特征:
融合前两个不变矩和两个尺度不变特征,构建新的匹配特征:
对于目标轮廓A和模板轮廓B,使用欧几里得距离建立轮廓匹配相似度d:
实验在 Microsoft Windows 10(64 位)操作系统上进行,计算机具有 Core i7-6500U CPU 2.5 GHz 频率和8 GB RAM的硬件条件。试验采用相似度d作为匹配系数,轮廓匹配结果如图7所示。中间绳槽是匹配的目标轮廓。
图7 基于融合特征的轮廓匹配
2.3 轮廓边界处理
从上一步匹配和提取获得的目标轮廓中选择ROI,然后对其进行详细处理。实验表明,上边界是理想的,而下边界由于光照的影响不能直接确定。
本文使用Matlab 2019a分析图像中ROI区域的亮度,并绘制轮槽区域亮度的三维分布图,如图8(a)所示。轮槽区域中的亮度分布不同,最大亮度为图中的紫色区域,并且分布是对称的,分别对应于上边界区域和下边界区域。为了进一步观察垂直方向上像素的连续分布,本文获得u =125 pixels处的亮度二维分布,如图8(b)所示。结果显示,上边界具有较明显的区分,下边界由于光照不均匀的影响,像素分布较为连续,因此无法直接进行阈值化处理。其中①为上边界区域,②为目标区域,③为光照干扰区域,④为下边界区域。
图8 ROI区域的亮度特征
比较各种边缘检测算子的实验结果,选择Sobel算子进行边缘检测,使用中值滤波去除噪声,减少运算量,并采用迭代阈值化对检测结果进行初始阈值处理。考虑到不均匀光照对下边界的影响较大,如何确定最佳阈值来处理图像以确定下边界,是本系统的关键。去除光照不均匀影响的预处理如图9所示。
图9 ROI区域预处理结果
在迭代阈值化中,首先分别获得图像的最大灰度值Zmax和最小灰度值Zmin。将初始阈值设为T0,D为除数因子:
根据阈值T0将图像分为前景和背景,分别计算出两者的平均灰度值Z1和Z2,并求出新阈值T=(Z1+Z2)/D。若两个平均灰度值不再变化,则T为阈值,否则重复上述阶段。
针对曳引轮光照分布不均的情况,本文经大量实验表明,除数因子D设置在4.50~6.50之间,对应的阈值在60~20的范围内,效果相对稳定。本文采用高精度光照度计进行光照条件的控制,其重复测量误差为±2%,量程为 0~20 000 lx。以中间槽为被测对象,在最佳的光照14 512 lx条件下进行手动采样,将步长设为0.1,以最小二乘法拟合下边界[14],实验数据的拟合结果如图10所示。
图10 阈值控制参数D和最小平方和R的对应关系
为了有效消除干扰光对目标轮廓的影响,实现最佳阈值的自动搜索,采用模拟退火算法[15]。在经验阈值范围Ti∈(T1,Tn)(i=1,2,···,n)内,其中T1和Tn代表经验范围内阈值的上下边界,调整阈值Ti,利用最小平方和拟合下边界坐标点,得到阈值为Ti时最小平方和RTi:
式中:xi——在当前阈值T时,下边界像素的x轴坐标;
φ(xi)——在阈值T时拟合下边界得到的函数,即理论上y轴坐标,φ(xi)=k·xi+b(理想情况下k=0);
yi——当前像素的实际y轴坐标;
δi——在当前阈值时,x轴坐标xi对应的函数值与实际值之差,δi=φ(xi)-yi;
RTi——在经验阈值范围Ti∈(T1,Tn)(i=1,2,···,n)内,计算最小平方和,并选择值最小,即代价最小时,当前的损失函数;
Ti——对应的最佳阈值。
在经验阈值范围(T1,Tn)内,得到最小平方和集合(RT1,RTn)。采用模拟退火算法,加入扰动因子x,计算出相应的目标函数。在自变量上增加随机扰动可以有效避免迭代结果陷入局部最优解的情况。将优化过程分为几个阶段,并确定每个阶段的选择标准,使用Metropolis准则来实现参数控制:
式中:p——接受新状态的概率;
Tp——当前温度;
xold——当前可行解;
xnew——迭代更新的可能解。
如果E(xnew)<E(xold),xnew被直接接受,否则根据Metropolis准则接受新解。
本系统的模拟退火环境是稳定的,所以采用下式:
为了确保更大的退火速率,本文采用 λ=0.95。在光强度为14512 lx的条件下,使用Matlab 2019a对曳引轮图像的线性拟合结果进行理论分析。如表1所示,对同一个曳引轮的5个槽进行手动采样与模拟退火算法对比实验。在100次迭代次数以内,损失函数值最终收敛,收敛值与手动采样得到的实际值基本匹配,证明了该算法的有效性,确定了最佳阈,实现下边界的准确提取。图11为目标槽算法收敛与上下边界坐标点拟合结果,此时除数因子D=5.75,阈值T=49,损失函数值R=1 015.02。
表1 算法收敛验证和手动采样对比
图11 模拟退火算法阈值计算与边界坐标点拟合
3 绳槽遮挡补偿计算
由于曳引轮空间结构狭小,曳引轮绳槽底部表面为曲面,相机在拍照时会出现绳槽底部对绳操间隙的遮挡,且无法避免。本文基于曳引轮物理结构及几何学知识进行分析,建立遮挡补偿模型,如图12所示。
图12 绳槽底部遮挡结构
其中R为钢丝绳外缘到曳引轮圆心距离,θ为绳槽对相机拍摄的遮挡长度,r为绳槽底部到曳引轮圆心距离,Z为相机垂直方向物距,δ为绳槽槽底到钢丝绳外缘间距,L为相机光心到钢丝绳的距离,δ′为相机拍摄待测区域的可见长度。
以曳引轮圆心为坐标原点建立坐标系,则相机受绳槽底部遮挡情况下拍摄待测区域的边缘坐标为(r+θ,0),相机光心坐标(R-L,Z)。代入直线方程y=kx+b,设相机光心点与相机拍摄受遮挡点的连线上任意一点的坐标为(x0,y0),则有
相机光心与接触面极限可视点的连线到曳引轮圆心的距离为r,圆心到连线距离表达式为:
对于直径400 mm曳引轮,曳引轮绳槽底部与圆心轴距离r=183.5 mm。在系统检测过程中,相机光心到钢丝绳距离L=21 mm,当物距Z=300 mm时,测量值与补偿值之间公式为:
实际检测过程中,为了抵消绳槽底部自身结构对检测结果的影响,根据实际物距和计算结果对测量值 δ′进行补偿,使最终计算结果趋近于绳槽间隙真实值 δ,实现绳槽磨损值的准确检测。
4 检测系统误差验证
为了验证检测系统误差,使用准确度为0.01 mm的高精度数字显示游标卡尺进行实验。游标卡尺的外部测量钳口间隙用于模拟检测的凹槽间隙,收集游标卡尺的外部测量钳口的图像,测量系统的图像处理算法用于确定工件的边缘坐标,计算实际测量结果并与标准值进行比较。
在实验中,相机的物距为300 mm,将游标卡尺2~6 mm内的7个值作为标准值,并对每个测量点采集10次图像进行非接触式测量。如表2所示,检测系统的间隙测量结果的最大均方根误差为0.05 mm,相对误差不超过±0.71%,满足系统的误差要求。
5 结束语
针对电梯曳引轮绳槽磨损的检测情况,在分析目前电梯曳引轮磨损检测方法的基础上,提出了一种基于机器视觉的电梯曳引轮磨损检测系统,该系统实现了非接触式测量,具有一定的应用价值。为了实现目标轮廓的精确匹配,采用不变矩和特征向量的融合匹配算法。为了消除光照的影响,实现最佳阈值的自动调整,采用模拟退火算法在经验范围内求解拟合函数的最佳值,得到对应的最佳阈值。通过理论模型对曳引轮槽间隙图像的遮挡部分进行分析,实现对计算值的补偿。实验结果表明,曳引轮磨损检测系统能够准确计算出曳引轮槽的磨损量。在2~6 mm的绳槽磨损范围内,检测系统测量结果的均方根误差小于0.05 mm,相对误差小于±0.71%。