APP下载

基于改进SSD的无人机航拍目标检测方法

2021-06-02郭智超邓建球刘爱东丛林虎

兵器装备工程学报 2021年5期
关键词:航拍卷积特征

郭智超,邓建球,刘爱东,丛林虎

(海军航空大学 岸防兵学院, 山东 烟台 264001)

近些年来,无人机技术和目标检测技术在很多领域得到普及和应用,二者的结合也日趋紧密。在军用领域无论是大型武装无人机还是小型无人侦察机都能见其技术应用。目前应用在无人机上的航拍目标检测技术主要包括两类,一类是采用传统方法的目标检测技术,另一类是基于深度学习的目标检测技术。

传统的无人机航拍目标检测方法(例如:ViolaJones、HOG+SVM、DPM)主要分为3部分:区域选择部分、特征提取模块、分类器(SVM,Adaboost等)。传统方法存在许多不足,例如时间复杂度高,计算速度慢,无法实现实时检测,对于模型要求较高,检测性能不稳定窗口常发生冗余现象,抗噪性较差。

应用在无人机上的基于深度学习的目标检测技术主要分两类。一类检测方法是基于候选区域的方法,如R-CNN在2014年被Girshick提出[1],在此基础上又相继提出了性能更优的Fast R-CNN[2]和Faster R-CNN[3],微软研究院的何凯明团队分别在2016年提出了R-FCN模型和2017年在Faster R-CNN的基础上提出的Mask-RCNN模型[4]。另一类是基于回归的目标检测方法,例如YOLO系列的YOLOv1[5]和YOLOv2[6],由Redmon在2016年提出,这两种算法检测速率极快,但检测精测较差。随后2016年Liu提出的SSD[7]算法解决了YOLO检测精度差的问题,在精度和速率方面均表现良好。

在目标检测这一领域上的算法和应用技术上美国和欧洲起步最早。2006年美国国防高级研究计划局开发了COCOA系统并将其广泛应用在无人机上[8],可以满足无人机基本目标检测跟踪等功能。1998年由欧盟国家支持研发的ADVISOR系统,广泛应用于公共交通管理,通过人机交互的方式,可以对人群的行为特征进行判定。

相对于欧美,我国起步较晚,但发展速度较快,2001年清华大学科研团队研发出一套视觉侦察系统,适用于野外且性能良好[9],将摄像机装在车载云台上,可以在384*28图像分辨率下对物体检测达到12.5帧/s的检测速率。2012年郭乔进等提出一种基于概率图的LDA-CFR检测模型[10],可以充分利用图像区域间的相关性来提高目标分类的准确性。2019年黄继鹏等提出一种多尺度的Faster-RCNN算法,主要面向检测小型目标,解决了对小目标检测性能差的问题[11]。

当前无人机航拍目标检测中存在的问题是:无人机从高空拍摄的目标或大或小,图片受天气影响清晰或模糊,对于小目标或模糊图片中的目标容易出现检测不到或检测率太低的问题[12]。为改善这类问题,本文将无人机航拍的照片制作成数据集进行网络训练,以SSD算法为主体,并通过特征融合方式对其网络结构加以改进,实现对各类目标的精确检测。

1 SSD目标检测

1.1 SSD检测模型

SSD的基础网络为VGG-16[13],VGG-16网络由13个卷积层、3个全连接层以及5个池化层所构成,其中卷积层和全连接层具有权重系数。主干网络主要作用到了第5层卷积,也就是第5个尺度上的第3个卷积层的输出结果,输出结果相应地成为了之后卷积层的输入。此外,SSD在原本的VGG-16基础上作了相应的改进,在其基础上添加了特征提取层,其中前半部分仍采用VGG-16的结构,后两层FC6与FC7分别经过3*3*1 024卷积和1*1*1 024卷积从全连接层转变成了卷积层Conv6和Conv7,并随之在Conv7之后添加了4层卷积层。SSD模型将其中5种不同的卷积层输出分别用2个不同的3*3卷积核进行卷积,分别对置信度(c0,c1,c2,…,cn-1)和位置(cx,cy,w,h)进行预测。图1和图2分别为SSD的网络结构和VGG-16网络结构。

图1 SSD网络结构框图

图2 VGG-16结构配置框图

1.2 SSD特征映射模块

多尺度特征映射是SSD算法核心,特征映射图(feature map)是由原始图片经过多次卷积之后形成的,SSD网络包含多个卷积层,用多个卷积层后的特征映射图来定位和检测原始图像信息[11]。同时SSD采用lower和upper的特征层做检测,在每次检测时包含6个特征层,分别为Conv4-3、Conv7、Conv8-2、Conv9-2、Conv10-2、Conv11-2。同一个feature map中的每个单元的默认框数目相同,不同feature map同一个单元默认框数目不同。其中默认框尺度具体公式如下:

(1)

