一种裂纹图像识别方法、系统、终端及可读存储介质转让专利

申请号 : CN202010844069.8

文献号 : CN111986176B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张军莫剑张可人左剑

申请人 : 国网湖南省电力有限公司国网湖南省电力有限公司电力科学研究院国家电网有限公司

摘要 :

本发明公开了一种裂纹图像识别方法、系统、终端及可读存储介质,所述方法包括:获取待识别的图像并对其进行边缘检测得到二值化图像;采用滑动窗口获取局部图像,并基于像素的空间位置对局部图像进行空间聚类以及基于局部图像的分形维度是否在预设限制范围内初步识别出包含裂纹的局部图像;将待识别的图像中包含裂纹的局部图像和不包含裂纹的局部图像均视为像素进行二值化处理,并对二值化后的图像进行空间聚类;将像素个数最多或像素个数满足预设阈值的一类像素对应的局部图像视为裂纹图像,其余均为非裂纹图像。本发明利用裂纹本身的特性,将空间聚类以及分形维度相结合得到初步识别结果,再基于局部图像进行二次聚类,更准确地筛选出裂纹图像。

权利要求 :

1.一种裂纹图像识别方法,其特征在于:包括如下步骤:S01:获取待识别的图像并对所述待识别的图像进行边缘检测得到二值化图像;

S02:在二值化图像上采用滑动窗口获取局部图像,并初步识别局部图像是否包含裂纹;

其中,基于像素的空间位置对局部图像进行空间聚类以及基于局部图像的分形维度是否在预设限制范围内初步识别出包含裂纹的局部图像;

S03:基于初步识别结果将所述待识别的图像中包含裂纹的局部图像和不包含裂纹的局部图像均视为像素进行二值化处理,并对二值化后的图像进行空间聚类;

其中,获取空间聚类结果中像素个数最多或像素个数满足预设阈值的一类像素,所述一类像素中对应的局部图像视为裂纹图像,其余局部图像视为非裂纹图像;

S02中基于像素的空间位置对局部图像进行空间聚类识别是否包含裂纹,其过程如下:基于像素的空间信息对局部图像进行空间聚类;

获取像素个数最多的一类像素,并获取所述一类像素的外接矩阵,再判断所述外接矩阵的最长边是否大于预设边长阈值,若大于,初步认定所述局部图像包含裂纹,否则,初步认定所述局部图像不包含裂纹;

S02中基于局部图像的分形维度是否在预设限制范围识别是否包含裂纹,其过程如下:基于空间聚类结果获取像素个数最多的一类像素,并计算局部图像中仅包括所述一类像素数据对应的分形维度,并判断是否位于预设限制范围;

若是,初步认定所述局部图像包含裂纹,否则,初步认定所述局部图像不包含裂纹。

2.根据权利要求1所述的方法,其特征在于:采用DBSCAN算法对局部图像进行空间聚类处理。

3.根据权利要求1所述的方法,其特征在于:采用计盒维数法计算局部图像的分形维度,所述预设限制范围中上限值为1.5,下限值为0.8。

4.根据权利要求1所述的方法,其特征在于:S01中采用canny边缘检测算法对灰度处理后的图像进行边缘检测得到二值化图像。

5.根据权利要求1所述的方法,其特征在于:所述方法应用于混凝土表面裂纹图像识别。

6.一种基于权利要求1‑5任一项所述方法的系统,其特征在于:包括:图像获取模块:用于获取待识别的图像;

预处理模块:用于对所述待识别的图像进行边缘检测得到二值化图像;

初步识别模块:用于在二值化图像上采用滑动窗口获取局部图像,并初步识别局部图像是否包含裂纹;

二次识别模块:基于初步识别结果将所述待识别的图像中包含裂纹的局部图像和不包含裂纹的局部图像均视为像素进行二值化处理,并对二值化后的图像进行空间聚类,再基于空间聚类结果识别出裂纹图像和非裂纹图像。

