基于改进YOLOv3的高分辨率遥感图像复合目标检测

2022-12-30 14:09王慧贤
计算机与现代化 2022年12期
关键词:候选框虚警置信度

张 飙,王慧贤,韩 冰

(1.中国科学院空天信息创新研究院,北京 100190; 2.中国科学院大学电子电气与通信工程学院,北京 100049;3.中国科学院空间信息处理与应用系统技术重点实验室,北京 100190)

0 引 言

随着时代的发展,遥感图像的分辨率越来越高,人们也可以更加了解自己居住的地球。高分辨率遥感影像通常被用于地物解译,如目标检测。较高的分辨率对目标的检测精度会有所改善,但大幅宽遥感影像具有极其复杂的背景,同物异谱、同谱异物现象更加明显,导致利用大幅宽遥感影像做检测时虚警较多、准确率较低。

复合目标相对单一目标(如:飞机、舰船等)而言,是一类由多个结构共同组成的目标,结构之间往往存在一定差异或者拓扑关系,单个结构还存在不同变体。如导弹阵地、篮球场等。复合目标由于其自身存在一定差异性,导致类目标的背景区域增加,检测效果更加不好。本文针对该类目标开展研究,选取和运动健身相关的篮球场作为检测对象,篮球场只是复合目标中的一个代表,所提方法同样可以应用于其他的复合目标,如复合军事目标:爱国者导弹阵地、萨姆导弹阵地、核设施等。

传统的目标检测算法提取的大都为SIFT(Scale-Invariant Feature Transform)[1]、HOG(Histogram of Oriented Gradient)[2]、Haar[3]等目标特征,这些特征鲁棒性低,用于检测的效果往往不理想。

基于深度学习的检测算法,利用卷积神经网络来提取特征,该类算法将检测效果提升到了一个很高的层次。在2014年,Ross Girshick基于AlexNet[4]提出了R-CNN(Region with CNN feature)[5]方法,开创了深度学习目标检测算法的先河。R-CNN在目标检测上取得了巨大成就,但仍然存在诸多缺点。R-CNN产生的大量候选框会占用较多的磁盘空间,而且对每个候选框的卷积计算会产生过多重复的特征提取。为了弥补R-CNN的上述缺陷,Ross Grishick借鉴SPP(Spatial Pyramid Pooling)[6]的思想提出了Fast R-CNN[7]算法模型,并且将分类和回归均放入网络一起训练,但由于候选框仍然需要通过selective search[8]得到,所以仍具有较大的不足。为了解决生成候选框耗时长的问题,作者又提出了Faster R-CNN[9]算法模型,该模型引入了RPN(Region Proposal NetWork)网络,将候选框的生成也放入了网络中。

R-CNN系列是将生成候选框和检测分为2步的检测算法,这种算法耗时长,时效性不高。SSD(Single Shot MultiBox Detector)[10]是一类单步检测算法,采用一组默认的候选框替代区域生成算法得到的候选框,分类和回归的结果也是基于这组候选框产生,单步检测算法极大地提高了目标检测的速度。另一个具有代表性的单步检测算法是YOLO(You Only Look Once),YOLO算法也是将生成候选框和检测合二为一,检测速度较快。R-CNN系列、YOLO系列以及SSD算法对目标的检测都是基于anchor的,还有一些anchor free算法,像CornerNet[11]、CenterNet[12]、ExtremeNet[13]等。这类算法解空间更大更灵活,但检测结果不稳定,通常需要设计更多的方法来进行re-weight。

迄今为止,有许多学者利用深度学习方法对目标检测进行研究。文献[14]中作者改进SSD模型,增加额外卷积层,对尾矿库进行了检测,文献[15]在SSD模型中引入注意力机制提高了算法的检测精度;文献[16]利用Fast R-CNN和DeepPose[17]相结合的方法对多目标人体骨骼节点进行了检测,文献[18]利用Fast R-CNN对办公用品进行了检测;文献[19]改进YOLOv3算法,加入拥有更小感受野的特征图对车辆尾灯进行检测,改善了小目标的检测效果。

本文基于YOLOv3[20]对复合目标篮球场进行检测,并在原有算法上进行改进,降低了检测虚警率,极大地提高了检测精度。

1 复合目标特性分析

