基于深度学习的遥感影像小目标检测

2020-06-22 01:09:44张青华谷国太李彩林王佳文
河南水利与南水北调 2020年5期
关键词:特征提取卷积目标

张青华 谷国太 李彩林 王佳文

(1山东理工大学建筑工程学院;2河南省新闻出版学校)

1 引 言

随着航天事业的不断发展,高分辨率遥感卫星的数量越来越多,中国获取遥感影像的方式越来越便捷,并且遥感影像因其较高的视角,包含十分丰富的位置信息、特征信息等。面对如此丰富的影像源,如何产生有效的社会效益是科研工作者面临的一个挑战,其中遥感影像目标检测领域的研究一直都是研究热点,在军事侦察、城市规划、环境检测、智能交通、资源勘测等领域均有涉及。

传统的遥感影像目标检测方法:通常使用人工设计的特征描述子提取特征,然后训练一个分类器来达到目标识别的任务。经典的人工设计的特征主要有Harr 特征、局部二值模式(Local Binary Pattern,LBP)、尺度不变特征变化(Scale-invariant feature transform,SIFT)、方向梯度直方图(Histogram of Oriented Gardient,HOG)等。常见的分类器有支持向量机(Support Vector Machine,SVM)、提升模型(Boosting)和AdaBoost 算法等。

传统的目标检测算法存在两个主要弊端:第一,检测效果的性能主要依赖于人工设计的特征描述子,但是特征描述子的设计存在很大的瓶颈;第二,传统方法的滑动窗口算法对待检测区域没有针对性,存在大量的对检测任务无效的冗余窗口,时间复杂度高。这两个缺点制约了目标检测的精度与检测速度,随着海量数据的获取越来越便利和GPU(Graphics Processing Unit,GPU)算力的显著提升,基于深度学习的目标检测方法应运而生,并且在检测性能方面超越传统检测算法,目前基于深度学习的目标检测算法主要分为基于候选区域和基于回归思想的两种检测策略,基于候选区域思想的代表算法有R-CNN、SPP-Net、Fast R-CNN 和Faster R-CNN 等,基于回归思想的代表算法有YOLO系列和SSD系列。

随着通用目标检测算法的发展,深度学习的目标检测方法在遥感影像的应用也取得了较好的发展。文献使用具有去噪能力的卷积神经网络对遥感影像中的车辆目标进行检测。文献利用改进后的Faster R-CNN目标检测算法完成遥感影像中的车辆目标检测任务。文献提出使用U-Net 卷积神经网络对遥感影像中的建筑物进行检测。文献提出将ResNet网络结构作为特征提取网络提取不同层级范围的特征完成目标检测任务。文献利用全卷积神经网络的结构对遥感影像中的飞机目标进行检测。文献提出利用数据扩充和上下文信息完成对遥感影像中的飞机目标检测任务。虽然目前深度学习的目标检测方法在遥感影像中已有较多的研究,但是针对遥感影像中的小目标问题,存在漏检和误检问题难以解决。

综合以上研究方法,文章以SSD目标检测框架为基础进行改进,完成高分辨率遥感影像的小目标检测任务。首先对特征提取网络在公共数据集进行预训练,然后增加SSD目标检测多尺度特征图的检测层级,同时采用Adam 的训练方法,使模型具有更好的拟合能力。

2 特征提取网络与模型

2.1 VGG-16特征提取网络

VGG-16 网络结构最早由牛津大学Visual Geometry Group团队提出,并且在ImageNet2014夺得亚军。该网络结构最大的特点就是使用了较小的卷积核和较为规整的网络结构,网络结构包含5个大的卷积结构(Block)和3个大的全连接层,而且所有的卷积层均使用3×3的卷积核,这样不仅减少了网络训练的参数量,而且可以堆叠出更深的网络模型,提高网络的分类能力,同时结合Dropout层来防止过拟合。整体的网络结构如图1所示。

图1 VGG-16网络结构图

文章使用VGG-16网络结构作为特征提取网络,不仅可以获得抽象能力更强的非线性特征,而且VGG-16网络规整的网络结构,更有利于进行改进,嵌入完整的目标检测架构。

2.2 模型预训练与迁移学习

