APP下载

基于遗传算法的光照自适应精密轴承尺寸检测系统

2019-05-24徐佳露贺福强管琪明姚学练

组合机床与自动化加工技术 2019年5期
关键词:光照遗传算法灰度

徐佳露,贺福强,管琪明,姚学练

(贵州大学 机械工程学院,贵阳 550025)

0 引言

随着我国轴承行业的高速发展,人们对轴承的品质要求越来越高,轴承的尺寸和精度将直接影响机械的运动性能和使用寿命。目前,我国大多数厂家对轴承尺寸的测量,采用的都是人工检测方法,如游标卡尺等。这种传统测量方法效率低下,劳动强度大,人工成本高,测量结果受人为因素干扰,在使用测量工具进行尺寸测量时,容易划伤轴承表面,影响轴承质量[1]。建立低成本、高精度、高效率、零接触的轴承尺寸自动检测系统的需求非常迫切。

机器视觉作为自动化界高智能化的产品,具有非常大的发展潜力。近年来,工业机器人发展迅速,助力中国制造业改变落后的生产方式,解决用工荒难题[2]。谢吉航等[3]将机器视觉技术应用于工业仪表自动读数中,提出了一种模拟人工读数的仪表自动读数方法。张斌等[4]通过边界点众数筛选算法,对圆柱端面的直径进行自动测量。机器视觉对光照的要求非常高,我们通常会严格控制光照的方向和强度,由于实际工作环境的复杂,光照的干扰性极强,检测物体表面的光照不均将会导致物体在成像中形成阴影区域,这对目标的提取造成了极大的困扰,导致测得的尺寸值有很大的偏差。

针对传统阈值分割算法无法分割轴承和阴影区域的现状,提出了一种基于遗传算法的二维最大熵阈值分割算法,构造了一套复杂光照下的轴承尺寸在线检测系统,在精确、快速测量轴承尺寸的基础上,实现了光照自适应功能。

1 测量系统设计

本系统主要由硬件系统和软件系统两部分组成。其中,硬件系统主要包括以下几个部分:CCD摄像头,图像采集卡,光源,载物台,微调升降架等。如图1所示,采用200万像素的CCD摄像头,在满足成像要求的前提下,尽量减少工作量,缩短系统的反馈时间。光源采用环形光源,位于轴承的偏上方,光照的偏斜会形成阴影,由此模拟车间复杂的光线干扰。图像采集卡通过A/D(电/数据)转换功能,将图像电信号转换为计算机可读的数字信号,计算机接受数字信号后,对输入的数据进行处理。

图1 测量系统硬件组成图

软件系统的组成部分为:MV-MVICS机器视觉软件、Matlab软件平台等,主要完成图像预处理、图像阈值分割、边缘检测、计算轴承内外径等操作。

2 图像预处理

由于拍摄环境的干扰及轴承的金属表面易反光的特质,原始图像不能在视觉系统中直接使用,图像预处理可以抑制无用信息,增强有关信息的可检测性。本文的图像预处理包括:图像去噪和二维最大熵阈值分割。

2.1 图像去噪

由于拍摄环境的干扰及轴承图片在光转换为电的过程中,不可避免会产生噪声,对后续的图像分割和轴承边缘提取产生干扰,因此,滤除图像中的噪声是必不可少的步骤。[5]。

对采集到的轴承图片分别用均值滤波、中值滤波和高斯滤波进行去噪处理,实验结果如图2所示。通过观察对比可知,均值滤波在去除噪声的同时,会模糊轴承的边缘信息,中值滤波不能有效消除图像中的阴影区,高斯滤波不仅能有效消除阴影,并且能有效保留图片的有效信息,不会使得轴承边缘模糊,为后续的阈值分割奠定基础。

(c) 中值值滤波图像 (d) 高斯滤波图像图2 图像去噪

2.2 二维最大熵阈值分割

目前图像分割的方法主要有:全局阈值分割、Otsu阈值分割、迭代阈值分割等[6],上述方法要求图像的成像环境良好,在实际工作环境中,由于光照的复杂和噪声的干扰,增加了阈值选择的难度。二维最大熵阈值分割法在统计像素本身灰度值的基础上,兼顾了邻域的像素灰度值,通过各像素与其邻域内像素的灰度值转换公式[7],计算得出邻域的灰度值,全面地对图像进行分割。算法的实现过程如下:

设灰度图像的尺寸为M×N,坐标(m,n)的像素灰度值f(m,n)∈G, 1≤m≤M,1≤n≤N。

定义i为像素本身的灰度值,j为该像素邻域的平均灰度值,假设i、j构成的灰度二元组(i,j)在二维直方图中的发生概率为pij[8-9],具体公式如下:

(1)

其中,cij为二元组(i,j)的发生次数。

定义阈值向量的值为(s,t),用C0代表二维直方图的目标区域,C1代表背景区域,其中,s∈G,t∈G,目标区域的发生概率如下所示:

(2)

将图像的灰度值划分为L个级别,则背景区域的发生概率为:

(3)

C0和C1的熵分别为:

(4)

(5)

C0和C1发生概率的熵分别为:

(6)

(7)

灰度图像的总熵为C0和C1发生概率的熵之和,即:

(8)

根据最大熵原理,求得最佳阈值为:

(sopt,topt)=Arg{maxH(s,t)}

(9)

式中,Arg{}表示反函数,(sopt,topt)表示最佳阈值。

3 遗传算法

遗传算法(GA)是借鉴生物界的进化规律演化而来的一种随机全局搜索算法[10],具有鲁棒性高、并行性和自适应性等优点,针对光照复杂的情况,遗传算法能够快速精确地确定图像的分割阈值,精确分割轴承和阴影干扰区域。

基于遗传算法的二维最大熵阈值最优解实现过程如下:

采用16位二进制码,对每条染色体进行编码。

首先,确定初始种群:选定某一概率p,从0~255中以概率p随机选取n个(n取25)个体生成初始种群。为控制算法运行时间,设置繁殖次数不超过90次。

对已编码的16位二进制染色体组数的前8位和后8位分别进行解码操作,最终求得两个不同的分割阈值。

染色体的进化优良程度可以通过适应度函数进行评判[11]。系统算法的适应度函数求取过程如下:

C0和C1分别代表图像的目标区域和背景区域,设定μ0和μ1为C0和C1的中心位置,μ0和μ1的计算公式如下:

(10)

(11)

其中,t为图像的灰度级总级数,i为第i个灰度级,pi、W0和W1可由式(1)~式(3)、可得。

定义C0和C1之间的距离D为:

D=|μ0-μ1|

(12)

由式(12)可知,D的值越大,代表C0和C1的距离越远,算法的分割效果越好。

C0和C1的分散度公式如下:

(13)

(14)

其中,i-μ0和i-μ1代表C0和C1中的像素点与中心点之间的距离,为保证良好的分类效果,必须同时满足D最大且d0和d1最小,定义适应度函数为:

(15)

把群体中个体的适应度相加,得到适应度总和为S,从0~S之间随机选取一个数k,从群体中的第一个个体开始,累计叠加对应的适应度,在适应度之和大于k时终止,此时累计叠加的最后一个个体就是我们选择的目标。重复选择操作,最终选出合格的个体集合I1′~In′。

从集合I1′~In′中选取两个不同的个体,根据pi值进行交叉操作,形成新群体I1′~In′。本文采用双点交叉的方法,两个交叉点分别位于前8位和后8位,交叉概率pi取0.6。

选定变异概率pm为0.01,随机从I1′~In′中选择若干个体,从这些选出的个体中,再随机选择某一个体通过基本变异算子进行变异运算。最终形成新群体I1′′′~In′′′。

在进化过程中,如果群体中的最高适应度值没有发生变化,则终止遗传算法的运行,最高进化次数设为30次。

(a)原图 (b)Otsu阈值分割

(c)全局阈值分割 (d)基于遗传算法的二维最大熵阈值分割图3 阈值分割结果

对一幅受到光源干扰的轴承图像分别进行Otsu阈值分割、全局阈值分割和基于遗传算法的二维最大熵分割,在图3a中,由于光照的不均匀,轴承左边形成了一圈阴影,在图3b和图3c中,用Otsu阈值分割、全局阈值分割的图像左边皆留有阴影区,全局阈值分割的分割效果相对较好,但也不能完全分离阴影区域和轴承,势必会对后期的尺寸测量造成影响。如图3d所示,基于遗传算法的二维最大熵分割能够基本祛除阴影区域,分割效果明显。

时长是判定算法好坏的标准之一,分别计算Otsu阈值分割算法、全局阈值分割算法和基于遗传算法的二维最大熵分割算法的运行时间,由表1可知,基于遗传算法的二维最大熵分割算法运行时间最短,由此可得,基于遗传算法的二维最大熵分割的算法不仅能完美分割轴承边缘和阴影区域,还能缩短运算时长,提高运行效率。

表1 算法运行时长对比

4 尺寸测量

4.1 边缘检测

边缘检测是一种基于灰度突变的识别图像特征的方法,常用的边缘检测算子有:Canny算子、高斯—拉普拉斯算子、Roberts算子等。其中,Canny算子边缘定位精确性高,抗噪声干扰性好,是最常用的一种边缘检测算法,系统选用Canny算子进行边缘检测。首先,对图像进行滤波,并设定一阶差分卷积模板,计算公式如下:

(16)

φ1(x,y)=f(x,y)*H1(x,y)

(17)

φ2(x,y)=f(x,y)*H2(x,y)

(18)

由式(17)和式(18)可得一阶偏导函数梯度的幅值:

(19)

方向:

(20)

