一种陶瓷瓶内壁裂纹检测算法

2020-09-16 03:24肖梦辉李军成彭秧锡
中国陶瓷工业 2020年4期
关键词:内壁邻域像素点

肖梦辉,李军成,彭秧锡

一种陶瓷瓶内壁裂纹检测算法

肖梦辉1,李军成1,彭秧锡2

(1. 湖南人文科技学院 数学与金融学院,湖南 娄底 417000;2. 湖南人文科技学院 材料与环境工程学院;精细陶瓷与粉体材料湖南省重点实验室,湖南 娄底 417000)

为了准确地对陶瓷瓶内壁进行裂纹检测,提出了一种基于数字图像处理技术的陶瓷瓶内壁裂缝检测算法。首先对所获取的陶瓷瓶内壁图片进行光照和去噪处理,并利用图像增强提高陶瓷瓶内壁图像的对比度;然后通过图像分割和连通域算法标记各连通域;最后通过对连通域进行检测来判断是否为裂纹,并将检测出的裂纹进行定位。仿真实验结果表明,所提出的算法能准确地检测出条形裂纹、横向裂纹、纵向裂纹等常见的陶瓷瓶内壁裂纹。

陶瓷瓶;内壁;裂纹检测;裂纹定位;图像处理

0 引 言

裂纹广泛存在金属零部件、混凝土建筑物、玻璃与陶瓷制品等结构物中,一旦裂纹发展到容易被人眼发现时,往往会造成较为严重的后果。因此,对裂纹进行准确有效地检测一直以来都是工业、工程领域重要的研究课题。例如,胡世昆[1]基于数字图像处理技术比较了不同算法进行路面裂纹检测的效果;杨舒曼[2]对精密铸件裂纹图像连通区域进行几何特征计算,选取圆形度作为检测缺陷的特征参数,并通过设置圆形度阈值实现了精密铸件裂纹的检测;孙文雅等[3]在对管道图像进行边缘检测的基础上利用阈值分割得到二值化裂纹图像,再进行去噪和连通域的标记实现管道裂缝的检测;Zhu等[4]进行了高温下疲劳裂纹扩展的测试和评估,旨在评估在室温和高温下承受疲劳载荷的金属合金的裂纹扩展性能和剩余寿命;Tong等[5]在标准紧凑型拉伸试样的模型材料装卸过程中,现场测量了裂纹尖端后面选定位置处的表面裂纹开口位移以及裂纹尖端之前近尖端位移和应变的演变; Piombo等[6]研究了中心裂纹对石墨烯力学性能的影响,在石墨烯片的中心考虑了8个不同的裂纹并且绘制了具有不同拉伸应变速率的缺陷石墨烯片的应力-应变曲线;Lepore等[7]分析模拟了搅拌摩擦焊接样品中的疲劳裂纹扩展;Rodriguez等[8]研究了混凝土构件的剪切裂缝模式,提出了一种获得混凝土构件中剪切裂纹模式的实验方法;等等。由此可见,裂纹检测问题的研究几乎已经渗透到工业、工程所有领域中。

因陶瓷具有原材料采集方便、烧制快捷、实用卫生、价格低廉等特点,陶瓷制品已成为人们日常生活中的一种常见物品。为了满足人们的不同需求,陶瓷的种类也变得多样化。由于陶瓷自身的物理结构性质在生产过程中容易产生裂纹,而陶瓷裂纹的存在一直困扰着陶瓷产业的经济效益和生产率的提高。因此,对陶瓷制品,特别是对电子陶瓷产品进行裂纹检测,一直以来都是重要的研究课题。为了实现对陶瓷制品的无接触裂纹检测,国内外学者提出了许多方法。其中,利用数字图像处理技术进行陶瓷制品的裂纹检测成为一种主要的手段。例如,张军等[9]首先使用自适应形态学进行图像预处理,然后通过小波变换和形态学融合的差影法实现瓷砖的裂纹检测;于彬[10]首先对采集的陶瓷瓶图像进行降噪处理,然后计算出二值化图像的周长和面积,最后利用圆形度的指标来判断陶瓷瓶是否存在裂纹;张力等[11]首先对陶瓷瓶图像进行光补偿和平滑处理,然后图像二值化将裂纹和背景分离开,最后通过圆形度公式计算圆形度判断陶瓷瓶是否为裂纹;等等。

