基于改进YOLO算法的混凝土表观病害识别方法

2021-12-24 11:13王丹妮
公路工程 2021年5期
关键词:表观病害分类

杨 魁, 王丹妮, 唐 双, 李 岩, 刘 纲

(1.国网重庆市电力公司建设分公司,重庆 617000; 2.重庆大学 土木工程学院, 重庆 400045)

0 引言

桥梁是保障国家经济建设的重要基础设施,其服役质量直接关系到国民经济发展和人民生命财产安全[1]。在我国,混凝土桥梁应用最为广泛[2],但由于施工缺陷、材料老化以及长期交变荷载、突发事件过载等作用,混凝土极易出现蜂窝、露筋、裂缝、剥落等各类表观病害[3],对桥梁结构的耐久性造成较大影响,并可能危及结构的安全性[4-5]。因此,如何及时和快速发现这些病害对提高桥梁全寿命周期安全至关重要。

多年来,混凝土表观病害常采用人工进行检测,工作量大、效率低,难以满足高墩、大跨等桥梁结构表观病害全面检测的需求。同时,检测过程中往往存在一定的安全风险,例如2018年南宁三岸大桥因检测车故障导致3名检测人员罹难。近10 a来,随着无人机及摄影技术的快速发展,采用无人机拍摄图片逐渐成为表观病害检测的新手段[6]。但海量图片若采用人工进行识别,便无法解决效率低下的问题,故通过机器视觉从图片中自动识别表观病害已成为当前研究热点。目前,采用主成分分析、支持向量机和贝叶斯分类器等机器学习方法实现混凝土裂缝的自动识别技术已较为成熟;且随着深度学习的快速发展,国内外学者针对基于卷积神经网络的混凝土裂缝自动识别方法进行了大量研究,取得了丰硕的研究成果,裂缝识别的相对误差已可控制在10%以内[7]。但混凝土表观病害类型较多,不同病害类型需采用不同的识别方法,故如何实现各种病害类型的自动分类仍亟待研究。

You Only Look Once(YOLO)系列算法采用直接回归方法获取检测目标的类别,是目前速度最快的基于深度学习的目标分类算法之一[8],被广泛应用于车辆、行人和手势识别等多个领域[9-10],能满足混凝土表观病害类型分类识别的需求。但该方法需大量训练样本才能获得较高的分类精度,这在工程上较难满足,特别在早期缺乏病害样本时。因此,本文将最新的YOLOv3方法引入混凝土表观病害分类中,并从两个方面进行改进,一是融合仿射变换数据增强和迁移学习技术,分别从增加学习样本的多样性以及引入深度网络预训练模型降低对训练样本的要求,二是采用拉普拉斯图像锐化技术对图像进行预处理,提升病害的对比度以提升病害分类精度,从而建立基于深度学习的混凝土表观病害自动分类方法(Concrete Surface Defects Identification)CSDI-YOLO,为通过数字图像实现混凝土表观病害的自动识别、分类提供技术支撑。

1 YOLOv3算法原理

YOLOv3算法主要用于目标识别及分类,其基础网络架构是卷积神经网络,通过特征提取网络对输入图像采用回归思想直接提取特征,该算法的基本思路如图1所示。首先将图片分成S×S个大小相同的网格,每个单元格负责预测中心落在该格内的目标,如图1(a)中黑色小圆点所示。每个单元格将预测3个边界框及各边界框对应的置信度c,其计算公式为:

(1)

同时,每个网格还会预测针对C个条件类别的概率,即在网格中含有物体的条件下,该物体属于某一类别的概率,如图1(c)所示。在进行分类识别时,将条件概率与置信度相乘,得到每个边界框在各个类别的综合得分值,从而得到该类别物体出现在框中的概率以及边界框与物体的吻合程度,以此达到分类识别的目标,最终识别结果如图1(d)所示。

图1 YOLOv3识别及分类原理Figure 1 YOLOv3 identification and classification principle

在网络结构上,YOLOv3深度学习网络主要由Darknet-53特征提取网络、多尺度融合特征网络组成,如图2所示。图中y1,y2,y3分别表示算法在3个不同尺度的特征图输出。

图2 YOLOv3网络结构[12]Figure 2 YOLOv3 network structure[12]

Darknet-53特征提取网络借鉴了特征金字塔[11]网络思路,由53个卷积层构成,并分别在原图片分辨率的1/32、1/16、1/8尺度上提取特征。例如对分辨率为416×416像素的输入图片,分别在13×13、26×26、52×52尺度上提取图片的特征。因YOLOv3设定每个网格可预测3个边界框,每个边界框有5个基本属性值,同时可预测80个类别概率,所以3个尺度上的预测深度均为3×(5+80)。

在网络训练阶段,需在作为训练样本的图片中用长方形框人工标记出病害位置、类型;其次,将图片输入YOLOv3网络,在Darknet-53特征提取网络中经过一系列深度卷积过程,其像素数量逐渐减小,并在3个尺度上得到预测框,当人工标记框与预测边界框的交并比超过一定阈值,则计算该预测边界框与标记框之间的误差,包括两框之间的坐标误差、置信度误差和类别误差;然后,将误差反向传播回特征提取网络,从而自适应调整网络中各个卷积核的参数,训练足够的次数后,误差减小到预设的阈值后,深度网络的训练完成。

