掌桥专利:专业的专利平台
掌桥专利
首页

一种基于分组归一化和移位的图像裂缝检测方法

文献发布时间:2023-06-19 19:30:30


一种基于分组归一化和移位的图像裂缝检测方法

技术领域

本发明属于图像处理领域,更具体地说,涉及一种基于分组归一化和移位的图像裂缝检测方法。

背景技术

基础设施如桥梁、高速公路等在建造以及使用的过程中,受到施工材料、建筑工艺、极端天气、车辆超载等因素的影响,不可避免地出现结构性或非结构性的损伤,进而形成蜂窝、漏筋、孔洞、裂缝等表观病害。因此对这些基础设施定期检查和状况评估是很有必要的,以确保安全性和实用性。传统通过人工检测的方法具有主观性强、耗时、成本高等弊端,近年来,尽管不少的算法已经取得了不错的效果,但是仍然存在一定的缺陷,如道路路面存在不少车道指示箭头等干扰信息,模型受环境干扰,性能就会降低,缺乏泛化性和鲁棒性。并且针对纹理较细的特征还会存在分割不连续,分割存在大量噪声等情况。

目前裂缝检测主流的方法采用基于深度学习的算法,在计算资源足够的情况下深度学习方法能够取得更高的精度。基于深度卷积神经网络的裂缝分割算法主要是从两个方面来改进裂缝分割性能:一种思路是设计一个专门针对裂缝检测的网络结构,另一种思路是针对裂缝特性设计专门的模块嵌入到现有的网络结构中去。

从网络结构的设计出发增强网络对裂缝的分割性能是一个比较容易想到的点,但这种设计出来的网络往往会让模型无比臃肿,虽然模型的性能上去了但是速度变慢了,而且训练模型也需要大量的计算资源。得益于简单和高效,基于卷积神经网络的注意力机制在裂纹检测领域越来越受欢迎。SE网络首次将特征图从空间维度进行压缩,将得到的特征向量进行两次线性变换,得到一个特征权值向量,表示特征每个通道的重要程度,数值越大,重要程度最低。后续出现了结合通道注意力和空间注意力的很多变种注意力机制如CBAM和BAM等。这些注意力机制也被运用到裂缝检测网络中去,进一步提升裂缝检测网络的性能且不会带来过于庞大的计算量。

尽管以上提到了许多优异的裂缝分割算法,但这些算法仍然存在许多不足之处。例如当需要设计一个高效的新网络的时候,需要综合考虑诸多因素,如效率、精度和适用性。自行设计裂缝分割算法通常没有经过ImageNet的预训练,效果就会稍稍差一些。而一旦网络堆深、通道数增多,网络的速率就会降低,比如DeepCrack,对深层网络进行监督训练是一个优秀的思路,但这会让网络训练和推断的时候非常慢。

另外,以前设计的网络中添加的注意力都仅仅是对已有的网络或者模块进行简单的组合,但没有考虑到对于裂缝任务的适用性,例如裂缝分割时存在的背景干扰,光线干扰或者噪声干扰等情况。如果设计的模型只是简单的对他人的结构和模块进行简单的组合,不仅会因为不适合裂缝任务而导致精度不高,而且会因为土木结构表面特征变化多样导致模型的鲁棒性和泛化性不高。

基于此,亟需设计一种基于分组归一化和移位的图像裂缝检测方法。

发明内容

(一)技术问题

基于上述的技术缺陷,本发明提供了一种基于分组归一化和移位的图像裂缝检测方法,该方法除了能够应对自然场景下的各种复杂情况的干扰,还能更好地精细化检测细小裂纹,且模型的鲁棒性和泛化性高。

(二)技术方案

本发明提供了一种基于分组归一化和移位的图像裂缝检测方法,该方法对原有的SegNet网络上进行了改进,具体包括以下步骤:

步骤1:对于图像中的裂缝信息,采用卷积提取特征,网络中的编码器分为五个部分,每个阶段中每个卷积层的特征输出都会用于拼接,之后通过卷积降维作为整个阶段的输出;下采样采用最大池化,最大池化时下采样的像素的索引信息进行了存储,在解码器阶段使用编码器阶段的保存的索引,上采样解码时将像素还原到索引指示的位置;在编码器阶段采用残差结构,而在解码器阶段并未采用残差结构;

