基于最小生成树和图像矩的陶瓷过滤器表面缺陷检测

2022-07-05 07:22董子昊李金屏
关键词:孔洞过滤器阈值

周 静, 刘 旭, 董子昊, 李金屏

(济南大学 a. 信息科学与工程学院, b. 山东省网络环境智能计算技术重点实验室,c. 山东省“十三五”高校信息处理与认知计算重点实验室, 山东 济南 250022)

随着我国经济快速发展,工业化水平日益提高,如何提高生产效率是当前制造业面临的重要课题。泡沫陶瓷过滤器具有高温过滤功能,能够过滤熔融液态金属,有效滤除熔渣及其他非金属夹杂物,净化金属熔体,在金属铸造领域得到广泛应用[1]。

陶瓷过滤器生产加工过程中难免产生堵孔、裂缝缺陷,这些缺陷将导致熔体过滤不充分,纯净度不达标。目前,陶瓷过滤器检测完全采用人工目检的方式;但是人眼视觉疲劳会导致误检率增大,因此进行基于机器视觉的陶瓷过滤器自动化缺陷检测研究,即利用摄像头获取图像,输入到计算机中进行检测,可以减小人力成本,降低误检率。

目前,机器视觉技术已广泛应用于工业检测、 包装印刷、 食品工业等诸多领域, 其中, 在工业检测中的应用尤为广泛[2], 例如钢板表面缺陷检测[3-5]、 木材表面缺陷检测[6-7]、 陶瓷瓦表面裂纹检测[8]等。

目前, 基于机器视觉的陶瓷过滤器缺陷检测相关研究很少。 文献[9]中的基于传统的图像处理算法提出了关于陶瓷过滤器缺边、 掉角、 凹坑和裂缝缺陷的检测方法。 该算法对于裂缝、 凹坑缺陷的检测的基本步骤是先对图像进行填充、 取差集、 闭运算等处理, 然后使用最小覆盖圆算法实现缺陷长度的计算, 但不同种类的缺陷应分析和提取各自的特征。

为了解决人工检测陶瓷过滤器堵孔、裂缝缺陷效率低且误检率高的问题,本文中提出一种基于最小生成树和图像矩的陶瓷过滤器表面缺陷检测算法(简称本文算法),首先对图像进行预处理,并利用大津法分割图像,然后基于边界跟踪算法检测最大轮廓提取出感兴趣区域,最后通过分析感兴趣区域来检测堵孔和裂缝缺陷。

通过对大量堵孔缺陷图像进行观察可知, 这种缺陷基本在某一个局部区域内出现, 且孔洞空间分布不均匀, 因此可基于滑动窗口遍历图像, 并结合最小生成树和孔洞占空比提取窗口内的特征进行检测。 最小生成树可用来描述孔洞的空间分布情况, 而占空比用来表示堵孔所带来的孔洞面积变化。 由于陶瓷过滤器裂缝的灰度值特征和形状特征与骨架区域对比明显, 因此可基于椭圆描述裂缝的形状特征, 即利用图像矩计算连通区域的等价椭圆来进行裂缝缺陷检测。 验证基于图像矩的等价椭圆相较于文献[9]中最小外接圆方法是否能更准确地描述裂缝的细长形状, 从而有效提升裂缝检测效果。

1 算法原理

合格及有缺陷的陶瓷过滤器图像如图1所示。 首先, 利用均值滤波和灰度化方法对利用相机采集到的陶瓷过滤器图像进行预处理; 其次, 利用大津(Otsu)算法[10]求出满足最大类间方差的分割阈值, 对图像进行二值化; 然后, 划分感兴趣区域, 采用取差集等方法提取表面孔洞区域; 最后, 采用最小生成树提取孔洞特征检测堵孔缺陷, 采用图像矩算法计算等价椭圆检测裂缝缺陷。 算法流程及相应示例如图2所示。

(a)正常(b)堵孔(c)裂缝图1 合格及有缺陷的陶瓷过滤器图像

1.1 图像预处理及分割

通过相机采集到的图像难免受到噪声干扰, 因此本文算法采用均值滤波对图像进行去噪。 为了减少计算量和方便后续处理, 该算法对图像进行灰度化操作, 将输入的彩色图像转化为8位灰度图像。

