计算机系统应用  2021, Vol. 30 Issue (1): 270-276   PDF    
基于机器视觉的多孔材料缺陷检测
金顺楠, 周迪斌, 朱江萍     
杭州师范大学 信息科学与工程学院, 杭州 311121
摘要:针对多孔材料在生产工艺中易出现阻塞和缺角等缺陷, 本文设计了一种基于机器视觉的多孔材料表面缺陷检测方法, 通过对目标区域的有效分割、模糊度检测、形态学处理和分析等技术手段, 实现了该类材料的表面缺陷的快速定位和特征分析. 经实验检测, 本文算法的准确性和检测效率可以满足工业生产实时检测需求.
关键词: 机器视觉    缺陷检测    多孔材料    模糊检测    
Defect Detection of Porous Materials Based on Machine Vision
JIN Shun-Nan, ZHOU Di-Bin, ZHU Jiang-Ping     
School Of Information Science And Engineering, Hangzhou Normal University, Hangzhou 311121, China
Foundation item: General Program of National Natural Science Foundation of China (11772301); Natural Science Foundation of Zhejiang Province (LY17F020016); Industrial Intelligent Manufacturing Project (Construction of Teaching Case Base for the Second Round of Professional Degree Postgraduate Course in Hangzhou Normal University)
Abstract: Aiming at the defects of porous materials such as blockage and angle gap, a method of surface defect detection for porous materials based on machine vision is designed in this study. By means of effective segmentation of target area, ambiguity detection, morphological treatment and analysis, the rapid location and feature analysis of surface defect for porous materials are realized. The experimental results show that the accuracy and efficiency of the algorithm can meet the real-time detection requirements of industrial production.
Key words: machine vision     defect detection     porous material     blur detection    

多孔材料, 一种由相互交叠贯通的密集孔洞网络所构成的新型材料, 随着制备方法研究的深入, 它成为了近年来新材料的研究热点. 因其表面特殊的密集孔洞结构, 使其具有高比表面积、高空隙率、高透过性、高吸附性、可组装性等诸多优异的物理化学性能, 因此被广泛应用于化工、生物医学、环保、功能材料等领域[1]. 当多孔材料应用于工程结构上时, 需对其构件本身的缺陷、强度、刚度等性能进行研究, 以便能更好地应用. 由于加工工艺以及生产过程中各种不确定因素的影响, 多孔材料会存在多种缺陷, 例如: 孔洞阻塞、孔洞缺失、裂纹和凹痕等, 这些缺陷会对多孔材料的性能产生很大的影响, 出厂前必须将这些存在缺陷的废品进行识别挑拣.

目前大多数的生产流水线仍在采用人工目测的方法来进行缺陷品的检测, 人工检测需要消耗大量劳动力、检测效率低, 且易出现漏检、误检等问题, 材料的一致性标准难以保证. 漏检的不合格产品若流入市场, 不仅会给企业带来经济损失, 还会给用户的使用带来影响. 随着现代自动化制造业的发展, 如何快速高效且准确地检测到多孔材料的缺陷, 成为企业品质提升急需解决的问题.

机器视觉是人工智能飞速发展的一个分支, 被广泛应用于生产制造检测等工业领域. 该技术利用机器来模拟生物的视觉功能, 并通过计算机的高速运算来实现图像的识别处理. 在大批量且重复性强的工业生产过程中, 相对于传统人工检测的方法, 利用机器视觉来进行检测, 不仅能有效提高检测的效率, 且检测精度、稳定性也更高.

近年来, 研究者们提出了许多利用机器视觉对工业产品进行缺陷检测的方案[2]. 阈值法运行速度快, 是工业上常用的缺陷分割方法, 但应用在纹理背景复杂的多孔材料图像上, 很难将目标区域从背景中完整提取, 检测结果的可靠性低. 文献[3]采用最大类间方差法进行缺陷分割, 并利用欧式距离聚类实现了缺陷的定位. 在实际运用中, 大量的聚类计算会降低算法的运算效率, 难以满足工业生产实时检测的需求. 文献[4]提出一种基于傅里叶重构法的缺陷检测方法, 通过分离并保留图像中的低频傅里叶分量实现了缺陷的定位. 该方法不依赖于纹理的局部特征, 对于规则纹理表面的缺陷检测有较好的效果, 而多孔材料的孔洞贯通交叠, 低频傅里叶分量也会对应着孔洞区域, 此方法并不能有效区分孔洞与缺陷区域. 面向不同的检测目标, 应当设计快速且有效的算法, 以满足工业生产中缺陷检测的准确率和实时性.

