本篇文章4853字,读完约12分钟
近年来,深度卷积神经网络在图像分类和识别方面取得了显著进展。回顾过去两年,从2014年到2016年,r-cnn、Fast R-CNN、Fast R-CNN、Ion、Hypernet、SDP-CRC、Yolo、G-CNN、SSD等越来越快速准确的目标检测方法相继出现。
1.基于区域提议的方法
这种方法的基本思想是先得到候选区域,然后对候选区域进行分类和分帧。
1.1 r-cnn[1]
R-cnn是将dcnn应用于目标检测的早期方法。其核心思想是用离散余弦变换神经网络提取图像中每个候选区域的特征,并用支持向量机对其进行分类。分类结果是一个初步的检测结果,然后再利用离散余弦变换神经网络的特征,结合另一个支持向量机回归模型得到一个更准确的边界盒。
其中,获取候选区域的常用方法是选择性搜索。在一个图中可以获得大约2000个不同大小和类别的候选区域,它们需要被转换成相同的大小以适应cnn处理的图像大小(227x227)。
本文使用的cnn结构来自alexnet,该网络已经在imagenet数据集上的1000个类别的分类任务中进行了训练,然后通过微调参数使该网络结构适应于本文中的21个类别的分类任务。
该方法对voc 2011测试数据集的检测准确率达到71.8%。这种方法的缺点如下:1 .训练和测试过程分为几个阶段:获取候选区域、离散余弦变换神经网络特征提取、支持向量机分类、支持向量机边界框返回,训练过程非常耗时。2.dcnn获得的特征需要保存在训练过程中,这占用了0/内存。3.在测试过程中,每个候选区域都需要提取一次特征,但是这些区域有一定程度的重叠,并且每个区域的特征提取都是独立计算的,效率低下,使得测试图像非常慢。
1.2快速r-cnn[2]
在美国有线电视新闻网的基础上,为了使训练和测试过程更快,罗斯·吉尔希克提出了快速的美国有线电视新闻网,在训练和测试方面比美国有线电视新闻网快9倍和213倍。主要观点如下:1 .卷积整个图像以获得特征图像,而不是卷积每个候选区域;2.将候选区域分类和边界拟合这两个步骤结合起来,而不是分别进行。原理图如下:
本文利用感兴趣区域汇集层将不同大小的候选区域的特征转化为固定大小的特征图像。该方法是:假设候选区域感兴趣区域的大小为,输出的大小为,然后将感兴趣区域按照每个网格的大小划分成网格,然后对每个网格使用最大池来获得目标大小的特征图像。
候选区域分类和边界拟合的结合是通过双任务网络结构实现的:两个完全连接的输出层分别用于类别预测和边界预测(如上图所示),这两个任务同时训练,使用联合代价函数:
公式中的两个术语是分类损失和回归损失。与r-cnn相比,这种方法要快得多。特别是在测试新图像时,如果不考虑生成候选区域的时间,可以实现实时检测。用于生成候选区域的选择性搜索算法处理一幅图像需要大约2秒钟,这成为该方法的一个瓶颈。
1.3更快的r-cnn[3]
以上两种方法都依赖于选择性搜索来生成候选区域,这是非常耗时的,所以我们可以直接使用卷积神经网络来获取候选区域吗?这样,几乎无需额外的时间成本就可以获得候选区域。
邵青·任提出了更快的r-cnn来实现这一思想:假设有两个卷积神经网络,一个是区域生成网络,它可以得到图像中的每个候选区域,另一个是候选区域的分类和边界返回网络。应该在这两个网络的前几层计算卷积。如果它们在这些层中共享参数,并且仅在最后几层中实现它们的特定目标和任务,那么通过使用这些共享卷积层,对于图像只需要一个正卷积计算,并且可以同时获得候选区域和每个候选区域的类别和边界。
RPN方法的示意图如上所示。首先,通过输入图像的几个层的卷积获得特征图像,然后在特征图像上产生候选区域。该方法是使用滑动窗口(3)将局部特征图像转换成低维特征,并预测每个区域(cls层,输出)是否是候选区域和对应的帧(reg层,输出)。这里,每个区域被称为锚,其对应于与滑动窗口具有相同中心和不同大小和纵横比的矩形帧。假设卷积特征图像的大小为,则存在锚。这种特征提取和候选区域生成方法具有位移不变性。
在使用快速反应堆神经网络获得候选区域后,快速反应堆神经网络仍然用于候选区域的分类和边界返回。这两个网络使用一个共同的卷积层。由于快速r-cnn在训练过程中需要使用固定的候选区域生成方法,因此不可能同时使用反向传播算法训练rpn和快速r-cnn。本文用四个步骤来完成培训过程:1 .培训区域方案网络;独自一人;2 .利用步骤1中得到的区域生成方法独立训练快速r-CNN;3.使用步骤2中获得的网络作为初始网络训练rpn。4.再次训练快速r-cnn并微调参数。
快速r-cnn的准确性与快速r-cnn相似,但训练时间和测试时间缩短了10倍。
1.4离子:内外网[4]
离子也基于区域提议。在获得候选区域的基础上,为了进一步提高每个候选感兴趣区域中roi的预测精度,ion考虑了roi内部信息和roi外部信息的组合。有两个创新点:一是将上下文特征与空空间递归神经网络相结合,而不是只在roi中使用局部特征;另一种是将从不同卷积层获得的特征连接起来作为用于预测的多尺度特征。
Ion在上、下、左和右方向独立使用rnn,并连接它们的输出以形成特征输出。通过两个这样的过程获得的特征被用作背景特征,然后与先前卷积层的输出特征连接,以获得包括背景信息和多尺度信息的特征。
1.5 hypernet[5]
在更快的r-cnn的基础上,hypernet在获得更好的候选区域方面比在更快的r-cnn中使用的rpn有了进一步的改进。其思想是组合从不同卷积层获得的特征图像,以产生更好的区域提议和检测精度。
本文将不同卷积层的输出合并得到的特征称为超特征。由于不同卷积层的输出大小不同,浅层特征图像的分辨率较高,有利于提高边界盒的精度,但容易对边界盒中的物体进行误分类;深层获得的特征图像分辨率很低,容易对较小物体的边界盒定位不准确,但这些特征比较抽象,可以使物体的分类精度较高。因此,二者的结合有助于目标检测的准确性和定位的准确性。
1.6 sdp-crc[6]
Sdp-crc在处理不同尺度的目标和提高候选区域的计算效率方面提出了两种策略。第一个策略是基于候选区域规模的池化,即规模部门池化(sdp)。在cnn框架下,由于输入图像需要经过多次卷积,最后一层卷积输出的小目标特征不能很好地描述目标。使用前一层的特征可以更好地描述小对象,使用后一层的特征可以更好地描述大对象。
因此,sdp的思想是在卷积层上选择合适的特征,根据物体的大小来描述物体。例如,如果候选区域的高度在0-64像素之间,则使用第三卷积层的特征(例如,vgg中的conv3)将汇集用作分类器和边界返回的输入特征;如果候选区域的高度超过128个像素,则使用最后一个卷积层的特征(例如,vgg中的conv5)执行分类和返回。
第二种策略是使用丢弃负样本的级联分类器,即级联拒绝类(crc)。快速rcnn的瓶颈之一是候选区域多,对成千上万个候选区域进行完整的分类和计算Return是非常耗时的。循环冗余校验可用于快速排除某些明显不包含对象的候选区域,并且只将全部计算集中在那些非常可能包含对象的候选区域。本文采用adaboost方法,依次使用各卷积层的特征,并使用级联的弱分类器排除负样本。在最后一层卷积的特征图像上,剩余的候选区域被分类并返回。
sdp-crc的准确率远高于快速rnn,检测时间缩短至每帧471ms。
2.不使用区域规划直接预测边界盒的方法
2.1 yolo[7]
Yolo的想法是放弃生成候选区域的中间步骤,直接通过一个单一的卷积神经网络对每个包围盒进行Return,并预测相应类别的概率。
该方法将输入图像分成大网格和小网格。每个网格单元预测边界框及其可靠性。有五个预测值:边界框中心相对于网格单元中心的坐标,边界框相对于整个图像的宽度和高度,以及边界框的可靠性(基于iou和地面事实)。每个单元还预测该单元属于一个类别的概率,因此整个网络的输出是一个张量,其大小为。在实验中,输出的大小是。
在测试阶段,将一个单元的类别概率乘以该单元的b包围盒的可信度,得到包含每个类别的对象的每个包围盒的可信度。
Yolo有高速的优势。本文使用的24层卷积网络在测试图像上可以达到每秒45帧,而另一种简化的网络结构可以达到每秒155帧。这种方法的缺点如下:1 .包围盒的预测有很大的空极限,例如,每个单元只预测两个包围盒和一个类别。2.这种方法不能检测成群出现的小目标,比如一群鸟。3.如果检测目标的长宽比在训练数据中不出现或不常见,则模型的泛化能力较弱。
2.2克-美国有线电视新闻网[8]
美国有线电视新闻网认为目标检测是一个将检测框架从一些固定的网格改变为物体的真实框架的问题。这是一个在几次迭代后不断更新的过程。
如上面的示意图所示,初始检测帧是通过将整个图像用不同的尺度进行网格划分而获得的。卷积后,得到物体的特征图像。利用快速r-cnn中的方法将初始帧对应的特征图像转换成固定大小的特征图像,并通过Return获得更精确的帧。这个新帧再次用作新迭代的初始帧。经过几次迭代后的帧被用作输出。
G-cnn使用大约180个初始帧,经过5次迭代,检测帧速率约为3fps,精度优于快速r-cnn。
2.3固态硬盘[9]
Ssd还预测在用单个卷积神经网络卷积图像之后,在特征图像的每个位置具有不同大小和纵横比的一系列边界框。在测试阶段,网络预测每个包围盒包含各种对象的可能性,并调整包围盒以适应目标对象的形状。
Ssd只需要一个输入图像和在训练期间出现在图像中的对象的边界框。不同的卷积层输出不同比例的特征图像(如上图中的和)。在几个层的特征图像上的每个位置,计算出现在几个(例如四个)默认边界框中的每个目标对象的置信度,以及目标对象的真实边界框与默认边界框的偏差。因此,对于具有尺寸的特征图像,总共产生输出。这类似于更快的r-cnn中的锚点概念,但它适用于不同分辨率的特征图像。ssd和yolo的配对如下:
在voc 2007测试图像上,ssd可以以每秒58帧的速度达到72.1%的地图精度,并且可以预测超过7k的边界帧,而yolo只能预测98。下图显示了上述算法的性能比较:
参考
[1] girshick,ross,等,“用于精确对象检测和语义分割的丰富特征层次结构。”cvpr2014。
[2]罗斯·吉尔希克。"快速r-cnn "iccv2015。
[3] ren,邵青,等,“更快的r-cnn:使用区域建议网络实现实时目标检测”神经信息处理系统的进展。2015.
[4] bell,sean,等,“内外网:用跳跃池和递归神经网络检测上下文中的对象。”arxiv预印本arxiv:1512.04143(2015)。
[5] kong,tao,等. hypernet:走向精确的区域建议生成和联合目标检测arxiv预印本arxiv:1604.00600(2016)。
[6]杨、范、蔡元坤和林元庆。“利用所有层:快速和准确的cnn对象检测器与规模相关的池和级联拒绝分类器。”cvpr2016。
[7] redmon,joseph,等:“你只看一次:统一的,实时的目标检测。”arxiv预印本arxiv:1506.02640(2015)。
[8] najibi,mahyar,mohammad rastegari,larry s. davis。" g-cnn:一个迭代的基于网格的目标检测器."arxiv预印本arxiv:1512.07729(2015)。
[9]刘伟等:“ssd:单次多盒探测器”arxiv预印本arxiv:1512.02325(2015)。
雷锋。(公开号码:雷锋。出版社:原作者泰格夫。这篇文章最初发表在智湖专栏。
雷锋文章版权所有。严禁擅自转载。详情请参考转载说明。
来源:搜狐微门户
标题:看了这篇文章 了解深度卷积神经网络在目标检测中的进展
地址:http://www.shwmhw.com/shxw/60060.html