阈值分割的方法在图像分割中应用较为广泛。通过观察分析陶瓷过滤器图像的灰度直方图可知,陶瓷过滤器目标区域与背景的灰度级存在明显差异,因此,可采用大津法进行分割。大津法是一种自适应的阈值分割算法,在[0, 255]区间内找到一个灰度值使得目标和背景区域的类间方差最大,以此灰度值作为分割的最佳阈值。

陶瓷过滤器图像处理过程如图3所示。

图2 基于最小生成树和图像矩的陶瓷过滤器 表面缺陷检测算法流程及示例

1.2 堵孔缺陷检测

陶瓷过滤器的表面堵孔缺陷具体表现为孔洞堵塞,孔隙率减小使得过滤金属溶液速度减慢。由于堵孔多存在过滤器表面的局部区域,因此采用正方形滑动窗口的方法遍历图像,分析图像的局部特征。与正常区域相比,堵孔区域孔洞面积明显减小且孔洞分布分散,表现为滑动窗口区域的占空比减小和孔洞分布的稀疏性增大,如图3(a)所示。本文中选择用面积特征和空间分布特征来检测堵孔缺陷,用占空比描述孔洞面积特征,用最小生成树描述空间分布特征。设置占空比阈值和最小生成权值的阈值,从而实现对滑动窗口的分类和图像中缺陷的检测。

1.2.1 划分感兴趣区域和提取孔洞

输入图像经过分割后,需检测框定过滤网在图像中的所占区域位置,利用最小外接矩形方法对目标区域进行标定。由于分割后的二值图像存在噪声点,对目标区域检测产生影响,因此先采用边界跟踪法找出图像中所有连通域的轮廓,然后从各个轮廓的面积进行筛选,从所有连通区域的轮廓所包围面积中选出最大的即为目标区域,如图3(b)所示。将该轮廓填充后的图像与原图取差集从而提取出孔洞,如图3(c)、 (d)所示。

(a)二值图像(b)目标检测(c)裁剪(d)孔洞提取图3 陶瓷过滤器图像处理过程

1.2.2 滑动窗口

在提取图像的所有孔洞后,需要检测出孔洞面积和分布异常的区域,在过滤网表面区域存在很多大小相似、分布均匀的孔洞,考虑到孔洞分布的遍布性和规律性,采用滑动窗口的方法,即针对过滤器表面的孔洞的大小选择合适的正方形窗口,使其能够包含有一定数量的孔洞。利用所选的滑动框,对过滤器表面从左到右、从上到下依次滑动。

1.2.3 占空比

结合堵孔导致孔洞面积减少这一特点,本文算法使用计算窗口内占空比的方法。占空比为前景面积与滑动窗口区域总面积的比值。

1.2.4 图结构

图论可用来描述事物及其之间的关系,利用图来描述孔洞的空间分布,将利于对堵孔与孔洞之间关系进行全局分析和操作。本文算法通过分析堵孔缺陷的特点,利用最小生成树来描述堵孔目标点的空间分布稀疏性的特征,实现对堵孔区域的检测。

1.2.5 构造图

要分析孔洞之间的空间分布情况,需要借助于坐标点来表达孔洞坐标位置信息,先计算每一个连通区域轮廓, 再通过一阶矩求得各个轮廓的重心。本文算法把窗口内目标点作为集合中的元素,组成一个目标点集。

1.2.6 距离表示

边的权值可通过2个孔洞之间的距离求得,孔洞之间距离可由2种方法表示:一是通过计算对孔洞区域的重心的欧氏距离;二是计算2个孔洞的最短距离。由于孔洞形状和大小具有不规则性,因此存在重心距离很大而最短距离很小的情况。为了更好地描述孔洞分布的稀疏性, 使用孔洞之间的最短距离作为构造图的边的权值。孔洞之间距离的表示如图4所示。

|AB|为重心之间距离; |CD|为最短距离。图4 孔洞间最短距离与重心距离示意图

将陶瓷过滤器正常区域与堵孔区域分别进行处理,对比情况如图5所示。完全图是一个简单图,顶点与顶点之间都有一条边相连。边的权值为2个孔洞之间的最短距离。对所有目标点进行编号,构成顶点集合V。边的集合E由式(1)定义,构成完全图G,