本文提出一种基于机器视觉的缺陷检测算法, 能有效针对多孔材料表面孔洞阻塞、缺角缺陷进行检测. 检测过程主要包括基于机器视觉的图像采集、图像预处理、缺陷检测3部分.

1 结构原理与检测过程

在多孔材料的制备过程中, 缺陷是普遍存在的. 根据多孔材料质量评价标准以及材料生产工艺特点, 综合考虑不同缺陷的特征, 可将多孔材料的表面缺陷大体分为以下两大类, 即:

(1)孔洞阻塞. 多孔材料是网络结构的材料, 孔洞是材料的主要特征之一. 由于生产工艺等问题, 材料表面的孔洞在浇筑时易被凝结阻塞.

(2)材料缺角. 由于材料的多孔性质, 材料在生产中易出现划伤、边角缺块、孔结构损伤等缺陷.

多孔材料表面缺陷检测需要满足: 检测出缺陷是否存在以及对缺陷部位进行准确定位. 首先利用工业相机对待检测的多孔材料进行图像采集, 并对该图像进行适当的预处理来去除图像噪声及其它干扰, 然后根据材料的特性分别设计算法对材料是否存在阻塞、缺角问题进行确定, 最后对缺陷进行标点定位. 流程如图1.

图 1 多孔材料缺陷检测流程图

2 图像采集与预处理 2.1 特征分析与图像采集

观察检测目标多孔材料可知, 本文所要检测的对象并不是一个简单的平面物体, 而是一个空间三维的结构体, 因此需要从6个外表面进行检测.

图像整体的外部信息可以由图像的形状、颜色和纹理等特征反映, 但这些特征却无法体现出图像所包含的对象的空间信息. 事实上, 图像中对象所在的位置和对象与对象或对象本体的空间关系同样是图像处理中非常重要的特征.

多孔材料是由相互贯通的大量多面体孔洞在空间聚集形成的三维结构. 要想对多孔材料进行研究, 就必须考虑到它独特的结构特征.

为了更好地分析其空间结构特征, 本实验同时采用6个相机进行材料表面图像的采集. 如图2.

将材料放置于清洁且透明的玻璃板上, 使用相机在固定距离内对材料的每个表面进行图像采集. 检测平台上的多孔材料经物镜成像, 再经相机将光学信号转换为电信号, 通过图像采集卡送至计算机进行缺陷的分析和检测.

在图像采集的过程中, 需要根据检测目标的特性适当调节相机镜头与检测台的距离才能保证材料表面正好投影到相机的成像表面上, 以便获得清晰的材料成像, 采集到的图像细节信息也会更为丰富. 采集到的图像如图3所示.

图 2 图像采集系统

图 3 材料采集图像

2.2 图像预处理

采集到的图像中会有影响检测的干扰信息, 为了优化检测目标的特征提取并提高识别的可靠性, 需要对粗采集的图像进行预处理. 通常, 图像灰度化可以在不消除有用信息的前提下, 最大限度地简化数据信息, 提高后续运算的速度.

工业现场采集的图像由于各种电器信号的干扰, 存在一定的噪声, 使得图像的质量下降. 为了降低噪声的干扰, 改善图像质量, 使之更适合机器的处理, 通常会采用基于空域或频域的各种滤波算法对图像进行处理. 高斯滤波是一种常用的滤波算法, 用模板扫描图像中的每一个像素, 再用邻域内像素的加权平均灰度值去替代模板中心像素点的值, 可以起到平滑图像、降低噪声的效果. 本文采用高斯滤波实现图像的滤波去噪.

3 多孔材料缺陷检测算法研究 3.1 阻塞检测

多孔材料的孔洞分布, 指的是多孔材料中孔洞所占面积与材料表面的分布状况, 是多孔材料的关键指标之一, 是决定材料的导电性、拉压强度等物理、力学性能的关键因素. 若出现孔洞堵塞的情况, 则会对材料后续应用产生极大影响. 如图4.

图 4 多孔材料块阻塞缺陷

孔洞阻塞的检测, 即为对多孔材料孔洞分布情况的检测. 观察多孔材料表面的孔洞可发现, 材料表面的单个孔洞虽为椭圆形状, 但邻近孔洞相互贯通, 导致材料表面孔的形状不一, 且因材料本身的立体结构, 上下层孔洞有交叠现象, 也会对孔洞分布检测造成影响. 针对多孔材料的特殊特征, 本文提出一种基于形态学处理的检测算法. 与传统的孔洞分布检测算法不同, 本算法不需对孔洞进行提取与描绘, 只需对孔洞边缘进行形态学腐蚀, 若在一定范围内孔洞腐蚀后存在余下的实块, 即为孔洞阻塞点. 针对多孔材料阻塞检测算法流程主要步骤如图5所示.

