基于改进BiSeNetV2的裂缝检测与识别

发布时间:2023-08-25 20:18:01 来源:网友投稿

马俊祺, 陶星珍, 彭霖, 谢宇飞

(江西应用技术职业学院信息工程学院,江西 赣州 341000)

当固体材料出现裂缝时,空气等通过裂缝进入结构内部,会对结构内部的钢筋与混凝土之间的粘结和黏合作用造成不可逆的影响,从而使固体结构的整体性受到影响,降低固体结构承载能力和结构刚度,影响固体结构的整体耐久性,降低固体材料使用寿命[1-3]。因此,及时地对裂缝进行识别和检测,在保障工程安全方面,具有较好的指导意义[4-6]。

目前对裂缝进行检测和识别的方法主要有人工检测方法、基于深度学习的裂缝自动分类和识别、图像分割算法等[7-12]。其中,人工检测方法耗时,且极易受人为主观因素的影响;
基于深度学习的裂缝自动分类和识别虽然取得了很大进展,但仍存在抗干扰能力差、模型参数大、检测效率低等问题,并且很难在检测精度和检测速度之间取得很好的效果[13-15];
而图像分割算法忽视了裂缝图像和自然图像存在的差别,即裂缝像素在图像中的占比远小于目标物体在自然图像中的占比,不能有效地处理复杂场景下的图像[16-17]。

本文采用的基于轻量化网络模型的设计与应用是近些年比较流行的一个研究方向,较多的研究人员希望在参数量、时间复杂度和精度之间寻找一种平衡,期望通过较低的时间复杂度和参数量,训练获得精度和效果较高的模型。然而,近年来,在实时语义分割领域对图像进行语义分割操作时,通常需要对输入的图片数据进行逐像素的分类,时间复杂度很高。基于此,为了减少在进行语义分割时的运算量,会选择2种方式:降低模型复杂度与减低图片大小。然而,降低模型复杂度会导致特征识别和提取能力降低,继而使语义分割精度受到影响;
选择减小图片大小可以较为直观地降低时间复杂度,但是图像会损失许多的特征从而对精度造成影响。综上所述,在应用轻量级模型进行语义分割时,如何兼顾检测精度和实时性进而提高模型的性能,具有较大的可研究性。为此,本文使用BiSeNetV1模型、BiSeNetV2模型对裂缝进行检测和标签,通过评估BiSeNetV1模型和BiSeNetV2模型的整体性能,选择合适的模型对裂缝进行检测和识别。其中,BiSeNetV2是一个比较新颖的模型,该模型提出了一个有效且实用的架构方法,具体表现为通过对分类语义和空间细节进行较好的单独处理,以实现实时语义分割模型的高精度检测和高效率识别,做到在检测裂缝方面的速度和精度之间的相对平衡。

BiseNetV2即双边分割网络(BiSeNetV2),作为BiSeNetv1的升级版,BiseNetV2增加了一个实用和有效的架构,该架构能够在检测速度与检测精度之间做出权衡和调节[18],有效地解决平衡问题。该体系结构包括2个分支,第一个为细节分支,包含浅层、宽通道,主要作用为产生高分辨率的特征信息并提取低层的细节;
另一个为语义分支,特征是层次比较深,通道比较窄,主要的作用为捕捉高层次和高级别的语境以及语义。同时,由于有效地减少了采样的策略以及各通道相应的容量,所以该语义分支是应用于轻量级的[19-20]。

此外,BiseNetV2还包括了一个可以用于增强型训练和用于引导聚合层实时分割的策略[21]。首先是增强型的训练策略,该策略可以在不增加任何推演代价的条件下提高模型实时语义分割的性能;
其次是引导聚合层,作用是可以有效且高效地增强融合和提高相互连接这两种目标检测方式中的特征提取和表示,其网络结构如图1所示。

图1 BiseNetV2模型Fig.1 BiSeNetV2 Model

其中,第一部分为紫色虚线框范围,该部分属于BiseNetV2模型的双通道主干;
第二部分为橙色虚线框范围,该部分为BiseNetV2模型的网络聚集层;
第三部分黄色虚线框范围,该部分作为BiseNetV2模型的助推部分[22]。

BiseNetV2双通道主干的第一部分为语义分支(图1中绿色的数据集)、第二部分为细节分支(图1中蓝色的数据集)[23]。不同的阶段支路分别有不同的通道,对应阶段的渠道语义分支可以是轻量级的因子λ(λ<1),该分支的最后一个阶段是嵌入上下文的输出,同时,特征映射大小与输入分辨率的比值即图1中立方体中的数字。此外,在网络聚合层部分,本文选取了双边聚合层作为模型的聚合层。在图1中的采样操作包含几个值,其中element-wise的输出为x,ϕ为Sigmoid函数,Up即upsampling操作。

2.1 数据集介绍