(1)

式中:E是完全图G边的集合;d(vi,vj)表示顶点vi到顶点vj之间的欧氏距离即为顶点vi与vj之间的权值。

1.2.7 最小生成树

最小生成树是完全图的生成树中权值总和最小的一棵,能够描述点集的聚集性,如图5(d)所示。观察堵孔区域和正常区域可知,堵孔区域图像中表现为点集分布稀疏, 而正常区域图像的点分布较为密集,因此使用最小生成树来描述是合理的。

图5 陶瓷过滤器正常区域与堵孔区域构造过程对比

考虑到窗口之间孔洞数量的差异性,孔洞数量浮动较大,不能简单地通过数量来判断是否存在堵孔缺陷,因此需要对求得的最小生成树所有边权重求和取均值,从而得到边权重的均值,即

(2)

计算得到最小生成树权重均值和图像占空比D后,通过设置最小生成树权重均值的阈值和图像占空比阈值,可将存在堵孔缺陷的过滤网和正常过滤网的图像进行分类和堵孔区域的检测。

1.3 裂缝缺陷检测

陶瓷过滤器裂缝在图像上呈带状分布, 具有一定的连续性和方向性, 且灰度值小于骨架结构区域的, 因此利用阈值分割、 填充、 取差集等方法实现过滤网表面的灰度值较低的区域的提取, 提取到每一个孔洞后, 利用图像二阶矩算法计算区域等价椭圆的细长度和长轴, 最后根据区域的细长度和长轴特征设置分类规则完成裂缝缺陷的检测, 检测流程如图6所示, 图像处理过程如图7所示。

图6 陶瓷过滤器裂缝缺陷检测流程图

1.3.1 孔洞区域提取

首先,根据轮廓跟踪算法找到目标区域的轮廓,对其轮廓范围内区域填充,如图7(a)、 (b)所示。其次,将填充后图像与原二值图像取差集,结果如图7(c)所示。裂缝出现在骨架断裂处,裂缝连接处较为细微,取差集后会存在裂缝断连的现象。闭运算能够填补小孔以及弥合小裂缝。为了增强裂缝线条信息的同时不增加额外区域,本文算法采用矩形结构元的闭运算。最后,提取孔洞区域的图像矩特征,求得细长度和长轴后进行筛选。

(a)二值图像(b)目标区域填充(c)提取孔洞区域(d)裂缝检测及标注图7 陶瓷过滤器裂缝缺陷图像处理过程

1.3.2 图像矩

区域的矩[11]表示把一个归一化的灰度图像函数表示为一个二维随机变量的概率密度。对于一个二值图像,(p,q)阶矩定义为

(3)

式中:mp,q为(p,q)阶矩;rp为图像第r行的p次方;cq为图像第c列的q次方;R为目标区域。

图像的二阶矩有m11、m02、m20。二阶中心矩可以用来确定目标的主轴。目标的主轴通常有一对,即长轴和短轴,分别代表最大、最小二阶矩的方向,根据主轴的方向角θ能够估计出感兴趣区域旋转的角度。θ的计算公式为

(4)

式中μ11、μ02、μ20为二阶中心矩。

1.3.3 图像等价椭圆

由一阶、二阶矩可以确定一个与目标几何矩等价的椭圆[12]。图像等价椭圆是一个与该连通域的一阶矩和二阶矩相等的椭圆。若图像椭圆由其长半轴r1和短半轴r2表示,则有

(5)

(6)

(7)

式中ε为细长度,是椭圆扁平程度的一种度量,可用来描述一个连通区域的细长程度。当ε为1时,长轴与短轴相等,构成一个圆形。细长度ε越小,椭圆扁平程度越大。

通过实验设置细长度和长轴的阈值就能够实现对裂缝、非裂缝区域的检测。

2 实验与分析

2.1 实验

本文中的实验对象为某公司提供的陶瓷过滤器样品采集的图像数据。 数据集包含2种常见的陶瓷过滤器缺陷样本图像, 分别为堵孔缺陷图像38幅, 裂缝缺陷图像50幅。 实验中所用软件为Python3.9.0、 OpenCV4.4, 硬件设备选用存储器为8 GB、 主频为3.4 GHz的Intel i5-8250U处理器。