根据卷积神经网络分层提取特征的特性,使用迁移学习的方式对特征提取网络进行预训练,可降低整体目标检测网络的训练时间。文章的VGG-16 基础网络首先在ImageNet(A Large-Scale Hierarchical Image Database)数据集进行预训练,获得的预训练基础网络具有很好的图像特征提取能力,然后将预训练完成的特征提取网络嵌入整体目标检测架构,并作为迁移训练的初始模型参数,然后通过DOTA数据集迭代回归四个参数变量(Δcx,Δcy,Δw,Δh),达到目标检测的目的。

在迁移训练过程中包括两个损失函数:一个是位置损失函数Lloc,进行目标的精确定位,;另一个是置信度损失Lconf,判断预测框的分类概率。代价函就是上述两类损失函数的加权平方和,具体计算公式如式(1):

其中,N 是正样本数量,λ为权重,如果N=0,则损失为0。x是所有默认框的标签,如果第i个默认框匹配到了第j个标签框,则xij=1,否则xij=0。定位损失Lloc为L1 平滑损失(Smooth L1):

置信度损失Lconf是基于多个类别的置信度的softmax 损失。参数c代表某一类别的目标与非目标的置信度。

式中字母含义同上。

2.3 改进后的SSD目标检测模型

SSD 目标检测网络的整体策略是在特征提取网络不同尺度的特征提取层进行分类回归,完成对不同尺度大小的目标进行识别定位的任务。原始的SSD 检测架构是将VGG-16 基础网络在最后的全连接层处截断,并添加Conv6、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2 卷积层,根据卷积神经网络分层提取特征的特性,原始SSD 检测框架使用Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2 作为检测层,由于小目标在影像中的占比较小,随着层层卷积的结构,容易出现小目标特征信息的流失,因此原始SSD 目标检测网络中仅仅使用Conv4_3作为特征检测层是不够的,改进后的SSD目标检测算法增加Conv3_2作为特征检测层,提高整体算法对小目标的检测能力。改进后的整体网络架构如图2所示。

图2 改进后SSD目标检测模型图

2.4 基于Adam算法的损失函数优化

算法训练的目的是为了使损失函数值不断减小进而得到最佳训练模型。原始SSD算法使用SGD算法进行损失函数的优化,SGD是一种常用的损失函数优化算法,但该算法的缺点是下降速度较慢,并可能收敛于某一局部最优而不是全局最优点。Adam算法相较于SGD主要优势在于可利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率,在经过偏置校正后可使每一次迭代学习率都有个确定范围,因此参数比较平稳,有利于收敛于全局最优点。因此文章引入Aadm算法用于优化损失函数。主要公式如下:

3 实验与分析

3.1 实验数据

3.1.1 数据描述

文章实验数据集主要包括两个数据集:ImageNet 数据集、DOTA数据集。

ImageNet 数据集具有140 万张标记图片,1 000 种不同类别,是针对图像识别的全球最大公开数据集之一,利用该数据集进行模型预训练可以使模型具有更好的泛化能力,并且加快迁移训练的速度。

DOTA 数据集是包含2 806 张航空影像的公开数据集,由JL-1 卫星、JL-2 卫星和Google Earth 遥感拍摄所得,影像幅度很大,尺寸大约为800×800~4 000×4 000,主要包含两大类目标:大型场地和各种可移动物体两种类别;其中大型场地包含:游泳池、足球场、操场、环形交通枢纽、港口、棒球场、网球场、篮球场、桥等9 种场地;可移动物体包括:飞机、直升机、船舶、大型车辆、小型车辆和储油罐等6个类别,共计15种类别,188 282个实例,由于拍摄高度较高,可移动物体多为中小目标。

3.1.2 数据预处理

由于原始数据尺寸不一,首先将原始数据裁剪为512×512大小的图像,数据增强采取随机扰动、随机裁剪、随机扩张及缩放等操作方式,然后将数据集划分为训练集和测试集,训练集和测试集数据量比例满足9:1的比例。

3.2 实验描述

3.2.1 实验环境

实验硬件环境为Intel Xeon E3-1220 v5 处理器、GTX1070 8G 显卡、16G 内存;实验软件环境为Ubuntu18.04 系统、tensorflow深度学习框架。

3.2.2 精度评估方法

使用平均精度(average precision,AP)来评估训练所得目标检测模型,计算公式如式(5):AP 的几何意义即P-R 曲线与坐标轴所围面积,其中P(precision)表示训练精准率,R(recall)表示训练召回率,具体计算公式如式(6):

