基于深度学习的钢桥桥面铺装病害识别与量化方法*
2024-03-07温勇兵
温勇兵
(中国铁建投资集团有限公司, 广东 珠海 519000)
由于钢桥结构和钢材导热性的影响,钢桥桥面铺装受温度的影响比普通沥青路面更明显。钢桥桥面因存在加劲肋的支撑,桥面板的大规模焊接,在纵隔板、纵向加劲肋、横肋(或横隔板)处易出现应力集中[1-3],钢桥桥面铺装受力情况复杂。另外,大跨径钢桥一般横跨江河、海峡和山谷,经常受强风甚至台风的影响及其他因素产生的振动作用。受交通荷载、温度变化、风载、地震等的影响,钢桥桥面铺装的应力和变形复杂,很容易出现病害[4-5]。因此,必须对钢桥桥面铺装的使用质量和状况进行评估。
鉴于传统的人工检测桥面铺装病害的方法效率低下且容易出错[6-8],研究人员提出了许多基于图像处理和机器学习的方法来检测桥面铺装病害。Snavely N.在编码器和解码器网络中融合卷积特征,基于SegNet架构建立Deep Crack系统,用于裂纹检测[9]。Jahanshahi M. R.等采用深度卷积神经网络技术(DCNN),提出了像素级裂缝检测架构Crack U-net[10]。Guan H. Y. 等通过扫描获得桥面铺装病害图像,并利用形态学算法对病害图像进行处理,得到了描述真实病害特征的关键参数[11]。李姗采用YOLOv5进行道路铺装病害检测,取得了良好的分类效果[12]。余俊等基于数码摄像机获取的路面病害图片,提出一种对路面病害进行识别、处理和分类的智能检测方法,该方法包括异常检测、异常提取和病害分类三部分,在提升识别效率的同时提高了识别精度[13]。
在各类桥面铺装病害(裂缝、坑洞、车辙、剥落等)中,坑洞和裂缝是典型的桥面铺装病害,严重影响桥面铺装的平整度和行车舒适度。其中坑洞因视觉的独特性,机器学习方法可以基于二维图像快速进行检测,但二维图像只能对病害进行检测和分类,不能对坑洞的体积损伤进行量化[9,14]。因此,一些学者采用从运动中获取结构的方法,用三维深度图像识别沥青桥面铺装的状况。由RGB-D传感器和深度传感器组成的传感器系统也被用来提取三维点云,以检测和量化桥面铺装的坑洞[10,15]。
但这些用于识别和量化已知病害的方法都是人工或半自动的。尽管数据收集过程可以使用能够检测数据的系统来进行,但病害评估仍然由受过培训的评估人员手动或通过计算机完成。由于识别和分类过程的主观性,不同的评估人员可能对缺陷有不同的解释,这些方法都不能独立地识别某些病害的关键特征[16-17]。为此,本文提出一种钢桥桥面铺装病害智能识别、分类和量化方法,基于微软Kinect V2相机,对二维图像进行缺陷识别、缺陷提取和病害分类训练,通过深度传感器,采用YOLOv5算法识别桥面铺装典型病害,然后对识别的病害进行分类和量化。
1 病害采集与分析方法
1.1 分析与算法框架
根据桥面铺装的典型病害特征,利用传感器自动获取图像,并基于深度学习方法通过训练、建模、处理等识别、分类、量化桥面铺装典型病害。该方法基于深度摄像头Kinect V2自动检测和识别桥面铺装典型病害,过程如下:1) 图像采集;2) 基于深度传感器(包括红外相机和红外投影仪)的深度信息获取;3) 基于彩色图像的缺陷检测和识别,基于ResNet-34网络的病害分类;4) 基于深度点云数据,使用YOLOv5进行病害分割和量化(见图1)。缺陷识别和提取通过小图像裁剪块的异常检测,灵活控制检测误差容限,节省计算成本[18]。
图1 分析与算法框架流程
1.2 桥面铺装典型病害数据获取
采用微软Kinect V2拍摄桥面铺装典型病害图像,包含以不同角度、光线和距离拍摄的图像,获得一定规模的数据来充实训练数据集,提高模型的泛化能力。将这些图像裁剪成300×300像素的小块,图2为几种典型桥面铺装病害的图像裁剪块。
图2 桥面铺装典型病害裁剪图块
图3为桥面铺装病害识别方法,主要包括缺陷检测、缺陷提取、桥面铺装病害分类。先通过摄像设备获得缺陷图像,然后根据缺陷图像识别缺陷区域,并自动提取各类桥面铺装病害,最后对提取的病害进行分类。
缺陷检测通过卷积来进行训练。卷积自动编码器本质上是一个由编码器模块和解码器模块组成的结构。在检测到缺陷后,根据缺陷分数对区块中的桥面铺装病害进行分割和提取。根据缺陷分数计算多个阈值,实现对桥面铺装病害的缺陷识别。对所有像素的缺陷分数进行排序,然后计算所需百分位数对应的缺陷分数。
图3 桥面铺装病害识别方法
通过缺陷分数与阈值的比较来识别桥面铺装病害,并对其进行分类。方法如下:1) 按式(1)计算百分位数PG的异常得分APG,如果APG大于默认TG值,则更新TG值。2) 根据所有像素的异常分数按式(2)确定TL,将TL与TG进行比较,若TL>αTG,则阈值T=TL;若TL<αTG,则T=TG。3) 根据T值将病害图像划分成若干个图像区块,如果区块中像素的缺陷分数大于T,则提取相应的区块识别桥面铺装病害并进行分类。
(1)
式中:ni为图像i的总像素;N为图像总数。
(2)
式中:PL为为计算TL选定的百分比;n为病害图像的总像素。
2 病害识别与分类方法
基于深度学习的钢桥桥面铺装病害智能识别与量化方法可以测量和拟合一个不受传感器和目标之间距离限制的平面,该方法依赖传感器的输出,不需要任何人工测量。首先,采用RGB-D传感器进行数据点云采集。RGB-D传感器是基于RGB-D数据的三维重建技术开发的传感器。微软Kinect V2是一个深度相机,其RGB图像数据的分辨率为1 920×1 080像素,而点云数据的分辨率为512×424像素。最小和最大的深度值为0.5~4.5 m,深度值即每个点到深度相机所在垂直平面的距离。在RGB-D传感器中,通过TOF(Time of flight)值计算每个点的深度,从而得到每个像素的三维坐标。微软Kinect V2与MATLAB有接口,可通过MATLAB编程获得深度数据。
然后采用YOLOv5定位桥面铺装的坑洞病害,通过RGB-D传感器获得图像来识别坑洞病害。YOLOv5由主干网络(Backbone)、特征网络层(Neck)、输出和预测(Head)组成(见图4)。为了量化坑洞体积,采用随机采样一致性算法(RANSAC)拟合得到桥面铺装的参考平面。
图4 YOLOv5的对象检测架构
2.1 YOLOv5框架
YOLOv5框架主要由主干网、颈部网和识别网组成。主干网是一种卷积神经网络,它将不同细粒度图像聚合形成图像特征;颈部网由一定数量的混合特征和组合图像特征组成,由其生成特征金字塔网络(FPN),通过识别网络生成输出图像特征;识别网主要用于模型的最终识别与检测,锚框作用于前一层的特征映射和输出信息向量,包括对象的置信度和对象边界坐标的最大值和最小值,通过预测锚框对原始图像中的病害进行标识,完成病害识别。
通过深度图像训练对YOLOv5模型进行训练。以坑洞病害识别为例,基于采集的坑洞数据,通过构建深度点云数据集进行量化。数据集包含749张由Kinect V2拍摄的RGB图像,在不同的光照条件下,调整拍摄距离(50~300 cm)拍摄桥面铺装病害图像,用于数据扩展。将获得的图像分解为1 107幅853×1 440像素的图像,并对图像中的坑洞形态进行识别,形成一个带标识的坑洞图像数据集(见图5)。
图5 带标识的坑洞图像数据集
将坑洞图像的训练、验证和测试数据集按照8∶1∶1的比例分开,并通过水平和垂直翻转及曝光度调整,对训练集和验证集进行扩展。考虑到小数据集的限制,使用转移学习对YOLOv5进行预训练,提高训练效率。原始学习率设置为0.005,指数学习率衰减为0.9,动量参数设置为0.9,进行800次训练,批量大小为32个原始数据,特征图大小为75×75像素。
2.2 坑洞识别结果分析
坑洞识别结果见图6。对于不同距离的分析模型,像素点体积均由3组数值表征,取其平均值进行计算。基于深度学习的桥面铺装病害智能识别与量化方法能高效地识别坑洞,对坑洞进行分割和量化,且不受坑洞大小、深度和传感器距离的影响。从图6可以看出:YOLOv5捕捉到了桥面铺装上的坑洞,并通过边界框进行了标识,可以对其进行分割。如果路面坐标确定,便可以提取所识别到的坑洞数据。
图6 坑洞识别结果
如图7所示,在角度不变的情况下,摄像头与待识别坑洞间的距离对坑洞深度的识别精度有一定影响。智能识别的坑洞深度普遍小于人工实测的坑洞深度,这与测试设备对坑洞不同深度的识别精度有关。智能识别精度随着摄像头与坑洞距离的增大先增大后减小,1.8 m左右时识别精度最佳;识别误差随着识别距离的增加先减小后增大,平均误差在4%左右,满足识别要求。
图7 坑洞深度识别结果与误差
3 模型训练与实现
3.1 病害分类处理
采用卷积神经网络(CNN)分类器对病害进行分类处理。CNN使用深度前馈神经网络分析多维数据,卷积滤波器的精度取决于实现该滤波器所用训练数和过滤器的大小,处理过程见图8。经过卷积层后,输出大小为256×10×10像素的特征图,卷积核大小为1×1。然后在并行最大池化层的作用下对特征图进行二次采样,输出大小为1 024×40×40像素的特征图。最后在具有512卷积核的卷积层的作用下,生成大小为512×20×20像素的输出图像。
图8 卷积神经网络对病害的分类处理
为了创建不同尺寸的图像块进行数据扩展以增强模型学习的特征,在原始训练数据集中采用非重叠滑动窗口将图像分解为不同比例的小方块,将所有的块重新缩放为300×300像素,每个像素都在 [-1, 1]区间进行归一化处理,然后将区块用于训练与学习。采用均方误差作为损失函数,利用Adam优化器,以最小化损失值。初始学习率设置为0.01,指数学习率衰减为0.9,动量参数设置为0.9,进行300次训练,批量大小为32个原始数据。
训练后进行模型验证,在验证集上具有最小损失值的模型为最终模型。在测试阶段,采用滑动窗口将测试图像裁剪成不同大小的块,对裁剪后的块进行缩放和归一化,生成病害图像,然后进行拼接集合,生成整个病害图像。测试过程仅需要很短的时间,即可输出高分辨率和高识别度的病害图像。桥面铺装典型病害分类结果见图9。
图9 桥面铺装典型病害分类结果
3.2 病害识别效果评价
损失值作为深度学习模型在训练过程中的一个指标,可以用于评估模型预测结果与真实值之间的误差。图10为交叉验证过程中损失值和精确度随迭代次数的变化。由图10可知:随着迭代次数的增加,病害识别的损伤值逐渐减小、精确度逐渐增大,并趋于稳定;在迭代的初始阶段,验证集的损失值低于训练集的损失值,这是因为验证集没有经过亮度和对比度预处理,此外在进行模型评估时禁用了Dropout层;经过约30次迭代后,训练集损失值逐渐大于验证集损失值。
表1为桥面铺装几种典型病害的识别精度。由表1可知:裂缝、网裂、松散剥落的分类精度较好,识别精度在94%左右;车辙、坑洞和正常桥面(无明显病害)的识别精度较低,识别精度在92%左右。车辙、坑洞识别精度较低的原因是桥面铺装结构中这些病害的发生频率较低、长度较短、面积较小、严重程度较轻,所以数据较少,个别的轻微病害和已修补的病害也对识别精度有一定影响;正常桥面识别精度较低的原因是获取的正常桥面图像较复杂,会受桥面铺装上杂物、与病害相似特征的正常路面(或程度很轻的病害)、路面表面纹理特征及识别角度、距离和阴影等因素的影响。
图10 病害识别损失值和精确度随迭代次数的变化
表1 桥面铺装病害的识别精度
利用上述桥面铺装病害智能识别方法对某钢桥桥面铺装结构进行识别与评估,以验证该方法的适用性和准确性。作为对比,采用传统的人工识别方法进行病害识别,并通过计算机处理获得桥面铺装典型病害(见图11)。
以桥面铺装最主要的裂缝和坑洞病害为例,人工识别和智能识别结果对比见表2。人工识别中裂缝和坑洞同时进行,消耗的时间分别按照裂缝和坑洞的比例计算。智能识别方法所消耗时间包括采集数据处理、模型训练和测试时间。从表2可以看出:智能识别的精确度低于人工识别方法,其中裂缝识别精度低5.0%,坑洞识别精度低7.4%。究其原因,一是智能识别会受到病害原图片清晰度、病害边缘识别误差的影响,二是识别数据本身会受到摄像设备性能、光照、角度和距离的影响,三是算法本身的精度在某种程度上受到限制。智能识别方法的耗时比人工识别方法少,其识别效率显著高于人工识别方法,提升60%以上。与人工识别方法相比,智能识别方法能在不影响交通的条件下完成桥面铺装病害识别和量化,计算效率更高,可大大节省人工和时间成本,并获得较高的识别精度。
图11 桥面铺装人工病害识别结果
4 结论
本文基于深度学习提出一种钢桥桥面铺装典型病害识别与量化方法。先将采用微软Kinect V2相机拍摄的钢桥桥面铺装典型病害图像通过裁剪转化为300×300像素的区块作为训练集,再对RGB图像进行缺陷识别、缺陷提取和分类训练;构建一个卷积编码器,从桥面铺装图像中识别病害,使用阈值分割法获得包含桥面铺装病害特征的图像;对模型进行训练,根据病害特征对所识别的桥面铺装病害进行分类与量化。采用YOLOv5创建、训练、验证和测试一个标记了桥面铺装病害的数据库,识别病害并对其进行体积量化。验证结果表明,本文方法具有较高的识别精度和识别效率,病害识别精度在90%以上。基于深度学习,利用随机采样一致性实现RGB-D传感器在不同工作距离上的平面拟合,桥面铺装病害的识别误差在10%以内。智能识别方法的识别精度略逊于人工识别方法,但智能识别方法的识别效率显著高于人工识别方法,提升60%以上,且智能识别方法能在不影响交通的情况下完成桥面铺装病害识别和量化,计算效率高,可大大节省人工和时间成本。在未来,RGB-D传感器可以安装在无人驾驶车上,用于危险或大交通量道路的病害识别。