7.一种识别终端,其特征在于:包括处理器和存储器,所述存储器存储了计算机程序,所述处理器调用所述计算机程序以执行:权利要求1‑4任一项所述方法的步骤。

8.一种可读存储介质,其特征在于:存储了计算机程序,所述计算机程序被处理器调用执行权利要求1‑4任一项所述方法的步骤。

说明书 :

一种裂纹图像识别方法、系统、终端及可读存储介质

技术领域

[0001] 本发明属于图像识别技术领域,具体涉及一种裂纹图像识别方法、系统、终端及可读存储介质。

背景技术

[0002] 裂纹图像识别技术有很多种,尤其是应用于混凝土裂纹识别中。然而,传统的图像处理技术中目前大多采用图像阈值分割以及一些形态学等技术,这些方法不同程度地受限
于使用场景,近年来,以卷积神经网络为代表的深度学习技术在图像识别任务上不断超越
以往图像处理技术,然而深度学习需要大量的样本进行训练,且训练时间较长及对计算机
硬件配置要求较高。因此,如何快速实现裂纹图像的识别仍是一项具有挑战性的技术问题。

发明内容

[0003] 本发明的目的是提供一种裂纹图像识别方法、系统、终端及可读存储介质,其首先基于裂纹边缘与背景信息存在明显灰度差异的特点采用边缘检测提取到裂纹边缘信息,再
将空间聚类以及分形维度相结合得到初步识别结果,其中,空间聚类是考虑到了裂纹边缘
的连续性特点以及形态学特点,分形维度是考虑到裂纹的边缘具有明显的分形特点,从而
将两者结合起来可以更加准确地筛选出裂纹;最后考虑到局部图像仅仅是裂纹图像的一部
分,局部图像在空间上是具有连续性的,因此,将局部图形视为一个基本像素单元再一次进
行聚类,更加准确地筛选出裂纹图像。
[0004] 本发明提供的一种裂纹图像识别方法,包括如下步骤:
[0005] S01:获取待识别的图像并对所述待识别的图像进行边缘检测得到二值化图像;其中,若待识别的图像为彩图,则边缘检测之前进行灰度处理转为灰度图像;
[0006] S02:在二值化图像上采用滑动窗口获取局部图像,并初步识别局部图像是否包含裂纹;
[0007] 其中,基于像素的空间位置对局部图像进行空间聚类以及基于局部图像的分形维度是否在预设限制范围内初步识别出包含裂纹的局部图像;
[0008] S03:基于初步识别结果将所述待识别的图像中包含裂纹的局部图像和不包含裂纹的局部图像均视为像素进行二值化处理,并对二值化后的图像进行空间聚类;
[0009] 其中,获取空间聚类结果中像素个数最多或像素个数满足预设阈值的一类像素,所述一类像素中对应的局部图像为裂纹图像,其余局部图像为非裂纹图像。
[0010] 进一步优选,S02中基于像素的空间位置对局部图像进行空间聚类识别是否包含裂纹,其过程如下:
[0011] 基于像素的空间信息对局部图像进行空间聚类;
[0012] 获取像素个数最多的一类像素,并获取所述一类像素的外接矩阵,再判断所述外接矩阵的最长边是否大于预设边长阈值,若大于,初步认定所述局部图像包含裂纹,否则,
初步认定所述局部图像不包含裂纹。
[0013] 进一步优选,采用DBSCAN算法对局部图像进行空间聚类处理。
[0014] 进一步优选,S02中基于局部图像的分形维度是否在预设限制范围识别是否包含裂纹,其过程如下:
[0015] 基于空间聚类结果获取像素个数最多的一类像素,并计算局部图像中仅包括所述一类像素数据对应分形维度,并判断是否位于预设限制范围;
[0016] 若是,初步认定所述局部图像包含裂纹,否则,初步认定所述局部图像不包含裂纹。
[0017] 进一步优选,采用计盒维数法计算局部图像的分形维度,所述预设限制范围中上限值为1.5,下限值为0.8。
[0018] 进一步优选,S01中采用canny边缘检测算法对灰度处理后的图像进行边缘检测得到二值化图像。
[0019] 进一步优选,所述方法应用于混凝土表面裂纹图像识别。
[0020] 第二方面,本发明提供一种基于上述方法的系统,包括:
[0021] 图像获取模块:用于获取待识别的图像;
[0022] 预处理模块:用于对所述待识别的图像进行边缘检测得到二值化图像,其中,若待识别的图像为彩图,则边缘检测之前进行灰度处理转为灰度图像;
[0023] 初步识别模块:用于在二值化图像上采用滑动窗口获取局部图像,并初步识别局部图像是否包含裂纹;
[0024] 二次识别模块:基于初步识别结果将所述待识别的图像中包含裂纹的局部图像和不包含裂纹的局部图像均视为像素进行二值化处理,并对二值化后的图像进行空间聚类,
再基于空间聚类结果识别出裂纹图像和非裂纹图像。
[0025] 其中,初步识别模块包括一次空间聚类模块和分形维度计算模块,所述一次空间聚类模块用于基于像素的空间位置对局部图像进行空间聚类识别是否包含裂纹,所述分形
维度计算模块用于获取局部图像中像素个数最多的一类像素对应的分形维度以及基于局
部图像的分形维度是否在预设限制范围识别是否包含裂纹。二次识别模块包括二值化模块
以及二次空间聚类模块,所述二值化模块用于基于初步识别结果将所述待识别的图像中包
含裂纹的局部图像和不包含裂纹的局部图像均视为像素进行二值化处理,二次空间聚类模
块用于对二值化后的图像进行空间聚类并识别出裂纹图像和非裂纹图像。
[0026] 第三方面,本发明还提供一种识别终端,包括处理器和存储器,所述存储器存储了计算机程序,所述处理器调用所述计算机程序以执行:所述裂纹图像识别方法的步骤。
[0027] 第四方面,本发明还提供一种可读存储介质,存储了计算机程序,所述计算机程序被处理器调用执行所述裂纹图像识别方法的步骤。
[0028] 有益效果
[0029] 本发明首先利用裂纹边缘与背景信息存在明显灰度差异的特点,采用边缘检测算法可初步提取裂纹边缘信息,且由于同一个局部图像里,一般存在两个以上的边缘(如裂纹
的两边),同时考虑到裂纹边缘在一定空间范围的连续性特点,因此,选择空间聚类的方式
可以得到最为可靠的裂纹边缘像素,即裂纹的主要边缘信息,其次,根据裂纹的边缘具有明
显的分形特点,本发明利用分形维度可以有效剔除分形维度存在较大差异的局部图像,从
而进一步达到筛选裂纹的目的,因此,本发明在边缘检测后,将空间聚类以及分形维度相结
合起来筛选裂纹,且最后考虑到裂纹的局部图像只代表了裂纹的图像中的一部分,考虑裂
纹局部图像存在空间的连续性,故将局部图像视为一个基本像素单位,再一次进行聚类,最
终可进一步筛选得到最终的裂纹图像。本发明层层递进地筛选出裂纹图像,充分利用了裂
纹图像在空间连续性以及裂纹图像的特征,巧妙地选择空间聚类以及分形结合的方式,提
高了裂纹图像识别结果的可靠性,且相较于深度学习等方式,过程更加简单快捷。

