APP下载

基于Faster R-CNN 改进算法的遥感技术及其在地质灾害监测中的应用研究

2024-01-04卢小红郭庆妮周少伟史利燕

地质与资源 2023年6期
关键词:锚点损失函数

崔 娜,卢小红,王 妍,李 菲,宋 珊,郭庆妮,周少伟,史利燕,2

1.陕西省地质科技中心,陕西 西安 710054;2.陕西省省级院士专家工作站,陕西 西安 710054;3.陕西省社会科学科普基地,陕西 西安 710054;4.北京市智慧水务发展研究院,北京100036

0 引言

地球环境的变化是非常复杂的,因为内部与外部因素的双重影响,产生许多不可抗逆的地质事件[1-2],这种事件,就是我们常说的地质灾害.当今的科技发展中,航天技术和遥感技术突飞猛进,为自然资源和环境监测提供了全新的方法,为地质灾害的提前预测提供了更为先进的手段,从而利用遥感技术获取地面信息非常关键[3].在技术的不断更替中,遥感技术也在不断升级,已经可以为小范围的地质灾害和环境的监测提供先进的技术手段,可以为滑坡、泥石流、地面裂缝等地质灾害提供有用的监测,为一些比较大型的环境灾害防范工程提供技术支撑.Lian 等[4]提出了利用无人机低空遥感图像,主辅数据相结合的方法,可使滑坡、崩塌和裂缝能够快速准确识别.Athanassas[5]对于遥感技术在识别南爱琴海活动火山弧(southern Aegean active volcanic arc,SAAVA)地质灾害中的适用性进行了研究,发现其识别性能令人满意.Lai 等[6]将遥感与地理信息系统技术相互耦合,对中国西部攀西地区的灾害风险进行了评估,最终发现该模型充分考虑了主客观因素,是区域地质灾害风险评价的理想模型.通过上述案例,发现遥感技术在地质灾害的应用中提供了更多的信息,但如何在数据信息中快速检测到有用的信息,使得所检测的目标信息的精度和速度能够拥有更加良好的性能成为了关键的问题[7].机器学习技术的发展,为目标检测提供了全新的视角,对目标检测有关算法的优化升级,是地质灾害监测有效与否的重点[8].

在FasterR-CNN(FasterRegions-ConvolutionalNeural Networks)目标检测算法初期,目标检测算法很多都是建立在区域提名算法上面的.一般将算法分为3 个部分,分别是区域选择、特征提取、分类器.此算法采用滑动窗口检测方法,构建尺度金字塔,在每个尺度中搜寻,从而获取到目标出现区域的范围.其次在区域内使用手工特征进行特征收集,再运用分类器达到最后的效果[9].随着技术发展,出现了DPM(Deformable Part Model)算法[10].这个算法选择的区域选择手段是利用了滑动窗口选择,选择的手工特征是完善后的HOG(Histogram of Oriented Gradients)特征,选用的分类器为SVM(Support Vector Machines)分类器.后面又出现了R-CNN(Region-Convolutional Neural Networks)算法[11],后来相关学者对其进行了再次完善,得到了SPPNet(Spatial Pyramid Pooling Convolutional Networks).然而SPPNet 算法的训练还是存在多个阶段,并且还非常复杂和费时.因此,时代浪潮又推出了Fast R-CNN(Fast Regions-Convolutional Neural Networks)目标检测算法.然而候选区域生成步骤目标检测算法还是达不到端到端的分析.在这一前提下,Faster R-CNN 算法出现了[12],端到端的检测算法才算正式推出.在Faster R-CNN 算法中,锚点框采用的是人为定义的框,此类人为定义的框要求比较苛刻,对先验框的优化便显得尤为重要.另外,传统的卷积神经网络对特征获取时,只运用了图像的顶层特征去预测,所以存在目标检测时对于小目标的检测精度没有很高.

本文的核心目标是对Faster R-CNN 目标检测算法的现阶段可待优化的部分给予讨论,并对卷积神经网络和特征提取的方法进行分析,使用不同的特征提取网络,使用不同的模型训练办法,使用特征提取网络中的方法,对人为定义的锚点框进行优化提升,从而优化Faster R-CNN 目标检测任务的精度和速度.利用优化后的Faster R-CNN 检测算法,可以快速检测到地表地质的变化,为防范地质灾害起到促进作用.

1 研究方法

1.1 网络模型优化途径

机器学习算法模型训练的时候,往往会遇到过拟合的状况.就此,给出一些网络模型优化方法,如图1所示.

图1 网络模型优化途径Fig.1 Network model optimization approach

在众多途径中,对数据进行有效的增强,让数据中的数量提升,从而减少模型过拟合的情况.数据增强这种优化办法是受到了数字图像优化方法的启发[13].在此基础上,卷积神经网络能够学习到图像的很多不变性特征.具体的几种方法如图2 所示.

