2. 广州智慧城市研究院,广州 510060
2. Guangzhou Smart City Research Institute, Guangzhou 510060, China
随着工业规模的扩展, 计算机视觉代替人工视觉成为主流研究方向.特别是在对人体有害的工作环境中, 人类不宜长期逗留, 而计算机视觉可以在恶劣的环境中工作, 且检测精度高于人工视觉.另外, 在大规模的流水线生产中, 人工视觉检测精度效率较低, 甚至存在视觉疲劳导致的失误.因此, 应用计算机视觉对工业产品进行缺陷检测是很有必要的.
Ellis等[1]在冷轧钢条的表面缺陷检测中通过目标分割和边缘提取算法检测了裂纹缺陷; Piironen等[2]在铜合金板的表面缺陷检测中加入了数学形态学, 以优化分割结果; 基于图像处理的检测方法还应用在纺织物的表面缺陷检测中, Stojanovic等[3]成功地将Gabor滤波器和前馈神经网络等方法应用到织物的缺陷检测中, 并取得了较好的效果; 同样还有在瓷砖表面缺陷的检测中, 艾矫燕[4]在分析了瓷砖图像的颜色统计特征和灰度共生矩阵的基础上, 确定了瓷砖表面缺陷的判断依据.然而, 计算机视觉也存在一些尚未完善的情况.对于复杂背景(如纹理背景)的图像, 机器视觉难以又快又准地完成缺陷检测.背景复杂的图像无法如背景简单的图像一样, 仅通过边缘检测或设置合适阈值, 就能够把目标分割出来.在图像分割领域, 基于几何曲线演化的活动轮廓模型[5]占据主导地位, 它是把分割或检测的问题转化为能量泛函的建立和优化, 通过求解能量泛函对应的欧拉-拉格朗日方程实现目标.
在活动轮廓模型的研究中, 纹理图像的分割也一直是一个难点.主要体现在纹理的细节很容易被误以为是目标; 而人们感知的是物体的整体结构特征而不是部分细节, 这种差别导致了人眼能轻易辨别的目标对于计算机而言却难以辨别. Ojala等[6]认为, 纹理是某些像素点根据一定变化规律构成的模式, 或者纹理满足局部统计特征一致, 或者纹理的局部属性变化缓慢, 表现出近似周期性变化的特点; Xu等[7]通过图像分解的方法给出合成纹理和自然纹理的结构分析, 发现纹理结构在相位和振幅上有明显的相似性; Liu等[8]在纹理分类中引入了局部二值模式(local binary patterns, LBP)方法, 详细分析了LBP方法的利弊, 并给出一套简洁有效的纹理分类方案; 另外, 在纹理合成(texture synthesis)方面, Gatys等[9-10]通过卷积神经网络滤波器表征图像的特征, 引起了人们在这一领域的兴趣.综上所述, 人们对纹理的认知不断加深, 并应用在计算机视觉的各个方面.
近些年来, 非参数统计活动轮廓模型[11-14]的兴起引起了人们的注意.这类模型有这样一个基本假设:目标与背景的灰度分布是有显著差异的.由于图像的目标和背景属于不同的分布, 找到一条闭合曲线使得曲线内部的灰度分布与曲线外部的灰度分布差异最大化, 即可认为完成了分割.这就是非参数统计活动轮廓模型的基本思想.
一般地, 在实际应用场景中, 在进行图像分割之前可以获悉一些关于图像的先验信息, 比如目标的形状[15].但在工业产品的缺陷检测中, 缺陷是随机产生的, 往往是不规则的, 所以先验形状难以获取.但工业产品的纹理灰度分布一般是固定的, 因此可以考虑将灰度分布信息作为先验信息加入到非参数统计活动轮廓模型中.下一节将详细阐述本文提出的先验分布活动轮廓模型.
1 先验分布活动轮廓模型在这一节将详细阐述所提出的方法.方法的大致框架如图 1所示.将描述模型的搭建, 说明其中的物理意义, 运用变分水平集方法对模型进行求解.对于输入图像, 先提取图像背景的纹理灰度分布; 同时在带分割图像中设置矩形框作为初始轮廓; 然后结合所提取的分布信息, 按照文中的算法进行曲线演化, 进而提取目标(缺陷)位置.
对于待分割的纹理图像I, 其纹理背景的灰度分布是已知的, 记为Q'.设置活动轮廓线C, 活动轮廓线C把图像I分为内外两类区域R-和R+, 它们的灰度分布分别记为P和Q.根据非参数统计活动轮廓模型的基本假设, 当完成分割时, P和Q的分布差异程度应该是尽可能大的.在本模型中采用海林格距离(Hellinger distance)衡量P与Q的分布差异程度, 即
(1) |
其中: z为灰度值, 取值范围是0 ~ 255.关于p(z)和q(z), 可以通过parzen窗估计[16]得到
(2) |
另外, 在模型中, 纹理背景的先验分布Q'已经给出, 所以同时要保证Q'与Q的分布差异程度尽可能小.在本模型中, 采用皮尔森卡方散度(Pearson Chi-square divergence)衡量Q'与Q的分布差异程度, 即
(3) |
因此, 总的能量函数可以表达成以下形式:
(4) |
其中: Length(C)为活动轮廓的周长, μ和λ为正的参数.此外, 由于p(z)等都是概率密度函数, 在全区域的积分为1.因此式(4)可以进一步化简为
(5) |
注意, 常数项不影响模型的求解, 已在式(5)省略掉.在下一小节, 将通过最小化式(5)提取目标区域, 即将表面缺陷提取出来.
1.2 能量最小化与水平集演化公式为了求解式(5), 本文引入变分水平集方法[17].水平集函数定义为符号距离函数
(6) |
其中: d(x, C)为点与曲线C的欧氏距离, 曲线C对应的就是零水平集.
记H(·)为Heaviside函数
(7) |
结合水平集方法, P和Q的概率密度估计可以写成以下形式:
(8) |
那么式(5)可以重写为水平集的形式
(9) |
对于式(9), 使用经典的梯度下降法与交替下降法求解.下面将自变量分成两类, 概率密度估计p(z)、q(z)和水平集函数ϕ(x):
1) 固定ϕ, 优化p(z)和q(z)达到能量最小化: p(z)和q(z)可以直接由式(8)得到.
2) 固定p和q, 优化ϕ达到能量最小化:首先求得式(9)关于ϕ的导数如下:
(10) |
而根据式(8)可以得到
(11) |
将式(11)代入(10)中, 可以得到
(12) |
其中
(13) |
最后, 在水平集函数中引入时间变量t, 得到水平集函数的梯度下降流
(14) |
那么, 水平集函数的迭代方程为
(15) |
其中△t为时间步长.
作为这一小节的总结, 给出模型求解的数值算法步骤如下.
step 1:选定参数μ、λ和时间步长△t, 设置初始时间参数t=0, 给出初始水平集ϕ0;
step 2:根据当前水平集ϕt, 通过式(8)更新概率密度估计pt+1和qt+1;
step 3:根据pt+1、qt+1和ϕt, 通过式(15)更新水平集函数ϕt+1;
step 4: t → t+1;
step 5:判断是否收敛, 是则停止, 否则返回step 2.
2 实验分析 2.1 实验设置本文实验从Brodatz纹理库中选取112张纹理图像作为背景, 图片大小都是640×640.然后在每张纹理图像的不同位置随机添加不同形状的图形, 以此来模拟工业产品的表面缺陷.以下4种缺陷基准是本文主要用到的, 如图 2所示.
将Brodatz纹理库的纹理图与上述的基准模式组合作为本文的实验对象, 如图 3所示.接下来对这类合成图像进行缺陷检测的模拟实验, 在图 3中“DX”代表纹理库中第X幅图.
在本文的实验中, 为了客观评价算法的效果, 引入一套评价方案.图像分割可以看作是一个分类问题, 先记T =实际的目标, F =实际的背景, P =被认为是目标, N =被认为是背景.那么对于图像中640×640个像素点, 分割之后可以分为以下4类. TP =实际属于目标且被认为是目标; TN =实际属于目标但被误认为是背景; FP =实际属于背景但被误认为是目标; FN =实际属于背景且被认为是背景.显然, 理想情况下, 正确的分类TP和FN越大, 说明分割效果越好, 错误的分类TN和FP越大说明分割效果越差.据此可以定义3个指标如下:
1) 精确率
(16) |
2) 召回率
(17) |
3) 成功率
(18) |
首先展示所提出的算法在图 3中这4幅合成图中的实验效果.为了方便对照缺陷基准, 将目标区域(即缺陷)标注为黑色, 背景区域(即模拟工业产品)标注为白色, 如图 4所示.
对比图 2给出的缺陷基准可以看出, 在视觉效果上, 所提出的算法取得了较为满意的分割效果.但由于实验对象的纹理背景干扰比较大, 还是会有一些本是背景的像素点被误分割为目标.从图 4可以看出, 这些误分割与纹理背景以及缺陷位置、形状都有关系.
接下来看本文算法与其他算法的数值比较, 参与对比的是两种显著性检测算法: FT算法[18]和HC算法[19].这两种算法主要是通过颜色特征建立显著性模型, 对于纹理背景复杂的灰度图像不能够有效地检测出纹理背景中的缺陷.
图 5给出了3种算法关于所有缺陷基准与纹理库的组合图像的识别成功率折线图. 表 1总结了3种算法在Brodatz纹理库的平均表现.
总体而言, 所提出算法的表现优于前两者.但有一点值得注意, 由于Parzen窗估计这一步所需的时间和图像大小是正相关的, 在640×640的图像中, 所提出的算法的分割速度明显不如前两者.这个缺陷将会在进一步的研究中弥补.
3 结论针对纹理背景下工业产品的表面缺陷检测, 本文在非参数统计活动轮廓模型的基础上, 引入纹理的灰度分布作为先验信息, 提出了一种先验分布活动轮廓模型, 对纹理背景图像进行目标提取.通过分割的视觉效果和准确率、召回率等指标可以看出, 所提出的模型是有一定成效的.但是在分割速度上尚有不足, 未能够又快又好地完成检测任务.今后将在此基础上进一步研究, 提升算法的速度.
[1] |
Ellis T, Hill W, Finkelstein L. Automatic inspection of cold-rolled steel strip[C]. Proceedings of IEE Conference on Electronic Image Processing. London: IEEE, 1982: 1415-1420.
|
[2] |
Piironen T, Silven O, Pietik I M, et al. Automated visual inspection of rolled metal surfaces[J]. Machine Vision and Applications, 1990, 3(4): 247-254. DOI:10.1007/BF01211850 |
[3] |
Stojanovic R, Mttropulos P, Koulamas C, et al. Real-time vision-based system for textile fabric inspection[J]. Real-Time Imaging, 2001, 7(6): 507-518. DOI:10.1006/rtim.2001.0231 |
[4] |
艾矫燕.基于计算机视觉的墙地砖颜色分类和缺陷检测研究[D].广州: 华南理工大学自动化科学与工程学院, 2003: 52-64. (Ai Q Y. Research on color grading and defect detection based on computer vision[D]. Guangzhou: College of Automation Science and Engineering, South China University of Technology, 2003: 52-64.) |
[5] |
Kass M, Witkin A, Terzopoulos D. Snakes: Active contour models[J]. International Journal of Computer Vision, 1988, 1(4): 321-331. DOI:10.1007/BF00133570 |
[6] |
Ojala T, Pietikainen M, Maenpaa T. Multiresolution gray-scale and rotation invariant texture classification with local binary patterns[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(7): 971-987. DOI:10.1109/TPAMI.2002.1017623 |
[7] |
Xu G, Wang X, Zhou L, et al. Image decomposition and texture analysis via combined bi-dimensional Bedrosian's principles[J]. Iet Image Processing, 2018, 12(2): 262-273. DOI:10.1049/iet-ipr.2017.0494 |
[8] |
Liu L, Fieguth P, Guo Y, et al. Local binary features for texture classification: Taxonomy and experimental study[J]. Pattern Recognition, 2017, 62(1): 135-160. |
[9] |
Gatys L A, Ecker A S, Bethge M. Texture synthesis using convolutional neural networks[J]. Computer Science, 2015, 70(1): 262-270. |
[10] |
Gatys L A, Ecker A S, Bethge M. Image style transfer using convolutional neural networks[C]. Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 2414-2423.
|
[11] |
Kim J, Fisher J W, Yezzi A, et al. A nonparametric statistical method for image segmentation using information theory and curve evolution[J]. IEEE Transactions on Image Processing, 2005, 14(10): 1486-1502. DOI:10.1109/TIP.2005.854442 |
[12] |
Michailovich O, Rathi Y, Tannenbaum A. Image segmentation using active contours driven by the Bhattacharyya gradient flow[J]. IEEE Transactions on Image Processing, 2007, 16(11): 2787-2801. DOI:10.1109/TIP.2007.908073 |
[13] |
Wu H, Appia V, Yezzi A. Numerical conditioning problems and solutions for nonparametric i.i.d. statistical active contours[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(6): 1298-1311. DOI:10.1109/TPAMI.2012.207 |
[14] |
Gong M, Li H, Zhang X, et al. Nonparametric statistical active contour based on inclusion degree of fuzzy sets[J]. IEEE Transactions on Fuzzy Systems, 2016, 24(5): 1176-1192. DOI:10.1109/TFUZZ.2015.2505328 |
[15] |
Chan T, Zhu W. Level set based shape prior segmentation[C]. Computer Vision and Pattern Recognition. San Diego: IEEE, 2005: 1164-1170.
|
[16] |
Parzen E. On estimation of a probability density function and mode[C]. The Annals of Mathematical Statistics, 1962, 33(3): 1065-1076.
|
[17] |
Zhao H K, Chan T, Merriman B, et al. A variational level set approach to multiphase motion[J]. Journal of Computational Physics, 1996, 127(1): 179. DOI:10.1006/jcph.1996.0167 |
[18] |
Achanta R, Hemami S. Frequency-tuned salient region detection[C]. Computer Vision and Pattern Recognition. Florida: IEEE, 2009: 1597-1604.
|
[19] |
Cheng M M, Mitra N J. Global contrast based salient region detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011, 37(3): 409-416. |