2.2 实验结果

过滤器堵孔、裂缝缺陷的实际检测结果如图8、9所示,限于篇幅,每种缺陷仅展示1个样例。

(a)原图(b)二值化(c)提取孔洞(d)堵孔检测图8 陶瓷过滤器堵孔缺陷检测结果

(a)原图(b)二值化(c)提取孔洞(d)裂缝检测图9 陶瓷过滤器裂缝缺陷检测结果

2.3 分类阈值选择

提取到图像的特征后,需要设定分类阈值对图像进行决策分类,并尽可能使得准确率高并且误检率低。在陶瓷过滤网的样本数量较多的情况下,认为其特征值近似符合正态分布。采用3σ(σ为标准差)准则检验特征值中的异常值,找出存在缺陷的陶瓷过滤网。选取1 500个正常滑动窗口作为样本,计算得出的均值μ和标准差σ如表1所示。通过观察,近似认为占空比和最小生成树权值符合正态分布, 数值在[μ-3σ,μ+3σ]为正常, 否则存在

表1 占空比和最小生成树权重的均值和标准差

缺陷;但是检验准则只能给出大致的阈值范围,不能确定是否能达到最优检测效果,因此,通过微调阈值,最终确定占空比阈值为0.062,最小生成树权值阈值为6.8。

裂缝在图像上表现为带状细长型区域,为了能从提取到的所有连通区域中有效筛选出裂缝区域,本文中选择r1与ε作为判断条件对提取的孔洞进行决策划分,其中r1表示裂缝区域的长短,ε表示裂缝的细长程度。通过微调阈值,最终确定最佳阈值:ε=0.24,r1=31像素。所有的分类阈值见表2。

表2 占空比、权重等分类阈值

2.4 准确率测试

在产品检验中通常会发生正确检测和误检2种情况,检测正确包括合格品检测正确和不合格品检测正确2类。为了测试本文算法的精度,本文中采用准确率A、误检率F作为评判标准,即

式中:TP为将正类检测为正类的数量;TN为将负类检测为负类的数量;FP为将负类检测为正类的数量;FN为将正类检测为负类的数量。

对陶瓷过滤器的实验样本进行堵孔、 裂缝缺陷检测实验。 为了验证本文算法的优越性, 设置2种不同的分类方法进行对比: 一种是通过设定分类规则, 将满足相应缺陷分类条件的区域检测出来; 另一种是通过利用带动量项的3层反向传播(BP)神经网络构造一个非线性分类器, 将提取到的缺陷特征归一化后构成特征向量输入到神经网络中, 然后经过反向传播更新权重, 最后输出层输出分类结果。 其中激活函数选用sigmoid函数, 学习率初始值设为0.1, 动量系数设为0.9, 隐含层的神经元的个数为6, 实验结果如表3所示。 从实验结果来看, 在样本规模较小的情况下, 基于本文方法的分类方法的准确率较高, 而基于BP神经网络的分类效果表现不佳。

表3 陶瓷过滤器缺陷检测实验结果

3 结语

针对泡沫陶瓷过滤器生产加工中出现的堵孔、裂缝缺陷检测依赖人工的难题,本文中通过分析堵孔、裂缝2种缺陷的特征,提出一种基于最小生成树和图像矩的陶瓷过滤器缺陷检测算法,利用最小生成树、占空比和图像矩等描述方法用来检测堵孔、裂缝缺陷。

实验结果表明,本文算法能够对陶瓷过滤器的堵孔、裂缝缺陷进行有效检测。自建数据集的检测准确率达到95%以上。由于本文中使用大津法分割图像,在不均匀光照和对比度低的情况下采集到的图像质量将会下降,从而影响检测效果,需要进一步改进图像分割方法,以适用于更复杂的应用场景。

猜你喜欢
孔洞过滤器阈值
非平稳声信号下的小波变换去噪方法研究
土石坝坝体失稳破坏降水阈值的确定方法
非均匀光照下文本图像分割算法研究
提线木偶
悬崖上有字
针对石化行业过滤器流阻的探讨及研究
走路时,我们会踩死细菌吗
利用迭代软阈值方法抑制恒时演化类核磁共振实验中的采样截断伪峰
花粉过滤器
新型纳米材料过滤器