针对目前武器装备在检测空中远距离弱小目标、假目标、遮挡等情况中智能化程度不高问题,分析了卷积神经网络的工作方式以及其应用在目标检测中的优势,讨论了基于卷积神经网络的目标检测算法在其它图像检测领域的应用情况及取得的最新成果,通过研究发现卷积神经网络利用其强大的特征学习能力使得检测过程更为高效化、智能化,将其应用到导弹武器系统中是未来提升防空作战效能的必然手段。 卷积神经网络; 检测算法; 武器系统; 目标检测 传统的目标检测算法大多根据特定背景特定问题,利用先验知识采取人工设计单种或多种特征的方法来实现对图像中目标的检测,这些方法不仅执行速度低、计算量大,而且可移植性较差,对于复杂背景下的多种类、多姿态目标有着较差的适用性和鲁棒性。卷积神经网络源起于Hubel等人在60年代对猫的大脑视觉皮层和视觉系统的研究,该研究提出了生物感受野(Receptive Field)这一观点,研究人员设想将生物感受野的能力赋予计算机,让计算机也能拥有类似于生物的视觉能力,可以对图像中的多类目标进行自动搜索识别、定位和分类。基于这一设想,Fukushima于80年代、Lecun于90年代分别提出了Neocognitron和LeNet-5神经网络模型,其中前者可以认为是卷积神经网络的首次实现,而后者成功地将梯度反向传播算法应用在模型的训练过程中,成为当前卷积神经网络模型的奠基之作。 然而LeNet-5网络模型主要是针对解决手写数字识别问题提出来的,并且由于当时计算机技术的限制和卷积神经网络理论基础不够完善,LeNet-5模型总体来说泛化能力较弱,并不能很好地解决复杂图像的识别与分类问题。直到2006年,多伦多大学教授Hinton及其学生在《Science》期刊上创造性地提出深度学习的思想,该思想主要阐释了两个重要观点:1)含有多个隐层的神经网络在特征学习方面有着杰出的优势,能够更抽象、更本质地表达出原始输入数据,可有效解决识别或分类问题;2)通过实现“逐层初始化”方法,分级表达、解释、和处理输入的数据信息,可有效降低神经网络在训练上的复杂度。同时随着计算机技术和硬件设备的飞速发展,研究人员取代CPU在运算性能更佳的GPU上实现了卷积运算,使得网络的计算能力得到极大的提高。自此,国内外科研界和工业界掀起了对基于卷积神经网络的深度学习算法的研究热潮。 在当今的大数据时代,卷积神经网络在图像处理领域,如图像识别、图像分割、目标检测与跟踪等方面取得了许多突破性进展并发挥着不可替代的作用。就军事领域而言,导弹武器系统面临着日趋复杂的战场环境和不断升级的作战方式,为达到作战效果,导弹武器系统必须对目标实施快速搜索与识别,精确智能的探测与跟踪,为后续的火力打击提供重要支撑。近几年来涌现的以检测精度为代表的Faster R-CNN、R-FCN等算法,和以检测速度为代表的SSD、YOLO等算法,这些基于深度学习的算法相比于传统的检测算法,不仅避免了对手工设计特征的依赖,而且使得检测过程更为高效化和智能化。郑昌艳等针对导弹武器系统拦截蛇形机动目标问题,提出了基于卷积神经网络的航迹模式识别方法,能够对不同类型航迹图像保持较高的识别率,提高系统鲁棒性;冯小雨等在防空背景下针对特定任务,利用改进的Faster R-CNN算法对空中目标实现了远超于传统算法的检测效果。因此将基于深度学习的目标识别、检测技术应用到导弹武器系统中,是提升作战效能的必要手段和技术发展的必然趋势。 典型的卷积神经网络架构通常由卷积层、池化层以及全连接层组成,图1为一个简化的卷积神经网络结构图。其中C1、C2 表示的是卷积层,S1、S2表示的是子采样层。 图1 卷积神经网络结构 卷积层即为特征提取层,其核心为若干个可以训练学习的卷积核,首先原始输入图像与C1层的卷积核Wl(图1所示为3个,l表示第l层)以及一个可加偏置bl进行卷积运算,由此得到特征映射图,对特征映射图上相邻区域nxn个像素进行池化操作,常见的有最大池化和平均池化,该操作通过对特征图降维,减少数据量从而节约训练分类器时的计算资源,其次池化后的输出具有平移不变性的特性,增强了网络的鲁棒性;池化后的特征图经过激活函数后在S1层获得新的特征映射图,常见的激活函数表达式及函数曲线图如表1所示。新的特征映射图再通过相同原理的C2层与S2层,最终的特征图的像素值分别被栅格化,之后输入到传统的神经网络中训练的为特征向量连接成的一维向量。 表1 常见的激活函数及其曲线图 卷积神经网络的成功实现还得益于梯度反向传播算法的提出和发展。输入到神经网络中的图像数据样本x经过训练后得到的网络输出,记为yW,b(x),与样本的实际真值之间会存在误差,误差在算法中逐层传播,卷积神经网络的卷积核等参数通过有监督的学习训练,进行逐层更新。在网络训练中以代价函数P的大小来评判网络训练模型的优劣程度,实际中为了防止过拟合现象,代价函数通常被定义为公式(1)。任意l层的卷积核Wl和偏置项bl都按照公式(2)的方法来进行更新。 LeNet-5网络模型适用于识别手写数字,但在解决复杂图像的识别分类问题上存在明显不足。在ILSVRC2012竞赛中,Alex Krizhevsky等人提出了基于卷积神经网络的AlexNet深度学习模型,该模型最终的网络结构共包含8层(5层卷积层和3层全连接层),最后的分类层采用的是softmax函数,同时采用新的非线性激活函数ReLU来抑制大的输入导致的梯度消失问题并提高训练速度,以及设计局部响应归一化层、数据增强和采用dropout方法等手段提高网络的泛化性能,抑制过拟合现象。AlexNet模型是深度学习在大规模图像分类领域的首次应用,并在竞赛中以显著优势超过了第二名传统分类算法的结果。但是AlexNet模型的卷积层为了在原始图像上快速获得特征映射图,设计了大尺寸的卷积核(11x11),导致网络训练过程中丢失了很多细节特征,影响网络的最终分类结果。 针对解决AlexNet模型的弊端,牛津大学的视觉几何组在ILSVRC2014竞赛中提出了VGGNet模型,该模型的最终版本有VGG16和VGG19两种,图2所示的为VGG16模型的网络结构,由图可以看出VGG16模型仿照AlexNet模型的5层卷积层将13层卷积层分为了五组,另外也包含3层全连接层,VGG19模型在后三组分别比VGG16模型多了一层卷积层。该模型相比于AlexNet主要有两点改进:1)证明了使用多个小尺寸的卷积核(VGGNet模型中均采用3x3的卷积核)可以代替大尺寸的卷积核,而通过利用小尺寸卷积核适当增加网络的深度可以取得更优的分类结果;2)采用了多尺度训练方法,增强了网络对图像缩放的不变性能力。 图2 VGG16网络结构 VGGNet模型证明了随着网络深度的增加,网络的学习能力也会得到相应提升,但是实验证明仅通过对网络简单的堆叠来加深网络会导致深层次网络出现梯度消失现象,不能获得理想的识别分类效果。在ILSVRC2015竞赛中,冠军由何凯明团队首次提出的网络层数超过一百层(实际为152层,目前已可达到1000层)的深度残差网络模型ResNet获得,该模型设计的的核心结构(图3所示)通过恒等快捷连接方式很好的解决了梯度消失问题,从而保证了深层网络良好的识别分类效果。 图3 残差网络结构 其它的典型的卷积神经网络模型还包括谷歌团队设计的GoogLeNet模型、与密歇根大学联合提出的TALNet模型,以及微软亚洲研究院先后提出的SPPNet模型和PReLUNet模型。值得一提的是,在ILSVRC 竞赛数据集的识别分类上,PReLUNet是第一个实现超越人眼识别率的网络模型。目前研究人员也设计了一些专门应用在移动设备上的神经网络模型,例如MobileNet、ShuffleNet、PeleeNET等模型。 基于卷积神经网络的深度学习模型在图像识别分类领域得到了成功应用并取得了令人瞩目的成就,其在学习特征方面表现的优异性能也吸引了目标检测领域众多研究人员的关注。第一个将卷积神经网络较好地应用在目标检测领域的模型是Girshick等人于2014年提出的R-CNN模型,以平均准确率均值mAP为评估准则,该模型远远超过了以往的传统检测算法在标准PASCAL VOC数据集测试集上的检测准确率,提高了将近20%。此后在R-CNN模型的基础上,一系列优秀的目标检测模型相继被提出,这些检测模型大致可以分为基于候选区域网络方法和基于回归方法两大类。 Faster R-CNN算法模型的提出依次经历了R-CNN、Fast R-CNN等多个算法模型的改进。R-CNN检测算法模型与传统检测算法在进行图像目标检测时步骤相类似,主要分为三个阶段,即首先在输入样本图像上找寻可能存在目标的位置,称为候选区域,这一阶段常用的方法有selective search或edgebox方法;其次分别提取待分类候选区域的特征,这一阶段完全利用卷积神经网络方法来实现,是R-CNN检测算法模型区别于传统检测算法的核心阶段;最后一个阶段是训练SVM分类器对第二阶段提取到的特征进行分类,以及利用边框回归算法修正坐标,保证目标的定位。由三个阶段可以看出,R-CNN模型在实现图像目标检测过程中每个阶段都使用了不同的方法,此外在第二阶段中需要对每张样本图像中的所有候选区域都进行卷积操作提取特征,并且存储特征供第三阶段的SVM使用,带来了训练步骤复杂、占用空间内存大等弊端,极大地限制了检测模型的实时性需求。 2015年Girshick将R-CNN模型与何凯明等人提出的SPPNet思想相结合,提出了新的检测模型Fast R-CNN,其网络结构如图4所示。由图4可知Fast R-CNN模型相比于R-CNN模型其核心过程在于感兴趣区域(RoIs)思想以及softmax分类层、边框回归层的提出,而且整个过程只对每幅样本图像进行了一次卷积操作。每幅样本图像的感兴趣区域由图像的标注真值框和候选区域之间的IoU计算筛选得到,感兴趣区域池化层借鉴SPPNet的空间金字塔池化层思想,不再严格规定输入样本图像的尺寸规格,通过该池化层后任意尺寸的特征图都被统一到相同的维数。Fast R-CNN模型的输出结果由完全代替SVM的softmax分类层和边框回归层得到,这两个全连接层分别计算的是目标所属类别的概率值(包括前景概率值、背景概率值)和定位目标框的坐标值,同时还利用了一种融合分类任务损失和回归任务损失的多任务损失函数方法对这两个全连接层进行训练,提高模型分类精度和修正目标框坐标值。Fast R-CNN模型将图像的特征提取和定位检测都直接通过卷积神经网络来实现,使得模型的训练和测试速度得到了显著提升。 图4 Fast R-CNN模型结构 Fast R-CNN模型将R-CNN模型进行目标检测过程的后两个阶段利用卷积神经网络实现了统一,但是在第一阶段候选区域的选取上没有给出更好的方法。因此2015年任少卿等人针对候选区域选取问题提出了RPN,即候选区域网路,也利用卷积神经网络的方法来生成候选区域,其结构示意图如图5所示。其原理是在网络模型最后的特征映射图上添加一个尺寸为3x3的滑动窗,滑动窗的中心就是K个锚点框的中心,锚点框的尺度和长宽比不一,在特征映射图上确定中心坐标、尺度和长宽比的锚点框,再映射回原始样本图像即可获得候选区域。可以视为RPN和Fast R-CNN模型相结合而成的Faster R-CNN模型在训练过程中采用了一种多阶段交替训练的方法,从而实现了RPN和Fast R-CNN模型部分卷积层的权值参数共享。至此Faster R-CNN模型利用卷积神经网络实现了将目标检测过程三个阶段一体化的任务,在数据集上的测试结果表明Faster R-CNN模型在保证mAP得到提升的同时也基本满足了目标实时性检测的要求。 图5 候选区域网络结构 ![]() 诸如Faster R-CNN模型、解决目标遮挡问题的ION模型、实现多个卷积层特征图融合的Hypernet模型等众多目标检测架构,其中应用的卷积神经网络结构主要来自于对分类网络模型AlexNet或VGGNet等的借鉴,均采用在最后卷积层池化层的末端添加若干层全连接层的方式。R-FCN模型则根据目标检测需要定位目标位置的特点将ResNet改造成了一种全卷积网络,即使用一层位置敏感卷积层来替换掉全连接层,继而相应提出了位置敏感得分这一概念,旨在解决目标检测过程中全连接层丢失目标精确位置信息的问题。 图6 位置敏感池化 图6给出的是R-FCN模型设计的位置敏感池化方式图,该模型关键步骤是将经RPN网络选取的C+1类待检测物体的每个感兴趣区域划分成kxk(文中k=3)块小区域,每块小区域对应目标的不同位置,并计算不同位置可能属于目标的相应分值,再通过一个类似于投票的过程,根据分数值高低来判断目标所属类别。由图可以看出,R-FCN模型在实现分类的同时目标的位置信息也得到了很好的保留,有利于目标的检测定位。 ![]() ![]() ![]() ![]() 由谷歌团队构造的SSD检测模型与上述几种检测模型的工作方式明显不同,其模型架构相比于VGG16基础网络是在最后一层卷积层的末端多添加了若干层不同尺度的特征层。 SSD模型完成检测过程只需要样本图像和标注真值标签这两个部分的输入,之后通过3x3卷积核的滑动在每层卷积层产生的特征图的每个位置上画默认边界框,再对边界框进行预测,其性质与候选区域网络的锚点框相一致。通过这样的工作方式SSD模型产生了大量的负样本边界框,针对这一问题,SSD模型也采用了非极大值抑制方法以及难分样本挖掘 (hard negative mining) 技术进行处理。从检测流程总体来看,SSD模型使用了一种可称为单神经网络多边界框检测(Single Shot MultiBox Detector)的方式直接完成候选区域选取和区域分类这两个步骤的工作,因此大大缩短了检测时间,该检测模型完全能够达到实时检测的要求。目前SSD算法已经被研究人员成功移植到iOS系统上并能流畅地运行,其在手机上的运行速度已经超越了在一般计算机CPU上的运行速度。 ![]() ![]() YOLO模型全称为You Only Look Once,意为只用看一眼物体即可将其识别出来,代表了极高的检测速度。目前研究人员在YOLO模型基础上主要设计出了三种改进版本,分别为YOLOv2模型、YOLO9000模型和YOLOv3模型,逐渐使目标检测模型朝着更好更快更强的方向发展。 1)YOLO模型从一开始就是针对解决基于候选区域网络模型的检测速度欠缺问题而提出来的,该模型的网络结构是一个单纯的卷积神经网络,在输出层回归边界框位置及其所属类别,参考的是GoogLeNet并进行了改造。模型关键思路是首先将输入样本图像分割成7x7大小的子网格,待检测物体由包含其中心点的子网格来进行预测,每个子网格负责输出2个边界框的中心点坐标(xcenter,ycenter)、宽、高以及置信度值,其中在训练过程中中心点坐标需要相对于所属子网格进行归一化处理,宽、高需要相对于样本图像进行归一化处理,置信度值则由(3)式计算得到,若有人工标注的真值框中心点落在该子网格中则Pr(object)为1,否则为0。此外每个子网格还需要对其分别所属C类物体的概率值进行预测。 虽然YOLO模型的检测速度远远高于基于候选区域网络的检测模型,但是其也存在定位误差大和对密而小目标适用性较差的缺陷。 2)YOLOv2模型设计的基础分类网络是只包含卷积层和池化层的Darknet-19,该模型对YOLO的改进体现在以下几个方面:①引入Batch Normalization方法,即在网络当前层训练前归一化处理输入到该层的数据,加快模型收敛速度;②使用高分辨率输入微调模型的分类网络,在进行检测任务时提高网络对高分辨率输入的适用性;③借鉴候选区域网络锚点框思路来预测边界框,提高模型召回率;④采用K-means聚类方法寻求更优的初始化边界框;⑤通过在网络中添加passthrough层来结合不同分辨率的特征以获得更加精细的特征信息;⑥多尺度训练网络,提高网络对不同分辨率输入的检测鲁棒性。 3) YOLO9000模型是与YOLOv2模型一同被提出来的,YOLO9000模型参考WordNet提出了 WordTree这一机制,将ImageNet数据集前9000个类别、COCO检测数据集类别以及其它一些类别整合成了一个包括9418个类别的联合数据集,之后用联合数据集对模型进行训练,整个过程也可以被称为联合训练过程,YOLO9000模型可以看成是YOLOv2模型与联合训练方式的结合,其最突出的特点和优势是能够对超过9000类物体的数据集样本图像进行实时检测。 4)YOLOv3模型的特征提取网络结构不仅综合了YOLOv2和ResNet的特点,并且为了实现多尺度的预测而参考了特征金字塔网络FPN的设计,由此构造出一个包含53层卷积层的深层网络结构Darknet-53,此外YOLOv3模型还利用多个逻辑分类器来代替softmax进行分类以适用于复杂目标类别或多标签分类。 基于深度学习的卷积神经网络模型在图像分类领域取得的突出成就也促进了其在更具挑战性的图像检测领域的迅猛发展和不断进步,海量的数据和强大硬件设备的支撑是卷积神经网络能够在图像处理领域取得空前成功的重要基础。就本文的介绍来看,基于深度学习的卷积神经网络模型没有最好只有更好,因此其在某些方面仍然需要进行持续完善和改进: (1)完备卷积神经网络的理论基础,对网络表达的特征进一步解释和优化,提高检测准确率; (2)在保证准确率的前提下设计更优更轻型的网络模型,减少对强大硬件设备依赖的同时实现实时检测,更好地应用于嵌入式设备中; (3)使用巧妙的设计来减少模型运算的吞吐量,取得检测准确率、速度以及内存消耗之间的均衡。 除此之外提高模型的可编程性、能效和学习率等性能也是需要面临的挑战,亟待解决。尽管如此,卷积神经网络依靠其巨大的潜力优势吸引着越来越多的学者对其进行探索和不断拓展,可以预见的是卷积神经网络在未来的应用领域和发展前景必将更加广阔。 引用格式: 姜晓伟,王春平,付强. 卷积神经网络及其在目标检测中的应用[J]. 战术导弹技术, 2019, (1): 108-114+123. ![]() 本文选自《战术导弹技术》2019年第1期 作者:姜晓伟,王春平,付强 |
|
来自: 昵称m5Gu5 > 《装备技术发展应用》