APP下载

改进YOLOv4在遥感飞机目标检测中的应用研究

2021-06-23涛,蒋

计算机工程与应用 2021年12期
关键词:先验卷积尺寸

侯 涛,蒋 瑜

成都信息工程大学 软件工程学院,成都610200

遥感是指非接触的远距离探测技术。高分辨率的卫星与航空图像技术提供了高分辨率的遥感图像,这为遥感图像的目标检测开辟了更好的前景[1]。遥感图像中飞机目标的检测在民用与军事方面有着重要且广泛的应用。在军事方面,可以为军队在作战时带来巨大的优势[2]。在民用方面,可以使航空业更好地对飞机进行监管,并且可以更加快速地搜寻失去联络的飞机。

对遥感图像中飞机目标检测最早使用基于模板匹配的方法,Liu等人[3]构建了一个全局最小化活动轮廓模型(SGACM),用来检测遥感图像中飞机、油罐等具有规则形状的目标,但模板匹配方法对复杂场景的目标检测效果不佳。传统的机器学习方法需要人工设计目标的特征。Sun等[4]针对高分辨率遥感图像中形状复杂的物体检测任务,提出了一种基于空间稀疏编码词袋模型的检测方法,工作人员设计的特征会显著影响分类与检测的准确性。

近年来,基于深度学习的目标检测算法发展迅速,深度学习模型具有更强的特征表示能力和特征抽象能力[5]。Alganci等人[6]对基于深度学习卷积神经网络的目标检测算法在遥感图像中飞机目标检测任务中的性能进行了比较评估,Faster-RCNN[7]取得了最高的精确度,但是检测速度很慢,不能满足实时检测的需求[8],SSD[9]算法检测性能最低[10],YOLOv3[11]在准确性和检测速度之间取得了平衡。综合来看YOLO系列的算法相对于RCNN算法与SSD算法更能够满足实时高效的要求。与YOLOv3相比,YOLOv4[12]拥有更高的精确度且检测速度没有下降。但YOLOv4在检测小目标时,用于检测大目标的特征层会丢失目标的语义信息。用于检测小目标的特征层提取目标的特征信息能力较差。所以本文对YOLOv4做出改进,提升对遥感图像中的飞机目标检测的性能。

目前已有很多文献对YOLO算法应用于遥感目标检测做出了一些改进。董彪等人[13]提出了一种基于改进YOLOv3的遥感建筑物检测模型,该模型去除了YOLOv3中用于检测大目标的特征层,并且减少了特征融合部分的卷积层,这样大大减少了网络模型的语义信息丢失,这对形状特征相对简单的建筑物检测效果很好,但在对形状特征与背景相对复杂的飞机目标检测时,飞机目标的特征提取不够充分。戴伟聪等人[14]提出的基于改进YOLOv3的遥感飞机检测模型中,在神经网络深度较浅的第二个残差模块后输出了分辨率更高的特征图来作为新的检测尺度,虽然较浅的特征图拥有更高的分辨率,但是提取的特征信息能力较弱。Xu等人[15]提出的基于改进YOLOv3的遥感图像目标检测模型,为了减轻特征金字塔中五次卷积模块带来的梯度消失问题,使用ResNeT残差单元替换了五次卷积层模块,但如果可以在减少梯度消失问题的同时增强网络的特征提取能力将会很大提升网络的性能。

本文从以上文献得到思路,对YOLOv4进行改进。改进YOLOv4的多尺度检测,减少网络模型的语义丢失,增强检测遥感图像中尺寸偏小的飞机目标的能力。使用密集链接网络复用特征,减少梯度消失问题,加强特征传递与特征提取。提取遥感数据集中含有飞机目标的图像作为训练集与测试集,对训练集使用K-means算法得到适用于遥感图像目标检测的先验框尺寸,并将YOLOv4每个检测尺度的先验框数量调整为4个。

1 YOLO

1.1 YOLOv4网络

YOLOv4采用CSPDarknet53[16]作为主干特征提取网络,共五个残差模块。最后三个残差模块的输出会输入到特征金字塔结构中,YOLOv4的特征金字塔部分采用了PANet结构[17]对特征层进行了特征融合。

经过特征融合后,输出的三种特征层尺寸分别为原输入尺寸的1/8、1/16和1/32,相当于将图片划分成尺寸为S×S网格,如图1所示。在每个单元格中,都有三个不同尺寸的先验框。最后通过预测值来对先验框进行调整来得到边界框(bounding box)。

1.2 目标边界框的预测

图1 19×19特征图网格单元示意图

目标边界框的预测值为边界框的置信度(confidence score)和位置信息。置信度的公式为公式(1)。Pr(Object)是该边界框包含目标的可能性,为边界框与实际框(groundtruth)的IOU(Intersection Over Union)交并比。