图 5 阻塞检测流程图

(1)首先对图像中的材料部分进行定位, 分离出背景从而得到材料图像.

(2)图像二值化, 获取材料表面孔洞的轮廓. 根据图像的灰度特征, 被分割的孔洞和孔洞间隙区域存在显著的灰度差, 故采用阈值分割法进行图像分割, 阈值分割的定义为:

$f(x,y) = \left\{ \begin{gathered} A,{\rm {if}}(f(x,y) \ge T) \\ 0,{\rm {otherwise}} \\ \end{gathered} \right\}$ (1)

该步骤中多孔材料表面的孔洞交叠会对分割后的二值化图像产生一定影响, 研究后发现, 由于上层表面阴影遮挡, 下层孔洞较表面灰度值低, 通过设置较高的灰度级阈值可以减小下层交叠孔洞对特征分析的影响.

(3)对阈值分割后的图像进行形态学处理, 提取阻塞区域. 腐蚀是图像形态学处理的基础之一, 能够消融物体的边界. 定义一个3×3大小的结构元素S扫描图像中的像素, 用S中的每一个像素与其覆盖的像素做“与”操作, 如果都为1, 则该像素为1, 否则为0, 最终得到S平移某像素距离后仍在x中的像素的集合.

${\rm{F}}\Theta {\rm{S = }}\left\{ {x|S + x \subseteq F} \right\}$ (2)

在孔径范围内对孔洞进行腐蚀, 若孔洞存在堵塞, 则腐蚀后图像会出现大面积连通区域, 即为孔洞阻塞部位.

(4)提取出孔洞阻塞连通区域, 标记连通区域轮廓, 定位阻塞存在点.

通过上述算法, 即可实现对多孔材料阻塞缺陷的检测, 实验效果图如图6所示.

3.2 缺角检测

由于多孔材料是一种立体的三维材料, 需要考虑其空间关系特征, 若材料某部位出现缺角, 相机与缺角部位的距离较远, 相机镜头就不能正确对焦到该部位, 则采集到的该部位图像会较无缺角表面模糊.

对于局部失焦模糊的图像, 比较直观的是模糊区域灰度变化比较缓慢, 边缘平滑而锐度比清晰区域的要小[5], 因此, 已有的模糊检测方法主要是基于对边界清晰度的分析或不同方向梯度信息的统计. 例如, 文献[6]使用图像边缘梯度分布的拟合标准差与梯度幅度来判断图像边缘的模糊度. 文献[7]对失焦模糊的图像进行再模糊, 以再模糊前后图像边缘位置的梯度比来判断边缘的模糊程度. 基于边缘清晰度的模糊检测容易实现, 但是在本实验中, 由于多孔材料表面孔洞多且密集, 孔洞堆叠处模糊度难以估计, 因此很难通过对比边缘清晰度来实现缺角部位的准确定位.

文献[8]对图像进行多次分块, 通过对比局部的标准差判断图像块的模糊与否. 图像的模糊区域由于灰度变化缓慢通常具有较小的标准差, 而有清晰边缘的区域一般具有较大的标准差, 因此可以将标准差作为评价模糊的一个指标. 该方法能有效过滤孔洞部位对缺角定位的影响, 但单独使用局部标准差来定位模糊对象具有一定的局限性.

图 6 实验效果图

相关性系数是描述两个变量之间的线性相关程度, 局部模糊图像由于像点的重叠, 使得模糊区域内的像素会有较大的相关性系数, 因此也可以作为图像模糊的一个评价标准[9].

本文提出了一种局部模糊区域提取的方法, 首先利用局部标准差来进行图像模糊块的粗糙定位[10], 再结合频域相关性系数实现模糊区域的分割提取. 实验结果表明, 该方法能有效检测出失焦模糊图像中的模糊区域. 实验流程如图7.

图 7 缺角检测流程图

(1)图像分块.