基于图像识别技术的智能识别模型训练过程依赖于数据集,然而数据标注是一项耗时耗力的工作,目前裂缝识别没有公开的统一数据集,为此为了验证文中模型性能,采用python爬虫技术从网上爬取裂缝图片,并将爬取的裂缝图片进行标注,制作成数据集(crack),作为BiseNetV2模型的训练输入数据和检测目标。该数据集包含5种常见的裂缝,分别为水泥混凝土块路面裂缝 (Crack in cement concrete block pavement)、沥青混凝土铺面道路裂缝(Asphalt concrete pavement road cracks)、岩 石 裂 缝(Rock cracks)、墙体裂缝(Wall crevice)、桥梁裂缝(Bridge crack)。本文的数据集图像的初始分辨率通过程序将其控制在400×400像素,其中训练集有450×5张图片,测试集包括50×5张裂缝图片,一共2 500张图片。

2.2 试验环境与配置

基于BiSeNetV2模型的裂缝检测和识别的硬件环境为:

1)处理器:Intel i7-7300H CPU@2.50 GHz;

2)计算机内存:8 GB;

3)显卡:GPU NVIDIA GeForce GTX1050。

软件环境为:

1)操作系统:windows10 64位;

2)开发语言:pytorch 1.7.1框架,python 3.7;

3)软件库文件:numpy 1.19.2,opencv 4.5.1,cuda 10.1,tensorboard 2.5.0。

2.3 BiSeNetV2模型参数设置

分别基于BiSeNetV1模型、BiSeNetV2模型训练裂缝检测和识别模型,采用SGD(Stochastic Gradient Descent),即随机梯度下降迭代方法,用于优化可微分目标函数,同时训练检测BiSeNetV2模型。权值衰减(weight_decay)的值设置为0.000 4,权值衰减的使用目的主要是防止模型出现过拟合,动量(Momentum)设置为0.91。学习率类型为多项式学习率 迭 代 策 略 (PolynomialDecay), 学 习 率(learning_rate)设置为0.01,检验功效(Power)为0.9。BiseNetV2有4个辅助变量(Loss)计算损失差值,加上主loss共5个,损失函数的类型为交叉熵损失函数(Cross Entropy Loss),系数(coef)为[1,1,1,1,1],其中1表示权重。

2.4 语义分割评价指标

语义分割中具有许多的评判标准来衡量算法的精度,这些标准通常是像素精度以及交并比IoU(Intersection over Union)的变幻,本文定义了几种用以评估语义分割的精度标准,为了便于解释,首先做出如下假设:

假设共有k+1个类,(从Lo到Lk,其中包含一个空类或背景),Pij表示本属于类i但被预测为类j的像素数量。即,Pii表示真正的数量,而Pij、Pii则分别被解释为假正和假负,尽管两者都是假正与假负之和。

定义的第一个指标为交并比IoU,这是一个重要的评估标准,交并比不仅在语义分割中使用,在目标检测等方向也是常用的指标之一。在本文应用为语义分割的标准度量,在该指标语义分割中一直被使用,较为权威。其原理是计算两个集合的交集和并集之比,这两个集合为真实值T(Ground truth)和预测值P(Predicted segmentation)。计算公式为:

这个比例可以变形为正真数(intersection)比上真正、假负、假正(并集)之和。在每个类上计算IoU,之后平均。所有类的平均之和即基于类进行计算的IoU就是将每一类的IoU计算之后累加,再进行平均,得到的就是基于全局的评价,所以我们求的IoU其实是取了均值的IoU,也就是均交并比(MeanIoU)。计算公式如下:

通过定义MIoU,以评价裂缝检测与识别的性能,并指定用于验证的交叉熵(Loss),计算公式如下:

其中,M示类别数;
yc是一个one-hot向量,元素只有0和1两种取值,如果该类别和样本的类别相同就取1,否则取0;
Pc表示预测样本属于C的概率。当类别数M等于2的时候,这个损失就是二元交叉熵Loss,在Pytorch中提供了一个单独的实现。

交叉熵Loss可以用在大多数语义分割场景中,但它有一个明显的缺点是对于只用分割前景和背景的时候,当前景像素的数量远小于背景像素的数量时,即y=0的数量远大于y=1的数量,损失函数中y=0的成分就会占据主导,使得模型严重偏向背景,导致效果不好。

因此引入带权交叉熵Lw,Lw的权重为:

可以看到只是在交叉熵Loss的基础上为每一个类别添加了一个权重参数,其中ωc的计算公式为:

其中,N示总的像素个数,而Nc标GT类别为c的像素个数。这样相比于原始的交叉熵Loss,在样本数量不均衡的情况下可以获得更好的效果。

像素精度PA(Pixcal-accuracy),基于像素的精度计算,是评估指标中最为基本也最为简单的指标,从字面上理解就可以知道,PA是指预测正确的像素占总像素的比例。计算公式为:

在PA的基础上,引入Mean Pixel Accuracy(MPA,平均像素精度)是PA的一种简单提升,计算每个类内被正确分类像素数的比例,之后求所有类的平均之和。计算公式如下:

综合评价检测模型的整体性能。

2.5 BiSeNetV2模型训练过程