式中:TP表示正确识别为标签目标数量,FP 表示错误识别为标签目标数量,FN表示错误识别为非标签目标数量。

3.2.3 速度评估方法

使用每秒帧速(Frame Per Second,FPS)进行评估,每秒帧速即每秒内处理的影像数量,FPS 越大,速度越快。计算公式如式(7):

式中:F为处理影像数,S为处理时间,单位为s。

3.2.4 超参数设定

学习率策略采用Warm Up,初始学习率设置为0.01,batchsize为2,epoch设置为400。

3.3 实验对比分析

3.3.1 改进SSD算法训练分析

分别进行A、B两组实验:A组实验为直接在DOTA数据集进行训练得到的模型;B 组为首先将VGG-16 网络在ImageNet数据集进行预训练,然后在DOTA数据集进行迁移训练得到的模型;最后将得到的模型分别在DOTA 测试集进行检测,具体检测结果:A 组模型AP 值为7.06×10-1;B 组模型AP 值为7.53×10-1。分析可知,经过模型预训练的模型在DOTA 数据集中具有更好的训练效果,该实验充分说明了卷积神经网络在图像特征提取中逐层提取特征的特性,同时证明了迁移学习的有效性。

模型训练策略采用Adam 算法取代原来的SGD 算法进行损失函数优化。为分析Adam算法的有效性,文章分别用Adam和SGD两种训练策略对SSD算法进行训练,并在DOTA数据测试集进行精度评定,结果如表1所示:

表1 不同优化算法性能对比

由表1 中第一行数据和第二行数据的AP 值对比可知:在损失函数一致的情况下,使用Adam优化算法的SSD512模型精度要高于使用SGD优化算法的SSD512模型的精度,由此得出使用Adam 优化算法得到的模型精度高于使用SGD 优化算法得到的模型精度。

3.3.2 改进SSD算法性能分析

为更好分析改进后SSD算法的性能,同时利用训练集训练了原始SSD算法和YOLO算法作为对比,并在测试集进行精度评定,检测结果见表2。

表2 不同算法在DOTA测试集检测结果表

通过对表2 中AP 数据分析可知,文章改进后的检测模型有效提高了模型的检测精度,原因是将原始SSD检测模型中的6 层特征检测层增加了Conv3_2 特征提取层。对比表2 中FPS数据可知,改进后的SSD 模型对比原始SSD 模型,检测速度略有下降,可能原因是由于添加了新的检测层,增加了模型的计算量,但总体而言模型对遥感影像的小目标检测具有一定程度的提升。

图3为经过改进后的SSD算法在DOTA测试集上的检测效果。由图3可知,针对飞机、船舶等小目标,该算法仍具有一定的检测精度。对比图3中的(a)和(d),容易发现船舶目标的检测精度没有飞机目标的检测精度高,通过分析可知,船舶目标与背景颜色十分相似,因此检测难度更大。

图3 (a~c)检测结果图

4 结 语

文章通过对SSD算法进行改进,将改进后的SSD目标检测算法应用于遥感影像小目标检测领域。针对遥感影像数据量不足的问题,采用迁移学习的方式,首先将特征提取网络在ImageNet数据集上进行模型预训练,得到具有较好特征提取能力的特征提取网络;然后将训练好的特征提取网络嵌入改进后的SSD目标检测架构进行迁移训练,同时在损失函数优化过程中使用Adam算法取代SGD算法,最终使得检测模型具有更好的检测精度和检测速度。实验表明,改进后SSD算法在遥感影像目标较小的情况下,仍可以有效识别,一定程度解决了遥感影像中的小目标检测问题。但是算法存在对于遮挡目标会出现漏检、检测精度低的问题,而且特征提取网络对整体模型的检测精度影响较大,因此如何设计更加有效的特征提取网络将是以后的研究方向之一。

猜你喜欢
特征提取卷积目标
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
基于Daubechies(dbN)的飞行器音频特征提取
电子制作(2018年19期)2018-11-14 02:37:08
基于傅里叶域卷积表示的目标跟踪算法
Bagging RCSP脑电特征提取算法
我们的目标
基于MED和循环域解调的多故障特征提取
一种基于卷积神经网络的性别识别方法
电视技术(2014年19期)2014-03-11 15:38:20
Walsh变换在滚动轴承早期故障特征提取中的应用
轴承(2010年2期)2010-07-28 02:26:12
新目标七年级(下)Unit 3练习(一)