图像中的模糊或非模糊部分在一些区域内连续, 首先采用简单线性迭代聚类(SLIC)的方法将图像分割为若干规则子块. 相较于逐像素检测的方法, 以每个图像块为基准进行模糊度计算, 不仅能加快模糊检测的速度, 还能明确区分出图像中的粗糙块和清晰块, 为进一步的缺角提取提供一个种子区域. 假设图像中存在局部模糊的区域, 整个图像中的像素点将被划分为两类: $\left( {i,j} \right) \in {P_1}$ 为模糊部分, $\left( {i,j} \right) \in {P_2}$ 为清晰部分.

(2)采用图像局部标准差作为模糊评价阈值, 对图像子块依次进行模糊度检测.

首先用拉普拉斯算子对图像进行处理, 通过增强图像中灰度突变的区域, 减弱灰度的缓慢变化区域来强调图像中的突变细节.

拉普拉斯算子是各向同性的微分算子, 具有旋转不变形, 其定义为:

${\nabla ^2}f(x,y) = \frac{{{\partial ^2}f}}{{\partial {x^2}}} + \frac{{{\partial ^2}f}}{{\partial {y^2}}}$ (3)

将拉普拉斯算子表示为3×3的模板形式, 对图像进行卷积, 经过处理后的图像边缘更为清晰, 而模糊区域的边缘信息少增强效果不明显, 因此与清晰区域的模糊度差异增大.

以子块内某像素 $(i,j)$ 为中心, 则像素 $(i,j)$ 的标准差为:

$\sigma (i,j) = \sqrt {\dfrac{{\displaystyle\sum\nolimits_K {\displaystyle\sum\nolimits_K {|{{f}}(i,j) - } } \mu {|^2}}}{{{K^2}}}} $ (4)

其中, ${{{K}}^2}$ 为子块内像素总数, $f(i,j)$ 为像素灰度值, $\mu $ 为子块的像素灰度平均值. 判断块的模糊与否不能简单的依赖一个块的 $\sigma $ , 而应由局部块和全局图像的 $\sigma $ 对比决定. 首先计算整幅图像的 ${\sigma _{}}$ 值, 然后计算每一个局部块的 ${\sigma _{{p}}}$ 值, 并与 ${\sigma _{}}$ 进行对比, 如果 ${\sigma _{{p}}}$ ${\sigma _{}}$ 小很多, 则该子块很有可能为模糊块, 从而得到模糊测度:

$ {q}_{1}=({\sigma }_{{p}}-{\sigma }_{\rm{1}})/{\sigma }_{\rm{1}}$ (5)

当将每个子块的标准差值与阈值T进行比较时, 可能出现以下情况: 若 ${q_1} \ge {T_1}$ , 表示此子块中存在灰度变化明显的强边界, 因此标记为清晰子块. 若 ${T_1} > {q_1}$ , 表示该子块中存在大量灰度变化不明显的模糊像素, 标记为模糊子块并再分割为4个较小的窗口, 进行下一轮模糊判定. 图像模糊块粗糙定位如图8, 子块标准差值如图9.

图 8 图像模糊块粗糙定位

图 9 子块标准差值

(3)使用相关性系数作为模糊评价阈值, 对模糊块进行优化分割.

局部标准差实现了模糊块的粗糙定位, 但因为噪声和重叠孔洞的影响, 对某些区域的判断不会非常的准确. 为更好地分割图像中的模糊区域, 可使用相关性系数来进一步对图像进行模糊检测. 取已标记为模糊块的子块中某像素点为中心, 将周围领域划分为4个N×N(N远小于图像尺寸)大小领域的子块, 如图10.

图 10 像素领域划分

分别计算各领域块对应的频域对数系数 ${{{\tilde X}} _1}\left( {i,j} \right)$ , ${{{\tilde X}} _2}\left( {i,j} \right)$ , ${{{\tilde X}} _3}\left( {i,j} \right)$ , ${{{\tilde X}} _4}\left( {i,j} \right)$ 并计算对角领域块的相关性大小:

${{corr}}1 = Corr\left( {{{{\tilde X}} _1}(i,j),{{{\tilde X}} _3}(i,j)} \right)$ (6)
${{corr}}2 = Corr\left( {{{{\tilde X}} _2}(i,j),{{{\tilde X}} _4}(i,j)} \right)$ (7)

由此获得像素点 $(i,j)$ 所在区域的相关性:

${{corr}}(i,j) = \frac{{corr1 + corr2}}{2}$ (8)

${{corr}}(i,j)$ 与预设的图像相关性阈值 $CORR$ 比较, 若 ${\rm{corr}}(i,j) > CORR$ ,则像素点 $(i,j) \in {{{P}}_1}$ , 属于模糊区域; 反之, 属于清晰区域.