式中:Sk表示默认框的尺度,Smin和Smax分别为最小尺度和最大尺度,m代表模型中特征层的个数,k是每个中心点产生的默认框个数,最底层尺度为0.2,则取Smin=0.2;最高层尺度为0.9,则取Smax=0.9。对于第一层的特征层min-size=s1,max-size=s2;对于第二层的特征层min-size=s2,max-size=s3,依次类推,对于最高特征层,min-size=s5,max-size=s6。

(2)

当长宽比ar=1时还会多产生一种默认框,其尺度为

(3)

表1 SSD特征层默认框参数

对于每个单元的每个默认框,其都输出一套独立的检测值,分为两部分,分别为检测目标的置信度和边界位置信息。每个feature map上的中心点都包含k个默认框,每个默认框包含有4个位置信息和c个类别置信度,其中位置信息定义为(cx,cy,w,h)。若一个feature map的大小为m*n,则其拥有m*n个单元,则所有单元的预测值共(c+4)个,由于SSD采用卷积做检测,所以就需要(c+4)*k个卷积核完成这个feature map的检测过程。

1.3 SSD损失函数

SSD中每个默认框的损失函数都由定位损失与置信度损失构成[14]

(4)

定位损失函数Lloc为:

(5)

置信度损失函数Lconf为:

(6)

2 改进特征融合方式的SSD网络

2.1 传统特征融合方式

传统的特征融合方式,如pooling降维融合和deconvolution升维融合,都是单向传递信息,使得分类网络无法利用其他方向的信息,模型检测效果无法达到最佳。pooling降维融合在减小图片尺寸同时扩大了感受野,deconvolution升维特征融合中则采用反卷积技术,起到特征还原的功能。图3为pooling降维特征融合方式,图4为deconvolution升维特征融合方式。

图3 pooling降维特征融合方式框图

图4 deconvolution升维特征融合方式框图

2.2 改进SSD中的反卷积操作

反卷积是卷积的逆化过程。反卷积操作通过向输入特征矩阵中添加空白点,再进行卷积操作,实现增大输出矩阵的目的。

由于原SSD网络对低层特征图表征能力较差,采用反卷积方式可以将高层丰富的语义特征映射在低层特征图中。改进网络中,反卷积操作主要起着增强图像表征能力的作用。

图5(a)和图5(b)均为反卷积操作,其卷积核步长分别为1和2。图5(a)中反卷积输入与输出均为5*5;图5(b)中通过在指定的间隔中插入padding参数使图像得以扩充,从而实现上采样操作,最后通过3*3的滤波器进行反卷积计算,其输入为3*3,输出为5*5。

设置参数时,当padding为VALID时,卷积核始终都是位于输入矩阵内进行移动;当padding为SAME时,卷积开始的时候保证卷积核的中心位于输入角的顶点位置。图5(a)和图5(b)中padding参数值均为SAME。

图5 反卷积操作过程示意图

反卷积的输出(即卷积的输入)计算公式如下:

i=(o-1)*s+k-2*p

(7)

式中:i为反卷积输出;s为步长(stride);k为卷积核尺寸;p为输入图片周围填充的圈数;o为反卷积输入。

2.3 SSD网络改进

在改进的SSD网络中,基础网络没有发生改变,依然采用VGG-16网络框架,通过改进特征融合方式提升原有SSD的效果[15-16]。由于各层feature map size不同,在特征融合前都会进行规范化操作。通过(Pooling+deconvolution)的方式连接了从上层pooling下来的feature map和从下层de-conv上来的feature map,从而融合了不同层的特征,增强了模型泛化能力,是分类网络的感受野有所提高,表达能力更强,更方便检测小目标。同时在输入分类器网络前增加了feature map的通道数,通过各个分类器网络上的参数共享,从而减少训练的参数,提高训练速度。

改进后的SSD网络结构如图6所示。如图6所示,每个特征层所由各特征层融合而成。如Conv4_3’其第一层由原Conv4_3卷积运算而成,其余各层由原Conv7至原Conv11_2通过de-conv上采样融合而成。对于Conv8_2’,如图7所示,其前两层由原Conv4_3和Conv7 通过Pooling下采样而成,第三层由原Conv8_2卷积而成,其余各层由原Conv9_2至Conv11_2通过de-conv上采样融合而成。除Conv4_3’和Conv8_2’,其余改进后的特征层均通过类似方法融合而成。

图6 改进后的SSD网络结构框图

3 实验验证与结果分析

3.1 实验运行环境

本次实验的硬件条件包括因特尔酷睿 i7-9750处理器、频率为2.60 GHz与2.59 GHz的CPU、8GB内存、GTX1660Ti显卡。软件环境包括Windows10 64位操作系统、 PyCharm编译软件、python3.6.3编程语言、Caffe深度学习框架。在程序设计过程中,为实现算法模型,需要的软件环境还包括CUDA、cuDNN、OpenCV等。

图7 Conv8_2’多层融合示意图

3.2 数据集介绍