因为复合目标相对单一目标来说,结构更加复杂,干扰因素更多,为了提高检测率,首先需要对复合目标进行特性分析。本文以篮球场为例开展复合目标的检测,从遥感影像上看,篮球场除了线条以及篮球架以外,剩余部分由多个纯色区域组成,这些区域可分为中圈、限制区以及其他区域,本文将该3个区域分别称之为1区、2区和3区,见图1(a)。检测复合目标篮球场的难点主要可分为以下2点:

1)篮球场3个区域不常规着色导致与目标特征相似的背景区域增加,致使虚警率升高。

篮球竞赛规定,中圈和限制区的涂漆颜色必须相同,即1、2区的着色必须相同。与此同时,为了使各个区域之间较易区分,3区和另外2个区着色一般不同。但在实际生活中,不是所有篮球场的着色都会严格遵循上述规定。观察图1(a)发现,该篮球场2区和3区着色存在明显差异,在两者的交界处会形成明显边缘,这是篮球场一个较为重要的特征。但是,图1(b)和图1(g)篮球场2区、3区着色相同,不考虑线条,2个区域在遥感图像上显示为连通状态,这种情况会导致边缘特征被弱化;而图1(e)更是3个区域着色均相同,在遥感图像上显示为一纯色矩形块,以上2种不常规情况均会导致一些纯色方正建筑物被误检,从而提高了虚警率,如图2(a)中实线框所示。

图1 不同类型的篮球场

图2 虚警和漏检情况

2)建筑、树木等非目标物体遮挡篮球场导致目标特征被弱化,背景特征掺入目标特征,致使召回率降低,虚警率升高。

遥感图像背景复杂,复合目标容易出现被遮挡的情况,遮挡使得复合目标部分结构发生改变。观察图1(c)和图1(d)发现,某些篮球场被一些建筑物、树木遮挡,其中图1(d)中的篮球场更是被完全遮挡了一个限制区,这极大弱化了目标的可用特征。为了提高检测的召回率,在训练集中加入了一些被遮挡的篮球场以此提高模型的泛化能力,但是非目标物体的掺入会导致检测时这些非目标物体(如建筑、树木等)置信度升高,致使虚警增加,如图2(b)中实线框所示。在测试集中,篮球场被遮挡的情况也会有所不同,一些遮挡严重的篮球场容易出现漏检,这会降低检测的召回率,漏检情况如图2(c)虚线框所示。

2 YOLOv3检测算法原理

2.1 YOLOv3整体结构

考虑到目标检测的时效性,本文基于速度较快的YOLOv3算法对篮球场的检测开展研究,YOLOv3的整体算法流程如图3所示。其中,Conv表示卷积层,这里为简写模式;res表示残差网络。

YOLOv3的backbone采用的是网络结构Darknet-53,见图3虚线框①。Darknet-53含有52个卷积层,它借鉴了残差网络ResNet(Residual Network)[21]的思想,在一些层之间设置了捷径连接。随着网络的加深,在loss回传时出现梯度爆炸的可能性就越大,而ResNet这种设计本质上是一种恒等变换,即在网络加深的同时,使网络能够学习待检目标更丰富的特征,且能有效地缓解梯度爆炸的发生。

YOLOv3采用了3个尺度对目标进行检测,这样做能对不同尺寸的目标进行较全面的检测,见图3虚线框②。

图3 YOLOv3算法流程图

2.2 YOLOv3的损失函数

YOLOv3的损失函数如式(1)所示。

YOLOv3的损失函数由坐标损失、置信度损失、分类损失3个部分组成,具体的损失函数公式见式(1):

loss=lbox+lobj+lcls

(1)

每部分损失函数的具体公式见式(2)~式(4):

(2)

(3)

(4)

3 改进的YOLOv3算法

3.1 分块检测预处理

由于测试集里是大影像,所以要对影像进行切割,切片的尺寸和训练集一样取416×416。由于待检目标存在一定面积,所以不能保证所有的目标均是完整地存在于单个切片中,故相邻切片需要存在重叠距离。同时,该重叠距离不能设置得太大,否则会导致检测速度变慢并且重复检测区域的增多会造成虚警率的上升。对训练集待检目标的尺寸进行统计,发现最长的边大约占110个像元,所以本文的重叠距离取116个像元。切片示意图如图4所示。

图4 分块检测示意图

3.2 YOLOv3结构上的改进