虽然目前已有文献对陶瓷制品裂纹检测进行了研究,但鲜有文献讨论陶瓷瓶内壁的裂纹检测问题。然而,在陶瓷瓶的生产过程中,流水线上的陶瓷瓶内壁经常会出现裂纹,而带有裂纹的陶瓷瓶一旦有液体装入,非常容易引发破裂、泄露等危险。因此,对陶瓷瓶内壁进行裂纹检测具有非常重要的现实意义。为此,本文提出了一种基于数字图像处理技术的陶瓷瓶内壁裂纹检测算法,实现对陶瓷瓶内壁是否存在裂纹的准确检测。

1 陶瓷瓶内壁裂纹检测算法

随着计算机软硬件的发展以及数字图像处理技术的不断进步,使得利用计算机准确的自动识别目标物图像是否存在裂纹成为现实。利用计算机自动识别目标物图像的裂纹,不仅可以提高检测裂纹的速率,而且在一定程度上消除了人们的主观意识导致检测的错误,提高了生产效率。

为了对陶瓷瓶内壁图像是否存在裂纹进行准确的检测,本文基于数字图像处理技术设计的一种用于陶瓷瓶内壁裂纹检测的算法,算法流程如图1所示。

图1 陶瓷瓶内壁裂纹检测算法流程

1.1 光照处理

在陶瓷瓶内壁图像的采集过程中,由于受到物体之间相互遮挡以及环境光照条件多变等因素的影响,常常会使得场景的光照不均匀。主要表现为陶瓷瓶内壁图像中亮的区域光线过强,而暗的区域光线照度不够,从而导致陶瓷瓶内壁图像中一些重要的细节信息无法显示甚至被掩盖掉,使得陶瓷瓶内壁图像的视觉效果和应用价值被严重影响。因此,对获取的陶瓷瓶内壁图像进行光照处理,降低光照不均匀对图像中裂纹识别的影响程度,保护图像中重要的细节信息,为裂纹的后续检测奠定了良好的基础。本文采用基于伽马函数的光照不均匀图像自适应校正算法[12]对陶瓷瓶内壁图像进行光照处理,算法步骤为:

Step1:利用多尺度高斯函数提取出场景的光照分量。

Step2:构造一种伽马函数。

将陶瓷瓶内壁图像进行光照处理后,再对图像进行灰度化,然后对灰度图像进行二次光照处理。对陶瓷瓶内壁灰度图像的光照处理算法步骤为:

Step1:首先找出灰度图像的最大灰度值和最小灰度值。

Step2:计算两者的差并除以255作为整幅图像的亮度倍数。

Step3:循环遍历图像,设置一个3×3的邻域,计算邻域内的最小值,然后用灰度图像的当前像素值减去邻域内的灰度图像素最小值并乘以整体亮度倍数,最后将该值赋予灰度图像的当前像素值作为新的像素值,计算式为:

式中,max()为灰度图像最大值;min()为灰度图像最小值;为邻域;(,)为灰度图像的当前像素值;min()为邻域内灰度图像的最小值;(,)为处理后的像素值。

1.2 图像去噪

在获取陶瓷瓶内壁裂纹图像时难免会混入噪声,从而影响裂纹的识别,需要对陶瓷瓶内壁图像进行去噪处理。由于中值滤波器具有去除噪声的同时能够很好地保护图像边缘的这一特征;高斯滤波则可以降低图像之中的存在的高斯噪声,同时也可以得到较好的图像边缘特征。因此,本文采取中值滤波和高斯滤波对陶瓷瓶内壁图像进行去噪处理。

二维中值滤波的输出公式为:

式中,(,)为输出图像;(,)为输入图像;为滤波模板。选取窗口模板大小为(2×+1)×(2×+1),高斯滤波模板中各个元素值的计算式为:

式中,为标准差;为核矩阵维数。这样计算出来的模板有小数和整数两种形式,小数形式的模板是直接计算得到的值,没经过任何处理;整数形式的模板,则需要进行归一化处理,将模板左上角的值归一化为1。使用整数模板时,需要在模板前加一个权值,权值取为模板系数和的倒数,即取为:

陶瓷瓶内壁图像经过初始去噪处理后,再经过匀光处理,然后使用中值和均值混合滤波器[13]对图像进行处理,算法步骤为:

