路面裂缝图像检测方法与流程

文档序号:18415547发布日期:2019-08-13 19:21阅读:848来源:国知局
路面裂缝图像检测方法与流程

本发明涉及裂缝检测技术领域,尤其是一种路面裂缝图像检测方法。



背景技术:

随着我国经济的迅速发展,公路里程数不断增加,公路路面的养护任务变得日益繁重。裂缝是路面破损的初期症状,为了防止交通安全受到影响,路面裂缝需及时发现并补救。但是,公路上巨大的交通流量对养护任务提出了很高的实施要求,传统的人工养护方式不仅存在安全隐患而且非常耗时,这就使得自动化的路面裂缝检测装置逐渐得到了业界的青睐。

目前,路面裂缝自动检测装置的核心内容主要包括裂缝图像检测,裂缝图像检测的目标为在多种背景下检测出目标裂缝,但图像源的变化、裂缝宽窄的不均匀性、表面纹理缺乏足够的背景照明以及其他特征的存在使得裂缝图像检测充满了挑战。

在早期研究中,裂缝图像检测方法主要是基于传统数字图像处理技术的组合或改进,如阈值处理、数学形态学和边缘检测,但通过该方法得到的结果通常是裂缝中心线,并不包含裂缝的宽度。

之后,为了得到裂缝的更多信息,通过采用图像处理技术对图像进行预处理、图像分割和特征提取,开发了较为快速稳健的自动检测和分割方法。例如,shiy等在文章“automaticroadcrackdetectionusingrandomstructuredforests”(shiy,cuili,qiz,etal.ieeetransactionsonintelligenttransportationsystems,2016)中针对裂缝的严重不均匀性、裂缝的拓扑复杂和裂缝具有相似纹理的噪声等问题,公开了一种基于随机结构化森林的新型道路裂缝检测系统(crackforest);a.cuberofernandez等在文章“efficientpavementcrackdetectionandclassification”(a.cuberofernández,f.j.rodriguez-lozano,rvillatoro,etal.eurasipjournalonimageandvideoprocessing,2017)中公开了在获得裂缝图像后,先使用一个或多个算法(例如,对数变换、双边滤波器、canny算法、形态滤波器等)对裂缝图像进行预处理来突出裂缝的主要特征,再应用决策树启发式算法对预处理后的裂缝图像进行分类检测。但是,采用图像处理的裂缝图像检测方法极易受到外界环境的干扰,稳定性较差。

随着深度学习在语音识别和计算机视觉领域的发展,人们逐渐将深度学习(例如,卷积神经网络)应用于路面裂缝图像检测中来克服传统图像处理方法中的不足之处。例如,zhanga等在文章“automatedpixel-levelpavementcrackdetectionon3dasphaltsurfacesusingadeep-learningnetwork”(zhanga,wangkcp,lib,etal.computer-aidedcivil&infrastructureengineering,2017)中公开了一种基于卷积神经网络(convolutionalneuralnetwork,cnn)的高效架构(cracknet),但cracknet由于需要进一步改进以检测较细裂缝,且网络结构与输入图像大小相关,使得该方法的泛化能力较差;young-jincha等为了克服真实环境的变化(例如,光照和阴影的变化)所带来的干扰,在文章“deeplearning-basedcrackdamagedetectionusingconvolutionalneuralnetworks”(chayj,choiw,o.computer-aidedcivilandinfrastructureengineering,2017)中公开了一种基于计算机视觉的方法,该方法使用卷积神经网络(cnn)的深层架构来检测混凝土裂缝,即先使用滑动窗口将图像分成块,再通过cnn预测图像块中是否包含裂缝,由于该方法只能在不考虑像素级别的情况下找到块状裂缝,导致该网络的输出结果并不是完整的裂缝图像,而是图像块;paulyl等在文章“deepernetworksforpavementcrackdetection”(paulyl,peelh,luos,etal.34thinternationalsymposiuminautomationandroboticsinconstruction,2017)中公开了在基于计算机视觉的路面裂缝检测中使用更深层网络的办法,但网络更深也意味着参数更多,所需要的训练时间更长;zouq等在文章“deepcrack:learninghierarchicalconvolutionalfeaturesforcrackdetection”(zouq,zhangz,liq,etal.ieeetransactionsonimageprocessing,2018)中公开了一种端到端的可训练深度卷积神经网络(deepcrack),即通过学习裂缝的高级特征来进行裂缝的自动检测。