当面对分类问题,每边界框还要给出预测的C个类别的分数,这些概率值是在各个边界框置信度下的条件概率,即Pr(class i|Object)。使用公式(2)计算各个边界框类别置信度(class-specific confidence scores)。

边界框位置信息的预测值为t x、t y、t w和t h。图2展示了YOLOv4网络得到最终预测结果的过程。虚线框为先验框,实线框为边界框,c x和c y表示对先验框所处的网格点相对于左上角的偏移量,pw和ph分别表示先验框的宽和高,b w和b h表示预测得到的边界框的宽和高,b x和b y表示边界框相对于网格点左上角的偏移量,边界框的值通过公式(3)得到:

图2 得到预测结果

2 基于YOLOv4的改进网络

2.1 多尺度检测改进

对于608×608的输入图像,YOLOv4的三个特征层的网格的尺寸分别为76×76、38×38和19×19。卷积神经网络越深,得到的特征图的神经元感受野(Receptive Field)越大,这也意味着每个神经元蕴含更为全局、语义层次高的特征,但是局部特征与细节特征会出现丢失。相反,当卷积神经网络较浅时,特征图的神经元所包含的特征会更趋向于局部和细节。图3(a)、(b)、(c)分别为76×76、38×38和19×19特征图,可以看出检测大目标的尺寸为19×19的特征层在检测遥感图像中的飞机时语义丢失严重,特征图中已经完全无法查看到飞机的边缘特征,所以在与前面的两层进行特征融合时会带来更多的不利影响。

图3 残差块输出的特征图

为了减少网络模型的语义丢失,将主干特征提取网络的最后一个残差模块取消,去除了尺寸为19×19的特征层,保留了尺寸为38×38和76×76的特征层。这样不仅减少了网络的参数量,还减少了语义信息的丢失。原YOLOv4将SPP结构放置在第5个残差卷积块后,本文将尺度最大的特征层取消后,将SPP结构重新放置到第4个残差卷积块后。

取消了用于检测大目标的特征图后,需要加强网络模型的特征提取能力,使高分辨率的特征图拥有更多的目标的特征信息。

2.2 密集网络

随着网络层数的加深,网络在训练过程中的前传信号和梯度信号在经过很多层之后可能会逐渐消失。如果卷积网络在靠近输入层和靠近输出层之间包含更短的连接,则可以训练得更深、更准确和有效。Huang等人[18]提出了一种更为有效网络DenseNet。为了确保网络中各层间信息流量最大化,DenseNet将所有层直接相互连接,每个层都从所有先前的层中获取输入,并将自身的特征图传递给所有后续层,有效减轻了网络的梯度消失问题。并且DenseNet提升了梯度的反向传播,使得网络更容易训练。

使用DenseNet模块代替特征金字塔中的五次卷积模块,不仅有效减轻了梯度消失问题,而且DenseNet通过Concatenate特征来实现短路连接,让特征图在channel维度上连接,实现了特征复用(feature reuse),更好地利用了特征信息,并提高了信息在层之间的传递,加强了模型对遥感图像中尺寸较小的飞机目标的特征提取。此外,DenseNet具有正则化效果,从而减少了过拟合的问题。在检测网络阶段,使用两个DenseNet模块来分别代替特征金字塔中的两个五次卷积层模块。

卷积,归一化和激活函数构成了CBL模块,两个CBL模块构成Double-CBL(DCBL)模块。在两个DenseNet模块中,每个图层特征图通道的增量分别是256和128。DenseNet模块中采用了bottleneck层来减少计算量,结构中增加1×1卷积。两个Densenet模块结构如图4所示,图中X0、X1、X2表示输出层的特征图;H1、H2表示非线性变换。表1和表2给出了两个DenseNet模块的详细结构。

图4 DenseNet模块结构

表1 DenseNet1结构

表2 DenseNet2结构

图5展示了使用DenseNet模块前后的对比,图5(a)左边为未使用DenseNet2模块,使用连续5次卷积模块卷积后的结果,可以看出飞机的边缘特征没有得到很好的提取。图5(a)右边为使用DenseNet2模块改进后的特征提取结果,飞机的特征信息与背景被明显地区分开来,飞机的边缘特征也得到了很好的提取。图5(b)左边为未使用DenseNet1模块,使用连续5次卷积模块卷积后的结果,图5(a)右边为使用DenseNet1模块改进后的特征提取结果,同样DengNet1更好地提取了飞机的特征信息。由此可见,DenseNet模块增强了模型的特征提取能力。

图5 改进前后对比

图6 、图7和图8展示了改进YOLOv4的完整结构。图8(a)为第一个CSPResNet的结构,图8(b)为剩余4个CSPResNet的结构,n C为输出的通道数,N为残差堆叠的次数。

图6 网络中模块的详细结构

