采用深度卷积神经网络的路面破损智能识别

2022-07-13 07:29陈嘉季雪戴伊蒋子平阙云
关键词:改进型网络结构准确率

陈嘉,季雪,戴伊,蒋子平,阙云

(1. 福州大学计算机与大数据学院, 福建 福州 350108; 2. 福州大学土木工程学院, 福建 福州 350108)

0 引言

路面病害的人工识别时,存在一定肉眼识别容易受个人主观性影响,不能客观评价路面的真实情况. 为解决人工检测方法局限性,基于图像处理检测方案,如路面病害区域边缘检测与分割[1-2]和利用小波变换进行裂缝识别[3]等相继被提出,并通过特征提取来借助计算机实现路面病害的自动识别[4]. 这种方法虽可以大量减少人工检测中耗时、耗力、工作量大等问题,但在图像分割中不可避免会产生各种噪音,且由于环境变换差异,在提取特征过程中会受到各种因素干扰[5-7], 导致病害识别率较低,产生路面检测效果不佳的问题.

针对上述两种方法的不足, 以及随着深度学习技术及硬件设施的快速发展,基于卷积神经网络(convolutional neural network, CNN)的检测方法被广泛应用于图像识别领域[8-9]. CNN是一种神经网络结构,最早由Lecun等[10-11]引用到手写数字识别. 其优势在于无需进行繁琐的预处理和人为提取特征过程. 专家学者将卷积神经网络与路面病害识别相结合,取得了较好的效果[12-15]. 然而,深度学习算法在泛化能力、训练时间等方面仍存在不足[16-18].

现有检测技术或多或少受到光照、阴影、障碍物及训练速度等影响,如何做到更有效、快速、准确地识别路面病害,为道路养护部门提供高效的检测工具仍是一个难题. 通过研究卷积神经网络深度对图像识别效果的影响作用,Simonyan等[19]得到VGG(visual geometry group)系列结构. VGG网络建立于最基础的卷积和池化单元之上,它所采用的卷积核及池化核均为小核,使得在训练过程中既能减少网络参数量、又能对输入信息做更有效的处理. 随着该网络的提出及其在图像识别准确率方面的优势,它被应用于植物叶片病害检测、车辆识别、图像识别等领域. 但目前少有直接以路面裂缝图片作为输入样本检测其破损类型的研究.

基于此,为测试VGG网络对多类别且结构复杂的裂缝识别准确率,采用智能相机,在福州市建平路等几个区段内进行路面病害拍摄,获取600张病害样本. 直接将病害图片作为VGG网络结构的输入样本,并与基于支持向量机的传统机器学习算法进行对比试验,比较两种算法对病害识别的差异性. 进一步对VGG网络结构进行改进,得到改进型VGG模型,并与改进前模型进行比较,从而选择最优网络结构. 通过试验,研究3种网络结构对沥青路面病害识别的精度,以便为道路维护提供数据支撑及有力帮助.

1 试验样本获取

1.1 样本采集及处理

为确保样本背景多样性,采用智能相机,分别在福州市建平路等地进行路面病害图像收集; 为防止光照不均、场地周边环境如阴影等因素的影响,该数据在不同时刻、不同路段进行拍摄.

通过一段时间的图片拍摄,将因拍摄问题或人为因素造成的不完整图片筛选后,共收集到600张病害图片,由于所获取的图片大小不一,将图片大小裁剪成150 px×150 px,对其进行均一化处理,通过人工分为5类. 每种类别图片均有120张.

1.2 样本类别

本试验研究对象为常见的5种沥青路面病害,分别为横向裂缝、纵向裂缝、松散、龟裂、坑槽.

1.3 数据集建立与模型工作流程

将总样本数据中的90%作为训练集,用于模型训练,余下10%作为测试集,获得模型对路面病害判断的准确率. 本实验将600张总样本数据分为训练集与测试集,其中训练集有540张病害图片,测试集有60张病害图片. 将训练样本中的原始病害图片直接作为训练网络的输入,在网络中对其进行特征提取、反复训练、学习、使网络获得各类图片信息. 再把60张待检测的图片输入到已设置相应参数且训练好的模型中,最终获取对五类病害的识别结果.