在提出本公开的过程中,发明人发现,现有技术中几乎每个路面裂缝图像检测方法都有特定的适用范围,使得现有的路面裂缝图像检测方法在裂缝图像清晰、背景单一的条件下,性能表现良好,但是难以满足实际的多样的工程需求。例如,受光照、阴影等噪声的影响,裂缝所处环境通常比较复杂,虽然基于cnn的检测方法具有一定的效果,但分割结果是图像块,高估了裂缝的宽度;在光照阴影都存在的较细裂缝图像中,裂缝没有被完全的分割出来,存在欠分割现象;为了使fcn网络收敛,需要分阶段依次训练各个网络,造成训练过程复杂且耗时较长,不利于实时过程的实现。



技术实现要素:

为了解决上述现有技术中存在的问题,本发明提供一种路面裂缝图像检测方法。

所述路面裂缝图像检测方法包括:

步骤s1,获取待检测路面图像;

步骤s2,获取训练数据,所述训练数据包括多个路面图像与每个所述路面图像对应的裂缝标记图像;

步骤s3,获取预训练的深度模型,并基于所述深度模型构建初始路面裂缝检测模型;

步骤s4,基于所述训练数据,训练所述初始路面裂缝检测模型;

步骤s5,基于训练后得到的路面裂缝检测模型,获取所述待检测路面图像的裂缝标记图像,得到路面裂缝图像检测结果。

可选地,所述深度模型取为vgg16模型,所述路面裂缝检测模型为vgg-u-net模型。

可选地,所述vgg16模型包括输入层、m个编码卷积结构、p个全连接结构以及输出层,其中,m和p均为正整数,每个编码卷积结构包括至少两个卷积层和一个池化层,所述全连接结构包括多个全连接层。

可选地,所述vgg-u-net模型包括:

编码部分,所述编码部分包括所述vgg16模型的输入层和前n个编码卷积结构,其中,n为小于等于m的正整数;

解码部分,所述解码部分包括n个解码卷积结构和输出结构,每个所述解码卷积结构包括至少两个卷积层和一个上采样层,所述输出结构包括至少两个卷积层和一个输出层。

可选地,所述上采样层对前一个卷积层输出的图像进行上采样计算。

可选地,所述上采样计算包括以下步骤:

步骤s21,上采样,基于反卷积核,确定所述上采样层前一个卷积层输出的图像的第一特征图像,所述第一特征图像包括p个通道,其中,p为大于2的整数;

步骤s22,图像复制,复制所述编码部分中通道数为p的第二特征图像;

步骤s23,图像裁剪,将所述第二特征图像裁剪为与所述第一特征图像像素数量相同的第三特征图像;

步骤s24,图像合并,将所述第三特征图像与所述第一特征图像进行合并,得到第四特征图像。

可选地,所述池化层采用最大池化法,且采样窗口为2×2;所述上采样层采用反卷积法,且反卷积核为2×2的矩阵。

可选地,所述编码卷积结构还包括归一化层、激活层和随机失活层;

所述解码卷积结构还包括激活层和随机失活层。

可选地,所述获取预训练的vgg16模型包括:

基于所述训练数据,训练所述vgg16模型;或者

加载imagenet数据集中已训练的vgg16模型。

可选地,所述基于所述训练数据,训练所述初始vgg-u-net模型包括:

步骤s31,基于所述vgg16模型,对所述vgg-u-net模型的编码部分的参数进行初始化;

步骤s32,通过所述vgg-u-net模型,确定所述训练数据中路面图像的输出特征图;

步骤s33,将所述输出特征图转换为概率分布图;

步骤s34,计算所述概率分布图与所述裂缝标记图像之间的偏差值;

步骤s35,根据所述偏差值,更新所述vgg-u-net模型中解码部分的参数,再基于更新参数后的vgg-u-net模型,重复执行所述步骤s32、步骤s33和步骤s34,直至所述偏差值小于预设阈值,得到训练完成的vgg-u-net模型。

本发明的主要优点如下:本发明方法是一种基于预训练模型的路面裂缝图像检测方法,一方面利用深度模型增加了模型的深度,提高了预测精度,另一方面利用预训练模型简化了训练过程,提高了训练效率。