本实验采用的自建数据集由大疆无人机在户外拍摄的大量图像数据和少量DOTA航拍数据集的图片组成,该数据集中包含了大量在不同高度、不同角度以及不同环境下拍摄的关于轮船、汽车、飞机以及学校操场4个样本的图像,其中经过无人机拍摄收集到的图片经过处理转换为VOC的格式并加以存储。数据集中一共包括2264张训练集图片和512张测试集图片,训练的数据集样本如图8(a)与图8(b)所示。

图8 数据集样本图

3.3 评价指标

本网络结构的性能通过mAP指标、检测速度来进行综合评价,其中mAP指标综合由精度(P)、召回率(Recall)和平均值组成[17]。检测速度由每张照片的平均检测时间来表示

(8)

(9)

(10)

TP:预测为正,实际为正;FP:预测为正,实际为负;TN:预测为负,实际为负;FN:预测为负,实际为正。

(11)

计算mAP,需要首先通过召回率和精度值求出每一类的AP,AP值是Precision-Recall曲线下方的面积,然后再对所有类的AP取平均值,即可求得mAP。

3.4 训练过程

本实验训练模型参数选择如表2所示,按照设定的参数值经过大量迭代训练,最终使得检测模型达到最佳效果。

表2 训练模型参数

图9为该检测模型经过8 000次网络迭代训练后的损失值变化曲线,由图9可知该模型在2 000次迭代训练之后损失值渐趋平稳,经过8 000次迭代后训练后损失值大概稳定在0.95左右,处于较低水平,且参数收敛性好,因此训练取得了较为不错的效果。

图9 损失值变化曲线

3.5 实验效果

3.5.1 SSD改进前后对比

本次实验以汽车为检测目标,将SSD改进前与改进后的实验效果进行对比,实验对比效果如图10所示。

图10中,图10(a)和图10(b)为采用原本SSD检测汽车时的效果图,图10(c)和图10(d)为将SSD改进后的检测效果。图10(a)中出现了重复框现象且右侧小目标出现漏检现象,图10(b)中也出现了漏检现象。相比之下,图10(c)和图10(d)中对同等目标检测的准确率要高相对较高,且没有出现重复框现象,对小目标检测效果也相对较好。

图10 SSD改进前后效果图

3.5.2 改进SSD在不同环境下检测对比

由图11(a)和图11(b)相对比可知,大雾天气可以对检测率产生较大影响,但在此方法下仍旧可以将目标识别;由图11(c)和图11(d)对比可知拍摄角度对检测率影响并不大;图11(e)和图11(f)分别是从不同高度拍摄的两张照片,检测率相近。由图11(g)和图11(h)航拍的大型飞机和小型飞机相对比可知,小型飞机的准确率在70%左右,虽然不比大型飞机的97%的准确率,但所有目标都检测到,没有发生漏检和误检。该检测方法对于平稳拍摄下的、可视条件高的、目标较大的物体检测率较高,个别处于恶劣环境下的物体检测率不高,但恶劣情况毕竟居于少数,使得对于检测模型影响有限。而且从实验效果图观察可知,所有检测物体并未发生重复框现象。

3.6 性能对比

为了对模型进行直面与客观的分析,分别对原版SSD、YOLOv2以及较为流行的R-FCN和Faster R-CNN网络进行实验,使用相同的训练数据集和训练方法进行训练,并从中抽取300张测试集进行测试,每种模型进行10次测试后取其平均值,最后通过平均精度mAP以及每张图片的平均检测时间进行性能对比,结果如表3所示。

图11 实验结果检测图

表3 模型性能对照表

从实验性能对照表可知,在检测速率方面YOLOv2算法检测速率最高,每张图片平均检测时间达到21.62 ms,但精准度方面表现太差,对于R-FCN和Faster R-CNN算法,检测精度要略优于改进的SSD,但R-FCN和Faster-RCNN的平均检测时间分别是改进SSD的70.1倍和30.6倍。无法满足无人机的实时性检测。相比于原SSD,改进后的SSD精度由所提高,尤其对于小目标检测效果较好,检测速率也处在较高水平,所以这种改进SSD的航拍目标检测方法可以很好地完成检测任务。

4 结论

提出一种基于改进SSD的无人机航拍目标检测方法,为了提高对于小目标的检测,将SSD网络框架进行改进,在原网络基础上增加了特征层数量和各特征层的关联,融合各特征层特征。通过无人机在户外航拍采集的数据集进行模型训练,实现了不同环境条件下不同目标的精确检测,并在检测速度方面取得了很好的表现,弥补了传统检测方法检测精度、实时性、鲁棒性等方面的不足。从实验结果分析可知,相比于原版SSD,将SSD改进后对于小目标检测有着较好的效果,算法在检测精度略逊于Faster R-CNN和R-FCN,但检测速率快很多;和YOLO相比检测速率相近但检测精度远高于YOLO算法,所以该方法是理想的无人机航拍目标检测方法。

猜你喜欢

航拍卷积特征
基于全卷积神经网络的猪背膘厚快速准确测定
离散型随机变量的分布列与数字特征
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
航拍巴彦呼硕
抓特征解方程组
不忠诚的四个特征
航拍,苍穹下的醉美视角
AirCraft航拍辅助软件