本文是一篇计算机论文,本文分别在图像数据集预处理和网络结构方面进行了创新。可以概括为三个部分:一是提出了一种多尺度滑动窗口裁剪方法,并通过计算IoU筛选出符合要求的图像,建立新数据集;二是提出了一个DN-NS模块,在保留小目标特征的同时加强对特征的提取能力;三是改进了特征融合网络结构,加入104×104特征层的小目标特征信息,丰富输出特征图中的信息量。
第一章绪论
第一节研究背景及意义
目标检测是计算机视觉领域中的一项技术,其目的就是在获取到的图片或者视频中,通过对图片的内容进行分析并根据其中目标的特征信息,来对目标实现定位以及分类。
目标检测技术不仅解决了分类问题,同时也解决了定位问题,能够实现在环境中迅速准确的识别并定位出目标对象。目标检测技术常用于军事安全监测、自然灾害监测、交通道路规划、无人驾驶、行人数量监测等各个领域。目前,尽管目标检测技术的种类有很多,但是基于深度学习的单阶段目标检测算法,相比于其他目标检测算法来说,具有结构相对简单、计算速度快以及计算效率高的优势。目标检测技术的发展主要分为了两个大阶段,一是1998年至2014年的传统目标检测算法时期,二是2014年至今的基于深度学习的目标检测算法时期。
传统的目标检测算法通常采用人工设计滑动窗口对特征进行提取,包含Viola-Jones检测器[1],HOG特征[2],DPM算法[3]等方法,其做法是先给出一张待测图片,然后通过采用滑动窗口的方式,在这张待测图片上选取一些候选框,并对每个窗口中图像的局部信息进行特征提取,最后再训练分类器。这种技术在人脸检测方面以及行人检测方面得到应用。
基于深度学习的目标检测算法,主要应用于人脸检测、姿态识别、目标计数、车辆检测、自动驾驶、医学影像识别、航空影像分析等领域[4]。目前目标检测的相关研究大部分都是基于深度学习来展开,主要有基于Anchor based方法以及基于Anchor free方法两种。
第二节国内外研究进展与现状
近年来,卷积神经网络在图像处理领域被广泛应用。例如图像增强、图像识别以及边缘检测等方面。由于基于深度学习的目标检测技术相比于传统的目标检测技术更加的方便与快捷,节省了大量的人力资源,并且具有较优的检测性能。因此国内外大量的研究者将视线聚焦于基于深度学习的目标检测领域中的遥感图像检测领域。
虽然目标检测技术在遥感图像领域中被广泛应用,但是由于遥感图像本身所存在的特点,使得目标检测技术在遥感图像领域的应用中仍然存在一些难点。由于遥感图像数据集具有目标类别多、目标数量差异大、目标尺寸差异大以及背景复杂等特征,因此会影响到遥感图像领域中目标检测算法的性能。
随着深度学习的发展,研究者们提出了多种优秀的目标检测网络模型,如多阶段的R-CNN、Faster R-CNN等[29-33],单阶段的RetinaNet、You Only Look Once(YOLO)等[34-37]。虽然这些检测模型在大目标上的检测性能较为优秀,但是在遥感图像中的表现结果并不如意。由于遥感图像高分辨的特性,导致其中的中小目标在复杂背景下特征表达能力较弱,并且图像中目标存在种类多、尺寸不一以及分布不均匀的问题,对遥感图像中的目标检测任务造成了困难。如何提高遥感图像中目标检测算法的性能,成为研究者们所讨论的问题。
对于遥感图像,最直观的问题就是图像尺寸过大,导致其中的中小型目标比例过小,造成检测的困难,对于这个问题,通常对输入的图像进行一定的操作,例如裁剪出固定区域进行检测,或者是将大尺寸图像裁剪为多张小尺寸图像。2016年Zhang等人[38]尝试先对机场区域的目标进行检测后,再对机场内的目标对象进行检测,但是所用数据集都比较靠近机场区域,缺少复杂背景的影响。2019年,J Pang等人[39]提出了一种统一且自我增强的卷积神经网络R2-CNN,通过将大尺寸的输入图像裁剪为较小尺寸图像,例如裁剪为640×640像素大小的图像,并且将这些图像在原图中的重叠率设置为20%,通过自我强化的方式减少分类错误的情况。2020年Rabbi J等人[40]提出了一项新的边缘增强超分辨率GAN技术(EESRGAN),它可以显著提升遥感影像的质量,并且通过将端到端检测器的损失信息传输到EESRGAN中,大大提高检测性能。以上改进是基于数据集进行的,但是在数据集图像处理方面仍然还存在可改进的地方。
第二章目标检测相关理论基础
第一节卷积神经网络
卷积神经网络(Convolutional Neural Networks,CNN),卷积神经网络是一种通过使用卷积运算替代一般运算方式的神经网络结构。在深度学习中,被广泛应用于图像识别、图像分类、目标检测等领域。卷积神经网络是一个用来处理图像的神经网络,它由输入层、卷积层、池化层、激活函数和全连接层组成。以下分别对神经网络的各个部分进行介绍。
一、输入层
输入层是卷积神经网络的第一层,是输入数据与神经网络进行交互的接口,输入层负责对输入数据进行处理,使得数据的维度符合神经网络的计算维度。在图像处理任务中,输入层需要对输入的图像先进行一定的处理,将不匹配训练尺寸的图像,通过缩放的方式,将其转换为网络训练所需尺寸。在输入大量图像时,通常不会选择将所有图像一次性输入进网络之中,因为这样不仅会造成内存压力过大,还会增加训练的时间,因此,在输入图像数据时,通常以批量的方式将数据输入到网络之中,通过控制批量的大小,来减少内存占用,提高训练速度。
二、卷积层
卷积层是卷积神经网络中最重要的部分,主要负责对特征的提取和卷积计算。在深度学习任务中,常使用多次卷积对输入对象进行提取特征的操作。通过多次卷积对图像中的信息进行拆分提取,获得目标对象的特征信息。
卷积操作通常在输入图像上采用滑动窗口的方式,通过使用卷积核进行内积运算,对局部信息进行卷积运算,将得到的结果映射到新的特征矩阵中去。常见的卷积核大小为3×3、5×5和7×7,在进行卷积运算时,使用从左到右,从上到下的顺序滑动窗口,对各区域的像素值进行计算,得到卷积后的特征值。使用卷积运算使得在提取特征信息的同时,扩大了感受野,增强了对信息的接收能力。
第二节YOLOv4
一、YOLOv4网络结构
YOLOv4结构相对于YOLOv3来说并没有太大的改变,其网络结构可以分为三个部分:一是对图片特征进行提取的Backbone主干网络;二是将提取后特征进行相互融合的Neck网络;三是负责进行预测和分类的Head网络。图2.6为YOLOv4的网络结构图。
Backbone骨干网络,是网络模型中负责特征提取的部分。YOLOv4在Darknet53上进行了改进,将CSPNet的经验加入其中,得到了CSPDarknet53网络。将原本的残差网络进行改进,将输入的特征图分别进行卷积生成两个新的特征图,对其中的一个特征图经过残差卷积后,再将两个特征图按照通道进行拼接,减少了计算量,加快了计算速度。
Neck网络是网络结构中负责特征融合的部分,它由空间金字塔池化(SPP)和路径聚合网络(PANet)两个部分组成。SPP采用4个尺寸不同的卷积核,分别为13×13、9×9、5×5和1×1,对输出特征图进行池化处理,并将池化后的特征图进行拼接,使拼接后的特征图不仅具有更全面的语义信息,同时还能更好地捕捉上下文特征信息。PANet是FPN的改进版,在进行特征传递融合时,不仅自上而下传递,也自下而上传递,将经过上采样和下采样后的特征图进行拼接操作,不仅保留了原本的特征信息,也增加了特征图中包含的信息,使融合后的特征图具有较为丰富的特征信息。
第三章图像处理方法.....................................22
第一节图像增强................................................22
一、传统数据增强方法.........................................22
二、随机擦除增强方法...........................................24
第四章基于注意力的改进YOLOV4算法...........................38
第一节注意力模块.................................38
一、通道注意力机制..........................................38
二、空间注意力机制.......................................39
第五章基于跨层连接的特征融合网络...............................53
第一节空间金字塔池化...........................................53
第二节特征金字塔.......................................54
第五章基于跨层连接的特征融合网络
第一节空间金字塔池化
2015年,何凯明博士等人[77]提出了空间金字塔池化网络,空间金字塔池化的示意图如图5.1所示,通过使用多个大小不同的池化核,可以将任意尺寸的输入特征图转换为相同尺寸的输出特征图,也可以将同一特征图的不同尺度作为输入特征图,经过池化处理后,得到同一尺度的特征图。该方式可以提高图像特征的尺度不变性,同时缓解过拟合现象,通过对比实验得知,该方法可以加强网络的鲁棒性,由于空间金字塔池化模块可以作为单独模块进行使用,因此可以在卷积操作后直接使用。
当输入图像大小为416×416时,通过特征提取网络提取特征后,获得了大小为13×13×512的特征图。对该特征图使用大小不同的池化核进行最大池化操作,池化核大小分别为1×1、5×5、9×9和13×13,并将得到的四个特征图进行拼接,最终得到池化后大小为13×13×2048的特征图。最后,通过多次卷积的方式获得输出为13×13×512的特征图,以进行后续学习和训练。SPP模块先通过一个卷积操作将输入通道降维为输入通道数的一半,再通过池化操作将局部特征和全部特征相融合,加强了特征图中的特征信息。
第六章总结与展望
第一节总结
在计算机视觉领域中,目标检测技术始终是一个重要的研究方向,在人员计数、遥感图像、灾害监测、海上搜救等方面都得到了广泛的应用。对目标检测技术的研究可以推动计算机视觉领域的发展。在遥感图像领域,随着设备的更新换代,能够得到具有更高质量、更高分辨率的遥感图像。但是遥感图像具有分辨率高、目标对象尺度差异大以及对象分布不均匀的问题。这为目标检测任务带来了一定的难度,因此,本文对于遥感图像中图像分辨率大以及小目标对象多、造成的检测性能不高等问题展开研究,通过使用神经网络与注意力机制相结合,以及改变数据集的图像处理方式,来加强模型的检测性能。本文主要工作如下:
(1)介绍了目标检测技术的研究意义和背景,整理了关于小目标检测的研究现状和进展。
(2)提出一种图像裁剪方法。由于遥感图像具有大分辨率高,目标尺度较大,且小目标数量较多的特性。若是直接将图像输入进模型进行训练,会出现由于图像尺寸过大从而出现得较多小目标漏检或者显存爆炸现象。因此在使用大尺寸图像进行训练时,首先需要对图像进行处理,将大尺寸图像裁剪成为较小尺寸的图像,不仅能缓解小目标对象的漏检情况,同时也可以缓解显存压力。本文提出的裁剪方式基于滑动窗口裁剪的思想,首先,统计出数据集中所有目标对象的种类以及其对应的数量;其次,根据目标对象的尺寸设置相应的滑动窗口大小以及窗口覆盖大小,通过设置覆盖大小减少目标对象被切成两半的情况出现;最后,在裁剪过程中,通过设置一个IoU阈值的方式,对被裁剪的标注框进行筛选,去除目标主体较少的标注框,保留较为完整的目标对象,并将裁剪后结果保存为新的数据集。
参考文献(略)