步骤2:将C维通道分为N组记为{g

对于每个组g

步骤3:分组归一化注意力模块定义为式(3),其中x代表输入的特征图,函数GAP()和GMP()分别代表全局平均池化和全局最大池化,用于将空间维度将特征压缩为一个向量,⊙代表逐通道相乘操作:

f(x)=Sigmoid(γ)⊙(GN(GAP(x))+GN(GMP(x)))⊙x (9)

其中,f(x)为对注意力进行加权后的特征函数,γ为通道系数γ

优选的,还包括以下步骤4-步骤6:

步骤4:先将特征图按通道分成S组,取S为奇数;每组特征图分别沿着x轴移动d个像素,其中d∈[-pad,pad],

步骤5:使用深度卷积来感知更长距离的裂缝特征,并提取细小裂纹的特征;

步骤6:沿着y轴方向重复所述步骤4的操作,首先将通道分组,然后特征图分组之后沿着y轴移动d个像素,执行点卷积映射到同一维度的空间,最后逆移动操作恢复特征图。

优选的,还包括以下步骤7:

步骤7:解码器中每层使用双线性插值上采样预测的特征图,上采样后的特征图与编码器阶段输出的同样大小的特征图进行拼接,上采样使用最大反池化操作,重用在编码器阶段保存的下采样索引,从而保证特征被有效的还原到特定位置上去,最后输出单通道的概率图。

优选的,还包括以下步骤8:

步骤8:预测概率图y与真值掩码y之间的损失计算如式(4)-(6)所示,模型最终输出单通道概率图:

Loss

优选的,在步骤1中还包括:

在编码器中,每个阶段的基础块为编码块-k,编码块-k是由k个基础块卷积-组标准化-GELU激活函数的CGG组成的结构,编码块-2代表由2个CGG块串联形成的模块,编码块-3则是由3个CGG块组成,编码器中使用2个编码块-2和3个编码块-3串联而成;在CGG块之前,采用一个CBG用于通道数加倍,CBG由基础块卷积-批标准化-GELU激活函数组成,完成CGG块的特征提取之后,使用CBG块来将特征维度减少为需要的维数。

优选的,在步骤1中还包括:

在解码器中,解码器阶段的基础块为“解码块-k”,核心提取部分也是由CGG块组成,“解码块-2”和“解码块-3”分别由2个和3个CGG块组成,解码器中使用2个解码块-2和3个解码块-3串联而成;在“解码块-k”中首先进行反最大池化操作,使用编码器阶段存储的索引信息来还原上采样时像素的位置;同样在经过反最大池化操作之后,采用CBG来进行降低特征图的通道数,再经过CGG提取特征,输出时使用CBG块将特征维度调整为本发明需要的维度,与“编码块-k”块不一样的是,“解码块-k”块没有采用残差连接。

在另外一个方面,本发明还公开了一种基于分组归一化和移位的图像裂缝检测系统,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上述任一项所述的基于分组归一化和移位的图像裂缝检测方法。

在另外一个方面,本发明还公开了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上述任一项所述的基于分组归一化和移位的图像裂缝检测方法。

(三)有益效果

相对于现有技术,基于分组归一化和移位的图像裂缝检测方法具备如下优势:

(1)相对于原始SegNet网络模型,本发明提出了一个基于改进SegNet语义分割模型的分组归一化注意力的图像裂缝检测方法,其具备如下优势:首先,为了应对自然场景下的各种复杂情况的干扰,本发明提出了一种基于分组归一化的注意力机制,分组归一化从空间维度将特征压缩为向量,并按通道分组进行归一化;并使用分组归一化中线性变化的可学习参数从通道层面加权,从而达到抑制无意义特征和突显有意义特征的效果。其次,为了更好地检测细小裂纹,本发明提出了“填充-移动-剪切”卷积模块,通过将所有特征图分通道沿着水平方向和垂直方向移动不同的像素值,特征图的各个部分的信息可以在像素移动之后互相关注,模型在学习的时候可以获取到更长距离的裂缝信息。

(2)另外,本发明中提出了基于分组归一化注意力方法和“填充-移位-剪切”卷积,且两者可相辅相成,使用分组归一化注意力方法GNAM改进了原有的SE模块,使其适合裂缝特点,首先通过最大池化和平均池化将特征从空间维度进行压缩,变成只剩通道维度的向量,随后该向量在通道维度执行分组归一化操作,为了弥补特征压缩和归一化过程中的信息损失,执行完分组归一化后再执行一次线性变化,并将线性变化的可学习参数与归一化后的特征向量进行逐通道相乘作为注意力机制的权重向量,作用在原始特征图上。考虑到弥补模型在有限深度的情况下的感受野小问题,基于设计出的“填充-移位-剪切”卷积,通过填充、移位特征图,特征图中各个位置的信息都能相互注意到,这能极大提高模型的感受野,并且能够克服膨胀卷积因为膨胀率大丢失细小裂纹的问题。此外,基于损失函数使用BCE损失稍做修改后的Dice损失,可以更好的挖掘前景对象。在CrackForestDataset、DeepCrack、CrackTree260和CrackLS315数据集上本发明都能有较好的效果,特别的,在CrackTree260数据集上,本发明在各个指标上获得了最好的表现,这证明了本发明提出的方法的针对图像裂缝检测上的优越性能。

附图说明

图1是本发明图像裂缝检测方法中的编码器-解码器模型总览图;

图2是基于分组归一化的注意力模块流程图;

图3是“填充-移位-剪切”卷积的流程图;

图4是“填充-移位-剪切”卷积中的特征变化流程图;

图5为本发明的方法与其他方法在CrackForestDataset上的性能比较图;

图6为本发明的方法与其他方法在CrackTree260上的性能比较;

图7为本发明的方法与其他方法在CrackLS315上的性能比较图;

图8为本发明的方法与其他方法在DeepCrack上的性能比较图;

图9为本发明的方法与其他方法在CrackForestDataset数据集上与其他模型的预测效果对比图;从上至下依次为RAW原图、GT真值掩码图、HED模型预测的效果图、RCF模型预测的效果图、SegNet模型预测的效果图、DeepCrack模型预测的效果图和本发明预测的效果图。

图10为本发明的方法与其他方法在CrackTree260数据集上与其他模型的预测效果对比图,从上至下依次为RAW原图、GT真值掩码图、HED模型预测的效果图、RCF模型预测的效果图、SegNet模型预测的效果图、DeepCrack模型预测的效果图和本发明预测的效果图。

图11为本发明的方法与其他方法在CrackLS315数据集上与其他模型的预测效果对比图,从上至下依次为RAW原图、GT真值掩码图、HED模型预测的效果图、RCF模型预测的效果图、SegNet模型预测的效果图、DeepCrack模型预测的效果图和本发明预测的效果图。

图12为本发明的方法与其他方法在DeepCrack数据集上与其他模型的预测效果对比图,从上至下依次为RAW原图、GT真值掩码图、HED模型预测的效果图、RCF模型预测的效果图、SegNet模型预测的效果图、DeepCrack模型预测的效果图和本发明预测的效果图。

图13中的(a)图为本方法与其他方法在CrackForestDataset上的P-R曲线图;(b)图为本方法与其他方法在CrackTree260上的P-R曲线图;(c)图为本方法与其他方法在CrackLS315上的P-R曲线图;(d)图为本方法与其他方法在DeepCrack上的P-R曲线图;。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

为了解决抗干扰能力差、裂缝检测精度不够高且模型的鲁棒性和泛化性低等问题,本发明的网络结构在现有技术中的SegNet网络上进行了改进,参见图1所示,本发明新的SegNet网络中的编码器-解码器模型具体包括以下方面的改进:

(a)在编码器中,每个阶段的基础块为“编码块-k”,是由k个基础块卷积(Conv)-组标准化(GN)-GELU激活函数组成的CGG的结构,“编码块-2”代表由2个CGG块串联形成的模块,而编码块-3则是由3个CGG块组成。在CGG块之前,采用一个CBG用于通道数加倍,CBG则是由基础块卷积(Conv)-批标准化(BN)-GELU激活函数组成,因为随着网络加深,本发明需要通过增加通道数来获得更丰富的语义信息。完成CGG块的特征提取之后,本发明使用CBG块来将特征维度减少为本发明需要的维数,本发明使用最大池化设置步长为2来降低分辨率,并保留下采样时的像素位置索引信息,在上采样时将像素信息还原到索引位置,本发明会将所有CGG块输出的特征图连接在一起获取更加丰富的信息,且为了更进一步丰富得到的特征图,在“编码块-k”块中均采用在ResNet网络中提出的残差结构,这能防止网络训练过程的梯度消失。

(b)在解码器中,本发明采用了与“编码块-k”相似的结构,解码器阶段的基础块为“解码块-k”,核心提取部分也是由CGG块组成,“解码块-2”和“解码块-3”分别由2个和3个CGG块组成。在“解码块-k”中本发明首先进行反最大池化操作,使用编码器阶段存储的索引信息来还原上采样时像素的位置。同样在经过反最大池化操作之后,本发明采用CBG来进行降低特征图的通道数,再经过CGG提取特征。输出时使用CBG块将特征维度调整为本发明需要的维度。与“编码块-k”块不一样的是,“解码块-k”块没有采用残差连接,因为在解码器阶段,不同阶段特征图逐元素相加会引入噪声,降低模型的性能。

由此可知,图1的网络结果针对裂缝特性和防干扰等问题设计专门的嵌入模块,网络分为编码器、解码器、残差连接几个部分。在编码器部分,本发明采用类似于残差网络的金字塔结构进行特征提取,整个网络实现五次下采样。每个阶段特征将融合该阶段所有的卷积层的输出,这样能够在最后一层获得最丰富的语义信息,在编码器阶段采用残差结构还能最大程度弥补最大池化下采样时丢失的语义信息。在解码器阶段并未采用残差结构,因为残差结构会引入一些噪声,导致输出的掩码图噪点较多。为了清除编码器阶段使用残差结构引入的噪声和裂缝图像本身会存在的各种噪声干扰情况,本发明还提出了基于分组归一化的注意力模块,分组归一化首先将输入的图片进行空间维度压缩,变成一个只剩下通道维度的向量,对这些向量分组进行归一化。为了弥补归一化和空间压缩过程中的信息损失,对归一化的向量执行一次线性变化,最后得到的向量即为注意力权重,权重大小代表特征图各通道信息的重要性。另外在编码器提取特征结束阶段,为了进一步扩大感受野、增强对细小裂纹的捕捉能力,本发明还提出了基于“填充-移位-剪切”的卷积。首先是在特征图周围填充一定的像素,接着通过对不同通道的特征图执行在垂直方向和水平方向移位操作使得特征图各个位置的信息能够相互注意到。

在另外一个实施例中,本发明中还提出了一种基于分组归一化和移位的图像裂缝检测方法,该方法对现有的SegNet网络上进行了改进,具体包括以下步骤:

一.特征提取下采样

步骤1:对于图像中的裂缝信息,采用卷积提取特征,网络中的编码器分为五个部分,每个阶段中每个卷积层的特征输出都会用于拼接,之后通过卷积降维作为整个阶段的输出,以在最终编码完成时携带更丰富的语义信息;下采样采用最大池化,最大池化时下采样的像素的索引信息进行了存储,在解码器阶段使用编码器阶段的保存的索引,上采样解码时将像素还原到索引指示的位置,保留更多的语义信息;此外,在编码器阶段采用残差结构,而在解码器阶段并未采用残差结构。

具体的,在步骤1中,本发明的网络结构可优选为图1中具体所示的网络结构,也可以为其它只在编码器阶段采用残差结构的改进型SegNet网络。因为该网络中每个阶段特征将融合该阶段所有的卷积层的输出,这样能够在最后一层获得最丰富的语义信息,在编码器阶段采用残差结构还能最大程度弥补最大池化下采样时丢失的语义信息,在解码器阶段并未采用残差结构,因为残差结构会引入一些噪声,导致输出的掩码图噪点较多。

二.基于分组归一化的注意力计算

步骤2:将C维通道分为N组记为{g

对于每个组g

步骤3:分组归一化注意力模块定义为式(3),其中x代表输入的特征图,函数GAP()和GMP()分别代表全局平均池化和全局最大池化,用于将空间维度将特征压缩为一个向量,⊙代表逐通道相乘操作,用于将计算好的权重乘上对应的特征图和特征向量,

f(x)=Sigmoid(γ)⊙(GN(GAP(x))+GN(GMP(x)))⊙x (15)

其中,f(x)为对注意力进行加权后的特征函数,γ为通道系数γ

如图2所示,通过以上步骤1-步骤3的基于通道分组归一化的注意力机制用于增强裂缝特征可知,对称的U型网络的每一层在整个网络架构中使用分组归一化方法来归一化特征,使用分组归一化的可学习参数设计了新的分组归一化注意力,更好的适配整个网络架构。分组归一化从空间维度将特征压缩为向量,并按通道分组进行归一化;分组归一化操作完成后,使用线性变化来弥补归一化和压缩过程中的损失,并使用线性变化的可学习参数从通道层面对原始特征图加权,从而达到抑制无意义特征和突显有意义特征的效果。从而清除编码器阶段使用残差结构引入的噪声和裂缝图像本身会存在的各种噪声干扰情况和增强裂缝检测抗干扰性能。

三.“填充-移位-剪切”卷积

步骤4:先将特征图按通道分成S组,考虑到平移时的对称性,取S为奇数(可优选设S=5);每组特征图分别沿着x轴移动d个像素,其中d∈[-pad,pad],

步骤5:使用深度卷积来感知更长距离的裂缝特征,并提取细小裂纹的特征。

步骤6:沿着y轴方向重复步骤4的操作,首先将通道分组,然后特征图分组之后沿着y轴移动d个像素,执行点卷积映射到同一维度的空间,最后逆移动操作恢复特征图。

如图3-4所示,通过以上步骤4-步骤6的资源友好型的“填充-移位-剪切”卷积操作,在语义分割中,常采用简单且有效的膨胀卷积来增大感受野,然而对于比较细的裂缝特征,当膨胀率较大时,卷积核里每个可学习的参数之间间隔较大,会丢失某一个特定像素点周围像素点的邻近信息,导致该细小的像素信息丢失。本发明的“填充-移位-剪切”卷积通过将特征图分通道沿着水平方向和垂直方向移动不同的像素值,使得特征图中不同的位置的像素信息可以互相关注到以获得较大的感受野。“填充-移位-剪切”卷积操作不仅不会像膨胀卷积那样丢失细小裂纹的信息,而且移位后的特征图由于各通道各个位置上的像素未对齐,因此该卷积还能够在非对齐的特征图中提取模型真正需要关注的裂缝,提高模型的鲁棒性,最终克服膨胀卷积因为膨胀率大丢失细小裂纹的问题和提高针对裂缝的检测精度。

四.解码器端预测图像掩码

步骤7:解码器中每层使用双线性插值上采样预测的特征图,上采样后的特征图与编码器阶段输出的同样大小的特征图进行拼接,上采样使用最大反池化操作,重用在编码器阶段保存的下采样索引,从而能够保证特征被有效的还原到特定位置上去,最后输出单通道的概率图。

五.损失函数计算

步骤8:预测概率图y与真值掩码y之间的损失计算如式(4)-(6)所示,模型最终输出单通道概率图。

Loss

通过步骤7可知,式(4)-(5)分别对应计算BCEWithLogits损失和Dice损失,BCE则计算输出的概率结果和二值掩码之间的损失,引导模型学习裂缝的语义特征,Dice引导模型更加精细地学习裂缝的边缘特征,通常Dice损失只计算前景的损失,但由于裂缝特征前背景信息极度不平衡,为了解决这一问题,本发明稍微修改了Dice模型的损失,添加了对背景的惩罚项,同时从前景和背景约束模型训练学习,这样模型对前背景的分布不均匀的问题能够得到缓解,综合考虑了BCEWithLogits损失和Dice损失的式(6)的计算可更精确计算处裂缝类别概率。

需要指出的是,步骤8明显并非本发明方法中的必要步骤,其只是为了让训练得到的网络的鲁棒性更强。

此外,为了验证本发明上述提出的基于分组归一化注意力方法和“填充-移位-剪切”卷积裂缝检测网络的性能,本发明提出的方法在CrackForest,DeepCrack,CrackTree260和CrackLS315四个公开数据集上进行了验证,其中图5展示了本发明的方法与其他方法在CrackForest上的性能比较;图6展示了本发明的方法与其他方法在CrackTree260数据集上性能的比较;图7展示了本发明的方法与其他方法在CrackLS315上的性能比较;图8展示了本发明的方法与其他方法在DeepCrack上的性能比较。图9展示了应用不同方法的分割结果在CFD数据集上的对比;图10展示了应用不同方法的分割结果在CrackTree260数据集上的对比;图11展示了应用不同方法的分割结果在CrackLS315数据集上的对比;图12展示了应用不同方法的分割结果在DeepCrack数据集上的对比。图13展示了本发明的方法同其它方法在四个数据集上的P-R曲线效果。

由此可知,本发明的检测方法和网络属于一种新的U型裂纹分割网络,该改进的SegNet网络在公开数据集CrackTree260、DeepCrack、CFD、CrackLS315上获得了更好的Precision,Recall,F1-score,mIoU和IoU结果。值得一提的是,本发明的模型在CrackTree260数据集上取得比DeepCrack模型的平均交集(mIoU)和F1-score分别高出1.27%和0.94%。

上述本发明基于分组归一化和移位的图像裂缝检测方法可以转换为软件程序指令,既可以使用包括处理器和存储器的软件分析系统来运行实现,或者也可以通过非暂态计算机可读存储介质中存储的计算机指令来实现。

最后,本发明的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于迁移学习的大坝图像裂缝检测方法
  • 基于深度卷积神经网络的公路路面图像裂缝几何属性检测与裂缝识别方法
  • 基于归一化直方图综合特征向量的图像篡改盲检测方法
技术分类

06120115933695