APP下载

基于机器视觉的树脂镜片表面疵病边缘检测

2021-05-21林磊臧铁钢

机械制造与自动化 2021年2期
关键词:边界点圆心镜片

林磊,臧铁钢

(南京航空航天大学 机电学院,江苏 南京 210016)

0 引言

随着我国近视人口不断增加,眼镜产业有着良好的市场前景。我国镜片制造行业的生产自动化水平已有一定提高,但是镜片的质量检验仍停留在人工检验阶段[1]。人工检验采用目视法检测镜片,其最大问题在于产品的判别标准完全取决于检验人员的经验和水平,受人为因素和个体差异的影响,误检率相对较高。此外,人工检验还存在人力成本高,检测效率低,人眼易疲劳等问题。因此,树脂镜片的自动化检测已成为眼镜片制造行业技术发展的瓶颈。

国外在20世纪末已开始研究基于机器视觉的光学元件缺陷检测方法,国内对树脂镜片的表面疵病检测也有一些研究。文献[2]基于显微散射暗场成像,对不同大小和形状的球面镜片缺陷进行了检测研究;文献[3]采用暗场散射成像法采集光学元件表面疵病的图像,设计了基于图像处理的表面元件检测系统;文献[4]利用光刻投影原理设计了一套基于亮场照明的显微成像表面疵病检测系统;文献[5]对镜片中存在的疵病提取特征,研究了基于直线拟合和圆度判断的分类方法;文献[6]运用改进型归一法对疵病目标进行自动计数,为自动化分级系统的计数模块提供了数据支持;文献[7]基于机器视觉和Halcon图像处理软件完成了对镜片图像的采集和检测软件设计。但是镜片疵病检测研究应用到工业实际还存在检测效率不高、准确率不达标的问题。其原因是镜片中疵病明暗不一、形态大小不同,高质量图片的处理效率低。因而本文在基于边缘算子的划痕检测[8]研究基础上,主要研究如何提高镜片检测的图像处理效率和识别疵病边界的准确性。

常见光学镜片的表面疵病包括点杂质、划痕、毛絮、气泡、凹坑和破边[9]。本文在Canny边缘检测算法的基础上,优化机器视觉检测算法,采用局部窗口最佳阈值法提取疵病边缘,对不同明暗和形态的目标疵病实现准确分割。

1 机器视觉检测系统设计

镜片疵病视觉检测总体方案分为硬件图像采集模块和软件算法模块,如图1所示。

图1 疵病检测方案设计

硬件装置指图像采集系统,包括树脂镜片的照明系统、成像系统和辅助装置,采集镜片图像,进行图像处理;软件系统以图像处理算法为核心,包含了图像预处理、疵病边缘检测算法等。

本文研究对象为直径75 mm的常用树脂镜片,基于暗场成像原理,采用环形光源0°角照射镜片边缘,如图2所示。入射光线因疵病发生散射被成像系统接收,获得暗背景下的明亮疵病图像。

图2 暗场成像

2 表面疵病边缘检测算法研究

镜片图像如图3所示,呈现黑暗的背景和明亮的疵病。对图像提取圆形待检测区域,选择滤波器进行混合滤波处理;提出一种基于局部窗口最佳阈值的改进Canny边缘检测算法,准确分离疵病边界。

图3 镜片图像

2.1 感兴趣区域的选取

感兴趣区域(region of interest, ROI)是图像处理中选择的一个图像区域,这个区域是图像处理和分析关注的重点。镜片边缘因粗糙不平发生光的散射,其在图像中呈现一圈明显的亮圈,利用霍夫(Hough)圆变换检测镜片轮廓,提取感兴趣区域。本文依据随机Hough变换算法[10],设计一种改进的快速Hough圆检测算法。具体思路如下:

1) 对每个像素行扫描,若该像素值大于灰度阈值T0,则存入圆边界点存储队列D。

2) 从D中随机取3个边界点,计算该边界点的候选圆心和半径,对圆心进行投票。

3) 对D中剩下点集重复2)过程,得到所有边界点计算的候选圆心。

4) 根据候选圆心投票结果的能量图,对同一连通区域的候选圆心区域进行非极大值抑制,得到最有可能圆心位置。若该圆心投票结果大于阈值Tc时, 认为该圆为真圆,否则舍弃。

Tc=kcπRc

(1)

式中:Rc为候选圆半径;kc为真圆判别系数。

图像中的亮点多为圆边界,采用灰度阈值比较,将边界点存入队列D中,如图4所示,间隔选取D中3个边界点,圆上非共线的3点计算圆心,如图5所示。每3个边界点确定1个候选圆参数,对所有边界点计算候选圆参数,并对候选圆心作证据积累。

图4 边界点存取形式

图5 计算候选圆心