图7 改进后的YOLOv4网络

图8 特征提取网络结构

2.3 先验框的改进

从YOLOv2开始,YOLO系列算法引入了先验框的思想,用来获取更加准确的边界框。YOLOv4中,每个特征图中的网格点都有3种不同尺寸的先验框,共9种不同尺寸的先验框。针对遥感图像中飞机目标尺寸偏小的情况,对YOLOv4的3个检测尺度做出改进,去除用于检测大目标特征图后,先验框的数量有所改变,并且,由于遥感图像中目标尺寸偏小,针对常规目标的先验框尺寸不再适用,所以需要得到新的先验框尺寸。通过对遥感图像数据集使用K-means算法得到适用于改进后的YOLOv4网络以及遥感图像中飞机目标的先验框。

数据集中的边界框由左上角顶点的坐标和右下角顶点的坐标表示,在对目标的边界框做聚类时,需要以边界框的宽和高作为特征。由于数据中图片的尺寸不同,所以要对图片的宽高和边界框的宽高做归一化,公式如下:

因为,在聚类过程中,只需要关心先验框(anchor)与边界框(box)的IOU,不用关心边界框的大小,所以使用IOU作为度量。设先验框anchor=(w a,ha),边界框box=(w b,h b),先验框与边界框的IOU为IOU(box,anchor)。计算先验框与边界框的IOU如图9所示,公式如下。

图9 先验框与边界框IOU

显然,IOU(box,anchor)的取值在0到1之间,两个框越相似,值越大,所以最终的度量公式为:

对box进行K-means的步骤如下:

(1)随机选取K个box作为初始anchor。

(2)使用度量公式(5),将每个box分配给与其距离最近的anchor。

(3)计算每个簇中所有box宽和高的均值,更新anchor。

(4)重复(2)、(3)步,知道anchor不再变化,或达到了最大迭代次数。

参考原YOLOv4的9个先验框尺寸,考虑到数据集飞机尺寸的复杂性,以及改进后的特征层变为两层,最终选择的K值为8。两个不同尺度的特征图中分别有4种不同尺寸的先验框,这样可以为目标分配更加准确的先验框,以此来得到更加准确的边界框。

使用K-means算法对训练集进行聚类分析,用于检验最小的目标的特征层的先验框尺寸为(11,11),(18,17),(25,25),(34,29);另一个特征层的先验框尺寸为(34,38),(51,49),(76,76),(142,140)。

3 实验过程与结果分析

3.1 实验平台

实验平台配置如图10所示,本文采用台式计算机配置为Iterl®Xeon®CPU,内存64 GB,显卡NVIDIA TITAN Xp,64位Windows 10操作系统;开发环境为tensorflow-gpu1.14、opencv4.1、python3.6、cuda10.0。

图10 实验平台信息

3.2 数据集

3.2.1 遥感数据集特点

遥感图像具有以下特殊性。

(1)规模具有多样性。不同拍摄高度的遥感图像让不同图像中的飞机具有不同的大小和特征。

(2)视角具有特殊性。遥感图像都是从空中俯视地面所拍摄,这与通常看待目标时的视角有很大的不同,所以遥感图像数据集中物体与常规数据集中物体的特征是不同的。

(3)小目标。遥感图像中的目标大多体积都很小,在经过若干层卷积神经网络的下采样之后,目标的特征信息容易丢失。

(4)复杂的背景。遥感图像拍摄时的高度很高,影响的范围领域也比较大,所以背景会很复杂,会对目标的检测造成干扰。

基于上述特点,通过常规数据集训练出的目标检测模型无法完成遥感图像的目标检测任务。

3.2.2 数据集分析

综合考虑这些因素后,本文使用RSOD数据集[19]与DIOR数据集[20]中包含飞机的图像来作为数据集。RSOD数据集由武汉大学在2015年发布,DIOR数据集是由西工大韩军伟课题组提出的一种用于光学遥感图像中目标检测的大规模基准数据集。

数据集中,目标的尺寸大多较小,并且分布较为密集。由于拍摄原因造成遥感图像模糊(图11(a)),并且飞机颜色与背景颜色相近,导致很难识别。在遥感图像中,机场环境设施复杂,飞机旁边会有登机桥与运输车辆距离很近(图11(b)、(c)),并且飞机尺寸较小,在数据集标注与目标检测时,背景物体会与飞机一起被框出,对训练与识别造成困难。表3展示了训练集与测试集的数据。

图11 数据集样本

表3 训练集和测试集信息

3.3 评价标准

本文根据召回率、精确率、mAP和Time来作为评价指标来评价模型的性能。

召回率与精确率的公式如下:

其中,TP(True Positive)为真正例,FP为假正例,FN为假负例,TP为真负例。召回率表示模型检测出的目标数量占所有目标数量的比例,体现了模型识别目标的能力;精确率表示模型检测正确的目标数量的比例,体现了模型检测的准确性。但是,由于精确率与召回率受置信度的影响,单独采用精确率与召回率作为评价指标会有局限性,所以,在实验中引入了平均精确度mAP作为评价指标,它是评价目标检测算法性能的最重要的指标之一。

3.4 训练方法

在YOLOv4和本文改进后YOLOv4的训练阶段,采用了余弦退火学习率衰减(CosineAnnealing)方法。余弦退火可以通过余弦函数来降低学习率。这种下降模式和学习率配合,以一种十分有效的计算方式来产生很好的效果。

初始学习率设置为0.000 1,最小学习率为0.000 01,最大学习率为0.001,训练epoch设置为100。图12为loss值下降曲线,横轴为训练epoch,纵轴为loss值。

图12 loss值下降曲线

3.5 实验结果分析

3.5.1 实验结果对比

为了评估算法的性能,将本文所提出的改进后的YOLOv4算法命名为Improved-YOLOv4,并与YOLOv4、YOLOv3、Faster-RCNN在各方面进行了对比。算法对比实验均采用相同的训练集与测试集,相同的训练批次,图像在训练前尺寸调整为608×608。性能对比见表4。计算召回率和精确率时,阈值设置为0.6,IOU设置为0.5。

表4 算法性能对比

从实验结果可以看出,YOLOv4算法在对遥感图像中飞机目标进行检测时,效果要优于YOLOv3算法。Improved-YOLOv4精确率为95.4%,较原YOLOv4提升了0.3个百分点,Improved-YOLOv4召回率为86.04%,相对于原YOLOv4提升了4.68个百分点,Improved-YOLOv4在平均精确率方面,较原YOLOv4提升了5.27个百分点。Improved-YOLOv4在保证精确率的同时,提升了对遥感图像中飞机目标的召回率。虽然检测速度比原YOLOv4慢了0.02 s,但是仍然满足实时检测的要求。

3.5.2 网络模型对比分析

图13 实验结果对比

针对遥感图像中飞机目标的特殊性,在测试集中选取了具有代表性的图片来展开对比分析。在图13(a)中,飞机的目标尺寸偏小,并且白色的飞机与灰白色的背景在颜色上较难区分,仅有Improved-YOLOv4可以检测到所有飞机目标。由于YOLOv4和YOLOv3的第三个特征层的对小目标的语义丢失严重,在特征金字塔层进行特征融合后,带来了更多不利的影响,使得与背景颜色相似且密集的小目标不能被检测出来,YOLOv4检测出了一部分目标,而YOLOv3则只能识别中等尺寸的目标。Improved-YOLOv4去掉了检测大目标的特征层,减少了语义丢失,相对较浅的卷积神经网络对边缘信息更加敏感,即使目标颜色与背景颜色相似,网络还是可以识别出目标的细节特征。在图13(b)中,飞机尺寸中等,但是部分飞机与登机桥距离很近,很容易干扰到模型对飞机的检测。YOLOv3对相对偏小且背景复杂的目标依然无法识别,在登机桥的干扰下,YOLOv3识别目标变得更加困难。YOLOv4虽然识别出了大部分目标,但对与登机桥相连的飞机出现了漏检。Improved-YOLOv4使用DenseNet加强了特征提取,并且DenseNet的正则化效果减轻了网络的过拟合,使模型具有更高的泛化性,所以Improved-YOLOv4对连接着登机桥的飞机的检测效果更好。在图13(c)中,飞机目标的背景更为复杂,Improved-YOLOv4的优势更加明显,YOLOv4还是无法对距离登机桥太近的飞机以及目标颜色与背景颜色相近的飞机进行识别,YOLOv3依然只能对尺寸中等的目标进行识别。

4 结束语

本文针对遥感图像中飞机目标尺寸偏小,检测难度大的问题进行研究,提出了基于YOLOv4的改进算法,通过调整特征层,改进网络结构,调整先验框,加强了对小目标的检测能力,得到了更适合检测遥感图像中的飞机的目标检测算法。实验结果表明,Improved-YOLOv4算法满足实时检测的需求;精确率、召回率和平均精确度分别较原YOLOv4算法均有提升,有效地优化了YOLOv4算法对遥感图像中的飞机目标检测的问题。但对遥感图像中遮挡部分较大的目标不能进行精确的检测,后续工作将优化对遮挡飞机目标的检测效果。

猜你喜欢

先验卷积尺寸
尺寸
CIIE Shows Positive Energy of Chinese Economy
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于无噪图像块先验的MRI低秩分解去噪算法研究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
D90:全尺寸硬派SUV
基于自适应块组割先验的噪声图像超分辨率重建
基于平滑先验法的被动声信号趋势项消除
佳石选赏