刘荣升,李追风,冯庆贺,迟明路,李仁惠
(河南工学院 智能工程学院,河南 新乡 453003)
近年来,中国混凝土建筑数量急速增长,然而当混凝土表面遭受外力破坏和自身结构变化后会出现各种各样的裂缝缺陷[1]。如何精准高效地检测混凝土表面裂缝缺陷已经成为一个严峻的挑战。
传统混凝土表面裂缝缺陷识别只能通过人工进行人眼视觉识别,这种方法不仅费时费力,而且可能会威胁到巡检人员的安全[2]。为了有效解决这一问题,基于数字图像处理的混凝土表面裂缝缺陷识别技术逐渐引起研究者们的关注[3]。对比人工视觉识别,基于数字图像处理的识别不仅具有省时省力特点,而且也更加安全可靠。此外,基于数字图像处理的识别还可以有效规避人为主观因素对混凝土表面裂缝缺陷识别结果的不确定影响。
鉴于当前研究现状,本文将基于数字图像处理的混凝土表面裂缝缺陷识别算法划分为传统手工特征算法和深度神经网络模型算法。传统手工特征算法可以概括为边缘特征检测算法[4]、图像平滑特征检测算法[5]和图像分割特征检测算法[6,7]。最近,随着人工智能技术的飞速发展与广泛应用,深度神经网络模型算法开始在混凝土表面裂缝缺陷识别领域中逐渐展露锋芒[8,9]。相较于边缘特征、图像平滑特征和图像分割特征,深度神经网络模型算法则是从图像分类的角度进行混凝土表面裂缝缺陷识别[10]。但是基于图像分类的预训练深度神经网络模型并不适合直接用于混凝土表面裂缝缺陷识别任务,主要原因在于基于图像分类的预训练深度神经网络模型常常采用自然场景图像进行训练,与混凝土表面裂缝缺陷识别的图像之间存在一定语义差距会导致混凝土表面裂缝缺陷识别的精准度降低[11]。
为了有效提升混凝土表面裂缝缺陷识别的精准度,本文提出一种基于ResNet50微调网络模型。
在ImageNet图像数据集上预训练的LeNet、AlexNet、GoogLeNet、VGG和ResNet等网络模型已经在图像处理领域取得了令人瞩目的成绩[12]。对比其他网络模型,ResNet网络模型主要优势在于以下三个方面:
(1)ResNet网络模型设计了残差模块有效解决了其他网络模型在训练过程中的梯度消失和梯度爆炸问题。
如图1所示,可以看到残差模块的输入为a,输出为b,网络模型中残差模块定义如下所示:
图1 残差模块
b=F(a)+a
(1)
式中,F( )代表网络待学习的残差函数。
将公式(1)进行变换,可得:
F(a)=b-a
(2)
残差函数F实际上是右侧b-a的残差,称为“残差函数”,其包含有两个分支,其一是左侧的残差函数,其二是右侧的对输入的恒等映射。这两个分支经过一个简单整合(对应元素的相加)后,再经过一个非线性的变换 ReLU 激活函数,从而形成整个残差学习模块。由多个残差模块堆叠而成的网络结构称作“残差网络”[13]。
(2)ResNet网络模型解决了其他网络模型中由于网络深度叠加导致网络性能变差的问题。
(3)ResNet网络模型提升了之前网络模型在自然场景图像分类任务中的有效性。
(4)ResNet网络模型提供了多个网络模型版本(ResNet18、ResNet34、ResNet50、ResNet101和ResNet152)用于满足不同任务需求。
考虑到ResResNet18和ResNet34在有效性上的缺陷、ResNet101和ResNet152在实用性上的缺陷,本文选用ResNet50作为微调的基准网络模型。
众所周知,数据对网络模型的微调至关重要[14]。数据不足容易引起网络模型的过拟合问题,同时也会严重影响网络模型的训练和测试效果。数据增广不仅可以有效防止网络模型发生过拟合问题,而且可以有效增加数据的多样性进而提升网络模型的性能。因此混凝土表面图像数据增广在ResNet50微调网络模型中成为了非常重要的一步。
基于以上分析,本文采用光照变换、裁剪和翻转来进行数据增强。光照变换主要是为了增强微调网络模型的光照泛化能力。裁剪不仅可以增加图像数据多样性,而且可以减少微调网络模型对局部区域的关注,从而提高模型的尺寸鲁棒性和泛化能力。翻转可以增强网络模型在微调过程中对方向变换的泛化能力。如图2所示,可以看到图(a)为混凝土表面图像数据原图,图(b)为光照变换后图像,图(c)为裁剪后图像,图(d)翻转后图像。
(a)原图 (b)光照变换
微调网络模型作为迁移学习的一种,本质是将预训练网络模型从源域迁移到目标域,从而使得网络模型适应于目标域任务。本文将用于自然场景图像分类任务的预训练ResNet50网络模型作为源域,用于混凝土表面裂缝缺陷识别任务的ResNet50微调网络模型作为目标域。如文献[15]和[16]所述,源域定义如下:
D=(x,P(X))
(3)
式中,x代表源域特征空间,x∈ {x1,x2,…,xn};P(X)表示源域边缘概率分布。目标域定义如下:
T=(y,f(·))
(4)
式中,y代表目标域标签空间,y∈ {y1,y2,…,yn},在本文中y仅有两个值0或1,0代表没有裂缝的混凝土表面图像;1代表有裂缝的混凝土表面图像;f(·)表示标签预测函数,f(·)∈{xi,yi},其中xi∈x,yi∈y。从概率分布角度,f(·)等价于P(y/x)。本文所提出的ResNet50微调网络模型就是基于预训练的ResNet50网络模型特征空间来优化目标域T中的标签预测函数f(·)。
本文将ResNet50微调网络模型的构建划分为两个部分:微调全连接层和微调卷积层[17]。如图3所示,在微调全连接层步骤中,为了满足混凝土表面裂缝缺陷图像识别任务,本文将原始全连接层中的1000类修改为2类,即没有裂缝图像类和有裂缝图像类。在微调卷积层步骤中,本文将原始全连接层模块1、模块2、模块3、模块4进行冻结,将模块5解冻处理[15]。主要原因在于模块1至4主要学习图像的底层纹理特征、形状特征和结构特征。随着卷积层的不断加深,模块5所学习特征为高层语义特征,所以本文优先解冻模块5中的权重参数并进行再训练,这样不仅可以获得一个具有较高识别率的ResNet50微调网络模型,同时也可以很大程度上节省网络模型的训练时间成本。
图3 微调ResNet50网络模型算法流程图
本文实验环境硬件信息如表1所示。
表1 硬件平台信息
本文选取文献[16]数据集中的2500张图像,并将2500张图像增广至10,000张,用于ResNet50微调网络模型的训练和测试。在网络模型训练中,超参数设定为:学习率LearningRate设定为0.001,学习率调整参数Gramma设定为0.1,批处理大小BatchSize设定为32,步长StepSize设定为3,训练轮次NumEpoch设定为6。训练集与测试集比例设定为9∶1。定量的识别效果评价指标采用精准率(Accuracy)进行评价。
如图4混凝土表面裂缝缺陷识别示例所示,从宏观上,可以看到无裂缝图像和有裂缝图像都识别正确。从微观上,一方面可以看到当无裂缝图像存在明显的光照变化、纹理变化、痕迹及杂物干扰时,ResNet50微调网络模型都可以给出正确识别结果。尤其是从最后一张无裂缝图像中可以看到,当存在人眼都难以辨别的划痕干扰时,ResNet50微调网络模型依然可以准确识别。另一方面,可以看到当有裂缝图像存在大小变化、方向变化、尺度变化、多条裂缝交叉和周边杂物干扰时都可以正确识别出有裂缝图像。尤其是从最后一张有裂缝图像中可以看到,当存在人眼都难以辨别的微小裂缝时,ResNet50微调网络模型仍然可以准确识别。综上所述,定性评价结果验证了所提出微调网络模型在混凝土表面裂缝缺陷任务上的实用性。
(a) 无裂缝图像
表2列出了在数据集上,ResNet50(原始)和ResNet50微调网络模型(本文)的Accuracy对比结果。其中,ResNet50(原始)采用ImageNet数据预训练的原始权重。Positive代表有裂纹图像,Negative代表无裂纹图像。表中粗体数值表示在数据集上的最高Accuracy值。
表2 在数据集上平均准确率对比
从表2可以观察到ResNet50微调网络模型(本文)在数据集上Positive和Negative的Accuracy(%)为99.6和99.8,明显优于ResNet50(原始)方法的97.3和97.6。主要原因在于以下两个方面:一方面,ResNet50微调网络模型在训练阶段采用数据增广后的图像,增强了微调网络模型对光照变化、尺度变化和方向变换的鲁棒性;另一方面,ResNet50微调网络模型在训练阶段优先解冻模块5中的权重参数并进行再训练,提升了ResNet50微调网络模型针对混凝土表面裂缝缺陷识别的性能。综上所述,定量评价结果验证了所提出微调网络模型在识别混凝土表面裂缝缺陷任务中的有效性。
本文提出了一种ResNet50微调网络模型。在数据准备阶段,通过光照变换、裁剪和翻转来有效扩增数据集;在模型构建阶段,通过微调全连接层和微调卷积层来构建适用于混凝土表面裂缝缺陷识别的ResNet50微调网络模型;在实验评价阶段,通过定性和定量的实验验证了本文所提ResNet50微调网络模型的实用性和有效性。
(责任编辑 王 磊)