Step1:选取3×3的邻域窗口,将邻域内的所有像素值进行排序,找到邻域内的像素值的中值;

Step2:将该中值赋给排序后的前三个值和后三个值。

Step3:对邻域内的所有像素值求像素的平均值。

Step4:将该平均值赋予当前的像素值作为新的像素值。

Step5:重复以上步骤,直至遍历完图像。

1.3 图像增强

通过对获取的陶瓷瓶内壁图像进行增强处理,可以增强图像的对比度,使得图像中的裂缝变得清晰,方便后续的裂纹检测。对陶瓷瓶内壁图像进行增强处理的算法步骤为:

Step1:计算出整个图像中所有的像素点的均值MES。

Step2:计算出当前的像素点与其八邻域内的均值MEA,则增强的倍数=MES/MEA。

Step4:若当前像素点邻域内的均值大于图像所有像素点的均值,则为判断该像素点与裂纹点无关。大于1,那么将会使邻域内图像像素点增大,使得该邻域内的图像视觉上感觉变亮。若当前像素点邻域的均值小于图像所有像素点的均值,则判断当前像素点可能与裂纹有关。小于1,那么将会使该邻域内像素点变小,使得该邻域内的图像视觉上感觉变暗。通过该操作可以增大图像的对比度,凸显图像中存在的裂纹。

1.4 图像分割

1.4.1 阈值分割

对经过上述处理后的陶瓷瓶内壁图像进行阈值分割,将图像分为背景和前景两部分。本文采用阈值迭代法[14]对陶瓷瓶内壁图像进行分割,算法步骤为:

Step1:设置参数0,设定一个初始阈值1。

Step2:使用设置的初始阈值分割图像,将图像分割为大于初始阈值和小于等于初始阈值的两部分图像。

Step4:如果2与1的差的绝对值大于设置的参数,将2赋值给1,然后重复Step2—Step4,直到获得最优阈值;反之,2就为最优阈值。

1.4.2 边缘检测

边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。本文采取Canny算子[15]对上述处理后的陶瓷瓶内壁图像进行边缘检测,步骤为:

Step1:对输入的图像进行高斯平滑。

Step2:计算梯度幅度和方向来确定每一点的边缘强度和方向。

Step3:根据梯度方向,对梯度幅度进行非极大值抑制。

Step4:使用双阈值处理和连接边缘。

1.5 裂纹检测

1.5.1 连通域检测与形态学处理

对图像进行边缘检测之后,再对图像进行连通域的标记及处理。连通域标记算法[20]步骤为:

Step1:按照从左到右,从上到下的顺序依次遍历二值图像,如果该点值为1(白色)且未被标记,则对该点进行标记,并以该点为中心点,扫描其四邻域。

Step2:若发现四邻域内存在白色且未被标记的点,则对该点进行标记并扫描其四邻域。

Step3:返回Step2,直到不存在满足情况的点,则该连通块搜索结束。

Step4:返回Step1,直至遍历完二值图像,则所有连通块搜索结束。

另外,陶瓷瓶内壁图像进行二值化处理之后,图像会存在裂纹的不连续情况,此时还需对图像进行开运算和闭运算以及腐蚀和膨胀等操作将裂纹变得连续。

1.5.2 裂纹检测与定位

对于陶瓷瓶内壁裂纹图像来说,其面积只与裂纹的边缘有关,与图像内部的灰度级变化无关。计算裂纹面积最简单的一种方法是统计裂纹边界及内部像素点的个数。

判断陶瓷瓶内壁是否存在裂纹的步骤为:

Step1:周长是连通域边缘像素点的个数的集合,面积是连通域内所有像素点的集合。若周长小于面积,则判断该连通域不是裂纹。

Step2:连通域的周长大于其面积,计算出该连通域的圆形度,设置阈值为3。若运行度大于或等于阈值,则该连通域被认为是裂纹,否则不是裂纹。

在上述步骤中,连通域面积的计算方法为:遍历每个连通域,计算出各连通域像素点的个数作为图像的面积。连通域周长的计算方法为:对每个连通域求出边界,然后对裂纹的边界进行遍历,计算边界像素点的个数作为图像的周长。圆形度的计算公式为[21]:

式中,为连通域的周长;为连通域的面积;C为圆形度。

对检测的裂纹进行定位,算法步骤为:

Step1:对得到的二值化图像的每个连通域分别进行全局的扫描。

Step2:对图像进行从上到下的扫描,记录第一个白色像素点的位置为(1,1)。

Step3:对图像进行从下到上的扫描,记录第一个白色像素点的位置为(2,2)。

Step4:对图像进行从左到右的扫描,记录第一个白色像素点的位置为(3,3)。

Step5:对图像进行从右到左的扫描,记录第一个白色像素点的位置为(4,4)。

Step8:每次定位的一条裂纹将其存储到一个矩阵中,最终组成一幅定位出所有裂纹的图像。

2 仿真实验与结果分析

选取三幅带有裂纹的陶瓷内壁图像进行仿真实验,如图2所示。

图2 实验图像

分别对幅实验图像进行光照处理,降低光照对识别裂纹的影响。进行光照处理后的结果如图3和图4所示。

图3 伽马函数校正后的图像

图4 灰度光照处理后的图像

对所有的实验图像进行两次光照处理后,已经能够看出明显的裂纹轮廓。但是,图像中存在大量的噪声,需要对图像进行去噪处理,去噪处理后的图像如图5所示。

图5 去噪后的图像

对图像进行去噪后,虽然去除了图像中存在的大量噪声。但是,图像中的花纹背景以及图像的亮暗分界线也会被显示出来。因此,需要对图像进行增强处理提高图像的对比度,增强后的图像如图6所示。

图6 增强处理后的图像

进行图像增强后的图像已经能够明显看出裂纹,但此时的图像为double型,需要对图像进行图像分割,将图像分为背景和前景两部分,图像分割后的结果如图7和图8所示。

图7 阈值分割后的图像

图8 Canny算子边缘检测结果

进行阈值分割后的图片出现一些间断,以及边缘部分出现孤立“白点”的现象,对这些现象进行形态学处理和连通域处理并通过设置的裂纹判断算法检测和处理裂纹。进行裂纹检测时,计算得到三幅实验图像的连通域的属性表分别如表1—表3所示,裂纹检测结果如图9所示。

表1 图像1的连通域属性

Tab.1 Connected domain attribute of image 1

表2 图像2的连通域属性

Tab.2 Connected domain attribute of image 2

表3 图像3的连通域属性

Tab.3 Connected domain attribute of image 3

图9 裂纹检测结果

最后,对裂纹进行定位,结果如图10所示。

图10 裂纹定位结果

通过对陶瓷内壁中带有较浅花纹的纵向裂纹图像、光照不均匀的纵向裂纹图像、带有浅花纹的横向裂纹图像等进行仿真实验,发现本文提出的算法能够去除带有光照不均而导致的光暗分界线,也能够消除边缘旁边出现的孤立点。换言之,本文提出的算法能够较好地检测出条形裂纹、横向裂纹、纵向裂纹。但是,该算法对于网状裂纹检测效果有待提高。

3 结 语

本文提出了一种基于数字图像处理技术的陶瓷内壁图片裂纹检测算法。算法主要包括光照处理、图像去噪、图像增强、图像分割、裂纹检测与定位等环节。通过仿真实验结果可知,本文提出的算法能准确地检测出陶瓷瓶内壁存在的裂纹,特别对条形裂纹、横向裂纹、纵向裂纹的检测具有较好的效果,为陶瓷瓶制品的检测提供了一种有效方法。

[1] 胡世昆. 基于数字图像处理技术的路面裂缝检测算法研究[D]. 南京邮电大学, 2012.

[2] 杨舒曼. 基于图像处理的精密铸件裂纹检测系统研究[D]. 太原科技大学, 2017.

[3] 孙文雅, 李天剑, 黄民, 等.基于图像处理的管道裂缝检测[J]. 制造业自动化, 2012, 34(1): 36-39.

[4] Zhu Y T, Xiong J J, Lv Z Y, et al. Testing and evaluation for fatigue crack propagation of Ti-6Al-4V/ELI and 7050-T7452 alloys at high temperatures [J]. Chinese Journal of Aeronautics, 2018, 31(6): 1388-1398.

[5] Tong J, Alshammrei S, Wigger T, et al. Full-field characterization of a fatigue crack: crack closure revisited [J]. Fatigue & Fracture of Engineering Materials & Structures, 2018, 41(10): 2130-2139.