选取阈值T1和T2(T1

(a) 轴承整体边缘 (b) 轴承内外圈边缘图4 边缘提取

4.2 计算内外径

分别对轴承的内外圈求取最小外接矩形,矩形的边长即为内外圈的直径长度,具体算法如下:

假设图像的顶点矩阵中第i个顶点为Pi,定义Pi的顶点编码为Ci,编码范围为{6,1,2,3},定义Pi行走方向为Di,取值范围为{0,1,2,3}[12]。

取当前顶点Pi的坐标值为 (xi,yi),则下一顶点Pi+1的坐标值为 (xi+1,yi+1),Pi+1的顶点编码为Ci+1,行走方向为Di+1,顶点的行走方向变化规则为:

(21)

顶点坐标的迁移规则为:

(22)

对目标进行曲线积分,方向链的坐标迁移规则如下[13]:

(23)

根据离散格林公式,在方向链的垂直方向上有:

(24)

在方向链的水平方向上,有:

(25)

顶点链码中垂直方向的点数为N1;水平方向的点数为N2。若N1

目标图像的主轴计算公式为:

(26)

其中,u11=M11-y×M10,u20=M20-x×M10,u02=M02-y×M01;α为主轴与X轴所成的方向角。

以目标的形心为坐标原点,以方向角α为旋转角度,旋转X轴,形成X′轴,同理可得Y′轴,转换关系如下:

x′=p-cos(α)×x+sin(α)×y

(27)

y′=q-sin(α)×x+cos(α)×y

(28)

根据式(27)和式(28)计算凸链在新坐标系下的坐标值,并求出最大最小的坐标值x′、y′,循环直至矩形的面积最小[14],把x′、y′值转化到原坐标系下,则此时的最大最小x′、y′的值即为最小外接矩形的4个坐标点。矩形的边长即为最大最小x′和最大最小y′相减的值。

分别对轴承内圈和外圈做最小外接矩形,并反馈内外圈的圆心坐标,如图8所示,内矩形和外矩形的边长即为轴承的内径和外径。

图5 最小外接矩形计算轴承内外径

5 相机标定

用计算机视觉对物体进行尺寸测量时,我们需要把实物的尺寸对应到图像像素点,求解实物尺寸和像素大小对应关系的过程称为相机标定[15-16]。系统采用标准参照测定法,取长度为50mm的标准尺放置于系统的测量台上,并摄取标准尺的图像,通过系统的图像处理技术,计算标准尺的像素点个数。实物尺寸和像素的对应关系k的表达式如下式所示:

k=L/p

(29)

其中,L表示标准尺的实际尺寸,p表示标准尺的像素点个数。为了增加测量系统的准确性,我们对标准尺进行多次测量,并取其测量值的平均值。通过数字图像处理技术计算得p=805,代入式(29),得标定值k=50/805(mm/pixel)。

6 实验与分析

为了检验该测量系统的测量精度,取内径公称值为21.0mm,外径公称值为31.0mm的轴承作为实验对象,在光照不均的情况下,对轴承分别用Otsu阈值分割法、全局阈值分割法等传统阈值算法和本文的算法进行尺寸检测,并对轴承进行人工测量(一般用游标卡尺),测量次数为5次,测量数据如表1所示。

表1 测量结果对比 单位:mm

相对误差的公式:

(30)

平均相对误差的公式:

(31)

其中,δi表示第i次测量的相对误差,Li表示第i次测得的数据,L*表示真值,n表示测量次数。

由表1可得,传统阈值算法的内径平均相对误差和外径平均相对误差分别1.458%和4.245%,数据误差太大,无法满足精确度,遗传算法的的内径平均相对误差和外径平均相对误差均为0.006%,最大误差不超过3μm,明显小于传统阈值算法和人工测量的误差,能够满足精确度要求。

误差来源:

(1)最小外接矩形算法本身存在一定误差;

(2)遗传算法不能完全祛除光照不均产生的阴影,阈值分割时会有少许偏差;

(3)轴承表面对光照的反射率高,图像边缘模糊产生的测量误差。

7 结论

针对复杂的光照测量环境,建立了一套轴承尺寸光照自适应测量系统,提出一种基于遗传算法的二维最大熵阈值分割算法,遗传算法可以快速确定最合适的阈值,结合二维最大熵阈值分割算法后,可以精确分割光照不均引起的阴影区域,实现光照自适应的功能。对直径公称值为31.0mm的轴承进行实验,相对误差小于0.05%,最大误差不超过3μm,测量精度远高于传统阈值分割和人工测量,满足精度要求。

猜你喜欢

光照遗传算法灰度
采用改进导重法的拓扑结构灰度单元过滤技术
节能环保 光照万家(公益宣传)
当幻想的光照进童心世界
基于遗传算法的高精度事故重建与损伤分析
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
Arduino小车巡线程序的灰度阈值优化方案
隐蔽的力量
基于遗传算法的智能交通灯控制研究
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于改进多岛遗传算法的动力总成悬置系统优化设计