一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测方法
技术领域
1.本发明属于探地雷达数据处理与检测技术领域,具体涉及一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测方法。
背景技术:2.探地雷达是一种利用发射和接收电磁波在目标发生反射来实现目标探测的技术,以其高效、准确、适应性强和无损等特点,对国家军事发展具有重要作用,广泛运用于隧道衬砌、地雷和道路病害等检测任务中。但在实际探测中,由于地下介质环境的多样性、电磁波传播的复杂性和系统内部因素影响,导致地下目标回波夹杂在强背景杂波干扰下,信噪比较低,因此需对接收信号进行一系列信号处理操作,如背景滤除、自动增益、垂直滤波等,以便提取目标信号特征实现识别检测。
3.现有的检测方法主要根据一维目标信号的频谱特征、累积能量和梯度直方图等特征来检测掩埋目标的类别和位置,但这些方法存在依赖人为分析、时间成本高、泛化能力差等缺点,因此探地雷达目标检测技术朝着自动化和智能化方向发展以解决这些问题。随着深度卷积神经网络在图像识别、实例分割等方面表现出的优势,目标检测算法得到快速发展。卷积神经网络通过深度卷积层自动提取语义特征来实现目标的自动分类和定位。由于不同类型的隧道病害目标在形态上表现不同,如圆形空洞呈现双曲线形态、箱体目标呈现梯形形态和错台呈现斜坡形态等,深度卷积神经网络可利用其在图像上的纹理梯度等特征信息,通过多层卷积操作学习特征实现检测任务。但随着网络深度的增加,存在内存容量和带宽等限制问题,进而需要对网络模型进行轻量化。
技术实现要素:4.本发明的目的是提供一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测方法,在保持模型精度基础上最大化减少模型参数量和复杂度,实现了在便携式设备上高效、准确的隧道病害目标自动化检测,使其适用于多种不同隧道质量检测任务中。
5.本发明采用以下技术方案:一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测方法,该检测方法包括如下步骤:
6.步骤一:采集探地雷达隧道数据:对实际隧道场景进行探测,采集隧道不同病害目标数据,并以二维b-scan图像形式存储,得探地雷达隧道采集数据;
7.使用探地雷达电磁正演仿真软件gprmax根据实际隧道场景搭建隧道模型,并在隧道模型墙体中内嵌不同类型及不同材质的病害目标,正演仿真生成病害目标数据,并以二维b-scan图像形式存储,得探地雷达隧道仿真数据;
8.探地雷达隧道采集数据和探地雷达隧道仿真数据组成了探地雷达隧道数据;
9.步骤二:处理探地雷达隧道数据:使用一维处理算法和二维处理算法处理探地雷达隧道数据;
10.步骤三:构建探地雷达隧道数据集:将步骤一和二中的采集数据及仿真数据调整至统一像素大小,均以.jpg格式存储,并使用labelimg软件对其进行标记,并构建符合r-cnn数据集的数据文件夹,将所有数据划分为训练集、验证集和测试集;
11.步骤四:搭建卷积神经网络模型:基于cascade r-cnn及libra r-cnn模型结构,使用级联iou阈值结合iou-balanced采样机制搭建卷积神经网络;
12.步骤五:获取卷积神经网络模型:将步骤三中训练集中的数据输入至步骤四中搭建的卷积神经网络模型中进行训练,获取准确率和召回率均大于90%的卷积神经网络模型;
13.步骤六:轻量化卷积神经网络模型:依次采用裁剪、量化和编码对卷积神经网络模型进行轻量化,得到轻量化后的卷积神经网络模型;
14.步骤七:评估轻量化后的卷积神经网络模型:当网络召回率、平均精度和f1分值均大于90%,且轻量化后的参数量相较轻量化前降低大于40%,即选择该轻量化后的卷积神经网络模型;
15.步骤八:将地雷达隧道数据图像以图像格式输入至步骤七中的轻量化后的卷积神经网络模型中,输出检测到的病害目标类别、得分值和坐标信息。
16.进一步地,在步骤四中,使用iou阈值逐级增加的四阶级联结构,其中一阶段iou阈值选取机制为:通过计算该阶段每个batch中所有anchor与ground truth间的iou值,选择其均值作为一阶段的iou阈值,此后三个阶段的iou阈值采用级联方式,逐阶段增加0.1。
17.进一步地,在步骤三中,将所有数据按照7:2:1的比例划分为训练集、验证集和测试集。
18.进一步地,在步骤五中,采用step学习率变化策略,根据网络训练过程中损失值的变化,设置两个迭代分界点,使得迭代至分界点分别以α和β的比例降低学习率,按照此策略在训练过程中,根据可视化损失进行微调,并使用步骤三中的验证集对网络进行多次微调,进而获取性能最佳的卷积神经网络模型;α和β的取值均为0~1。
19.进一步地,在步骤六中,裁剪采用基于熵值的神经元级裁剪方式,将步骤五中网络每一层输出通过全局平均池化转换为长度为l的向量,并将训练集中的m个数据作为一个集合,得到m
×
l大小的矩阵。再将每个滤波器划分为n个区间,计算对应熵值hi,计算公式如下:
[0020][0021]
其中:pi表示第i个小区间对应概率。然后根据熵值hi从大到进行小排序,设置保留阈值thresh,保留对应百分比的滤波器,其余滤波器进行裁剪;并且每执行完一次裁剪操作,执行一次微调,最后当所有层都执行完裁剪后,执行多次迭代微调网络。
[0022]
进一步地,在步骤六中,量化采用混合精度和权重共享的训练方式,对各层采用k-means算法进行聚类,然后再次训练网络对权重进行更新,对每一层权重参数进行求导得到梯度值,将该层所有梯度值根据权重参数聚类类别进行分组,将索引位置处的同一类别梯度值进行累加求和,并与学习率相乘,再与原始聚类中心相减得到聚类中心的更新值。
[0023]
进一步地,在步骤六中,编码采用霍夫曼编码方式,对裁剪中的索引和量化中的权
重分别进行编码压缩,且采用离线执行。
[0024]
进一步地,在步骤七中,f1分值根据召回率和精确率计算得到。计算公式如下:
[0025][0026]
其中p表示精确率,r表示召回率。
[0027]
本发明的有益效果是:1、本发明使用gprmax软件搭建隧道模型,根据实际隧道环境和所包含病害,在模型中嵌入不同材质和类别组合的病害目标,仿真效果逼近实际环境,具备实际数据中丰富的病害特征,一定程度上满足了深度学习对于大数据的需求。
[0028]
2、本发明采用数据归一化、中值滤波、垂直滤波、差分运算、背景滤除和两次信号放大的顺序对实际采集的隧道数据进行处理,采用背景滤除、信号放大和差分运算的顺序对仿真的隧道数据进行处理,有效增强信噪比,抑制背景噪声,突显目标信号特征。
[0029]
3、本发明使用多阶段的深度卷积神经网络对隧道数据进行训练微调,通过卷积操作自动学习目标特征,人为因素降低,检测效率高,实现自动化和智能化的隧道病害检测任务。
[0030]
4、本发明改进原有cascade r-cnn网络模型,使用四阶iou阈值级联结构,结合iou-balanced采样机制训练网络,生成精确度更高的proposal,检测精确度更高。
[0031]
5、本发明使用裁剪、量化、编码的三步网络压缩方式,在保持模型精度基础上降低参数量和复杂度,提高检测速率。
附图说明
[0032]
图1为基于改进的cascade r-cnn的探地雷达目标隧道病害目标检测方法的流程图;
[0033]
图2为探地雷达隧道数据的数据处理流程图;
[0034]
图3为步骤四中改进的cascade r-cnn模型结构;
[0035]
图4为深度网络轻量化处理流程图;
[0036]
图5为探地雷达隧道病害数据二维图像;
[0037]
图6为探地雷达隧道病害目标检测结果图。
具体实施方式
[0038]
下面结合附图和具体实施方式对本发明进行详细说明。
[0039]
本发明一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测方法,如图1和2所示,包括如下步骤:
[0040]
步骤一:采集探地雷达隧道数据:
[0041]
使用探地雷达隧道数据采集系统对实际隧道场景进行探测,采集隧道不同病害目标数据,并以二维b-scan图像形式存储,得探地雷达隧道采集数据;为获取不同频段采集数据,可使用不同中心频率fc的天线,如200mhz、400mhz或900mhz。
[0042]
为增加数据集,使用探地雷达电磁正演仿真软件gprmax根据实际隧道场景搭建隧道模型,并在隧道模型墙体中内嵌不同类型及不同材质的病害目标,正演仿真生成病害目标数据,并以二维b-scan图像形式存储,得探地雷达隧道仿真数据。
[0043]
步骤二:处理探地雷达隧道数据:
[0044]
对其进行的数据处理操作依次为数据归一化、中值滤波、垂直滤波、差分运算、背景滤除和两次信号放大;针对探地雷达隧道仿真数据,对其进行的数据处理操作依次为数据归一化、背景滤波、差分运算和信号放大。针对探地雷达隧道仿真数据,使用数据归一化、背景滤波、信号放大和差分运算对数据进行处理。采用上述方式处理数据,后续数据处理效果好,更能满足网络数据输入的要求,目标特征更为明显。
[0045]
各计算方法如下:
[0046]
(1)数据归一化:
[0047]
对于采集和仿真的探地雷达隧道数据图像,采用离差标准化方法,将每个采样点数值映射到[0,1]之间,计算公式如下:
[0048][0049]
其中x
ij
表示二维b-scan图像数据x(m
×
n)对应的第i道数据中的第j个采样点数值,m表示采样点数(一般是512或1024),n表示采样道数,为大于0的整数;x
min
表示图像数据x的最小值,x
max
表示图像数据x的最大值,x
′
ij
表示每道采样点归一化后数值。
[0050]
(2)垂直滤波:
[0051]
将每道数据经傅里叶变换至频域,选取低通频点f
min
与高通频点f
max
间频谱作为通带,再经反傅里叶变换得垂直滤波后数据。傅里叶变换计算公式如下:
[0052][0053]
反傅里叶变换计算公式如下:
[0054][0055]
(3)背景滤除:
[0056]
对于每一道数据,将其前后相邻α道采样点值的平均值作为该道的背景信号,用原始数据减去背景信号完成滤波,具体过程如下:
[0057]
对于[1,α]道数据,计算公式如下:
[0058][0059]
对于[α,n]道数据,计算公式如下:
[0060][0061]
其中x
′
ij
表示每道数据滤除背景后数值。
[0062]
(4)信号放大:
[0063]
为更好显示不同信号经放大后的强弱,采用整体自动增益算法,即不同道相同窗口内各采样点的增益值相同。具体过程如下:
[0064]
选取整个b-scan数据的前n道a-scan数据作为基准,在此基准上选择窗口w,计算窗口内采样点的平均幅值,计算公式如下:
[0065][0066]
其中:η表示窗口重叠率,表示采样点按窗口w划分个数的下取整值,表示前n道数据设置窗口中第j个采样点的平均幅值。再根据已知设置幅值f计算当前窗口对应增益值,计算公式如下:
[0067][0068]
其中g
sj
表示第j道第s个窗口对应增益值,并在每个窗口内采用线性插值得到各个采样点的增益值,计算公式如下:
[0069][0070]
其中:g
ij
表示第j道第i个采样点的增益值。
[0071]
(5)差分运算:
[0072]
对于每道a-scan数据,将每个采样数据减去距其一定距离r的采样数据,再乘一个系数a,以使得在原数据零处得到最大值。
[0073]
x
′
ij
=a(x
ij-x
(i-r)j
),i∈[r,m],j∈[1,n];
[0074]
其中x
′
ij
表示每道数据差分运算后数值。
[0075]
(6)中值滤波:
[0076]
使用n
×
n大小的二维滑动模板,对于每个采样点,将二维滑动模板的中心置于该点,将模板内采样值按从大至小排序,生成单调上升的数据序列,取序列中间位置的值作为该点采样值,从而得到中值滤波后数据。
[0077]
步骤三:构建探地雷达隧道数据集:
[0078]
将步骤一中的采集数据及仿真数据和步骤二中处理后的采集数据及仿真数据调整至统一像素大小,并均以.jpg格式存储,并使用labelimg软件对其进行打标,并将标记文件以.xml格式存储,然后,构建符合r-cnn数据集的数据文件夹,以pascal voc数据集格式为标准。文件夹中包括anontations、jpegimage及imagesets三个子文件夹,其中anontations文件夹中存放.xml标记文件,jpegimage文件夹中存放数据文件,imagesets文件夹中存放图像名称等文件。将所有数据和标记文件按比例划分为训练集、验证集和测试集。
[0079]
本实施例中,将数据和标记文件按照7:2:1的比例划分为训练集、验证集和测试集。
[0080]
步骤四:搭建卷积神经网络模型:
[0081]
针对卷积神经网络训练过程中采样不平衡问题,基于cascade r-cnn及libra r-cnn模型结构,使用级联iou阈值结合iou-balanced采样机制搭建卷积神经网络模型;
means算法进行聚类,然后再次训练网络对权重进行更新,对每一层权重参数进行求导得到梯度值,将该层所有梯度值根据权重参数聚类类别进行分组,将索引位置处的同一类别梯度值进行累加求和,并与学习率相乘,再与原始聚类中心相减得到聚类中心的更新值。最后,多次重新训练网络进行微调。
[0098]
针对编码操作,使用霍夫曼编码方式对前两步中的索引和权重分别进行编码压缩,该步在所有微调操作完成后离线执行,如图3和4所示。
[0099]
步骤七:评估轻量化后的卷积神经网络模型:
[0100]
使用步骤三中的测试数据集对步骤六轻量化后的卷积神经网络模型进行评价,将召回率、平均精度、f1分值及参数量作为评估指标;当网络召回率、平均精度和f1分值均大于90%,且轻量化后的参数量相较轻量化前降低大于40%,即可认为该卷积神经网络模型性能较佳;
[0101]
其中f1分值根据召回率和精确率计算得到。计算公式如下:
[0102][0103]
其中p表示精确率,r表示召回率。
[0104]
步骤八:检测探地雷达隧道病害:
[0105]
将探地雷达隧道数据图像以图像格式输入至轻量化后的网络模型中进行检测,网络以毫秒量级速度自动输出检测到的病害目标类别、得分值和坐标信息。
[0106]
在本实施例中,使用中心频率fc分别为200mhz、400mhz和900mhz的天线进行探测,采集隧道不同病害目标数据,并以二维b-scan图像形式存储。
[0107]
搭建隧道模型为420mm
×
350mm
×
1000mm大小的长方体,墙体中内嵌目标类型主要有圆形空洞、矩形空洞、三角形空洞、钢筋、含水管和注浆管,材质主要有木材、泡沫、pvc、混凝土和黄土。将目标类型和材质进行组合搭建,共采用了20个组合,在各组合中,又包含了多组半径和埋设的深度均不同的目标数据,作为探地雷达隧道仿真数据。
[0108]
图5为原始探地雷达隧道病害数据二维图像。使用搭建的探地雷达隧道数据采集系统对实际隧道进行采集,生成隧道采集数据,图5a为采用900mhz中心频率天线探测采集到的二维数据,图5b为采用400mhz中心频率天线探测采集到的二维数据,包括不同形状和材质的空洞和钢筋目标,图5c为探地雷达隧道病害仿真数据,采用中心频率为400mhz和900mhz的发射天线对搭建的隧道模型内嵌病害目标进行仿真,病害目标包括圆形空洞、矩形空洞、三角形空洞、钢筋、含水管和注浆管。对采集和仿真隧道数据,采用图2中的信号处理流程进行操作,滤除背景噪声,增强目标信号特征,得到处理后数据图像,再调整为统一大小320
×
512。然后使用目标检测标注工具labelimg对数据处理前后的图像进行标记,标注其中包括的目标,为能够框住目标的最小矩形框,进而保存生成.xml标记文件,其中包括矩形框类别和左上和右下角坐标位置等信息。再按照pascal voc数据集格式整理处理前后的数据图像和标价文件,并按7:2:1的比例将整个数据集划分为训练集、验证集和测试集。
[0109]
本实施例在pytorch框架上搭建图3中改进的cascade r-cnn模型结构,骨干网络采用残差网络resnet,级联的四阶段iou阈值分别设置为0.4、0.5、0.6和0.7。网络训练过程中,动量和权重衰减初始化分别为0.9和0.0005,采用step学习率变化机制,初始化学习率为0.001和迭代次数为120,并设置迭代次数分界点为96和108,使训练迭代到96时学习率降
低至0.0001,迭代到108时学习率降低至0.00005。并且在训练时,使用多尺度训练机制,调整输入图像大小分别为480
×
768和960
×
1536。
[0110]
使用初始化参数和训练策略对输入图像数据进行初步训练后,使用2%的验证集微调网络后,再使用1%的测试集评估网络性能,该实例得到91.6%的网络召回率、94.5%的平均精确度、93.0%的f1值和参数量高达63937686。再采用方案提出的基于熵值的滤波器裁剪、混合精度和权重共享的量化、霍夫曼编码索引和权重的编码三步方法对初步训练的深度网络进行压缩,经多次微调后,再次使用1%的测试集评估网络性能,得到网络召回率92.1%、95.2%的平均精确度、93.6%的f1值,参数量降低了约52.4%,达到30413895。采用步骤三中的测试集对训练轻量化后的网络性能进行可视化评估,图6为探地雷达隧道病害目标检测结果图,网络可以检测到数据图像中的不同病害目标,检测得分均大于70%,适用于隧道病害目标检测。
技术特征:1.一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测方法,其特征在于,该检测方法包括如下步骤:步骤一:采集探地雷达隧道数据:对实际隧道场景进行探测,采集隧道不同病害目标数据,并以二维b-scan图像形式存储,得探地雷达隧道采集数据;使用探地雷达电磁正演仿真软件gprmax根据实际隧道场景搭建隧道模型,并在隧道模型墙体中内嵌不同类型及不同材质的病害目标,正演仿真生成病害目标数据,并以二维b-scan图像形式存储,得探地雷达隧道仿真数据;所述探地雷达隧道采集数据和探地雷达隧道仿真数据组成了探地雷达隧道数据;步骤二:处理探地雷达隧道数据:使用一维处理算法和二维处理算法处理探地雷达隧道数据;步骤三:构建探地雷达隧道数据集:将所述步骤一和二中的采集数据及仿真数据调整至统一像素大小,均以.jpg格式存储,并使用labelimg软件对其进行标记,并构建符合r-cnn数据集的数据文件夹,将所有数据划分为训练集、验证集和测试集;步骤四:搭建卷积神经网络模型:基于cascade r-cnn及libra r-cnn模型结构,使用级联iou阈值结合iou-balanced采样机制搭建卷积神经网络;步骤五:获取卷积神经网络模型:将所述步骤三中训练集中的数据输入至所述步骤四中搭建的卷积神经网络模型中进行训练,获取准确率和召回率均大于90%的卷积神经网络模型;步骤六:轻量化卷积神经网络模型:依次采用裁剪、量化和编码对所述卷积神经网络模型进行轻量化,得到轻量化后的卷积神经网络模型;步骤七:评估轻量化后的卷积神经网络模型:当网络召回率、平均精度和f1分值均大于90%,且轻量化后的参数量相较轻量化前降低大于40%,即选择该轻量化后的卷积神经网络模型;步骤八:将地雷达隧道数据图像以图像格式输入至步骤七中的轻量化后的卷积神经网络模型中,输出检测到的病害目标类别、得分值和坐标信息。2.如权利要求1所述的一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测方法,其特征在于,在所述步骤四中,使用iou阈值逐级增加的四阶级联结构,其中一阶段iou阈值选取机制为:通过计算该阶段每个batch中所有anchor与ground truth间的iou值,选择其均值作为一阶段的iou阈值,此后三个阶段的iou阈值采用级联方式,逐阶段增加0.1。3.如权利要求2所述的一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测方法,其特征在于,在所述步骤三中,将所有数据按照7:2:1的比例划分为训练集、验证集和测试集。4.如权利要求3所述的一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测方法,其特征在于,在所述步骤五中,采用step学习率变化策略,根据网络训练过程中损失值的变化,设置两个迭代分界点,使得迭代至分界点分别以α和β的比例降低学习率,按照此策略在训练过程中,根据可视化损失进行微调,并使用步骤三中的验证集对网络进行多次微调,进而获取性能最佳的卷积神经网络模型;α和β的取值均为0~1。5.如权利要求4所述的一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测
方法,其特征在于,在所述步骤六中,裁剪采用基于熵值的神经元级裁剪方式,将步骤五中网络每一层输出通过全局平均池化转换为长度为l的向量,并将训练集中的m个数据作为一个集合,得到m
×
l大小的矩阵。再将每个滤波器划分为n个区间,计算对应熵值h
i
,计算公式如下:其中:p
i
表示第i个小区间对应概率。然后根据熵值h
i
从大到进行小排序,设置保留阈值thresh,保留对应百分比的滤波器,其余滤波器进行裁剪;并且每执行完一次裁剪操作,执行一次微调,最后当所有层都执行完裁剪后,执行多次迭代微调网络。6.如权利要求5所述的一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测方法,其特征在于,在所述步骤六中,量化采用混合精度和权重共享的训练方式,对各层采用k-means算法进行聚类,然后再次训练网络对权重进行更新,对每一层权重参数进行求导得到梯度值,将该层所有梯度值根据权重参数聚类类别进行分组,将索引位置处的同一类别梯度值进行累加求和,并与学习率相乘,再与原始聚类中心相减得到聚类中心的更新值。7.如权利要求6所述的一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测方法,其特征在于,在所述步骤六中,编码采用霍夫曼编码方式,对裁剪中的索引和量化中的权重分别进行编码压缩,且采用离线执行。8.如权利要求1所述的一种基于改进的cascade r-cnn的探地雷达隧道病害目标检测方法,其特征在于,在所述步骤七中,f1分值根据召回率和精确率计算得到。计算公式如下:其中p表示精确率,r表示召回率。
技术总结本发明公开了一种基于改进的Cascade R-CNN的探地雷达隧道病害目标检测方法,如下:步骤一:采集探地雷达隧道数据:步骤二:处理探地雷达隧道数据:使用一维处理算法和二维处理算法处理探地雷达隧道数据;步骤三:构建探地雷达隧道数据集;步骤四:搭建卷积神经网络模型;步骤五:获取卷积神经网络模型;步骤六:轻量化卷积神经网络模型;步骤七:评估轻量化后的卷积神经网络模型;步骤八:将地雷达隧道数据图像以图像格式输入至轻量化后的卷积神经网络模型中。该检测方法在保持模型精度基础上最大化减少模型参数量和复杂度,实现了在便携式设备上高效、准确的隧道病害目标自动化检测,使其适用于多种不同隧道质量检测中。其适用于多种不同隧道质量检测中。其适用于多种不同隧道质量检测中。
技术研发人员:王百泉 陈思宇 王华 卓越 张安学 林春刚 谢韬 邹翀 杨成春 尚伟 李荆 刘长旭
受保护的技术使用者:中铁隧道勘察设计研究院有限公司
技术研发日:2022.01.11
技术公布日:2022/7/5