2 基于三种模型的路面病害识别试验

2.1 基于传统机器学习的路面病害识别

1) 支持向量机. 支持向量机(support vector machine,SVM)是一种具有分类思想的算法,能较好地解决小样本、非线性、高纬度和局部绩效点等时机问题. 其核心思想是使用尽可能少的样本获得最好的结果.

2) 核函数选择. 本试验选用间接法中一对多分类方法[20], 测试方法采用十折交叉验证法, 通过对径向基(RBF)核函数、多项式核函数、Sigmoid核函数3种核函数进行试验对比,选择最佳核函数. 表1为不同核函数对5种类型病害识别结果.

通过3种不同核函数对比试验,径向基核函数把复杂的多维问题转化为简单的一维问题,它灵活性高、拟合及预测精度良好,更适用于本试验研究. 最终本文试验采用径向基核函数和一对多的分类方法.

表1 不同核函数的识别结果

2.2 基于VGG网络的路面病害识别

2.2.1VGG卷积神经网络

VGG全部采用3×3的小卷积核,小卷积核的堆叠可代替大卷积核,既可以有效减少计算量又能提高正则作用和分类精度. VGG网络所用池化核尺寸均为2×2,步长为2的最大池化操作,小池化中的“小”是相对于AlexNet中3×3池化核而言的. 小核带来更细节的信息捕捉.

2.2.2VGG模型构建

VGG网络结构有3个卷积层,3个池化层,一个全连接层. 其中,卷积核大小均采用3×3,池化操作时采用最大池化,其大小为2×2,同时进行了避免过拟合的Dropout技术.

试验过程中,输入的裂缝图像大小为150 px×150 px×3 px. 第一层卷积层采用3×3,深度为32,步长为1的卷积核去过滤,这个卷积层的参数个数为3×3×3×32+32=896个. 选用非全0填充,得到32×148×148的输出. 再以此输出作为下层池化层的输入. 该层选用步长为2的最大池化操作,全0填充. 得到32×74×74的输出. 第三层为卷积层,本层输入大小为32×74×74,非全0填充,步长为1,卷积层参数个数为3×3×32×32+32=9 248个,得到32×72×72的输出. 第四层为池化层,输入大小为32×72×72,步长为2,全0填充. 输出大小为32个36×36. 第五层为卷积层. 采用64个3×3,步长为1的卷积核过滤,参数个数为3×3×32×64+64=18 496个,不选用全0填充. 得到64个34×34的输出. 第六层为池化层,步长为2,全0填充,得到64×17×17的输出. 最后一层为全连接层,在该层中采Dropout技术,减少过拟合,加快模型训练速度. 输出层选用Softmax分类器预测输出类别.

2.2.3激活函数的选取

激活函数的作用是:引入非线性,提高模型的表达力,使模型具有更好的区分度. 常用激活函数有:ReLU激活、Sigmoid激活函数、Tanh激活函数. 本文模型选用ReLU函数,它属于非饱和的非线性函数,可以使一部分的神经元输出为0,实现网络的稀疏性. 并能减轻参数之间的相互依赖关系,缓解过拟合问题[21].

ReLU函数表达式[22]为:

(1)

在前项传播中用ReLU函数作激活函数计算单位矩阵中第t个节点的计算公式[23]为:

(2)

2.2.4分类器

在结构最后的输出层采用分类器基于特征映射对输入数据进行分类,在CNN中常用的分类器为Softmax,其主要功能即为预测其输入的类别. Softmax常用函数[24]为:

(3)

式中:θ为待求的参数向量;K为类别总数;P(i)表示类别为k类的概率;x为输入数据.通过Softmax函数可以使P(i)的范围在[0, 1]之间.在对输入数据进行分类时,Softmax所遵循的过程[24]为:

(4)

分类结果[25]为:

(5)

式中:1·{}为示性函数. 输入值为i={1, 2, …,m},输出标签为j={1, 2, …,k},上式表示将输入值分为第k类的概率,进而对代价函数进行求导,通过最小代价化函数,实现裂缝的分类.

2.3 基于改进型VGG网络的路面病害识别

2.3.1改进型VGG网络的确定

随着病害类型增多,复杂度不同,VGG网络结构存在识别效果下降,泛化能力需进一步加强的问题. 对卷积核深度及批处理量两种对裂缝图片局部信息获取,以及对训练收敛程度产生影响的因素进行对比试验,最终确定了改进型VGG网络结构.

在神经网络中,影响网络模型识别率和性能的主要因素有卷积核大小、权值衰减、丢弃率、批处理量等. 通过对最后一层卷积层卷积核深度和训练批处理量的改进,利用卷积核在不同位置进行扫描获取局部信息的特点及批处理量对训练收敛程度的影响来改进VGG网络结构,使算法能够得到全局最优精度. 表2为迭代1 000次后,不同卷积核深度与批处理量的训练结果.

表2 卷积核深度分别为32、64和128的不同批处理量的训练结果

从表2分析可知:对于相同批处理量,随着卷积深度由32到64到128不断加深,识别准确率也在增加,如批处理量为32时,随着卷积深度的增加,最高准确率由95.60%升至98.99%,增加了3.39%. 损失函数由0.130 2收敛至0.038 8,平均准确率增加了5.45%. 训练所耗时间由250 s略增至281 s. 故将网络结构中最后一层卷积深度确定为128. 当批处理量分别为32、64、128时,网络的最高识别精度达到了98.99%、99.29%、99.64%,但训练所耗时长由原先的281 s变为它的2.1倍、3.6倍.

综合考虑,选用最后一层卷积深度为128,批大小为32的网络结构,最终确定了改进型VGG网络结构. 它与传统VGG结构不同在于,在第三次特征提取中,批处理量不变,而将卷积层中卷积核的深度大小为前者的两倍. 表3为两种VGG结构的差异.

表3 两种VGG结构的差异

2.3.2改进型VGG模型构建

在改进型VGG网络结构中,整个结构的卷积层及池化层层数不变,在第五层卷积层中调整卷积核个数,在该层将卷积核深度由64增至128,提取更深层次的图像特征.

第五层输入裂缝图像大小为32 px×36 px×36 px,此时卷积核深度由64转变为128,输入特征图需经过128个3×3的卷积核过滤,步长为1,采用非全0填充,得到128个34×34的输出. 本层的参数个数为3×3×32×128+128=36 992. 第六层为池化层,采用步长为2,全0填充的最大池化操作,输出大小为128 px×17 px×17 px. 最后一层为全连接层,在该层采用参数设置为0.5的Dropout技术. 输出层选用Softmax分类器,得到5种分类结果.

3 试验结果对比分析

3.1 病害识别效果分析

表4为基于支持向量机与VGG网络结构、改进型VGG网络结构的试验结果对比. 由表4可见,相比于SVM,VGG对横向裂缝、纵向裂缝的识别精度提升了22.81%、22.50%,对龟裂、松散、坑槽的识别精度也提高了22.93%、21.61%、47.08%. 通过对比试验在网络结构作出改进的方法是可行有效的. 改进型VGG网络结构对5种病害的识别精度均优于改进前,它具有更强的泛化能力,也表明利用卷积核深度的特点,能扫描获取更为全面的局部信息,达到更好识别路面病害特征的目的.

表4 SVM、VGG和改进型VGG的路面病害识别精度对比

图1为VGG与改进型VGG迭代100、1 000次的准确率与损失率变化曲线图.

图1 模型迭代100次和1 000次的准确率与损失率Fig.1 Accuracy and loss function of the model for 100 and 1 000 iterations

