一种水泥路面病害识别方法、介质及系统
文献发布时间:2024-04-18 19:58:30
技术领域
本发明涉及水泥路面病害识别技术领域,尤其涉及一种水泥路面病害识别方法、介质及系统。
背景技术
根据《公路技术状况评定标准》(JTG5210-2018)规定,如图1所示,路面图像中常见的水泥路面病害类型包括裂缝、边角剥落、板角断裂和破碎板:(1)裂缝为水泥板块上只有一条裂缝的情况;(2)板角断裂为裂缝与纵横接缝相交的裂缝,且交点距板角小于等于板边长度一半的损坏;(3)破碎板为水泥板被裂缝分为三块及以上的情况。其中裂缝和边角剥落按实际检测长度统计破损率,而板角断裂和破碎板则按实际检测面积统计破损率。
现有深度学习模型在图像中识别上述病害时精度不高,主要原因在于所有病害实际上都是由裂缝发育产生,形态上都接近裂缝,这一方面导致在人工标注阶段很难明确病害类型划分界限,例如,在图像中很难精确判断裂缝与板边交是小于板边长度的一半。另一方面,在模型训练阶段,若直接按照语义(即病害类型)进行识别,易造成裂缝与非裂缝类病害的混淆,例如,构成破碎板的3条及以上裂缝,在形态上与裂缝完全一致,导致训练好的模型在裂缝类上过拟合,从而无法判别破碎板。
发明内容
本发明实施例提供一种水泥路面病害识别方法、介质及系统,以解决现有技术无法准确识别水泥路面病害的问题。
第一方面,提供一种水泥路面病害识别方法,包括:
将采集的水泥路面图像分别输入病害识别模块,使所述病害识别模块识别所述水泥路面图像中的裂缝区域和/或接缝区域后,输出标注有裂缝区域的第一图像和/或标注有接缝区域的第二图像;
将所述第一图像输入精细化处理模块,使所述精细化处理模块从所述第一图像中的裂缝区域提取单条裂缝后,输出标注有提取的所述裂缝的第三图像;
将所述第二图像输入精细化处理模块,使所述精细化处理模块基于所述第二图像中的接缝区域对构建的掩膜图像进行划分后,输出具有互不重叠的水泥板块区域的第四图像;
将所述第三图像和所述第四图像输入病害识别模块,使所述病害识别模块根据所述第三图像中的裂缝在所述第四图像中的每一所述水泥板块区域的数量以及所述水泥板块区域与裂缝的位置关系,输出每一所述水泥板块区域的病害的种类。
第二方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令;所述计算机程序指令被处理器执行时实现如第一方面实施例所述的水泥路面病害识别方法。
第三方面,提供一种水泥路面病害识别系统,包括:如第二方面实施例所述的计算机可读存储介质。
这样,本发明实施例,充分利用深度学习模型对裂缝的识别能力,在第一阶段只通过相关模型提取图像中所有裂缝区域,消除裂缝与非裂缝类病害的语义歧义;通过提取图像中的接缝区域划分独立的水泥板块;通过分析每块水泥板块中的裂缝数量以及裂缝形态与板块边缘的相对空间关系,判别具体的病害类型;提高判别结果的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是水泥路面常见的病害的示意图,其中,(a)裂缝,(b)板角断裂板,白色实线框表示,(c)破碎板,白色实线框;
图2是本发明实施例的水泥路面病害识别方法的流程图;
图3是本发明实施例的识别是否为板角断裂的示意图,其中,(a)获取图像边缘,(b)获取接缝,与图像边缘构建独立水泥板块区域,(c)提取第一交点,识别是否为板角断裂;
图4是本发明实施例的识别是否为破碎板的示意图,其中,(a)获取图像边缘,(b)获取接缝,与图像边缘构建独立水泥板块区域,(c)提取连通域,识别是否为破碎板;
图5是本发明实施例的病害识别单元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种水泥路面病害识别方法。如图1所示,本发明实施例的方法包括如下的步骤:
步骤S101:将采集的水泥路面图像分别输入病害识别模块,使病害识别模块识别水泥路面图像中的裂缝区域和/或接缝区域后,输出标注有裂缝区域的第一图像和/或标注有接缝区域的第二图像。
本发明实施例的病害识别模块使用经典的编码器-解码器图像分割模型实现裂缝识别和接缝识别两个任务。具体的,病害识别模块包括:两个病害识别单元。其中,一个病害识别单元,使用基于卷积神经网络的语义分割模型一识别水泥路面中所有裂缝区域,用于输出第一图像,另一个病害识别单元,使用另外一个基于卷积神经网络的语义分割模型二识别水泥路面中的接缝区域,用于输出第二图像。
具体的,如图5所示,病害识别单元采用改进后的DeepLabv3+语义分割模型,DeepLabv3+语义分割模型由依次连接的ResNet101编码器、金字塔特征池化(ASPP)模块和多尺度特征融合解码器构成。
对于ResNet101编码器,包括一个输入卷积层和多个依次连接卷积组(一般是四组)。输入卷积层一般由尺寸较大的卷积核实现,如7x7的卷积核。每个卷积组由不同数量的残差模块构成,ResNet101每个卷积组的残差模块的重复次数分别为3-4-23-3。每两个卷积组之间使用步长为2的卷积核实现特征图的下采样。每一残差模块使用的是级联的1x1,3x3,1x1三个卷积操作,并通过一个残差连接将输入引入到输出,若输入与输出有维度和特征图尺寸的变化,则残差连接使用1x1的卷积核实现。
ASPP模块使用并行的多个不同空洞率的卷积操作,在编码器最后一层特征图上提取不同尺度的特征,目的是充分聚合图像中丰富的上下文语义信息,提升对当前位置目标物体的分割精度。
多尺度特征融合解码器使用分阶段的特征拼接和融合实现。
经典的DeepLabv3+模型解码器,通过特征拼接的方式融合最后一层和中间层特征,平衡中层和高层图像特征,提升对复杂目标物体的建模能力。为了进一步提升对裂缝纤细形态的表征能力,更好地抓取裂缝等路面病害纤细复杂的形态特征,本发明在DeepLabv3+解码器中,将输入层的底层特征与中层和高层语义特征同时进行融合。
具体的,第一步,使用ASPP模块在ResNet101编码器最后一个卷积组输出的特征图上提取丰富的上下语义特征,使用1x1的卷积核将其特征通道调整到一个特定维度,如48维,然后对其进行八倍上采样,得到第一特征图。第二步,使用1x1卷积核将编码器第一个卷积组输出的特征图的通道调整至48维,得到第二特征图。第三步,将第一和第二特征图沿通道方向拼接,然后使用3x3的卷积核将通道数从96维(48+48)调整到48维,并将其进行二倍上采样,恢复至原水泥路面图像尺寸的一半,得到第三特征图。第四步,使用1x1卷积核将编码器输入层输出的特征图的通道调整至48维,将其与第三特征图进行拼接,接着使用3x3的卷积核将其通道数调整至256维,并将其进行二倍上采样,恢复至原水泥路面图像尺寸,得到第四特征图(即第一图像和第二图像),作为最终用来检测目标物体的特征图。
此外,为了驱动模型训练,本发明实施例采集了两个水泥路面图像数据集,数据集1包含了约2000张路面图像及对应所有裂缝区域的像素级标注,数据集2包含了约2000张路面图像及对应所有接缝区域的像素级标注。这些训练图像可呈现为图像掩码的格式,即背景标注为0,裂缝或接缝区域标注为1。通过这些训练图像对病害识别单元进行的训练,以使其可以更加准确地识别相应目标。
步骤S102:将第一图像输入精细化处理模块,使精细化处理模块从第一图像中的裂缝区域提取单条裂缝后,输出标注有提取的裂缝的第三图像。
具体的,该步骤包括如下的过程:
将第一图像输入精细化处理模块,通过skimage库morphology模块中的skeletonize函数从第一图像中的裂缝区域提取一个像素宽度的单条裂缝,再通过skimage库measure模块中的label函数标注不同的单条裂缝,输出第三图像。
其中,第一图像应当是二值化后的图像掩码的形式,通过skeletonize函数可对图像掩码进行细化,skeletonize函数使用骨架化算法。label函数的连通性参数设置为2,label函数使用连通域算法,通过形态学操作进行裂缝或接缝提取。
步骤S103:将第二图像输入精细化处理模块,使精细化处理模块基于第二图像中的接缝区域对构建的掩膜图像进行划分后,输出具有互不重叠的水泥板块区域的第四图像。
具体的,该步骤包括如下的过程:
将第二图像输入精细化处理模块,通过skimage库morphology模块中的skeletonize函数从第二图像中的接缝区域提取一个像素宽度的单条接缝,再通过skimage库transform模块中的hough_line函数对接缝进行拟合,得到接缝信息,最后构建全0的掩膜图像,通过opencv库line函数根据接缝信息在掩膜图像中的对应位置填充接缝,并根据接缝和掩膜图像的边缘将掩膜图像划分为互不重叠的水泥板块区域,输出第四图像。
其中,第二图像应当是二值化后的图像掩码的形式,通过skeletonize函数可对图像掩码进行细化,skeletonize函数使用骨架化算法。hough_line函数属于霍夫直线检测模型,该函数的目的是拟合接缝的直线方程,拟合时,将直线最短长度设为图像高度的一半,以便不识别过小的接缝,将最大直线间距设为100,避免重复的直线出现。通过hough_line函数处理时,接缝区域填充为1。第四图像是掩膜图像,对应水泥板块区域的值为1,其他位置的值为0。
上述的步骤S102和S103可同时进行。
步骤S104:将第三图像和第四图像输入病害识别模块,使病害识别模块根据第三图像中的裂缝在第四图像中的每一水泥板块区域的数量以及水泥板块区域与裂缝的位置关系,输出每一水泥板块区域的病害的种类。
该步骤根据标准规范设定规则,根据裂缝数量以及与接缝的相对空间关系,判定具体病害类型,最后输出相对应的检测结果。
具体的,该步骤包括如下的过程:
一、将第三图像中的裂缝复制到第四图像中的对应位置。
具体可根据第三图像中的裂缝信息确定裂缝位置进行复制,通过该步骤,将对应的裂缝填充到对应的水泥板块区域中。
二、确定每一第四图像中的水泥板块区域中的裂缝数量。
具体可通过现有的图像识别技术实现,例如,可以通过获取第四图像掩膜区域与第三图像中带有标识信息裂缝(使用label函数后的结果)的交集,计算标识信息不为0的裂缝数量。
应当理解的是,第四图像是一种掩膜图像,即对应水泥板块区域的值为1,其他位置的值为0。以图3最后一幅图为例,板块1的掩膜图像为对应板块1的区域全填充为1,其他区域全填充为0。通过这个掩膜图像,可以很容易的把对应区域的裂缝全部找出来,而忽略其他区域的裂缝。
三、根据第四图像中的水泥板块区域中的裂缝数量以及水泥板块区域与裂缝的位置关系,识别水泥板块区域的病害的种类。
具体的,该步骤包括如下的几种情况:
1、第一种情况:
若水泥板块区域的裂缝的数量为0,则识别水泥板块区域没有病害。
2、第二种情况(如图3所示):
(1)若水泥板块区域的裂缝的数量为1,则提取水泥板块区域中的裂缝与水泥板块区域的第一交点。
提取第一交点可通过现有的图像识别技术实现,例如,可以计算第二图像和第三图像的交集,获取裂缝与接缝的交点坐标位置。
(2)若水泥板块区域中的裂缝与水泥板块区域的第一交点满足预设条件,则识别水泥板块区域中的裂缝为板角断裂。
(3)若水泥板块区域中的裂缝与水泥板块区域的第一交点不满足预设条件,则识别水泥板块区域中的裂缝为普通裂缝。
其中,预设条件包括:水泥板块区域中的裂缝与水泥板块区域的第一交点的数量为2,以及,两个第一交点分别位于水泥板块区域的相交的两条边上(一般,相交的两条边相互垂直),且第一交点到两条边的相交的第二交点的长度小于第一交点位于的水泥板块区域的边的长度的一半。
3、第三种情况(如图4所示):
(1)若水泥板块区域的裂缝的数量不小于2,则通过skimage库measure模块中的label函数提取水泥板块区域中的连通域的数量。
(2)若水泥板块区域中的连通域的数量不小于3,则识别水泥板块区域的病害种类为破碎板。
(3)若水泥板块区域中的连通域的数量小于3,则提取水泥板块区域中的每条裂缝与水泥板块区域的第一交点。
(4)若水泥板块区域中的裂缝与水泥板块区域的第一交点满足预设条件,则识别水泥板块区域中的裂缝为板角断裂。
(5)若水泥板块区域中的裂缝与水泥板块区域的第一交点不满足预设条件,则识别水泥板块区域中的裂缝为普通裂缝。
其中,预设条件包括:水泥板块区域中的裂缝与水泥板块区域的第一交点的数量为2,以及,两个第一交点分别位于水泥板块区域的相交的两条边上,且第一交点到两条边的相交的第二交点的长度小于第一交点位于的水泥板块区域的边的长度的一半。
此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令;所述计算机程序指令被处理器执行时实现如上述实施例所述的水泥路面病害识别方法。
此外,本发明实施例还提供一种水泥路面病害识别系统,包括:如上述实施例所述的计算机可读存储介质。
综上,本发明实施例,充分利用深度学习模型对裂缝的识别能力,在第一阶段只通过相关模型提取图像中所有裂缝区域,消除裂缝与非裂缝类病害的语义歧义;通过提取图像中的接缝区域划分独立的水泥板块;通过分析每块水泥板块中的裂缝数量以及裂缝形态与板块边缘的相对空间关系,判别具体的病害类型;提高判别结果的准确性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
- 一种基于文本的元器件识别方法、系统、装置和存储介质
- 一种基于图形的元器件识别方法、系统、装置和存储介质
- 路面病害识别方法、装置、系统、电子设备及存储介质
- 路面病害识别方法、装置、系统、电子设备及存储介质