附图说明

[0030] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明
的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
这些附图获得其他的附图。
[0031] 图1是本发明所述裂纹图像识别方法的流程示意图;
[0032] 图2是本发明实施例1的混凝土图像示意图,其中,(a)为混凝土表面图像,(b)为经过灰度处理以及边缘检测后的二值化图像,(c)为空间聚类+外接矩阵阈值筛选裂纹后的图
像,(d)为利用分形维度筛选裂纹后的图像,(e)为局部图像作为像素进行二次空间聚类后
图像,(f)最终筛选出的裂纹图像。
[0033] 图3是本发明实施例2的混凝土图像示意图,其中,(a)为混凝土表面图像,(b)为经过灰度处理以及边缘检测后的二值化图像,(c)为空间聚类+外接矩阵阈值筛选裂纹后的图
像,(d)为利用分形维度筛选裂纹后的图像,(e)为局部图像作为像素进行二次空间聚类后
图像,(f)最终筛选出的裂纹图像。

具体实施方式

[0034] 本发明提供一种裂纹图像识别方法、系统、终端及可读存储介质,其用于快速实现裂纹图像的识别。本发明实施例中以混凝土裂纹图像识别为例进行说明,应当理解,本发明
不限于混凝土应用领域。
[0035] 下面将结合实施例对本发明做进一步的说明。
[0036] 实施例1:
[0037] 本实施例提供的一种混凝土裂纹图像识别方法,包括:
[0038] S11:获取混凝土表面图像;
[0039] 其中:图像的尺寸为990×990,其他可行的实施例中,可以设置其他图像尺寸。
[0040] S12:对表面图像进行灰度处理;
[0041] 其中:如果获取的是彩色图像,需进行灰度化。
[0042] S13:对灰度图像进行边缘检测,生成二值化图像,本实施例中对灰度图像采用canny边缘检测算法,算法使用OpenCV软件所取默认值,其他可行的实施例中,可以选择其
他边缘检测算法,本发明对此不进行具体的限定。
[0043] 应当理解,裂纹边缘与背景信息存在明显灰度差异的特点,采用边缘检测算法可初步提取裂纹边缘信息,因此,基于边缘检测结果得到二值化图像,可以初步区分裂纹边缘
和非裂纹边缘。
[0044] S14:采用滑动窗口获取局部图像;
[0045] 其中:滑动窗口的尺寸为22×22,滑动步幅为22,其他可行的实施例中,滑动窗口尺寸以及步幅可以设置为其他值。
[0046] S15:对局部图像进行空间聚类,其中,以局部图像中像素的空间信息为单元进行聚类,譬如,一个像素的空间信息表示为(x,y),其表示在局部图像矩阵中的第x行、第y列。
[0047] 其中:本实施例中,空间聚类算法采用DBSCAN算法,用于获取裂纹边缘的主要信息,DBSCAN算法中的给定点在邻域内成为核心对象的最小邻域点数取4以及邻域半径取4。
本实施例中考虑到同一个局部图像里一般存在两个以上的边缘(如裂纹的两边),同时,考
虑到裂纹边缘在一定空间范围的连续性特点,故优选采用DBSCAN空间聚类的方式,以找出
最为可靠的裂纹边缘像素,即裂纹的主要边缘信息。应当理解,其他可行的实施例中,可以
设置为其他参数或者选择其他空间聚类算法。
[0048] S16:提取类别中个数最多的同一类数据,获取该类数据的外接矩阵,设置外接矩阵最长边的阈值,其中,大于阈值的局部图像初步视为裂纹图像,否则,初步视为非裂纹图
像。
[0049] 本发明中选择个数最多的一类数据是基于个数最多的一类数据,一般代表裂纹边缘的主要信息,即最为可靠的裂纹边缘像素。同时,根据裂纹的形态学特点,裂纹边缘的外
接矩阵的最长边如果过小,很有可能为噪声信息,因此,本发明通过限制外接矩阵的最长边
来达到筛选裂纹的目的。
[0050] 本实施例中,最长边的阈值设置为11,其他可行的实施例中,可以设置为其他值。
[0051] S17:采用计盒维数法计算步骤S16初步视为裂纹图像的局部图像中个数最多的一类数据的分形维度,设置维度的上限和下限值得到预设限制范围,当分形维度在预设限制
范围内时,则认为该局部图像为含有裂纹的图像。其中,裂纹的边缘具有明显的分形特点,
利用计盒维数可以有效剔除分形维度存在较大差异的局部图像,从而进一步达到筛选裂纹
的目的,本发明所述步骤是进一步剔除潜在的非裂纹信息。
[0052] 本实施例中,维度的上限和下限值分别设置为1.5和0.8。对比图2中(d)和图2中(c)可知,两者差距不大,但在一些裂缝周边区域存在细微区别,如左中部的黑框部分,若不
考虑维度限制,则会影响后续局部图像连续性的判别,从而导致多余的裂纹枝节。因此,本
实施例中将步骤S16以及S17相结合,进一步提高识别结果的可靠性。其他可行的实施例中,
也可以先执行S17再基于S17的识别结果执行S16,本发明对此两个步骤的具体顺序不进行
限定,但是应当理解,识别出的含裂纹的图像应当是经过上述两次初步筛选。
[0053] S18:对原混凝土表面图像中含有裂纹的图像和非裂纹图像视为像素进行二值化处理,对二值化后的图像进行空间聚类,筛选指定类别的局部图像为裂纹图像,其余则为非
裂纹图像,最终实现图像裂纹的识别。
[0054] 基于步骤S17确定的各个局部图像是否包含裂纹,本实施例中将含有裂纹的局部图像作为一个目标像素(255),不含裂纹的局部图像作为背景像素(0),然后进行二次空间
聚类。由于裂纹的局部图像只代表了裂纹的图像中的一部分,考虑裂纹局部图像存在空间
的连续性,故将局部图像视为一个基本像素单位,再一次进行空间聚类,进一步筛选类别以
得到最终的裂纹图像,通过将其他类别视为非裂纹图像。
[0055] 其中:二值化处理后生成图像矩阵尺寸为45×45,空间聚类算法采用DBSCAN算法,用于获取以局部图像为单位的连续性裂纹,DBSCAN算法中的给定点在邻域内成为核心对象
的最小邻域点数取1,邻域半径取1.5。本实施例中,筛选类别个数大于3的类别为裂纹类别
即可。
[0056] 实施例2
[0057] 如图2所示,本实施例提供了一种混凝土裂纹图像识别方法,包括:
[0058] S21:获取混凝土表面图像;
[0059] 其中:图像的尺寸为3224×2444。
[0060] S22:对表面图像进行灰度处理;
[0061] 其中:如果获取的是彩色图像,需进行灰度化。
[0062] S23:对灰度图像进行边缘检测,生成二值化图像;对灰度图像采用canny边缘检测算法,算法使用OpenCV软件所取默认值。
[0063] S24:采用滑动窗口获取局部图像;
[0064] 其中:滑动窗口的尺寸为52×52,滑动步幅为52。
[0065] S25:对局部图像进行空间聚类;
[0066] 其中:空间聚类算法采用DBSCAN算法,用于获取边缘裂纹的主要信息,DBSCAN算法中的给定点在邻域内成为核心对象的最小邻域点数取4,邻域半径取4。
[0067] S26:提取类别中个数最多的同一类数据,获取该类数据的外接矩阵,设置外接矩阵最长边的阈值,对大于阈值的局部图像视为裂纹图像。
[0068] 其中:最长边的阈值设置为26,即滑动窗口尺寸的一半。
[0069] S27:采用计盒维数法计算局部图像中个数最多的一类数据的分形维度,设置维度的上限和下限值,当维度在限制范围内时,则认为该局部图像为含有裂纹的图像。
[0070] 其中:维度的上限和下限值分别设置为1.5和0.8。
[0071] S28:对原图中含有裂纹的图像和非裂纹图像视为像素进行二值化处理,对二值化后的图像进行空间聚类,筛选指定类别的局部图像为裂纹图像,其余则为非裂纹图像,最终
实现图像裂纹的识别。
[0072] 其中:二值化处理后生成图像矩阵尺寸为47×62,空间聚类算法采用DBSCAN算法,用于获取以局部图像为单位的连续性裂纹,DBSCAN算法中的给定点在邻域内成为核心对象
的最小邻域点数取1,邻域半径取1.5。通过计算,筛选类别个数最大的类别为裂纹类别即
可。
[0073] 在一些实施例中,本发明提供一种裂纹图像识别系统,包括相互连接的图像获取模块、预处理模块、初步识别模块以及二次识别模块。
[0074] 其中,图像获取模块:用于获取待识别的图像;预处理模块:用于对所述待识别的图像进行灰度处理和边缘检测得到二值化图像;初步识别模块:用于在二值化图像上采用
滑动窗口获取局部图像,并初步识别局部图像是否包含裂纹;二次识别模块:基于初步识别
结果将所述待识别的图像中包含裂纹的局部图像和不包含裂纹的局部图像均视为像素进
行二值化处理,并对二值化后的图像进行空间聚类,再基于空间聚类结果识别出裂纹图像
和非裂纹图像。
[0075] 初步识别模块包括一次空间聚类模块和分形维度计算模块,所述一次空间聚类模块用于基于像素的空间位置对局部图像进行空间聚类识别是否包含裂纹,所述分形维度计
算模块用于获取局部图像中像素个数最多的一类像素对应的分形维度以及基于局部图像
的分形维度是否在预设限制范围识别是否包含裂纹。二次识别模块包括二值化模块以及二
次空间聚类模块,所述二值化模块用于基于初步识别结果将所述待识别的图像中包含裂纹
的局部图像和不包含裂纹的局部图像均视为像素进行二值化处理,二次空间聚类模块用于
对二值化后的图像进行空间聚类并识别出裂纹图像和非裂纹图像。
[0076] 具体各个模块的实现过程请参照方法部分的描述,本实施例对此不进行具体的说明。
[0077] 应当理解,上述单元模块的具体实现过程参照方法内容,本发明在此不进行具体的赘述,且上述功能模块单元的划分仅仅是一种逻辑功能的划分,实际实现时可以有另外
的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以
忽略,或不执行。同时,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能
单元的形式实现。
[0078] 在一些实施例中,本发明还提供一种定位终端,其包括处理器和存储器,存储器内存储了计算机程序,处理器调用计算机程序执行上述一种裂纹图像识别方法的步骤。
[0079] 在一些实施例中,本发明还提供一种可读存储介质,存储了计算机程序,计算机程序被处理器调用执行上述一种裂纹图像识别方法的步骤。
[0080] 应当理解,在本发明实施例中,所称处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital 
Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,
ASIC)、现成可编程门阵列(Field‑Programmable GateArray,FPGA)或者其他可编程逻辑器
件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理
器也可以是任何常规的处理器等。存储器可以包括只读存储器和随机存取存储器,并向处
理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器
还可以存储设备类型的信息。
[0081] 所述可读存储介质为计算机可读存储介质,其可以是前述任一实施例所述的控制器的内部存储单元,例如控制器的硬盘或内存。所述可读存储介质也可以是所述控制器的
外部存储设备,例如所述控制器上配备的插接式硬盘,智能存储卡(Smart Media Card,
SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述可读存储
介质还可以既包括所述控制器的内部存储单元也包括外部存储设备。所述可读存储介质用
于存储所述计算机程序以及所述控制器所需的其他程序和数据。所述可读存储介质还可以
用于暂时地存储已经输出或者将要输出的数据。
[0082] 基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在
一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或
者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的可读存储介
质包括:U盘、移动硬盘、只读存储器(ROM,Read‑OnlyMemory)、随机存取存储器(RAM,
RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0083] 需要强调的是,本发明所述的实例是说明性的,而不是限定性的,因此本发明不限于具体实施方式中所述的实例,凡是由本领域技术人员根据本发明的技术方案得出的其他
实施方式,不脱离本发明宗旨和范围的,不论是修改还是替换,同样属于本发明的保护范围。