附图说明

图1是根据本发明一实施方式的路面裂缝图像检测方法的流程图;

图2是根据本发明一实施方式的vgg16模型的结构示意图;

图3是根据本发明一实施方式的vgg-u-net模型的结构示意图;

图4是根据本发明一实施方式的上采样计算的流程图;

图5是根据本发明一实施方式的vgg-u-net模型的训练流程图;

图6是根据本发明一实施方式的vgg-u-net模型训练示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

图1是根据本发明一实施方式的路面裂缝图像检测方法的流程图。

如图1所示,在本发明一实施方式中,所述路面裂缝图像检测方法包括:

步骤s1,获取待检测路面图像;

步骤s2,获取训练数据,所述训练数据包括多个路面图像与每个所述路面图像对应的裂缝标记图像;

其中,所述裂缝标记图像指的是对于所述训练数据中的路面图像进行路面裂缝检测后,对于裂缝检测结果进行标记的图像,所述裂缝标记图像中标记有所述路面图像中所包含的裂缝信息,比如,裂缝的位置、宽度、长度等。

步骤s3,获取预训练的深度模型,并基于所述深度模型构建初始路面裂缝检测模型;

在本发明一实施例中,所述深度模型取为vgg16模型,所述路面裂缝检测模型为vgg-u-net模型,接下来以所述深度模型为vgg16模型,所述路面裂缝检测模型为vgg-u-net模型为例,对于本发明进行进一步解释和说明。

在本发明一实施例中,所述vgg16模型m1包括输入层、m个编码卷积结构、p个全连接结构和输出层,其中,m和p均为正整数,每个编码卷积结构包括至少两个卷积层和一个池化层,每个全连接结构包括多个全连接层。图2是根据本发明一实施方式的vgg16模型的结构示意图,如图2所示,在本发明一实施方式中,所述vgg16模型m1包括输入层、5个编码卷积结构、1个全连接结构和输出层,其中,每个编码卷积结构包括2~3个卷积层和1个池化层,所述全连接结构包括多个全连接层。例如,所述vgg16模型m1的前两个编码卷积结构包括2个卷积层和1个池化层,后三个编码卷积结构包括3个卷积层和1个池化层,所述全连接结构包括3个全连接层,即在该实施方式中,所述vgg16模型为包括13层卷积层和3层全连接层的16层卷积神经网络。

在本发明一实施方式中,在同一编码卷积结构中,各个卷积层的卷积核数量相同。在一个卷积层中,一个卷积核对应生成特征图像的一个通道,因此,在同一个编码卷积结构中,各个卷积层确定的特征图像的通道数相同。

在本发明一实施方式中,所述vgg16模型的卷积层中的卷积核为3×3矩阵,用于从所述路面图像中提取特征。所述vgg16模型的池化层采用池化窗口大小为2×2的最大池化法,即每次记录大小为2×2的窗口中的最大值,用于对卷积后的矩阵进行降维,从而避免维数爆炸。

在该实施方式中,所述vgg16模型是一种基于卷积神经网络结构的人工神经网络,并且所述vgg16模型的参数配置是公开可用的,已作为基准特征提取器用于许多其他应用程序中。因此,在本发明一实施例中,所述获取预训练的vgg16模型可以是基于所述训练数据,训练所述vgg16模型获得,也可以直接加载imagenet数据集中已训练的vgg16模型,从而提高模型训练的效率。

获取预训练的vgg16模型后,并基于所述预训练的vgg16模型,构建初始vgg-u-net模型。

根据本公开的实施例,所述初始vgg-u-net模型包括编码部分和解码部分。

所述编码部分包括所述vgg16模型的输入层和前n个编码卷积结构,其中,n为小于等于m的正整数。所述编码部分用于在多次卷积和池化过程中捕获图像中的上下文信息,从而获取图像特征。

所述解码部分包括n个解码卷积结构和输出结构,每个所述解码卷积结构包括至少两个卷积层和一个上采样层,所述输出结构包括至少两个卷积层和一个输出层,用于根据编码部分捕获的上下文信息提取图像特征,实现精确定位。