图2 数据增强的几何变换方法Fig.2 Data-augmented geometric transformation method

1.2 Faster R-CNN 算法

Fast R-CNN 算法中,区域提名阶段非常浪费时间.基于此类现象,Faster R-CNN 算法利用区域生成网络来处理候选框的问题,候选区域的分类依然利用区域生成网络[14].它的具体算法如图3 所示.

图3 Faster R-CNN 算法图Fig.3 Faster R-CNN algorithm diagram

区域生成网络,就是常说的RPN(Region Proposal Network),卷积神经网络提取输入数据中的建议区域是区域生成网络的任务.RPN 具体结构如图4 所示.

图4 RPN 的结构Fig.4 Structure of RPN

锚点框窗口的每次滑动预测9 个建议区域.1 次滑动,分类层输出2×9 个得分,代表着此框中存在物体的可能性.损失函数RPN 网络后面的损失函数存在边界框回归损失函数与分类损失函数[15].在此,边界框回归损失函数表达为:

目标分类损失函数的表达为:

特征图上各个像素点上面出现的锚点框是前景与背景的可能性为目标分类层的输出.相关的目标检测任务损失函数表达如下:

上述公式中,Lcls与Lreg依次被Ncls、Nreg给予归一化,系数λ 对它们分别相乘.在此处,Ncls为最小批次数量,Nreg为锚点框的数量,λ 为权衡分类损失和回归损失的系数,ti*为正样本Anchor 到真值的变换参数定义,ti为正样本Anchor 到网络检测的目标区域的变换参数,pi*为第i 个Anchor 标记为物体的概率,pi为经网络判断当前第i 个Anchor 可能为物体的概率,Lreg为位置回归损失,Lcls为目标分类损失.设置λ 为10,那么分类损失与回归损失的权重基本相同.对Faster R-CNN 网络的优化,需要将RPN 网络进行固定处理,这样可以优化算法的收敛速度[16].

1.3 优化的Faster R-CNN 检测算法

1.3.1 模型调优与特征金字塔的运用

对深层神经网络训练的时候,对模型的优化很重要.本研究使用了一些较为常见的优化方法,用的比较多的有批量标准化和高分辨率分类器,已有的特征提取网络在Image Net(全称为Image Net Large-Scale Visual Recognition Challenge)数据集操作预训练中很重要,之后在实际任务中再给予小规模调整[17-18].

以往的卷积神经网络在特征提取时选用的特征一般是比较单一的,从而让目标检测对小目标的检测精度不是很高.基于此类现象,运用FPN(Feature Pyramid Network)网络再运用图像的底层特征和高层特征,分别进行不同层的预测.比起没采用FPN 网络的Res Net(Residual Neural Network)网络,大目标检测的召回率得到了很大的提升.小目标的召回率多了13%.FPN 网络如图5 所示.

图5 特征金字塔网络结构Fig.5 Feature pyramid network structure

1.3.2 联合训练方法与损失函数优化

深度神经网络训练里面,标记的数据集很重要.因为人工标记的代价很大,寻得数量充足有标记的目标检测数据集难度很大.于YOLO v2(You Only Look Once v2)里面,本文推出了联训练办法[19].在Faster R-CNN 算法里面,目标检测框的回归运用的损失函数是以L1、L2 距离为基础的损失函数,不足的是该损失函数不存在尺度不变性.另一方面,目标检测框回归的目标IOU 与损失函数并不是简单对等关系[20-21].把IOU(Intersection Over Union)当成回归的损失函数,损失函数无法对没有重叠部分进行优化,对齐方式如果存在相关的差异性,IOU 依然不具备区分的能力.利用GIOU(Generalized Intersection Over Union)作为优化目标给予目标检测,它的公式如下:

式中,A、B 代表目标框,C 代表目标框的最小闭包.目标检测框的损失函数表达为:

LGIOU为了让损失函数目标检测框回归存在尺度不变性,对检测框的优化目标和损失函数给予同步处理.

1.3.3 针对锚点框的改进

Faster R-CNN 算法中的锚点框运用的是人为定义的框,它对此领域的先验知识要求比较高[22-23].于YOLO v2 算法中,推出k-means 聚类算法去对数据集里面的边框给予聚类,没有苛刻的前提条件,就能够获取到优良的先验框[24].良好的k-means 聚类算法的距离度量为欧几里得距离.在目标检测算法中,欧几里得距离适用性很差,它会让较大的框比较小的框误差要大很多.然而,在目标检测任务中,本质是为了拥有更佳的IOU 分数,却与边界框大小无关.基于此,可以使用公式:

在验证环节选用了不同的k 值,这是为了权衡模型复杂度以及召回率,使用了k=5,能够发现的锚点框与人为定义的锚点框显然不同,瘦高的框要比扁平的框较多.

2 实验数据集