[6] Piombo A, Dragoni M. A model for crack initiation in solidifying lava [J]. Journal of Geophysical Research: Solid Earth, 2018, 123(10): 8445-8458.

[7] Lepore M A, Maligno A J, Berto F. Crack closure in friction stir weldment using non-linear model for fatigue crack propagation [J]. Fatigue & Fracture of Engineering Materials & Structures, 2019, 42(11): 2596-2608.

[8] Rodriguez G, Casas J R, Villalba S. Shear crack pattern identification in concrete elements via distributed optical fibre grid [J]. Structure and Infrastructure Engineering, 2019, 15(12): 1630-1648.

[9] 张军, 张海云, 赵玉刚,等.基于机器视觉的瓷砖裂纹检测[J]. 包装工程, 2018, 39(9): 146-150.

[10] 于彬. 基于数字图像处理的陶瓷瓶裂纹检测研究[D]. 武汉理工大学, 2007.

[11] 张力, 吴敏纲, 李昱. 数字图像处理在陶瓷瓶裂纹检测的应用研究[J]. 福建电脑, 2017, 33(7): 134-166.

[12] 刘志成, 王殿伟, 刘颖, 等. 基于二维伽马函数的光照不均匀图像自适应校正算法[J]. 北京理工大学学报, 2016, 36(2): 191-196.

[13] 李康. 一种改进滤波算法的研究与应用——脑部CT医学图像去噪方法研究[J]. 科技与创新, 2016(16): 108-110.

[14] 孙贵忠. 数字图像处理基础与实践(MATLAB版)[M]. 北京: 清华大学出版社, 2016.

[15] 余承乐, 柳炳祥. 基于IMP-Canny算子的古陶瓷裂纹检测研究[J]. 陶瓷学报, 2017, 38(1): 103-107.

[16] 何立风, 高启航, 赵晓, 等. 一种二值图像物体形状特征计算方法[J]. 陕西科技大学学报, 2018, 36(1): 143-147.

[17] 牛立聪, 孙香花, 左晓宝. 基于Matlab图像处理的砂石颗粒圆形度计算方法[J]. 混凝土, 2012, 1: 10-12.

A Detection Algorithm for Inner Wall Crack of Ceramic Bottles

XIAO Menghui1, LI Juncheng1, PENG Yangxi2

(1. College of Mathematics and Finance, Hunan University of Humanities, Science and Technology, Loudi, 417000, Hunan, China; 2. Hunan Provincial Key Laboratory of Fine Ceramics and Power Materials, College of Materials and Environmental Engineering, Hunan University of Humanities, Science and Technology, Loudi, 417000, Hunan, China)

In order to detect the crack on the inner wall of ceramic bottles accurately, a crack detection algorithm based on digital image processing technology is proposed. Firstly, the images of the inner wall of the ceramic bottles are illuminated and denoised, and the contrasts of the images of the inner wall of the ceramic bottles are improved by image enhancement. Then, the connected regions are marked by image segmentation and connected region algorithm. Finally, the connected regions are detected to determine whether they are cracks, and the detected cracks are located. The simulation results show that the proposed algorithm can accurately detect the cracks on the inner wall of ceramic bottles, such as strip cracks, transverse cracks and longitudinal cracks which are the common types of crack.

ceramic bottle; inner wall; crack detection; crack location; image processing

TQ174.79

A

1006-2874(2020)04-0043-06

10.13958/j.cnki.ztcg.2020.04.010

2020‒03‒19。

2020‒03‒21。

娄底市应用技术研究与开发项目和湖南省科技计划项目(2016TP1028)资助。

李军成,男,博士,教授。

2020‒03‒19.

2020‒03‒21.

LI Juncheng, male, Ph.D., Professor.

lijuncheng82@126.com

猜你喜欢
内壁邻域像素点
基于混合变邻域的自动化滴灌轮灌分组算法
压水堆二回路凝汽器母管内壁的成膜胺保养工艺研究
图像二值化处理硬件加速引擎的设计
含例邻域逻辑的萨奎斯特对应理论
垣曲北白鹅墓地出土的青铜匽姬甗(M3:10)
基于局部相似性的特征匹配筛选算法
基于像素点筛选的舰船湍流尾迹检测算法
膀胱内壁子宫内膜异位1例
尖锐特征曲面点云模型各向异性邻域搜索
基于canvas的前端数据加密