图3是根据本发明一实施方式的vgg-u-net模型的结构示意图,如图3所示,在本发明一实施方式中,所述初始vgg-u-net模型m2的编码部分可以包括所述预训练的vgg16模型m1的输入层和4个编码卷积结构,即所述vgg-u-net模型m2的编码部分为所述预训练的vgg16模型m1中包含输入层在内的前15层模型。所述初始vgg-u-net模型m2的解码部分包括4个解码卷积结构和输出结构,每个解码卷积结构包括2~3个卷积层和1个上采样层,所述输出结构包括2个卷积层和1个输出层。

在本发明一实施例中,除了输出结构中的最后一个卷积层的卷积核为1×1矩阵,其余卷积层的卷积核均为3×3矩阵;在同一解码卷积结构中,各个卷积层的卷积核数量相同,使得各卷积层所确定的特征图像的通道数相同。

在本发明一实施例中,所述上采样层的采样窗口与所述池化层的池化窗口大小相同。使得第i个上采样层中经过上采样的特征图像的通道数与第n-i+1个池化层中经过池化后的特征图像的通道数相同,其中,i为小于等于n的正整数。

在本发明一实施方式中,所述池化层采用最大池化法,且采样窗口为2×2,即每次记录大小为2×2的窗口中的最大值,用于对卷积后的矩阵进行降维,从而避免维数爆炸,有利于获取图像特征;所述上采样层采用反卷积法,且反卷积核为2×2的矩阵,用于对卷积后的矩阵进行升维,有利于减少通道数量,实现精准定位。

在本发明一实施例中,所述上采样层对前一个卷积层输出的图像进行上采样计算。图4是根据本发明一实施方式的上采样计算的流程图,如图4所示,所述上采样计算包括以下步骤:

步骤s21,上采样,基于反卷积核,确定所述上采样层前一个卷积层输出的图像的第一特征图像,所述第一特征图像包括p个通道,其中,p为大于2的整数;

步骤s22,图像复制,复制所述编码部分中通道数为p的第二特征图像;

步骤s23,图像裁剪,将所述第二特征图像裁剪为与所述第一特征图像像素数量相同的第三特征图像;

步骤s24,图像合并,将所述第三特征图像与所述第一特征图像进行合并,得到第四特征图像。

例如,在步骤s21中,假设前一个卷积层输出的图像包括64个通道且每个通道的像素为16×16,则基于2×2反卷积核,通过上采样确定的所述第一特征图像为包含64个通道,且每个通道的像素为32×32;则在步骤s22中,复制编码部分中包含64个通道的第二特征图像;假设所述第二特征图像每个通道的像素为36×36,则在步骤s23中,对所述第二特征图像进行裁剪,确定第三特征图像,使得所述第三特征图像包括64个通道,且每个通道的像素为32×32;最后在步骤s24中,将所述第一特征图像和所述第三特征图像进行合并,得到的第四特征图像包括128个通道,且每个通道的像素为32×32。

在本发明一实施例中,解码部分通过图像合并将编码部分中的上下文信息与相对应的解码部分进行特征结合,完成了深层抽象特征(解码部分中获取的特征)和浅层特征(编码部分中获取的特征)的融合,在解码部分中增加了原始图像的上下文信息,有利于补全丢失的边界信息,提升边缘信息预测的准确性。这样,通过卷积学习语义信息和位置信息的结合方式,获得更多的特征,提高对小目标分割的效果,使模型预测的结果更加精准。

在本发明一实施例中,所述编码卷积结构还包括归一化层、激活层和随机失活(dropout)层。所述解码卷积结构还包括激活层和随机失活(dropout)层。其中,所述dropout层将特征图像中的像素值以一定的比例置零,从而避免因过于依赖局部特征而产生的过拟合现象,增强模型泛化能力。例如,所述vgg-u-net模型m2的第四个编码卷积结构包括dropout层,特征图像经过所述dropout层时,像素值有50%的比例可能被置零。

在本发明一实施例中,所述激活层采用线性整流函数(rectifiedlinearunit,relu),所述relu是一种人工神经网络中常用的激活函数,通常指代以斜坡函数及其变种为代表的非线性函数。

步骤s4,基于所述训练数据,训练所述初始路面裂缝检测模型;

图5是根据本发明一实施方式的vgg-u-net模型的训练流程图,如图5所示,所述基于所述训练数据,训练所述初始vgg-u-net模型的步骤包括:

步骤s31,基于所述vgg16模型,对所述vgg-u-net模型的编码部分的参数进行初始化;

步骤s32,通过所述vgg-u-net模型,确定所述训练数据中路面图像的输出特征图;

步骤s33,将所述输出特征图转换为概率分布图;

在本发明一实施例中,可通过sigmoid函数,将所述输出特征图转换为概率分布图。

步骤s34,计算所述概率分布图与所述裂缝标记图像之间的偏差值;

在本发明一实施例中,可通过损失函数计算所述概率分布图与所述裂缝标记图像的偏差值。

步骤s35,根据所述偏差值,更新所述vgg-u-net模型中解码部分的参数,再基于更新参数后的vgg-u-net模型,重复执行所述步骤s32、步骤s33和步骤s34,直至所述偏差值小于预设阈值,得到训练完成的vgg-u-net模型,其中,所述预设阈值可根据实际应用的需要进行设置,本发明对其不作具体限定。

在本发明一实施例中,所述损失函数可以为交叉熵损失函数,如下式所示:

式中,n表示训练数据中路面图像的数量,为第i个路面图像对应的裂缝标记图像,yi为第i个路面图像对应的概率分布图。

在本发明一实施例中,所述根据所述偏差值,更新所述vgg-u-net模型中解码部分的参数,包括基于adam优化算法,逐层更新所述vgg-u-net模型中的参数,其中,adam优化算法是一种基于一阶梯度来优化所述vgg-u-net模型的算法,即所述adam优化算法根据损失函数对每个参数的梯度的一阶矩估计(firstmomentestimation,即梯度的均值)和二阶矩估计(secondmomentestimation,即梯度的未中心化的方差)动态调整针对于每个参数的学习速率。

图6是根据本发明一实施方式的vgg-u-net模型训练示意图,如图6所示,假设基于所述vgg16模型m1,初始化所述vgg-u-net模型m2的编码部分的参数,通过路面图像x及其对应的已知的裂缝标记图像r进行模型优化的过程可以为:先通过所述初始vgg-u-net模型m2,确定所述路面图像x的输出特征图x1;然后通过sigmoid函数,将所述输出特征图转换为概率分布图x2,再通过损失函数计算所述概率分布图x2与所述已知的裂缝标记图像r的偏差值b;假设所述偏差值b小于预设阈值,则步骤s4结束;假设所述偏差值b大于等于预设阈值,则基于adam优化算法,更新所述初始vgg-u-net模型m2中的参数得到新的vgg-u-net模型m2’。得到新的vgg-u-net模型m2’后,重新确定所述路面图像x的输出特征图x1’及概率分布图x2’,并通过损失函数计算所述概率分布图x2’与所述已知的裂缝标记图像r的偏差值b’,再比较所述偏差值b’与预设阈值的关系,判断是否需要更新所述vgg-u-net模型m2的参数。

在本发明一实施例中,可通过迁移学习初始化所述vgg-u-net模型的编码部分的参数,使得在训练过程中,只需要对部分参数进行微调,而不需要重新训练所有参数。这样能够在一方面加深模型深度,有利于提高模型精度,另一方面在训练过程中基于迁移学习所述预训练的vgg16模型的参数对模型进行初始化,只需对编码部分的参数进行微调,以及初始化并重新训练解码部分的参数,提高了模型的收敛速度和泛化能力,节约了训练时间。

步骤s5,基于训练后得到的路面裂缝检测模型,获取所述待检测路面图像的裂缝标记图像,得到路面裂缝图像检测结果。

例如,通过训练后的vgg-u-net模型m2’,能够获取待检测路面图像y的裂缝标记图像,所述裂缝标记图像中标记有所述待检测路面图像y中所包含的裂缝信息,例如,裂缝的位置、宽度、长度等。

本发明提出的vgg-u-net模型优化了裂缝监测的性能指标,例如,用于说明分割区域的完整性和位置准确性的性能指标mean_iou,在一定程度上解决了传统检测模型在较细裂缝下的欠分割现象,同时在实时性方面有较好表现,有利于裂缝检测分割过程实时化的实现,还可以较好地识别出人类手工标注中可能被忽略的较小裂缝细节,具有很高的鲁棒性。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1