本实验中运用的数据集是PASCAL VOC(The PASCAL Visual Object Classes)数据集与COCO(Common Objects in Context).PASCAL VOC 存在1 万幅图,类别分为20 组,该数据集是目标检测问题的一个基准数据集.MS COCO(Microsoft Common Objects in Context)数据集为微软公司推出的在竞赛中使用的数据集.此数据集能够在图像标题生成、目标检测、关键点检测与物体分割等多种竞赛时使用.在目标检测任务中,此数据集拥有160 000 幅图,分别为80 组不同类型.

在实验中,对数据集中的真实框给予聚类形成锚点框,它的距离度量是:

以此为前提,分别测试了k 值不同时产生的锚点框的IOU 与GIOU.之后以聚类生成的锚点框为基础.让后让基础网络为Res Net,然后在此前提下组成FPN网络,其中回归损失函数可以用如下公式表达:

在本研究检验环节中,需要先在Image Net 上面操作预训练网络步骤.训练进行时,同步采取数据增强的一些方法.

3 研究结果

3.1 自动生成描框的k 值测试

本实验中,利用不同k 值对目标检测框使用进行聚类,并进行聚类生成描点框(图6).

图6 不同k 值下平均GIOU 图Fig.6 Average GIOU diagrams for different k valuesa—不同k 值下平均GIOU 值(average GIOU vs.k);b—聚类生成的锚框(anchors by clustering)

从图6a 中不难发现,k 值为1 时,GIOU 在0.3附近,k 值为3 时,GIOU 在0.45 附近,依次类推.k 值与GIOU 同步增加,检测精度也同步增加.在这里,随着k 值的不断增加,锚点框数量不断增加,目标检测的速度却有所下降.从聚类生成的锚框(图6b)能够看到,数据集中的锚框要偏向于长且窄的锚框,说明以往人为定义的锚框的确存在不足.另外还发现,利用自动生成的锚框,在k=5 的时候,即GIOU 值为0.6,检测精度是以往9 个锚点框的精确能力.说明了智能生成锚点框的能力,比以往人为定义的锚点框代表性更好.

3.2 优化目标检测算法性能的对比

为了让检测精度与检测速度得到很好的权衡,令k=5 进行实验.这里分别用以往的Faster R-CNN 进行测试,并与它进行比较,还运用FPN 网络损失度量与聚类得到的检测框相比较,具体结果见图7.

图7 算法在MS COCO 数据集上的实验结果Fig.7 Experimental results of the algorithm on MS COCO datasetAP—平均精度(average precision);AP@0.5— GIOU=0.5 时的平均精度(average precision,GIOU=0.5);APs—小目标平均精度(average precision for small objects);APm—中等目标平均精度(average precision for medium objects);APl—大目标平均精度(average precision for large objects);1— R-CNN(regions-convolutional neural network);2— Faster R-CNN(faster regions-convolutional neural network);3— RPN(region proposal network)

图7 中的APs,APm,APl,AP@0.5 等都是在基于COCO 数据时,定义出来评论检测模型的指标,AP的具体含义是类别的平均值,传统上被称为平均精确度.在图中3 条曲线中,可以发现RPN 网络的AP@0.5达到了59,是对比中差距最大的测试项,除了APl 之外,也高于其他评价指标的对比项,证明它在目标检测精度尤其是在小物检测精度时提升很明显.

4 结论

地球环境的变化往往会产生人类难以对抗的地质灾害,对人类社会的安全生产带来巨大威胁.为了利用遥感技术更加精确地监测到自然环境中的地质信息,本文在Faster R-CNN 算法的基础上,对算法进行了优化.通过对地质灾害与遥感技术之间关联性的描述,阐述了检测速度和精度的重要性,对涉及到的优化办法进行了系统描述,然后对优化Faster R-CNN 算法原理进行了解释,运用特征提取网络,以及适用的优化办法,修改了训练方法.实验环节,在MS COCO 数据集上,对优化方案进行了一系列相关检验论证.最终的实验结果表明,新的算法兼顾了速度与精确性,达到了预期的目标检测目的.运用此优化的目标检测算法,借助卫星遥感技术,可以更加快速地检测到自然环境中的地质信息,判断其属性变换,从而做出预警措施,对减少人类因地质变化引起的损失,对促进人类安全活动,具有实际意义.不足的是,本文实验环节仅仅是在数据集上进行实验,对算法性能进行评估,而环境变化具有非常大的复杂性,后续的探讨中,可以在具体的实践环境中,对算法性能进行评估.

猜你喜欢

锚点损失函数
二次函数
第3讲 “函数”复习精讲
胖胖损失了多少元
基于NR覆盖的NSA锚点优选策略研究
5G手机无法在室分NSA站点驻留案例分析
5G NSA锚点的选择策略
二次函数
函数备考精讲
5G NSA组网下锚点站的选择策略优化
玉米抽穗前倒伏怎么办?怎么减少损失?