在病害识别和分类阶段,将图片输入训练完成的网络中进行特征提取,每张图像可分别得到3种尺度的特征图;其次,根据特征图预测出目标的位置和类别,得到3种结果;然后,对所得3种结果进行回归,得到准确的预测信息,完成目标的识别和分类。

从YOLOv3的识别过程可知,其在3个层级的特征图上进行目标检测,同时利用低层和高层特征的语义信息,使得提取的特征更加丰富,这非常适合混凝土表观病害的识别和分类,因混凝土表观病害在图片中的尺寸通常较小,其面积往往仅占图片总面积的5%~30%左右,需从不同的尺度上才能提取较精确的特征。

YOLOv3算法的主要目标是识别目标并分类,故可采用R指标评价其识别和分类效果:

(2)

2 YOLOv3算法的改进

本节通过在YOLOv3算法的基础上融入迁移学习策略、仿射变换数据增强以及拉普拉斯图像锐化增强技术,提出适合小样本学习的混凝土表观病害类型分类方法CSDI-YOLO方法。

2.1 迁移学习策略

迁移学习是指根据目标图像集的特征,选取类似图像集对深度网络进行学习,取得预训练网络模型;然后再采用目标图像集的少量训练样本,通过对预训练模型的再次训练,即可快速得到适合目标图像集的深度网络模型,从而达到举一反三的效果,故迁移学习可大幅降低对目标图像集训练样本数量的要求。

从迁移学习的原理可知,采用迁移学习所得网络模型的精度取决于类似图像集与目标图像集的相似度,若两者的相似度较低,所得深度网络模型的精度将会受到较大影响。而针对混凝土表观病害而言,较难找到与其非常类似的相关图像集,故本文采用类似图像集训练YOLOv3深度网络得到预训练网络模型后,保留所得Darknet-53特征提取网络的模型及参数,即图2中的虚线框部分;然后将预训练模型顶层网络的参数移除(即将参数设置为0),再用表观病害训练集重新训练整个深度网络,获得新的网络权重,以生成一个适用于表观病害识别、分类的深度网络模型,从而在保留网络计算精度的前提下减少所需训练样本。

2.2 仿射变换数据增强

仿射变换通过将图片在平面上进行移动、旋转、镜像等操作,产生新的图片从而增加训练样本,是一种几何空间变换形式的数据增强方法。设原始图片中位置为(x,y)的像素点经过仿射变换后对应的坐标为(x′,y′),则仿射变换的运算形式为:

(3)

其中,M为变换矩阵。M矩阵取不同的参数值可实现平移、缩放、旋转、镜像翻转、偏移等操作,例如旋转的M矩阵为:

(4)

其中,θ为顺时针旋转角度。

2.3 拉普拉斯图像锐化增强

无人机在拍摄图片时,往往无法控制光线、振动等外界因素的影响,会对图片中表观病害的显示造成影响,导致病害的特征较难提取,故选用拉普拉斯图像锐化算法对图像进行锐化滤波以突出有用信息。该算法通过二阶微分提取边缘轮廓特征,较一阶微分定位边缘的能力更强,锐化效果更好[13]。拉普拉斯算子定义为:

f(x,y+1)+f(x,y-1)-4f(x,y)

(5)

其中,f(x,y)表示图片坐标(x,y)处图像灰度的数值大小。某蜂窝图像进行拉普拉斯算子锐化增强后的效果如图3所示。从该图可知,锐化增强后蜂窝病害的边缘轮廓更加清晰,许多细小的蜂窝病害也更加清楚。

(a)原始图像

2.4 CSDI-YOLO算法流程

基于YOLOv3深度学习算法原理,采用拉普拉斯图像锐化增强提升原始图片的特征信息,利用迁移学习及仿射变换数据增强降低深度网络训练阶段对训练样本数量的要求,从而构建了CSDI-YOLO方法进行混凝土表观病害的识别和分类,其具体步骤如下:

a.建立混凝土表观病害图片数据集。采集混凝土表观病害图像,并采用LabelImg工具通过手工标记各类病害在图片中的位置和类型。

b.图像预处理。使用拉普拉斯锐化算法将病害图像进行锐化增强,然后将所得图像进行顺时针90°、180°和270°旋转进行仿射变换数据增强,以提升病害特征及增加数据集的数量。

c.YOLOv3深度网络预训练。选用已有图像集对YOLOv3网络进行训练,建立预训练网络模型。

d.新YOLO网络模型训练。按2.1节内容移除预训练模型顶层网络的参数,然后从数据集中选取表观病害训练集,再次对新深度网络进行训练,直至达到最大迭代次数,得到新的YOLO网络模型。

e.表观病害识别和分类。对新获得的图片进行拉普拉斯锐化增强,然后采用新YOLO网络模型识别病害位置和类别。

