Deep Learning for Generic Object Detection: A Survey-论文阅读笔记
Posted wyypersist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Deep Learning for Generic Object Detection: A Survey-论文阅读笔记相关的知识,希望对你有一定的参考价值。
Deep Learning for Generic Object Detection: A Survey
通用目标检测的深度学习:综述
//2022.7.12 上午8:27开始阅读笔记
论文地址
Deep Learning for Generic Object Detection: A Survey | SpringerLink
论文贡献
本文的目标是全面综述深度学习技术在这一领域的最新成就,文中总结了目标检测领域的300多项研究;
文中涵盖了通用对象检测的许多方面:检测框架、对象特征表示、对象提议生成、上下文建模、训练策略和评估指标;
论文内容
-
介绍
图1展示的是:2016年至2018年ICCV和CVPR会议论文中最常见的关键词。每个单词的大小与该关键字的频率成正比。可以看出,近年来,目标检测受到了极大的关注。
如图2所示,物体检测可以分为两种类型之一(Grauman和Leibe 2011;Zhang等人,2013):特定实例的检测与广泛类别的检测。
第一种类型旨在检测特定对象的实例(例如唐纳德·特朗普的脸、埃菲尔铁塔或邻居的狗),本质上是一个匹配问题。
第二种类型的目标是检测某些预定义对象类别(例如人、汽车、自行车和狗)的实例(通常以前未看到)。历史上,目标检测领域的大部分工作都集中在单个类别(通常是人脸和行人)或几个特定类别的检测上。相比之下,在过去几年中,研究界已开始朝着更具挑战性的目标迈进,即建立通用目标检测系统,在该系统中,目标检测能力的广度与人类相当。
文中提到:从AlexNet网络开始计算机视觉任务的较好检测结果就是深度神经网络占据着。
图3:近期目标检测性能概述:自2012年深度学习问世以来,我们可以观察到性能(以平均精度衡量)有了显著改善。a在VOC2007-2012比赛中获奖作品的检测结果,b在ILSVRC2013-2017中的顶级物体检测比赛结果(两个小组的结果仅使用提供的训练数据)。
-
与之前审查的比较
表1显示了2000年以来相关物体检测调查总结。
-
视角/范围
限制在:近5年来发表在顶级期刊/会议的论文/文献,且视角主要放在静态图片上,对视频的讨论将作为一个新的主题进行讨论。
-
通用目标检测
-
待讨论的问题
-
研究中重点关注的是bounding box偏移量和其中包含的对象目标。
上图4,a是分类问题,4,b是目标检测问题,4,c是语义分割问题,对象实例分割显示在图4,d中。
-
主要挑战
通用目标检测领域需要达到的目标:高精度和实时检测。
-
-
高精度相关挑战
-
来源于:同一个类的内部变化复杂;不同类别之间数量很多;
类内变化主要是由于:内在因素和成像条件;
成像条件的影响因素:环境条件或物体本身位置的变化等。
图6中的a-h展示的是:成像条件发生的变化。
经典数据集中主要是提出了目标类别的挑战。
2.2.2 目标检测效率相关挑战
由于设备的计算能力和存储能力有限,因此实时检测任务也是一个重要的任务。
计算复杂性随着目标类别数量的增长而显著增加,同时对单个图像来说,其中包含的目标数量越多,其检测的复杂性越高。如图6中c,d所示。
另外具有的挑战是可扩展性,也就是泛化能力,同时高数据速率也是一个重要的部分。
随着图像数量的大量增长,人工标记可能具有一定的难度,因此,弱监督训练也是一种解决方案。
2.3 过去20年的进展
目标检测早期的研究主要是基于模板匹配技术和简单的基于零件的模型。
之后从传统的基于模板匹配技术的模型到基于外观特征的统计分类器的使用。
图7展示了目标检测里程碑出现的时间结点和对应的技术。
其中,SIFT的出现之后,基于局部不变特征进行的目标检测逐渐成为了主流技术,各种视觉任务基本上都是基于局部不变特征进行的。
多年来,手工制作的特征和基于局部特征的判别分类器主导了整个计算机视觉领域。
直到2012提出来了的DCNNs在图像分类方面取得的成功,使得CNN逐渐成为了目标检测的主流技术。
RCNN的提出使得在图像分类领域取得成功的CNN在图像目标检测领域也取得了里程碑式的成功。
但是随之而来的极高的计算成本也使得:减轻注释困难或使用较小数据集进行训练成为了主要挑战。
-
深度学习简介(省略)
4.数据集和性能评估
4.1 数据集
对通用目标检测领域来说,就有四个最权威的数据集:
ImageNet,Pascal VOC,Open Images,MS COCO
表2总结了上述数据集的属性。
图9显示了上述四种数据集中的样本图片。
表3给出了上述四种数据集中检测挑战的训练、验证、测试图像数量和图像中目标实例数量统计。
表4展示了上述四种数据集中出现的最常见对象类的统计。
为了解决ImageNet数据集中单张图像中的目标对象往往出现在图像的中间且较大,这在很多场景下不是典型的图像拍摄效果,因此,MS COCO的设置在解决了上述ImageNet数据集中存在问题之后,还设置了其他新的挑战。
1、它包含范围广泛的物体,包括高比例的小物体(Singh和Davis 2018);
2.物体不那么具有标志性,并且处于杂乱或严重遮挡中;
3.评估指标(见表5)鼓励更准确的目标定位。
在OICOD中仅对人类认为是阳性目标的对象才进行标注。
4.2评价标准
mAP通常作为目标检测的标准度量方式。
自从MS COCO数据集诞生以来,将模型的性能就放到了边界框的准确性上。MS COCO没有设置固定的IoU检测阈值,而是针对于不同大小的对象设置不同的IoU阈值。
例如,与在单个IoU为0.5时计算的传统地图不同,APcoco在所有对象类别和多个IoU值之间平均,从0.5 t到0.95,步长为0.05。由于MS-COCO中41%的对象是小的,24%是大的,因此还引入了度量APsmallcoco、APmediumcoco和APlargecoco。
5.检测框架
几年前,基本的滑动窗口策略仍然是主流技术,但是随着图像像素的增长,随之而来的滑动窗口带来的计算开销是主要问题,且需要在多个尺度或纵横比上进行搜索,这也进一步增加了搜索空间。
通常采用减少计算量的技术有:级联、共享特征计算、减少窗口计算。
深度学习框架主要分为两类:
-
两阶段检测框架,包括了生成对象建议框proposals的过程;
-
单阶段检测框架,不包含生成proposals的过程。
5.1 基于proposals建议两阶段检测框架
图11显示了通用目标检测框架的里程碑。
RCNN集成了AlexNet和proposals搜索策略。
其中的区域建议框是通过选择性搜索算法生成的,CNN将生成的区域建议作为输入进行偏差的微调,在该阶段,所有地区提案≥ 与地面真值盒重叠的0.5 IO U 6定义为该地面真值盒类的正,其余定义为负。
接着,在分类SVM训练中,使用CNN提取的固定长度特征训练一组特定于类的线性支持向量机分类器,代替通过微调学习的softmax分类器。为了训练支持向量机分类器,定义正示例作为每个类的地面真值框。与类的所有地面实况实例重叠小于0.3 IOU的区域建议对于该类为负。请注意,为训练支持向量机分类器定义的正示例和负示例不同于用于微调CNN的示例。
最后,对于具有CNN特征的每个对象类,学习特定于类的包围盒回归器训练包围盒回归。
RCNN存在的缺陷:
-
训练是一个多阶段的流水线,速度慢且难以优化,因为每个阶段都必须单独训练。
-
对于支持向量机分类器和包围盒回归器训练,在磁盘空间和时间上都很昂贵,因为需要从每个图像中的每个对象提议中提取CNN特征,这对大规模检测提出了巨大挑战,特别是对于非常深的网络,例如VGG16(Simonyan和Zisserman 2015)。
-
测试很慢,因为CNN特征是根据每个测试图像中的每个对象建议提取的,没有共享计算。
SPPNet:
SPPNet(He等人,2014)在测试期间,CNN特征提取是RCNN检测管道的主要瓶颈,这需要从每幅图像数千个扭曲区域提议中提取CNN特征。因此,他等人(2014)将传统的空间金字塔池(SPP)(Grauman和Darrell 2005;Lazebnik等人,2006)引入了CNN架构。由于卷积层接受任意大小的输入,CNN中固定大小图像的要求仅是由于完全连接(FC)层,因此他等人在最后一个卷积(CONV)层的顶部添加了SPP层,以获得FC层的固定长度特征。使用该SPPNet,RCNN在不牺牲任何检测质量的情况下获得了显著的加速,因为它只需要在整个测试图像上运行一次卷积层,就可以为任意大小的区域建议生成固定长度的特征。虽然SPPNet将RCNN评估加速了几个数量级,但它不会导致检测器训练的类似加速。此外,SPPNet中的微调(He等人,2014)无法更新SPP层之前的卷积层,这限制了深度网络的精度。
Fast RCNN:
快速RCNN(Girshick 2015)Girshick提出了快速RCNN(Girshick 2015),解决了RCNN和SPPNet的一些缺点,同时提高了它们的检测速度和质量。如图13所示,快速RCNN通过开发一个简化的训练过程,同时学习softmax分类器和类特定的边界盒回归,而不是像RCNN/SPPNet中那样单独训练softmax分类器、支持向量机和边界盒回归器(BBR),从而实现端到端检测器训练。快速RCNN采用跨区域提案共享卷积计算的思想,并在最后一个CONV层和第一个FC层之间添加感兴趣区域(RoI)池层,以提取每个区域提案的固定长度特征。本质上,RoI池使用特征级别的扭曲来近似图像级别的扭曲。RoI池层之后的特征被馈送到FC层序列中,最终分支到两个兄弟输出层:用于对象类别预测的softmax概率,以及用于提案细化的特定于类的边界盒回归偏移。与RCNN \\/SPPNet相比,快速RCNN显著提高了效率,通常在训练时快3倍,在测试时快10倍。因此,具有更高的检测质量、更新所有网络层的单个训练过程,并且不需要存储特征缓存。
快速RCNN(Ren等人,2015、2017)虽然快速RCNN显著加快了检测过程,但它仍然依赖于外部区域建议,其计算被暴露为快速RCNN中新的速度瓶颈。最近的研究表明,CNN具有在CONV层中定位物体的显著能力(Zhou等人,2015,2016a;Cinbis等人,2017;Oquab等人,2015;Hariharan等人,2016),一个在FC层中被削弱的能力。
因此,在生成区域建议时,可以用CNN代替选择性搜索。Ren等人(2015、2017)提出的更快的RCNN框架为生成区域提案提供了一个高效准确的区域提案网络(RPN)。它们利用相同的主干网络,使用来自最后一个共享卷积层的特征来完成RPN用于区域建议的任务,以及快速RCNN用于区域分类的任务,如图13所示。
RPN首先在每个CONV特征地图位置初始化不同比例和纵横比的k个参考框(即所谓的锚)。定位点位置与图像内容无关,但从定位点中提取的特征向量本身与图像内容相关。每个锚点映射到一个低维向量,该向量被馈送到两个同级FC层——对象类别分类层和盒回归层。与快速RCNN中的检测相反,RPN中用于回归的特征与锚盒形状相同,因此k个锚导致k个回归器。RPN与快速RCNN共享CONV特性,从而实现高效的区域建议计算。RPN实际上是一种全卷积网络(FCN)(Long等人2015;Shelhamer等人2017);因此,更快的RCNN是一个纯粹基于CNN的框架,不使用手工制作的功能。
RFCN(基于区域的完全卷积网络)虽然快速RCNN比快速RCNN快一个数量级,但每个RoI(每个图像数百RoI)仍需要应用区域子网络这一事实促使Dai等人(2016c)提出了完全卷积(无隐藏FC层)的RFCN检测器,几乎所有计算都在整个图像上共享。如图13所示,RFCN仅在RoI子网络中不同于更快的RCNN。在更快的RCNN中,RoI池层之后的计算无法共享,因此Dai等人(2016c)提出使用所有CONV层来构建共享的RoI子网络,并且RoI裁剪取自CONV特征的最后一层在预测之前。然而,Dai等人(2016c)发现,这种幼稚的设计具有相当低的检测精度,推测是更深的CONV层对类别语义更敏感,而对翻译更不敏感,而目标检测需要尊重翻译不变性的定位表示。基于这一观察结果,Dai等人(2016c)使用一组专门的CONV层作为FCN输出,构建了一组位置敏感分数图,并在其上添加了位置敏感RoI池层。他们表明,使用ResNet101的RFCN(He等人,2016)可以达到与更快的RCNN相当的精度,通常运行时间更快。
Mask-RCNN-He等人(2017)提出了Mask-RCNN,通过扩展更快的RCNN来解决像素级对象实例分割问题。掩码RCNN采用相同的两阶段流水线,具有相同的第一阶段(RPN),但在第二阶段,与预测类和盒偏移量并行,掩码RCNN添加了一个分支,该分支为每个RoI输出一个二进制掩码。新分支是一个完全卷积网络(FCN)(Long等人,2015年;Shelhamer等人,2017年),位于CNN特征图之上。为了避免原始RoI池(RoIPool)层引起的错位,提出了一种ROAILLIGN层来保持像素级的空间对应。通过骨干网络ResNeXt101 FPN(谢等人,2017;林等人,2017a),Mask-RCNN在COCO对象实例分割和包围盒对象检测方面取得了最佳结果。它训练简单,通用性好,只为更快的RCNN增加了一小部分开销,运行速度为5 FPS(He等人,2017)。
链式级联网络和级联RCNN级联的本质(Felzenszwalb等人,2010a;Bourdev和Brandt 2005;Li和Zhang 2004)是通过使用多级分类器来学习更多区分性分类器,以便早期阶段丢弃大量容易否定的样本,以便后期阶段可以专注于处理更困难的示例。两阶段目标检测可以看作是一个级联,第一阶段检测器去除大量背景,第二阶段对剩余区域进行分类。最近,在链式级联网络(Ouyang等人2017a)中提出了两个以上级联分类器和DCNN的端到端学习,用于通用对象检测,并在级联RCNN(Cai和V asconcelos 2018)中进行了扩展,最近应用于同时对象检测和实例分割(Chen等人2019a),赢得了COCO 2018检测挑战。
Light RCNN为了进一步提高RFCN的检测速度(Dai等人,2016c),李等人(2018c)提出了LightRCNN,使检测网络的头部尽可能轻,以减少RoI计算。特别是,李等人(2018c)应用卷积来生成具有小通道数(例如,COCO为490个通道)和廉价RCNN子网络的薄特征图,从而在速度和精度上实现了极好的权衡。
5.2 统一一阶段框架
统一管道是指在不涉及区域建议生成或分类后/特征重采样的单片设置中,使用单个前馈CNN直接预测来自完整图像的类概率和边界框偏移的架构,将所有计算封装在单个网络中。由于整个管道是单个网络,因此可以直接对检测性能进行端到端优化。
DetectorNet(Szegedy等人,2013年)是最早探索CNN进行目标检测的公司之一。DetectorNet将对象检测公式化为对象边界框掩码的回归问题。他们使用AlexNet(Krizhevsky等人,2012a),并用回归层替换最终的softmax分类器层。给定一个图像窗口,他们使用一个网络来预测粗网格上的前景像素,以及四个额外的网络来预测对象的上半部分、下半部分、左半部分和右半部分。然后,分组过程将预测的掩码转换为检测到的边界框。网络需要按对象类型和掩码类型进行训练,并且不能扩展到多个类。DetectorNet必须对图像进行多次裁剪,并对每个裁剪的每个部分运行多个网络,因此速度较慢。
OverFeat使用类似CNN的AlexNet(Krizhevsky等人,2012a),通过在多尺度图像上以滑动窗口方式执行对象分类来生成候选对象,由于其层完全连接,因此需要固定大小的输入图像,以使滑动窗口方法计算效率高,OverFeat将网络(如图14a所示)转换为全卷积网络,通过将全连接层视为大小为1×1的核的卷积,接收任何大小的输入。OverFeat利用多尺度特征通过网络传递多达六个放大的原始图像比例来提高整体性能(如图14b所示),从而显著增加了评估的上下文视图的数量。对于每个多尺度输入,分类器输出预测网格(类和置信度)。
通过偏移最大池增加预测数量为了提高分辨率,OverFeat在最后一个CONV层之后应用偏移最大池,即在每个偏移处执行子采样操作,产生更多的投票视图,提高稳健性,同时保持效率。
边界盒回归识别对象后,应用单个边界盒回归器。分类器和回归器共享相同的特征提取(CONV)层,在计算分类网络后只需要重新计算FC层。
联合预测:OverFeat使用贪婪的合并策略来合并所有位置和比例的单个边界框预测。
OverFeat具有显著的速度优势,但不如RCNN准确(Girshick等人,2014),因为当时很难训练完全卷积网络。速度优势来自于在全卷积网络中的重叠窗口之间共享卷积计算。OverFeat类似于后来的框架,如YOLO(Redmon等人,2016)和SSD(Liu等人,2016),只是OverFeat中的分类器和回归器是按顺序训练的。
Yolo对小对象预测在刚提出来的时候不是很好。
SSD为了在不牺牲太多检测精度的情况下保持实时速度,刘等人(2016)提出了SSD(单激发检测器),比YOLO(Redmon等人,2016)更快,并且精度与基于区域的检测器(如更快的RCNN)相竞争(任等人,2015)。SSD有效地结合了快速RCNN(Ren等人2015)、YOLO(Redmon等人2016)和多尺度CONV功能(Hariharan等人2016)中RPN的思想,以实现快速检测速度,同时保持高检测质量。与YOLO一样,SSD预测固定数量的边界框和分数,然后通过NMS步骤生成最终检测。SSD中的CNN网络是完全卷积的,其早期层基于标准架构,例如VGG网络,然后是几个辅助CONV层,尺寸逐渐减小。最后一层中的信息在空间上可能过于粗糙,无法进行精确定位,因此SSD通过操作多个CONV特征图在多个尺度上执行检测,每个特征图预测适当大小边界框的类别分数和框偏移。对于300×300输入,SSD在VOC2007测试中以59 FPS的速度实现74.3%的映射,而更快的RCNN 7 FPS\\/mAP 73.2%或YOLO 45 FPS\\/mAP 63.4%。
CornerNet最近,Law和Deng(2018)质疑了锚定框在SoA对象检测框架中的主导作用(Girshick 2015;H e t a l.2017;Redmon et al.2016;Liu et al.2016)。Law和Deng(2018)认为,锚箱的使用,特别是在单阶段检测器中(Fu等人2017;Lin等人2017b;Liu等人2016;Redmon等人2016),存在缺陷(Law和Deng 2018;Lin等人2017b),例如造成正例和负例之间的巨大不平衡,减缓训练和引入额外的超参数。借鉴关于多人位姿估计中关联嵌入的工作(Newell等人,2017年),Law和Deng(2018年)提出了CornerNet,将包围盒目标检测公式化为检测左上角和右下角成对关键点9。在CornerNet中,主干网络由两个堆叠的沙漏网络组成(Newell等人,2016),采用简单的角池方法来更好地定位角点。CornerNet在MS COCO上实现了42.1%的AP,优于之前所有的单级检测器;然而,在Titan X GPU上的平均推断时间约为4FPS,明显低于SSD(Liu等人,2016)和YOLO(Redmon等人,2016)。CornerNet生成不正确的边界框,因为很难确定哪些关键点对应分组到相同的对象中。为了进一步改进CornerNet,Duan等人(2019)提出了CenterNet,通过在提案中心引入一个额外的关键点,将MS COCO AP提高到47.0%,将每个对象检测为三重关键点集,但推理速度低于CornerNet。
6.目标表示
过去,大量工作基于人工制造的各种局部描述符,或者将描述符抽象为更高级别的表示。
CNN的出现使得对特征表示从原来的人工设计提取耗费大量人力物力,转换为设计合理CNN架构方面。
6.1 流行的CNN架构
代表作有:AlexNet,ZFNet,VGGNet,GoogLeNet,Inception系列,ResNet网络,DenseNet,SENet,总结在表6中。
图15可以看到随时间的改善情况。
此外,提出来的挤压和激发模块,可以与现有的CNN框架相结合,以较小的额外计算成本提高性能,通过显式建模卷积特征通道之间的相互依存关系,自适应地重新校准通道特征响应。
CNN架构具有逐渐加深的趋势,VGGNet展示了增加深度可以使得性能得到改善。
Inception模块的提出使得深度CNN网络中的参数数量得到了减少,但性能没有较大变化。
其中,在ResNet网络中使用快速链路可以加速网络的训练速度。
其中,DenseNet中使用密集连接当前层和其他所有层的方法也使得在正反馈过程中带来了性能的提升,以及带来的隐形深度监督、特征重用。
除上述陈述之外的CNN架构,还出现了Hourglass网络,扩张残差网络,双路径网路(DPN),FishNet,GLoRe网络等。
微调可以显著提高CNN的性能。
源数据集和目标数据集之间的关系具有至关重要的作用。
6.2 改进目标表示的方法
使用图像金字塔技巧进行大范围目标的识别。
6.2.1 目标尺度变化的处理
多尺度物体检测的技术:
1、结合多层特征进行检测;
2、多层检测;
3、上述两种方法的组合。
详细解释:
(1) 使用多个CNN层的组合特征进行检测许多方法,包括超柱(Hariharan等人,2016)、超网(Kong等人,2016)和离子(Bell等人,2016),在进行预测之前,组合来自多个层的特征。这种特征组合通常通过连接来实现,连接是一种经典的神经网络思想,将不同层的特征连接起来,这种结构最近在语义分割中很流行(Long等人,2015;Shelhamer等人,2017;H a r iharan等人,2016)。如图16a所示,ION(Bell等人,2016)使用RoI池从多个层次中提取RoI特征。然后,利用级联特征对选择性搜索和边缘盒生成的对象建议进行分类。图16b所示的HyperNet(Kong等人,2016)遵循类似的思想,并集成了深度、中间和浅层特征,以生成对象建议,并通过端到端联合训练策略预测对象。组合特征更具描述性,更有利于定位和分类,但计算复杂度增加。
(2) 在多个CNN层上检测最近的一些方法通过预测不同层上不同分辨率的对象,然后结合这些预测来改进检测:SSD(Liu等人2016)和MSCNN(Cai等人2016)、RBFNet(Liu等人2018b)和DSOD(Shen等人2017)。SSD(Liu等人,2016)将不同尺度的默认框扩展到CNN内的多个层,并迫使每个层专注于预测特定尺度的对象。RFBNet(Liu等人,2018b)用感受野块(RFB)替换SSD的后期卷积层,以增强特征的可辨别性和鲁棒性。RFB是一种多分支卷积块,类似于初始块(Szegedy等人,2015),但将具有不同核和卷积层的多个分支组合在一起(Chen等人,2018b)。MSCNN(Cai等人,2016)在使用层学习区域建议和池特征之前,在CNN的多个层上应用反卷积以提高特征地图分辨率。与RFBNet(Liu等人,2018b)类似,TridentNet(Li等人,2019b)构建了并行多分支架构,其中每个分支共享相同的转换参数,但具有不同的感受野;具有不同扩张率的扩张卷积用于适应不同尺度对象的感受野。
(3) 来自不同层的上述两种方法特征的组合相互补充,可以提高检测精度,如超列(Hariharan等人2016)、超网(Kong等人2016)和ION(Bell等人,2016年)。然而,另一方面,使用大小大致相同的特征检测不同比例的对象是很自然的,这可以通过从缩小的特征地图中检测大对象,同时从放大的特征地图中检测小对象来实现。因此,为了将这两个世界的优点结合起来,最近的一些工作建议在多个层次上检测对象,并通过组合不同层次的特征获得结果特征。这种方法对于分割(Long等人,2015;Shelhamer等人,2017)和人体姿势估计(Newell等人,2016)是有效的,已被一级和两级检测器广泛利用,以缓解对象实例之间的尺度变化问题。代表性方法包括SharpMask(Pinheiro等人,2016年)、反卷积单激发检测器(DSSD)(Fu等人,2017年)、特征金字塔网络(FPN)(Lin等人,2017a)、自顶向下调制(TDM)(Shrivastava等人,2017年)、与目标先验网络反向连接(RON)(Kong等人,2017年)、ZIP(Li等人,2018a)、尺度转换检测网络(STDN)(Zhou等人,2018b),RefineDet(Zhang et al.2018a)、StairNet(Woo et al.2018)、路径聚合网络(PANet)(Liu et al.2018c)、特征金字塔重构(FPR)(Kong et al.2018)、D e t N e t(L i e t a L.2018b)、尺度感知网络(SAN)(Kim et al.2018)、多尺度位置感知内核表示(MLKP)(Wang et al.2018)和M2Det(Zhao et al.2019),如表7所示,并在图17中进行对比。
如下是图17。
早期作品,如FPN(Lin et al.2017a)、DSSD(Fu et al.2017)、TDM(Shrivastava et al.2017)、ZIP(Li et al.2018a)、RON(Kong et al.2017)和RefineDet(Zhang et al.2018a),根据主干固有的多尺度金字塔结构构建了特征金字塔,并取得了令人鼓舞的成果。从图17a1-f1可以看出,这些方法具有非常相似的检测架构,其中包括具有横向连接的自顶向下网络,以补充标准的自底向上前馈网络。具体来说,在自底向上传递后,最终的高层语义特征由自顶向下的网络传回,在横向处理后与来自中间层的自底向上特征相结合,然后将组合的特征用于检测。从图17a2-e2可以看出,主要区别在于简单特征融合块(FFB)的设计,它处理不同层特征的选择和多层特征的组合。
FPN(Lin等人,2017a)作为一种通用特征提取器,在包括目标检测(Lin等人,2017a,b)和实例分割(He等人,2017)在内的多个应用中表现出了显著的改进。在基本更快的RCNN系统中使用FPN在COCO检测数据集上实现了最先进的结果。STDN(Zhou等人,2018b)使用DenseNet(Huang等人,2017a)组合不同层的特征,并设计了比例转换模块以获得具有不同分辨率的特征图。尺度转换模块可以直接嵌入到DenseNet中,且附加成本很低。
最近的工作,如PANet(Liu等人,2018c)、FPR(Kong等人,2018)、DetNet(Li等人,2018b)和M2Det(Zhao等人,2019),如图17g-j所示,建议以不同的方式进一步改进像FPN这样的金字塔结构。基于FPN,刘等人设计了PANet(刘等人,2018c)(图17g1),通过添加另一条自底向上的路径,从低到高具有干净的横向连接,以缩短信息路径并增强特征金字塔。然后,提出了一种自适应特征池来聚合每个提议的所有特征级别的特征。此外,在提议子网络中,创建了一个互补分支,为每个提议捕获不同的视图,以进一步改进掩码预测。这些额外的步骤只会带来轻微的额外计算开销,但非常有效,使PANet在COCO 2017挑战实例分割任务中获得第一名,在目标检测任务中获得第二名。Kong等人提出了FPR(Kong等人,2018年),通过以高度非线性但高效的方式将特征金字塔构建过程[例如,FPN(Lin等人,2017a)]明确重新表述为特征重构函数。如图17h1所示,与FPN中使用自上而下路径从最顶层向下传播强语义特征不同,FPR首先通过自适应级联从骨干网络的多个层中提取特征,然后设计更复杂的FFB模块(图17h2),将强语义传播到所有尺度。李等人(2018b)提出了DetNet(图17i1),通过在骨干网络的后几层引入扩展卷积,以在更深的层中保持较高的空间分辨率。赵等人(2019)提出了一种多级特征金字塔网络(MLFPN),以建立更有效的特征金字塔来检测不同尺度的对象。从图17j1可以看出,首先将来自主干两个不同层的特征融合为基本特征,然后创建具有来自基本特征的横向连接的自上而下路径,以构建特征金字塔。如图17j2、j5所示,FFB模块比FPN模块复杂得多,因为FFB涉及一个细化的U形模块(TUM),以生成第二个金字塔结构,然后将来自多个TUM的具有等效大小的特征映射组合用于对象检测。作者通过将MLFPN集成到SSD中,提出了M2Det,并实现了比其他单级检测器更好的检测性能。
6.3其他类内变化的处理
其他组内变换的种类:
1.几何变换;
2.遮挡;
3.图像退化;
最重要的解决办法:增加数据集的规模。
局部最大池的引入使得DCNN具有一些平移不变性,但是中间特征映射对数据集的输入的几何变换并不具有不变性。
STN集合了旋转,裁剪,缩放,非刚性变形,且已经用于文本检测、旋转人脸检测和通用对象检测。
由于很多权威的数据集并不是很关注旋转检测的性能,因此上述的检测角度工作具有局限性。
在DL之前,基于可变性的传统DPM网络,已经成功地应用于通用目标检测。
DPM对目标的姿态、视点、非刚性变形不是很敏感。
为了解决上述的问题,科学家们所做出来的尝试:
第一次尝试(Girshick等人,2015;Wan等人,2015)通过使用AlexNet在基于DPM的检测中学习的深度特征,将DPMs与CNN结合起来,但没有区域建议。为了使CNN能够受益于建模物体部分变形的内置能力,提出了许多方法,包括DeepIDNet(Ouyang等人,2015)、DCN(Dai等人,2017)和DPFCN(Mordan等人,2018)(如表7所示)。尽管在精神上相似,但变形的计算方式不同:DeepIDNet(Ouyang等人,2017b)设计了一个变形约束池层来代替常规最大池,以学习不同对象类的共享视觉模式及其变形特性;DCN(Dai等人,2017)设计了可变形卷积层和可变形RoI池层,这两个层都基于在特征地图中增加规则网格采样位置的想法;DPFCN(Mordan等人,2018)提出了一种基于可变形部分的RoI池层,该层通过同时优化所有部分的潜在位移来选择对象提议周围的对象的判别部分。
遮挡处理在真实图像中,遮挡很常见,导致对象实例的信息丢失。可变形部分的想法对于遮挡处理很有用,因此提出了可变形RoI池(Dai等人2017;Mordan等人2018;Ouyang和Wang 2013)和可变形卷积(Dai等人2017),通过为典型固定的几何结构提供更大的灵活性来缓解遮挡。王等人(2017)提议学习生成遮挡和变形示例的对抗网络,语境可能有助于处理遮挡(张等人,2018b)。尽管做出了这些努力,但遮挡问题远未得到解决;将遗传算法应用于这一问题可能是一个很有前途的研究方向。
处理图像退化图像噪声是许多实际应用中的常见问题。这通常是由于照明不足、低质量摄像机、图像压缩或边缘设备和可穿戴设备上有意安装的低成本传感器造成的。虽然低图像质量可能会降低视觉识别的性能,但大多数当前方法都是在无退化和清洁的环境中进行评估的,帕斯卡VOC、ImageNet、MS COCO和Open image都专注于相对高质量的图像。据我们所知,迄今为止,解决这一问题的工作非常有限。
7.上下文建模
视觉对象常和其他对象共存在一个上下文中,上下文在人类对目标的识别具有十分重要的作用。
适当的上下文建模有助于对象检测和识别(Torralba 2003;Oliva和Torralba 2007;Chen等人2018b,2015a;Divvala等人2009;Galleguillos和Belongie 2010),尤其是当对象尺寸小、对象遮挡、形状不规则、形状不规则、形状不规则、形状不规则等导致对象外观特征不足时,或者图像质量差。
上下文大致分为三类:
-
语义语境:物体在某些场景中被发现的可能性,但在其他场景中不被发现;
-
空间背景:相对于场景中的其他对象,在某些位置而不是其他位置找到对象的可能性;
-
缩放上下文:相对于场景中的其他对象,对象具有一组有限的大小。
在基于DCNN中探索上下文语境信息是非常有价值的。
表8总结了DCNN中使用上下文语境探索具有代表性的工作:
7.1 全局上下文
全局上下文表示场景级上下文。
全局上下文(Zhang等人,2013年;Galleguillos和Belongie,2010年)是指图像或场景级上下文,可以作为目标检测的线索(例如,卧室会预测床的存在)。在DeepIDNet(Ouyang等人,2015)中,图像分类分数被用作上下文特征,并与目标检测分数连接以提高检测结果。在ION(Bell等人,2016年)中,Bell等人提出使用空间递归神经网络(RNN)探索整个图像中的上下文信息。在SegDeepM(Zhu等人,2015)中,Zhu等人提出了一种马尔可夫随机场模型,该模型对来自每一个检测区域的外观和上下文进行评分,并允许每个候选框从大量对象分割建议中选择一个段,并对它们之间的一致性进行评分。在Shrivastava和Gupta(2016)中,语义分割被用作语境启动的一种形式。
7.2 局部上下文
局部环境(Zhang等人,2013年;Galleguillos和Belongie,2010年;Rabinovich等人,2007年)考虑了局部附近物体之间的关系,以及物体与其周围区域之间的相互作用。一般来说,对象关系建模具有挑战性,需要对不同类别、位置、比例等的边界框进行推理。明确建模对象关系的深度学习研究相当有限,具有代表性的有空间记忆网络(SMN)(陈和古普塔2017)、对象关系网络(胡等人2018a),和结构推理网络(SIN)(刘等人,2018d)。在SMN中,空间内存基本上将对象实例组装回伪图像表示,该伪图像表示易于输入另一个CNN进行对象关系推理,从而形成一种新的顺序推理架构,其中图像和内存并行处理以获得检测,从而进一步更新内存。受自然语言处理中注意力模块最近取得的成功(V aswani等人,2017)的启发,ORN通过外观特征和几何体之间的交互,同时处理一组对象。它不需要额外的监督,并且易于嵌入现有网络,有效地改进了现代目标检测管道中的目标识别和重复消除步骤,从而产生了第一个完全端到端的目标检测器。SIN(Liu等人,2018d)考虑了两种语境:场景语境信息和单个图像中的对象关系。它将对象检测表述为一个图推理问题,其中对象被视为图中的节点,对象之间的关系被建模为边。
更广泛的方法用更简单的想法来解决上下文挑战:扩大检测窗口大小以提取某种形式的局部上下文。代表性方法包括MRCNN(Gidaris和Komodakis 2015)、门控双向CNN(GBDNet)Zeng等人(2016)、Zeng等人(2017)、关注语境CNN(ACCNN)(李等人2017b)、对联网(朱等人2017a)和Sermanet等人(2013)。在MRCNN(Gidaris和Komodakis 2015)(图18a)中,除了在主干的最后一个CONV层从原始对象提议中提取的特征外,Gidaris和Komodakis还提议从对象提议的多个不同区域(半区域、边界区域、中央区域、上下文区域和语义分割区域),以获得更丰富、更稳健的对象表示。所有这些功能都通过串联组合。
自那时以来,已经提出了许多与MRCNN密切相关的方法。Zagoruyko等人(2016)的方法仅使用了四个上下文区域,以中心凹结构组织,其中沿多条路径的分类器端到端联合训练。Zeng等人(2016)、Zeng等人(2017)提出了GBDNet(图18b),以从围绕目标提议的多尺度语境区域中提取特征,以提高检测性能。与分别学习每个区域的CNN特征然后将其串联的有些天真的方法不同,GBDNet在不同上下文区域的特征之间传递消息。Zeng等人(2016)指出,消息传递并不总是有帮助的,但取决于单个样本。u s e d门控函数用于控制消息传输。李等人(2017b)提出了利用全局和局部语境信息的ACCNN(图18c):使用多尺度局部语境化(MLC)子网络捕捉全局语境,该子 以上是关于Deep Learning for Generic Object Detection: A Survey-论文阅读笔记的主要内容,如果未能解决你的问题,请参考以下文章 Deep_Learning_for_Computer_Vision_with_Python.pdf Joint Deep Learning for Pedestrian Detection笔记 李宏毅——Optimization for Deep Learning