发明内容
本发明提供一种建筑裂缝检测方法、装置、设备及存储介质,以实现提高裂缝检测准确度的效果。
第一方面,本发明实施例提供了一种建筑裂缝检测方法,包括:
获取待检测的建筑表面的待检测图像;
采用全卷积神经网络分类模型识别所述待检测图像中的单元裂缝区域作为感兴趣区域图像;
采用基于深度学习的图像分割模型对所述感兴趣区域图像中的裂缝进行提取,得到裂缝特征区域分割图像;
根据所述裂缝特征区域分割图像二值化后得到单元裂缝检测图;
根据所述单元裂缝检测图确认所述待检测图像的裂缝检测结果图。
可选的,所述采用全卷积神经网络分类模型识别所述待检测图像中的单元裂缝区域作为感兴趣区域图像,包括:
预设检测框以预设步长对所述待检测图像进行扫描式判别,得到所述待测图像中所有检测框含有裂缝的概率值所组成的概率特征图;
选取所述概率特征图中大于第一概率值的检测框对应的图像作为感兴趣区域图像。
可选的,所述预设检测框为预设尺寸的正方形区域,所述预设步长为预设检测框边长的1/4。
可选的,所述全卷积神经网络分类模型的训练样本图像中正负样本图像比例为1:3;其中,正样本图像为含有裂缝面积占比大于等于第一阈值的区域图像,负样本图像为含有裂缝面积占比小于等于第二阈值的区域图像,含有裂缝面积占比小于第一阈值且大于第二阈值的区域图像为忽略样本。
可选的,采用裂缝面积占比大于等于第一阈值的区域图像作为图像分割模型的训练样本。
可选的,根据所述单元裂缝检测图确认所述待检测图像的裂缝检测结果图,包括:
将至少一个所述单元裂缝检测图按照对应的位置信息粘贴在与所述待检测图像尺寸相同的纯黑的图像上,得到所述待检测图像的裂缝检测结果图;所述位置信息为所述单元裂缝检测图按照在对应的所述感兴趣区域在图像中的位置。
第二方面,本发明实施例还提供了一种建筑裂缝检测装置,包括:
图像获取模块,用于获取待检测的建筑表面的待检测图像;
第一图像区域提取模块,用于采用全卷积神经网络分类模型识别所述待检测图像中的单元裂缝区域作为感兴趣区域图像;
第二图像区域提取模块,用于采用深度学习图像分割模型对所述感兴趣区域图像中的裂缝进行提取,得到裂缝特征区域分割图像;
裂缝检测模块,用于根据所述裂缝特征区域分割图像二值化后得到单元裂缝检测图;
裂缝结果确认模块,用于根据所述单元裂缝检测图确认所述待检测图像的裂缝检测结果图。
第三方面,本发明实施例还提供了一种建筑裂缝检测设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一所述的建筑裂缝检测方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面中任一所述的建筑裂缝检测方法。
本发明通过先采用全卷积神经网络分类模型识别待检测图像中的单元裂缝区域作为感兴趣区域图像,再采用基于深度学***衡现象,造成的裂缝检测效果不佳的问题,实现提高裂缝检测准确度的效果。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
本实施例可适用于对建筑物的表面进行裂缝检测的情况,该方法可以由一种建筑裂缝检测装置来执行,如图1A所示,具体包括如下步骤:
步骤110、获取待检测的建筑表面的待检测图像。
对需要进行检测的建筑物表面进行图像采集并生成待检测图像,图像采集方式包括:人工采集、无人机巡检采集、检测机器人采集等多种方式;其中采集的多张图像对应的范围完整包含建筑表面对应区域,每张建筑物表面图像的尺寸均为1024×1024像素。
步骤120、采用全卷积神经网络分类模型识别所述待检测图像中的单元裂缝区域作为感兴趣区域图像。
在进行建筑物表面裂缝检测前,需要进行全卷积神经网络分类模型的训练,按预设条件将采集的建筑物表面裂缝图像经过滑动窗口扫描进行密集扫描式切分,得到训练样本和测试样本。训练样本按预设条件筛选划分为正样本、负样本和忽略样本,其中,采用正样本和负样本对分类模型进行训练,忽略样本不采用。再有,在模型训练的过程中使用在线数据增强的方式,所采用的数据增强的方式包括但不限于以下几种:随机旋转和翻转、直方图均衡化、加高斯噪声、Gamma变换等方式。当测试样本的验证结果满足结束条件时结束训练,保存模型训练参数。
由于全卷积神经网络可以输入任意尺寸的图像,相比于多个滑动窗口图像依次进行卷积神经网络计算(卷积层结合全连接层的方式)减少了很多窗口重叠部分的重复性的计算,因此全卷积神经网络可以实现高效的滑动窗口计算。
如图1B所示,将整张待测图像10输入到上述训练完成的模型中,可实现由预设大小的滑动窗口12对图像进行密集式扫描并根据预设条件判断各个窗口中是否含有裂缝,同时也排除掉了大部分非裂缝区域,每一个窗口区域作为一个判断单元图像区域,判断为含有裂缝的窗口区域为单元裂缝区域,将所有单元裂缝区域作为感兴趣区域11。
步骤130、采用基于深度学习的图像分割模型对所述感兴趣区域图像中的裂缝进行提取,得到裂缝特征区域分割图像。
在感兴趣区域检测完成后,需要对感兴趣区域内部的裂缝进行精细提取,图像分割网络模型在特征提取过程中可以准确地恢复裂缝的形态与细节特征。采用图像分割网络模型对感兴趣区图像进行训练与裂缝提取,由于图像分割模型只针对含有明显裂缝的感兴趣区域进行提取,因此图像分割模型的训练样本为上述全卷积分类模型训练样本中的正样本图像。可选的图像分割算法有FCN、U-Net、deepLab等。示例性的,选取轻量化的U-Net神经模型对裂缝区域进行提取,可以满足裂缝分割的需求,从而提高计算效率。
U-Net网络是一种全卷积网络模型,采用了编解码的思想,编码器和解码器完全对称,编码器进行下采样,解码器进行上采样,最终输出的分割结果图像与输入图像同尺寸相同。采用的Skip Connection(跳跃连接)将网络浅层的编码器和深层的解码器相同尺度特征图进行叠加融合,这种浅层边缘特征与深层抽象特征融合的方式使得图像分割效果更加精细、准确。本实施例采用的U-Net网络结构仅采用了3次下采样,且下采样使用步长为2的卷积操作而并未使用池化操作,因为过多的下采样,尤其是池化操作进行下采样会损失过多的图像信息,而狭长的裂缝特征对信息的损失更为敏感,过多的信息损失会影响到裂缝检测的精细程度,同时该U-Net网络结构与U-Net原始结构相比深度和宽度都进行了压缩。
感兴趣区域图像中的窗口图像经过图像分割模型进行裂缝提取后,再经过Sigmoid激活函数处理后输出范围为[0,1]的值,再乘以255转换为一张与感兴趣区域图像中的窗口图像尺寸相同的单元裂缝特征区域分割图像,单元裂缝特征区域分割图像为灰度图像,分割图像的裂缝区域像素灰度值较高,背景区域像素灰度值较低。同一张感兴趣区域图像对应的单元裂缝特征区域分割图像组合成为对应的裂缝特征区域分割图像。
由于采集的待检测图像一般都为大尺寸高清图像,但裂缝宽度普遍很窄,平均宽度约为4~12个像素,裂缝区域占整个图像比例很小,造成了裂缝区域数据与背景区域数据严重失衡,如果直接使用待检测图像进行图像分割训练会造成模型对裂缝区域学习得不够充分,从而影响后期裂缝提取的精度。为了说明感兴趣区域的有效性,在待检测图像中,将裂缝区域抽象为宽度为w,长度为待检测图像的边长L的矩形区域,由于感兴趣区域中的裂缝与原始待检测图像中的裂缝相比,裂缝的宽度也为w,裂缝长度上减小为L/n,n=待检测图像边长/感兴趣区域边长,此时,裂缝区域在待检测图像中的占比为
裂缝区域在感兴趣区域图像中的占比为
由此可见感兴趣区域内裂缝占比相比于待检测图像增加了n倍,当待检测图像尺寸为1024×1024,感兴趣区域尺寸为32×32时,则感兴趣区域内裂缝占比约为待检测图像裂缝占比的32倍,可见裂缝面积的占比大大的提高了。由于经过上述分类模型识别得到的感兴趣区域内部的裂缝特征占比相对较高,因此对图像分割模型进行训练时可以有效地学习裂缝特征,同时,由于分类模型识别的感兴趣区域图像中的裂缝特征显著性的提高,也提高了图像分割模型对裂缝的准确检测;在数据的角度解决了正负样本不均衡问题,同时提高了图像分割模型对裂缝的识别准确性。
步骤140、根据所述裂缝特征区域分割图像二值化后得到单元裂缝检测图。
将上述得到的每张灰度图像二值化得到最终的单元裂缝检测结果图像,其中,分割结果裂缝区域像素值为255,背景区域像素为0。
步骤150、根据所述单元裂缝检测图确认所述待检测图像的裂缝检测结果图。
由于待检测图像对应的感兴趣区域图像中包括多个单元裂缝区域图像,因此,具有多个对应的单元裂缝检测图;根据多个单元裂缝检测图确认所述待检测图像的裂缝检测结果图,如图1C所示,具体包括:
将至少一个所述单元裂缝检测图按照对应的位置信息粘贴在与所述待检测图像尺寸相同的纯黑的图像上,得到所述待检测图像的裂缝检测结果图20。其中,裂缝检测结果图20中包含白色的目标裂缝区域21和纯黑的背景区域22。
其中,所述位置信息为所述单元裂缝检测图按照在对应的所述感兴趣区域图像中的位置。
本发明实施例的技术方案,通过先采用全卷积神经网络分类模型识别待检测图像中的单元裂缝区域作为感兴趣区域图像,再采用基于深度学***衡现象,造成的裂缝检测效果不佳的问题,实现优化分类模型和图像分割模型,从而提高裂缝检测准确度的效果。
在上述技术方案的基础上,如图2A所示,步骤120优选可以包括以下具体步骤:
步骤121、预设检测框以预设步长对所述待检测图像进行扫描式判别,得到所述待测图像中所有检测框含有裂缝的概率值所组成的概率特征图。
其中,可选的,所述预设检测框为预设尺寸的正方形区域,所述预设步长为预设检测框边长的1/4。
根据分类模型的结构,单幅单元图像经过所述全卷积神经网络分类模型输出为1×1的单元特征值,该单元特征值表示输入的图像含有裂缝的概率值,所述检测框扫描时的预设步长具体数值为全卷积神经网络模型中所有步长大于1的卷积层或池化层步长的乘积。示例性的,如表1所示,一个32×32×1大小的灰度图像经过分类模型运算后最终输出一个1×1×1的单元特征,且整个网络要经历3次步长为2的下采样,表1为全卷积网络模型结构表,其中Conv2D表示卷积操作,BN表示批归一化,LeakyReLU是一种激活函数,Maxpooling2D表示池化操作,Sigmoid是输出激活函数,padding表示卷积时特征图边界填充大小,stride表示卷积核步长,表1中未说明卷积核步长则默认为1。当一张1024×1024的待检测图像输入分类网络模型进行扫描式判别时,就相当于一个大小为32×32的窗口以8(2×2×2)像素为步长对图像进行重叠式扫描,输出125×125大小的概率特征图,概率特征图表示125×125个32×32大小的重叠检测框内含有裂缝的概率。
表1全卷积网络模型结构表
操作 |
卷积核 |
输入尺寸 |
Conv2D,BN,LeakyReLU |
32,3×3×1,padding=1 |
32×32×1 |
Maxpooling2D |
3×3,stride=2,padding=1 |
32×32×32 |
Conv2D,BN,LeakyReLU |
64,3×3×32,padding=1 |
16×16×32 |
Maxpooling2D |
3×3,stride=2,padding=1 |
16×16×64 |
Conv2D,BN,LeakyReLU |
64,3×3×64,stride=2,padding=1 |
8×8×64 |
Conv2D,BN,LeakyReLU |
64,3×3×64 |
4×4×64 |
Conv2D,BN,LeakyReLU |
128,2×2×64 |
2×2×64 |
Conv2D |
1,1×1×128 |
1×1×128 |
Sigmoid |
1,1×1×1 |
1×1×1 |
采用32×32大小的窗口以8个像素为步长对采集的建筑物表面裂缝图像进行扫描式切分,得到32×32大小的训练样本和测试样本。
步骤122、选取所述概率特征图中大于第一概率值的检测框对应的图像作为感兴趣区域图像。
由于采用了密集窗口扫描的方式,因此可以在仅保留含有显著裂缝特征窗口区域的情况下不易漏掉真实裂缝区域,在此基础上,选取所述概率特征图中概率值大于第一概率值的检测框对应的图像作为感兴趣区域图像,本实施例中的第一概率值P可以使用一个比较高的阈值进行判别,这样既不易造成对背景干扰噪声的误判,也不易造成裂缝区域的漏判,概率P的取值范围为(0.9~0.999),示例性的,概率P为0.99。
在上述技术方案的基础上,可选的,所述全卷积神经网络分类模型的训练样本图像中正负样本图像比例为1:3,这样设置是由于在实际的感兴趣区域检测过程中,非裂缝区域大于裂缝区域数量,因此需要对非裂缝区域的学习更加关注;其中,正样本图像为含有裂缝面积占比大于等于第一阈值的区域图像,负样本图像为含有裂缝面积占比小于等于第二阈值的区域图像,含有裂缝面积占比小于第一阈值且大于第二阈值的区域图像为忽略样本。
筛选全卷积神经网络分类模型的训练数据样本的具体方法如下:1.标注原始图像所对应的裂缝区域分割图,分割图尺寸与原始图像相同,分割图中裂缝区域像素值为255,背景区域像素值为0;2.以32×32大小正方形窗口以8像素步长同步对原始图像与原始图像对应的裂缝区域分割图进行切分,原始图像与分割图像切分后的单元图像和单元分割图像一一对应;3.统计所有单元分割图像中裂缝区域面积在单元分割图像中的占比,如图2B所示,当裂缝区域31占比大于1/8时,该单元分割图像30对应的单元图像为全卷积神经网络分类模型训练的正样本图像,当裂缝区域占比小于1/32时,该单元分割图像对应的单元图像为全卷积神经网络分类模型训练的负样本图像;如图2C所示,当裂缝区域41占比小于1/8且大于1/32时,该单元分割图像40对应的单元图像为忽略样本图像,即不作为全卷积神经网络分类模型的训练样本。上述筛选样本的原因是:一些包含部***缝区域的单元图像往往与一些背景斑点相似度较高,如果将这部分数据作为训练数据的正样本,检测时容易误检到背景干扰区域,因此这部分数据不作为正样本使用。
通过合理筛选训练样本,可提高后续感兴趣区域检测的准确性。
进一步,可选的,采用裂缝面积占比大于等于第一阈值的区域图像作为图像分割模型的训练样本。
在上述技术方案的基础上,同理可知,由于图像分割模型只对含有明显裂缝特征的感兴趣区域进行裂缝提取,因此全卷积神经网络分类模型训练的正样本同时也是图像分割模型的训练图像,上述正样本对应的单元分割图像为图像分割模型训练的标签图像。
通过合理筛选训练样本,解决了图像分割模型正负样本不均衡问题,提高了分割模型对裂缝特征的学习效果,同时在裂缝提取时,裂缝特征显著性的提高也有提高了分割模型对裂缝的检测准确性。
实施例二
图3为本发明实施例二提供的一种建筑裂缝检测装置的结构示意图,如图3所示,一种建筑裂缝检测装置,包括:
图像获取模块310,用于获取待检测的建筑表面的待检测图像。
对需要进行检测的建筑物表面进行图像采集并生成待检测图像,图像采集方式包括:人工采集、无人机巡检采集、检测机器人采集等多种方式;其中采集的多张图像对应的范围完整包含建筑表面对应区域,每张建筑物表面图像的尺寸均为1024×1024像素。
第一图像区域提取模块320,用于采用全卷积神经网络分类模型识别所述待检测图像中的单元裂缝区域作为感兴趣区域图像。
在进行建筑物表面裂缝检测前,需要进行全卷积神经网络分类模型的训练,按预设条件将采集的建筑物表面裂缝图像经过滑动窗口扫描进行密集扫描式切分,得到训练样本和测试样本。训练样本按预设条件筛选划分为正样本、负样本和忽略样本,其中,采用正样本和负样本对分类模型进行训练,忽略样本不采用。当测试样本的验证结果满足结束条件时结束训练,保存检测模型参数。
将整张待测图像输入到上述训练完成的模型中,可实现滑动窗口对图像的密集式扫描并符合预设条件判断各个窗口中是否含有裂缝,同时也排除掉了大部分非裂缝区域,每一个窗口区域作为一个判断单元图像区域,判断为含有裂缝的窗口区域为单元裂缝区域,将所有单元裂缝区域作为感兴趣区域。
第二图像区域提取模块330,用于采用深度学习图像分割模型对所述感兴趣区域图像中的裂缝进行提取,得到裂缝特征区域分割图像。
在感兴趣区域检测完成后,需要对感兴趣区域内部的裂缝进行精细提取,图像分割网络模型在特征提取过程中可以准确地恢复裂缝的形态与细节特征。采用图像分割网络模型对感兴趣区图像进行训练与裂缝提取,可选的图像分割算法有FCN、U-Net、deepLab等。示例性的,选取轻量化的U-Net神经模型对裂缝区域进行提取,可以满足裂缝分割的需求,从而提高计算效率;其中,U-Net神经模型训练样本为分类模型训练中的正样本。
感兴趣区域图像中的窗口图像经过图像分割模型进行裂缝提取后,再经过Sigmoid激活函数处理后输出范围为[0,1]的值,再乘以255转换为一张与感兴趣区域图像中的窗口图像尺寸相同的单元裂缝特征区域分割图像,单元裂缝特征区域分割图像为灰度图像,同一张感兴趣区域图像对应的单元裂缝特征区域分割图像组合成为对应的裂缝特征区域分割图像。
裂缝检测模块340,用于根据所述裂缝特征区域分割图像二值化后得到单元裂缝检测图。
将上述得到的每张灰度图像二值化得到最终的单元裂缝检测结果图像,其中,分割结果裂缝区域像素值为255,背景区域像素为0。
裂缝结果确认模块350,用于根据所述单元裂缝检测图确认所述待检测图像的裂缝检测结果图。
由于待检测图像对应的感兴趣区域图像中包括多个单元裂缝区域图像,因此,具有多个对应的单元裂缝检测图;根据多个单元裂缝检测图确认所述待检测图像的裂缝检测结果图,具体包括:
将至少一个所述单元裂缝检测图按照对应的位置信息粘贴在与所述待检测图像尺寸相同的纯黑的图像上,得到所述待检测图像的裂缝检测结果图。
其中,所述位置信息为所述单元裂缝检测图按照在对应的所述感兴趣区域图像中的位置。
本发明实施例的技术方案,通过先采用全卷积神经网络分类模型识别待检测图像中的单元裂缝区域作为感兴趣区域图像,再采用基于深度学***衡现象,造成的裂缝检测效果不佳的问题,实现优化分类模型和图像分割模型,从而提高裂缝检测准确度的效果。
本发明实施例所提供的建筑裂缝检测装置可执行本发明任意实施例所提供的建筑裂缝检测方法,具备执行方法相应的功能模块和有益效果。
实施例三
图4为本发明实施例三提供的一种建筑裂缝检测设备的结构示意图,如图4所示,该设备包括处理器40、存储器41、输入装置42和输出装置43;设备中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;设备中的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的建筑裂缝检测方法对应的程序指令/模块(例如,建筑裂缝检测装置中的图像获取模块310、第一图像区域提取模块320、第二图像区域提取模块330、裂缝检测模块340和裂缝结果确认模块350)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的建筑裂缝检测方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置42可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。
实施例四
本发明实施例四还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种建筑裂缝检测方法,该方法包括:
获取待检测的建筑表面的待检测图像;
采用全卷积神经网络分类模型识别所述待检测图像中的单元裂缝区域作为感兴趣区域图像;
采用基于深度学习的图像分割模型对所述感兴趣区域图像中的裂缝进行提取,得到裂缝特征区域分割图像;
根据所述裂缝特征区域分割图像二值化后得到单元裂缝检测图;
根据所述单元裂缝检测图确认所述待检测图像的裂缝检测结果图。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的建筑裂缝检测方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。