使用SGD优化器,指定多分类损失,指定BiSeNetV2在crack数据集上训练,选择机器学习中的迁移学习(Transfer Learning)对BiSeNetV2模型的更新权值进行调整,使得BiSeNetV2模型可以成功收敛,获得裂缝检测和识别模型,实现裂缝的高精度检测。其中,通过训练BiSeNetV1模型,得到的相应权值内存空间为24.4 MB,所耗费的时间为22.92 h;
通过训练BiSeNetV2模型,得到的模型相应权值内存空间为41.25 MB,训练所花费的时间为19.42 h;
由此可知,随着BiSeNet模型的改进,训练模型耗费的时间越短,最后得到的权值文件也较大。

基于BiSeNetV1模型、BiSeNetV2模型训练裂缝检测和识别模型结果如图2—图6所示。

图2 不同模型下的沥青混凝土铺面道路裂缝检测Fig.2 Crack detection in bituminous concrete pavement under different models

图6 不同模型下的岩石裂缝检测Fig.6 Crevice detection under different models

图2是对沥青混凝土铺面道路裂缝进行检测的结果,其中图2(a)和图2(b)为原始图像,图2(a1)和图2(b1)为BiSeNetV1模型检测的效果,图2(a2)和图2(b2)为BiSeNetV2模型检测的效果。检测结果表明,BiSeNetV1模型检测和识别出的裂缝要弱于BiSeNetV2模型检测和识别出的效果。

图3 不同模型下的水泥混凝土块路面裂缝检测Fig.3 Crack detection in cement concrete block pavement under different models

图4 不同模型下的墙体裂缝检测Fig.4 Wall crack detection under different models

图5 不同模型下的桥梁裂缝检测Fig.5 Bridge crack detection under different models

由图2—图6可以看出,对比于裂缝检测,2个模型的5类裂缝均能较精确地检测和识别并给出着色,但其中仍然存在部分裂缝识别精度较低的情况。基于BiSeNetV1、BiSeNetV2的裂缝检测与识别的模型性能见表1,表1中列出了影响模型性能的5大指标。

表1 基于不同BiSeNet模型的裂缝检测的性能Table 1 Performance of crack detection based on different BiSeNet models

由表1可知,BiSeNetV1模型的MIOU低于BiSeNetV2模型,可能的原因是BiSeNetV1模型训练不够,模型仍未完全收敛。其中一次实验结果显示,BiSeNetV1模型的准确率为81.899%,低于BiSeNetV2模型的准确率83.932%,且BiSeNetV1模型的损失率为0.625%,大于BiSeNetV2模型的损失率为0.592%,说明BiSeNetV2模型的整体性能优于BiSeNetV1模型。本文综合考量BiSeNetV1模型和BiSeNetV2模型,通过评估各项性能指标,模型的大小以及训练时间复杂度,选择BiSeNetV2模型用于裂缝检测和识别的模型。经过扩充数据集,优化BiSeNetV2模型,最后得到BiSeNetV2模型检测的平均精度(MAP)为86.7%,优于BiSeNetV1模型的平均精度(MAP)为79.1%,说明BiSeNetV2模型整体性能确实优于BiSeNetV1模型。

针对裂缝的智能检测研究,有助于生产人员和技术人员准确地把握裂缝情况,从而迅速地做出相关决策。文中首先基于BiSeNetV2模型设计裂缝识别算法,为模型设置了合适的参数,选取了评价指标;
其次,为了训练模型,采用爬虫技术获取裂缝图片,自主标注形成了包含5种常见的裂缝数据集;
最后,在数据集中完成了基于BiSeNetV1和BiSeNetV2的裂缝识别对比实验,实验表明BiSeNetV2模型的整体性能指标精度(MAP)较高,且模型应用为轻量级,具有较好的实际应用效果。由于裂缝的种类不同、裂缝的大小参差不齐,数据集容量还有待扩充,提升模型识别精度。文中的实验,完成了裂缝的智能化识别研究,对道路、岩石、桥梁、墙体等固体材料的裂缝识别有重要的应用价值。

猜你喜欢复杂度语义像素真实场景水下语义分割方法及数据集北京航空航天大学学报(2022年8期)2022-08-31像素前线之“幻影”2000小哥白尼(军事科学)(2022年2期)2022-05-25语言与语义开放教育研究(2020年2期)2020-03-31“像素”仙人掌红领巾·萌芽(2019年8期)2019-08-27非线性电动力学黑洞的复杂度华东师范大学学报(自然科学版)(2019年2期)2019-06-11一种低复杂度的惯性/GNSS矢量深组合方法中国惯性技术学报(2019年6期)2019-03-04求图上广探树的时间复杂度中央民族大学学报(自然科学版)(2017年2期)2017-06-11“吃+NP”的语义生成机制研究长江学术(2016年4期)2016-03-11高像素不是全部CHIP新电脑(2016年3期)2016-03-10某雷达导51 头中心控制软件圈复杂度分析与改进火控雷达技术(2016年3期)2016-02-06

推荐访问:裂缝 识别 改进

版权所有:睿智文秘网 2009-2024 未经授权禁止复制或建立镜像[睿智文秘网]所有资源完全免费共享

Powered by 睿智文秘网 © All Rights Reserved.。备案号:辽ICP备09028679号-1