(4)模糊区域提取

在执行图像分块及模糊判定后, 可获得图像的二进制掩码, 该掩码在标记为清晰的像素处为零, 在标记为模糊的像素处为一. 然后应用形态学的一系列操作去除孤立的像素点. 最后, 提取每个检测区域, 并将其视为一个单独的区域, 即为多孔材料的缺角部位. 实验结果如图11.

4 实验结果与分析

为验证缺陷检测算法的稳定性, 本实验共采集多孔材料清晰无缺陷表面图像300张, 并随机打乱放入100张存在阻塞缺陷的图像, 100张存在缺角缺陷的图像, 以便后续系统检测对比分析. 检测结果如表1所示.

将误检图像筛选并分析可知. 多孔材料无缺陷表面会有部分孔隙过大且孔洞叠加密集的区域, 会被系统检测认定为缺角, 该问题与材料铸造工艺有关. 不同规格的多孔材料其孔隙大小及孔洞密度不同, 在本实验中, 可根据材料属性将缺角检测算法中图像分块适度缩放, 可有效减少掉该区域的误检.

为测试算法缺陷定位的准确度, 将本文算法与文献[8]所用算法进行对比分析. 将5张存在缺角缺陷的图像进行人工检测, 标记出缺角的长度并与两种算法所提取的ROI区域长度进行对比. 算法对比结果如表2.

图 11 实验结果图

表 1 检测结果

表 2 缺陷定位准确度结果

经测试分析可知, 本文所采用的缺角定位算法相较于先前的算法能对缺角模糊区域的边缘进行更有效地分割, 由此便能够更精准地定位到缺陷的位置. 但因过于追求缺陷提取的准确度, 本文算法的时间消耗较大, 在后续研究中应着重于时间的优化以便该算法能在工业生产中更好地应用.

5 结束语

本文研究了一种基于机器视觉的方法来实现对多孔材料的表面缺陷检测. 在对图像特征提取的过程中, 采用了图像腐蚀、图像分块、局部标准差及相关性系数计算等方法, 实现了图像的变换及图像模糊度的检测, 再利用对连通区域的分析处理最终实现了目标特征的提取.

通过机器视觉来检测多孔材料的缺陷, 能避免人工检测的主观性, 极大地提高检测效率和准确性, 并且能根据材料质量评价标准, 在实际生产中灵活、方便地调整参数.

参考文献
[1]
崔静洁, 何文, 廖世军, 等. 多孔材料的孔结构表征及其分析. 材料导报, 2009, 23(13): 82-86. DOI:10.3321/j.issn:1005-023X.2009.13.019
[2]
汤勃, 孔建益, 伍世虔. 机器视觉表面缺陷检测综述. 中国图象图形学报, 2017, 22(12): 1640-1663. DOI:10.11834/jig.160623
[3]
Hoang K, Wen W, Nachimuthu A, et al. Achieving automation in leather surface inspection. Computers in Industry, 1997, 34(1): 43-54. DOI:10.1016/S0166-3615(97)00019-5
[4]
Tsai DM, Hsieh CY. Automated surface inspection for directional textures. Image and Vision Computing, 1999, 18(1): 49-62. DOI:10.1016/S0262-8856(99)00009-8
[5]
咸兆勇. 图像模糊检测与模糊区域分割研究[硕士学位论文]. 南宁: 广西大学, 2013.
[6]
D'Andrès L, Salvador J, Kochale A, et al. Non-parametric blur map regression for depth of field extension. IEEE Transactions on Image Processing, 2016, 25(4): 1660-1673. DOI:10.1109/TIP.2016.2526907
[7]
Zhuo SJ, Sim T. Defocus map estimation from a single image. Pattern Recognition, 2011, 44(9): 1852-1858. DOI:10.1016/j.patcog.2011.03.009
[8]
Grimaldi D, Kurylyak Y, Lamonaca F. Detection and parameters estimation of locally motion blurred objects. Proceedings of the 6th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems. Prague, Czech Republic. 2011. 483–487.
[9]
咸兆勇, 甘金明, 玉振明, 等. 一种基于相关性和局部标准差的图像失焦模糊区域检测方法. 计算机应用与软件, 2014, 31(9): 198-200, 275. DOI:10.3969/j.issn.1000-386x.2014.09.049
[10]
王睿, 方勇. 一种图像局部模糊检测方法及其在被动图像认证中的应用. 高技术通讯, 2009, 19(7): 718-723. DOI:10.3772/j.issn.1002-0470.2009.07.010