从样本中可以看到,部分待检复合目标被建筑、树木遮挡,这种情况会使得待检目标的特征被弱化,网络能够提取目标的特征会变少;另外,对于大幅宽遥感图像来说,其背景复杂,会存在很多与正确目标高度相似的非目标区域,而待检目标特征的弱化更是使得目标与非目标更加相似,因此需要一种方法能拉开两者之间的差距,而注意力机制在一定程度上能达到这种效果。

SENet(Squeeze and Excitation Networks)[22]是一种常见的通道注意力机制,但该机制只关注了通道之间的差异,对通道进行了加权操作,在位置信息上却未做区别对待。CBAM[23](Convolutional Block Attention Module)虽说在通道注意力后增加了空间注意力,但其空间注意力机制是通过将通道进行压缩,在位置信息层面进行大尺寸2维卷积操作来实现,卷积操作只能获取局部相关性,未能获取长程依赖关系。Coordinate Attention[24]是一种较新型的注意力机制,以下简称CoorAtt。CoorAtt在通道注意力的基础上,分别融合了垂直和水平2个方向上的感知,这样做使得CoorAtt不仅有了类似空间注意力机制的作用,还能够获取垂直和水平2个方向上的长程依赖。CoorAtt的结构如图5所示。

图5 Coordinate Attention结构图

CoorAtt首先将输入通过2个一维全局池化得到2张具有方向感知的特征图,然后再将这2张图Concat并编码,将编码后的结果分离得到2张具有垂直和水平2个方向信息的注意力图,后经Sigmoid变换,将得到的结果与输入的特征图相乘,以此来提高特征图的表征能力。

将CoorAtt模块加入YOLOv3的res模块中,利用验证集数据进行实验。表1列出了不同的添加方式以及对应添加方式得到的平均准确率(AP),其中res8(1)和res8(2)分别代表YOLOv3中前后2个res8模块。从表1可以看出,验证集数据实验下,以方式2添加CoorAtt模块得到的AP值和召回率均最高,并且以该种方式增加模块模型的复杂度也最小,故本文采用方式2来改进YOLOv3结构;另外,方式3、5和7相比原YOLOv3得到的AP值还有所降低,从此可以看出,在某些情况下,增加注意力机制并不是都能改善检测效果。改进的YOLOv3算法流程如图6所示。

表1 注意力机制模块不同添加方法及其对应AP值

图6 改进的YOLOv3算法流程图

3.3 YOLOv3损失函数的改进

在YOLOv3的损失函数中,有惩罚因子可以调节正负样本之间的不均衡,但却无法权衡易分、难分以及错分的样本。易分样本关注度的提高,对模型的提升效果非常小,一定程度上模型更应该关注那些难分及错分的样本,而Focal Loss可以做到这点。二分类的Focal Loss公式见式(5)。

(5)

其中,y′表示经过激活函数的输出,y表示真实值。Focal Loss添加了一个含输出值且带指数γ的调节因子,这样做可以使得难分、错分样本贡献的loss在全部loss中的占比变得更大,使模型更偏向于关注难分、错分的样本,从而提高检测的召回率,降低检测的虚警率。

(6)

3.4 改进的后处理算法

3.4.1 重复检测区域预测框剔除

由于测试时使用的是切片,相邻切片之间存在重叠距离,所以会存在一定的重复检测区域。当该区域存在待检目标时,可能会导致一个目标得到多个预测框,这会使得虚警率上升,故本文在得到检测结果后做了进一步的后处理工作。

后处理示意图见图7。切片的遍历顺序是从左上到右下,所以对于任意一个切片A来说,其左上、上、右上、左4个方向的切片已经遍历了,不用再考虑,因此切片A的相邻切片只剩下右、左下、下、右下4个方向的切片,方向见图7标注的4个方向箭头。若切片A中与其相邻切片中存在IOU大于阈值T_ol的预测框,则需从这些预测框里得出一个唯一的预测框,本文T_ol取0.6。为了计算方便,简单地将切片A的预测框作为唯一的预测框输出,将其相邻切片中的重叠预测框剔除。

图7 重复检测区域预测框剔除示意图

重复检测区域预测框剔除前后结果对比见图8。从图中可以看出,一个目标仅留下一个预测框。

图8 重复检测区域预测框被剔除

3.4.2 基于复合目标先验信息降低置信度