3 混凝土表观病害识别算例

3.1 混凝土表观病害检测结果

搜集混凝土表观病害图片1 304张,选取1154张作为训练集,150张作为测试集,根据我国现行《公路桥梁技术状况评定标准》和《公路桥涵养护规范》标准将病害分为裂缝、剥落、露筋、渗水、蜂窝、麻面、空洞共7种类型,采用LabelImg工具人工标注每张图片中的病害类型、病害部位,如图4所示。为验证所提方法的适用性,训练集、测试集中包含的各类病害标记框数量如表1所示。实验硬件配置的CPU为Intel ® CoreTMi7-6900K,GPU为NVIDIA GeForce GTX 1080,显存为8GB GDDR5X,内存为96 G。

图4 数据集中的病害标记

表1 各类病害标记框数量Table 1 Details of defect datasets病害类型训练集测试集标记框合计裂缝1 1881161 214剥落1 0571631 220蜂窝1 1541601 314麻面1 0401001 140空洞956651 021露筋963691 032渗水1 0611101 171

在YOLO网络模型中,设置权重衰减系数为0.000 5,初始学习率为0.001,采用多分布策略,冲量常数取0.9。为防止过度拟合并提高训练速度,设置每次迭代训练的图像数量为64,最大迭代次数为20 000;在迭代次数分别为15 000、17000时将学习率依次衰减为原来的0.1;设置分类类别classes为7,故本文中深度网络模型3个尺度上的预测深度为3×(5+7)。

预训练的图像集采用华盛顿大学的ImageNet图像集,该图像集包括超过1 400万张图片,共分为21 841个类别。

采用2.4节的流程得到新YOLO深度网络模型,然后采用测试集验证所提方法识别、分类混凝土表观病害的效果,如表2所示。7类病害的识别示例如图5所示。

表2 所提算法的识别结果Table 2 Detection results of the proposed algorithm 序号目标类别标记框数量预测框数量R值1裂缝116940.812剥落1631520.933蜂窝1601520.954麻面100930.935空洞69660.966露筋1101060.967渗水65600.92合计 7837230.92

图5 7类病害检测结果示例Figure 5 Detection results examples of 7 types of defects

从表2可知,除裂缝的识别精度为81%外,其余各类病害的识别精度均高于92%,7类病害总体的识别精度为92%。裂缝识别效果相对较低的原因主要在于图像数据在输入到网络中进行特征提取时,3 000×3 000像素的原图像需压缩到416×416像素,而训练集中绝大部分裂缝的宽度小于100像素,裂缝在经过图像压缩后,其主要特征信息损失较大,导致识别精度所有降低。

3.2 不同方法识别结果对比

在图像识别和分类领域,另外常用的两个深度网络分别为Faster Region-based Convolutional Network(Faster R-CNN)算法[14]和Single Shot MultiBox Detector(SSD)算法[15],故针对混凝土表观病害识别和分类问题,采用相同的训练集、测试集以及计算环境,将这2种方法与本文方法进行对比,对测试集150张图片的识别结果如表3所示。

表3 3种算法的病害识别结果对比Table 3 Comparison of defects detection using three differ-ent algorithms算法名称识别结果R值计算时间/sFaster R-CNN0.93113SSD0.8767CSDS-YOLO0.9224

从表3可看出,SSD算法的识别精度低于Faster R-CNN和CSDI-YOLO算法,且SSD算法的计算时间是CSDI-YOLO算法的2倍以上;虽Faster R-CNN的识别精度比本文的CSDI-YOLO算法的精度高1%,但其计算耗时却是本文方法的5倍左右。因此,综合识别精度和计算时间,本文所提CSDI-YOLO方法能较好适用于混凝土表观病害的识别。

4 结语

基于能快速识别、分类的YOLOv3深度学习网络算法,结合迁移学习策略提取图像特征以减少对训练样本数量的要求,借助仿射变换数据增加技术扩充训练样本集的多样性,并采用拉普拉斯图像锐化增强图片中病害的轮廓特征,提出了CSDI-YOLO算法。采用所搜集的混凝土表观病害图片1 304张作为数据集,对数据集中包含的7类混凝土常见表观病害进行识别和分类,计算结果表明:

a.采用CSDI-YOLO算法的总体识别精度可达92%。裂缝识别精度相对较低的原因在于特征提取时,算法将对图片进行压缩,而细长的裂缝在图像压缩时将丢失部分特征。

b.通过与Faster R-CNN及SSD两种算法对比,表明CSDI-YOLO算法在保证较高识别和分类精度的同时,计算速度远远优于Faster R-CNN及SSD算法,可为无人机采集的混凝土表观病害的快速识别提供技术支撑。

猜你喜欢
表观病害分类
早春养羊需防六大病害
绿盲蝽为害与赤霞珠葡萄防御互作中的表观响应
小麦常见三种病害咋防治
葡萄病害周年防治历
分类算一算
果树休眠期咋防病害
钢结构表观裂纹监测技术对比与展望
例析对高中表观遗传学的认识
分类讨论求坐标
数据分析中的分类讨论