由于镜片图像中圆的数量单一,整体图形简单,可以在候选圆参数投票过程中忽略候选圆半径,只对候选圆心作证据积累,得到投票能量图。投票最高处即可能性最大的圆心位置,计算其投票阈值Tc。若投票数大于阈值则为真圆。为了便于展示,将投票结果归一化到[0,255]区间,对应的候选圆心投票能量图局部放大结果如图6所示。

图6 候选圆心投票能量局部图

2.2 混合滤波处理

当图像中混合有不同类型的噪声时,单一的滤波器无法达到同时降噪的要求[11]。镜片图像中存在混合噪声,采用改进的带噪声选择的混合滤波方法,如图7所示,对图像中的脉冲噪声和高斯噪声进行选择性滤波。

图7 混合滤波

对输入原图像进行脉冲噪声检测,脉冲噪声判别准则为

(2)

式中count[N(x,y)]为邻域像素个数。

设计两个阈值:Tυ用作判断邻域间像素灰度值的差别是否足够大,Tn用作判断灰度值差别大的像素数量是否足够多。

脉冲噪声检测判别采用5×5的检测窗口,若窗口中央的像素值满足式(2),认为该像素点为脉冲噪声,对该窗口进行快速中值滤波处理。传统的中值滤波是取5×5窗口内所有的像素值进行中值排序。为了提高此处中值滤波的效率,采用如图8所示的模板进行快速中值滤波,取模板内9个像素值排序后的中间值替代原像素值。

图8 快速中值滤波模板

对于非脉冲噪声的像素值,采用双边滤波消除高斯噪声的干扰,然后将两个结果合并得到去噪输出图。

2.3 局部窗口选取最佳阈值

Canny边缘检测算法是JOHN Canny于1986年提出的边缘检测算法[12]。其应用广泛,在边缘精确定位和抗噪两方面平衡得很好,同时存在一些不足。在滤波处理中使用高斯函数进行平滑,影响平滑标准差σ的选取与具体的图像细节有关;阈值需要人为凭经验设定;基于全局的阈值,难以对不同形态的目标疵病进行检测,边缘的分割不够准确等。本文基于Canny算法[13]提出一种改进的局部窗口阈值边缘检测算法。

首先采用Sobel算子对去噪后图像进行边缘检测,对得到的梯度图选取较小的初始阈值T0,对梯度图进行阈值分割,确定大致的目标疵病的位置和数量。统计图像中的目标疵病并对每个目标划分局部矩形窗口。对于梯度图中的每个局部矩形窗口进行最大类间方差法自动阈值分割,如图9所示。然后对边缘进行非极大值抑制和边界跟踪,确定完整的目标疵病边缘。算法流程如图10所示。

图9 局部窗口选取最佳阈值

图10 局部窗口阈值的Canny边缘检测

3 实验结果分析

本文采用的是某图像公司的ALLied Vision系列的Manta G504工业数字相机,软件处理采用VS2015和OpenCV图像处理库。

分别采用OpenCV库中的霍夫梯度圆检测法和本文中改进的快速Hough圆检测算法,对图3所示的镜片灰度处理后提取圆形感兴趣区域,实验结果如表1所示。

表1 不同圆检测算法对比

从表1可以看出,本文算法与霍夫梯度法检测的圆数值上十分接近,但是霍夫梯度圆检测时间为1 239.67 ms,本文算法检测圆的检测时间为37.92 ms,对于单一的镜片图像圆检测任务而言,采用本文算法效率更高。

图11和图12分别是Canny边缘检测算法和局部窗口阈值Canny边缘检测算法分割图像,由于镜片的表面疵病形态不一,散射明暗不同,Canny边缘检测算法提取的疵病边缘不够完整,本文算法对每个疵病局部窗口选取最佳分割阈值,能很好地实现疵病边缘的精确提取。

图11 Canny边缘检测结果

图12 局部窗口阈值的Canny边缘检测结果

4 结语

本文针对树脂镜片表面疵病缺陷检测中的效率和分割准确性的问题进行了研究。设计了一种改进的快速Hough圆检测方法获取镜片图像感兴趣区域,选择混合滤波消除脉冲噪声和高斯噪声。同时提出基于局部窗口阈值的改进Canny边缘检测算法,对预处理后的疵病图像划分局部窗口,在局部窗口内选择最佳阈值以完成边缘的精确提取,获得的疵病边界清晰准确。本文在镜片视觉检测算法的效率和准确性两方面进行了优化,满足镜片疵病自动化检测的需求。

猜你喜欢

边界点圆心镜片
以圆周上一点为圆心作圆的图的性质及应用
360°环焦镜片浅析
防蓝光镜片那些事……
如何验配中老年渐进镜片
基于降维数据边界点曲率的变电站设备识别
镜片科技
面向手绘草图检索的边界点选择算法
一种去除挂网图像锯齿的方法及装置
参考答案
基于网格聚类中边界点的处理