对于VGG, 在前100次迭代过程波动明显,之后对病害识别的准确率缓慢提升; 而在迭代100次之后,准确率达到73.96%; 随着迭代次数的增加,其识别效果显著增强,损失率急剧收敛; 识别准确率在迭代次数达到600后逐渐趋于平稳,最终达到97.63%. 对于改进型VGG,迭代10次之后,损失函数便快速收敛而对图片识别的准确率也在平稳上升; 在前100次迭代过程中,即使系统采用每30个样本作一次迭代,样本个体的差异性较大,改进型网络也能较好的识别病害类型; 在迭代100次之后,随着迭代次数的增加,对样本信息的获取越来越全面,改进后的网络泛化性能突显,其识别效果显著增强; 在迭代1 000次完成后,识别精度达到98.99%. 同时,损失率急剧收敛,最终收敛至0.03左右. 对比两结构可知:在迭代30次之前,由于样本差异较大,两种结构的识别效果区分不大,而在迭代100次之后,两者的效果逐渐分明. 如图1(b),在经过200次迭代之后,随着网络对个体信息的获取越全面,改进后的网络识别精度明显优于未改进的,损失函数更为收敛,经过1 000次迭代后,改进后的结构对5种路面病害的识别准确率, 较未改进的97.63%提升了1.36%的精度,损失率也由原先的6.91%收敛至3.88%,模型每步用时为278 ms,相比于未改进的每步用时258 ms略有增加.

3.2 模型评估分析分析

绝大多数机器学习模型的典型指标为精确度(precision,记作P)和召回率(recall,记作R). 精确度又称查准率,召回率又称查全率,F1值(P和R的加权调和平均值)可均衡两个指标,具体计算形式为:

(6)

图2 3种模型评估试验结果Fig.2 Evaluate experimental results of the three models

图2为SVM、VGG和改进型VGG3种模型评估试验结果. 由图2可见,VGG模型在路面破损识别工作中的识别效果比SVM模型更优. 在同等试验环境、同等数据、同比例的前提下,VGG模型的精确度、召回率、F1值都远优于SVM模型,表明VGG深度学习算法明显优于传统机器学习算法,其泛化能力更强,具有较好的鲁棒性. 同时在VGG模型中增加相应的卷积深度后,可获得更为全面的局部特征信息,提高模型在识别分类下的精确度、召回率、F1值,说明改进型VGG模型在路面识别中存在一定优势. 对道路路面破损进行检测时可获得更为精确的结果,能够为路面维护工作提供更准确的数据支撑.

4 结语

卷积神经网络可以直接将拍摄获取的沥青路面病害样本数据集作为输入而不需要进行复杂的预处理. 由于其小卷积、小池化的特点,对路面病害检测效果明显优于基于支持向量机等传统机器学习算法. VGG对5种病害识别准确率为97.63%,对复杂病害龟裂和坑槽识别准确率分别达到95.33%,97.08%. 利用卷积核深度特点进行改进的VGG网络结构,对路面病害判别的准确率相比改进前提高了1.36%,其识别效果更佳,泛化能力更强,但模型用时略有增加. 可见,VGG网络具有较好的病害识别效果,同时也提升了路面检测可行性.

如何快速、实时地检测出裂缝的特征信息及位置,是今后研究的方向. 本文对几种病害做了识别研究,然而沥青路面破损类型多样,其破损的严重程度不一,如龟裂就分为轻度、中度、高度. 在今后的研究中可以往同一种裂缝类型,根据其破损的裂缝宽度、深度及尺寸大小来识别其严重等级,以期为路面养护工作提供更为全面、精确、有效的数据支撑.

猜你喜欢
改进型网络结构准确率
Cr5改进型支承辊探伤无底波原因分析
改进型自抗扰四旋翼无人机控制系统设计与实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
快递网络结构研究进展
基于AutoML的保护区物种识别①
一种基于单片机的改进型通信开关电源电路设计
俄罗斯赛加MK—107半自动步枪改进型