观察验证集的检测结果(见图9(a))发现,一些中间为白色小块的区域会存在误检情况,但是依据篮球场先验信息而言,其中圈为白色的极少,所以可以利用这一点降低虚警。以预测框中心点为中心,截取9×9像素的方形区域,见图9(b)。求出该区域RGB和的平均值,若该值大于某阈值rgb_thres,则将该预测框的目标置信度乘上一个值小于1的因子,将乘得的结果与NMS(Non-Maximum Suppression)算法的置信度阈值比较,若结果小于该阈值,则剔除该预测框。本文rgb_thres取540,β取0.8。

图9 确定中圈RGB值示意图

降低置信度检测结果对比见图10,图中实线框为检测得到的虚警,从图中可知,中圈RGB值较高的预测框降低置信度后可以有效地消除部分虚警。

图10 降低置信度检测结果对比

4 实验验证

4.1 数据样本的收集及其标注

在Google Earth上下载分辨率为0.3 m的影像,并用LabelImg进行标注,得到的影像及标注文件如图11所示。最终,528张416×416的切片作为训练集,8张10000×10000的大影像以1∶1的比例分作验证集和测试集。

图11 影像以及标注文件

4.2 实验环境和实验参数

本文实验环境:操作系统为Ubuntu16.04,CPU为Intel(R) Core(TM) i9-10920X CPU @ 3.5 GHz,内存为128 GB,GPU为GeForce RTX 2080Ti,深度学习框架为Pytorch1.6,编程语言为Python3.7。

实验参数:学习率lr为0.001,动量参数为0.9,batch size为16,整个训练过程为200个epoch,IOU阈值为0.4,NMS算法置信度阈值为0.6。

4.3 评价指标

1)召回率。

召回率(Recall, R)计算公式如式(7):

R=TP/(TP+FN)

(7)

其中,TP和FN分别表示正确检测出的目标数以及未被检测出的目标数。

2)准确率。

准确率(Precision, P)计算公式如式(8):

P=TP/(TP+FP)

(8)

其中,FP表示错误被检测为目标的虚警数。

3)平均准确率。

平均准确率(Average Precision, AP)是目标检测常用的评价指标,其计算公式如式(9):

(9)

AP综合考虑了准确率和召回率的影响,能够很好地表征网络模型的性能。

4.4 实验结果及对比

部分样例的检测结果对比情况见图12。图12中的圆圈以及图片右上角小箭头指向的框表示检测正确的目标,其余框表示虚警。CA表示Coordinate Attention,FL表示Focal Loss,P1表示中圈RGB值较高降低置信度,P2表示重复检测区域预测框剔除,CF表示Coordinate Attention加Focal Loss,本文算法表示YOLOv3增加Cooratt模块、Focal Loss以及改进的后处理算法得到的最终算法。由于遥感图像背景复杂,容易存在和真实目标特征类似的区域。从图12(a)可以看出,直接用YOLOv3算法对待检目标进行检测,最终的结果会出现较多的虚警,而增加Cooratt模块或采用Focal Loss均会对检测效果有所改善,见图12(b)和图12(c)所示。在上述基础上再使用改进的后处理算法,能进一步地降低虚警。

(a) YOLOv3检测结果

(b) YOLOv3+CA检测结果

(c) YOLOv3+FL检测结果

(d) 本文算法检测结果图12 检测结果对比

将所有的检测结果进行统计,得到表2。从表2可以看出,本文算法召回率提高了10.3个百分点,平均准确率提高了28.8个百分点,证明了本文算法的有效性。

表2 最终的检测结果统计对比

5 结束语

本文首先对复合目标进行特性分析,然后标注样本制作数据集。为改善YOLOv3检测结果,进行了结构和Loss函数的改进。增加Coordinate Attention注意力机制模块让网络学习更关注的特征,引入Focal Loss平衡易分、难分以及错分的样本;与此同时,本文还增加后处理算法进一步降低检测虚警。最终实验表明,改进后的算法在平均检测准确率AP指标上有28.8个百分点的提升,证明了该算法的有效性、合理性。该算法对高分辨率遥感影像中其他复合目标如网球场、导弹阵地等的检测研究有着积极的促进作用。

猜你喜欢
候选框虚警置信度
基于数据置信度衰减的多传感器区间估计融合方法
基于Two-Stage的目标检测算法综述
一种基于定位置信度预测的二阶段目标检测方法
硼铝复合材料硼含量置信度临界安全分析研究
基于深度学习的重叠人脸检测
综合航空电子系统机内自检测技术研究
一种电阻式应变传感器的数据处理方法
基于单帧标注的弱监督动作定位
正负关联规则两级置信度阈值设置方法
一种针对特定目标的提议算法