目标检测算法综述 检测组件 学习策略 应用及Benchmarks 1.传统方法 2.深度学习方法 检测组件 特征描述 学习策略 测试阶段 目标检测未来可能研究方向

参考:https://mp.weixin.qq.com/s/S1IrgEqS1Q4xqGl5adNrlg
目标检测维度

检测组件

  • 检测设置:Bounding Box 与像素 Mask
  • 检测范式:两阶段法与一阶段法
  • 推荐区域生成方法:传统计算机视觉方法,基于Anchor的方法,基于关键点的方法,其他方法
  • Backbone结构:1.VGG16,ResNet,DenseNet;2.MobileNet,ResNeXt;3.DetNet,Hourglass Net
  • 特征描述:多尺度特征学习,区域特征编码,上下文推理,可变性特征学习

学习策略

  • 训练阶段:数据增强,非平衡采样,定位精炼,级联学习
  • 测试阶段:duplicate removal,模型加速

应用及Benchmarks

  • 应用:人脸识别,行人识别。
  • Benchmarks:MSCOCO,Pascal VOC,open images,FDDB,Wider FACE.

1.传统方法

传统目标检测方法流程:区域选择--特征提取--分类器
区域选择:滑动窗口,导致计算量过大
特征提取:由于形态、光照、背景多样性,导致人工设计的特征难以鲁棒,主要是HOG,SIFT,Haar等。
分类器:SVM等。
主要缺点:滑动窗口的区域选择方法计算量大;手动设计的特征无鲁棒性。

2.深度学习方法


OverFeat,R-CNN,Fast R-CNN等方法引入CNN进行特征特征,未改变区域推荐方法,计算量仍比较大。
Faster R-CNN提出RPN进行区域推荐,目标检测算法实现端到端。

检测组件

  • 两阶段方法:区域推荐+回归



    R-CNN引入CNN进行特征提取,R-CNN与Fast R-CNN都是用SS进行区域推荐,Fast R-CNN中提出了ROI Pooling ,将区域座标与feature map对应起来,只需要提取一次特征就可以,减少计算量,提升检测速度,Faster R-CNN提出了RPN,实现了端到端。

  • 一阶段方法,没有区域推荐过程,直接进行回归


  • 基于anchor方法


Faster RCNN提出的RPN为开山之作,后来陆续基于此工作进行改进。
DeRPN将anchor回归的四信息维度分解成两个线段信息(AAAI2019),更易回归(但是效果而言不算特别惊艳);DeepProposal(ICCV2015)从低分辨率特征图到高分辨率特征图路线预测proposal然后精炼;RefineDet(CVPR2018)将手工设计的anchor进行逐级精炼获得更好的候选区域;Cascade RCNN(CVPR2018)通过Iou阈值的match观察,通过iou阈值的筛选逐渐提高高质量proposal的比例;MetaAnchor(NIPS2018)尝试学习如何设计anchor,但是其自定义的基础anchor组仍是手工设计的。

  • Keypoints-based Methods
      将基于关键点的检测器分为两类:corner-based 和center-based。前者直接预测一对角点,代表是CornerNet;后者预测特征图上每个位置的中心点出现的概率并在此基础上预测宽高,如FSAF;还有两种思路结合的方法,如CenterNet。

特征描述

  • 多尺度学习


1.图像金字塔

左上。对不同尺度图像训练多尺度检测器,获得检测器对多尺度图像的描述能力,但是计算量巨大,使用较少。
2.特征融合

将不同层的特征融合在一起,以兼顾多尺度特征学习能力。如ION将不同层的特征通过RoIpooling进行裁剪融合,在预测中结合了多尺度的信息;类似的还有HyperNet,Multi-scale Location-aware Kernel Representation等。跨层特征融合方法现在用的不多,一般现在都是多尺度预测。

3.预测金字塔

右上,对多层特征分别预测,SSD,MSCNN等方法均使用此思路。

4.特征金字塔
经典的是FPN。
每个分辨率的feature map引入后一分辨率缩放两倍的feature map做element-wise相加的操作,进而做预测。通过这样的连接,每一层预测所用的feature map都融合了不同分辨率、不同语义强度的特征,融合的不同分辨率的feature map分别做对应分辨率大小的物体检测。这样保证了每一层都有合适的分辨率以及强语义特征。

特征融合详细讲一下
前期启发式工作为hypernet



将低层特征池化缩小两倍,高层特征反卷积扩大两倍,与中间层特征尺度相同,使用concat操作将特征通道数连接在一起,进行预测。
后续更成功的特征金字塔。


  • (a)图像金字塔:图像缩放成不同尺寸分别提取特征图,对特征图分别进行预测

  • (b)普通单层特征图:取最后一层特征进行预测

  • (c)预测金字塔,典型的如SSD,对每层特征进行预测

  • (d)特征金字塔:融合SSD与hypernet思路,高层特征进行两倍上采样与其上一层特征尺寸相同,上一层特征经过1*1卷积操作,与高层特征通道上相同,采用add操作,将两层特征图夹在一起,多层特征图均这样操作,对变换后的每层特征进行预测。使用concat进行通道数相加也可以。


  • 特征描述
    1.Region Feature Encoding

RoIPooling。改进从Pooling到Warping然后是Align以及清华的个PrRoipooling,减少量化误差。其他的变式如R-FCN的PSRoIPooling;Couplenet的整合pooling输出;可变性卷积的变形RoIPooling等。
2.上下文推理
全局上下文推理:学习整张图片的上下文信息,并通过这些上下文信息进行目标的推断。代表工作如ION,DeepId,改进版的Faster R-CNN。
区域上下文推理:只编码候选区域附近的上下文信息,即检测目标与其附近环境的关系。直接建模物体与其周围的关系是很难的,因为目标的周围环境具有很大的变化性,难以抽象和建模。相关工作有:

SMN模块(ICCV2017)记录关联并作为先验判断;SIN(CVPR2018)将物体作为节点,进而推理边的关系的图推理问题;
设计了一种Relation Network(CVPR2018)替代掉传统的NMS过程;
扩大proposal滑窗尺寸得到更广域的上下文信息然后和本ROI进行concat融合(ECCV2016);
GBDNet (ECCV2016)学习门函数选择上下文信息的融合。

学习策略

  • 训练阶段
    不均衡采样:proposal的样本不平衡可分为:类别不平衡和难分程度不平衡。
    类别不平衡
    主要是proposal的背景数远多于正样本。解决方法有不均衡采样,如Faster RCNN的1:3采样;SSD中提出困难样本采样策略,将难分proposal喂给网络更新参数。
    难度不平衡
    Focal Loss,GHM,OHEM。

  • 定位优化
    对proposal位置进行精修获得更准确地边框位置。
    (1)得到更高质量的proposal(2)Fast R-CNN的smoothL1回归损失(3)LocNet的连续回归(感觉和IoUNet一样)(4)Multipath Network多尺度Roi以及多个不同阈值IoU分类器的共同学习(5)Grid RCNN

  • Training from Scratch(从无到有的训练)

出发点是分类与检测任务不同,分类预训练模型可能对检测的初始化带来不好的对抗偏置(但是实际来看,预训练能解决很多问题,这个说法有点牵强)。

最早提出Training from Scratch的是DSOD,后来陆续有基于此的结构改进以便实现从头训练的更好收敛。包括Detnet就以这个为标准进行了比较。但是何恺明的Rethinking imagenet pre-training表示只要数据够大(10k),直接训练不逊色于fine-tune的,无关具体结构,这间接否定了一些这方面设计的工作。

测试阶段

  • Duplicate Removal(重复删除)

NMS,soft-NMS,还有可学习的Learning NMS。

  • Model Acceleration(模型加速)

主要是针对两阶段检测器耗时问题的解决。针对R-FCN的heavy位敏特征图,Light Head R-CNN进行简化取得不错的速度和性能的tradeoff;backbone方面有MobileNet深度可分离卷积加速特征提取;非线性计算部分有PVANet采用CReLU激活函数加速;还有一些离线加速方法,如模型压缩量化,剪枝等。

目标检测未来可能研究方向

(1)Proposal的Anchor生成方式(2)对上下文信息更有效的编码(3)更好更大的数据集(4)Low-shot目标检测(5)适用于检测任务的backbone(6)轻量级目标检测:加速检测算法,使其能够在移动设备上平稳运行。(7)AutoML:未来的一个方向是使用神经结构搜索,减少设计检测模型时的人为干预(例如,如何设计引擎,如何设置锚盒)。AutoML可能是目标检测的未来。(8)弱监督检测(9)小目标检测(10)在视频中检测(11)信息融合检测(12)其他,如batch的大小、增强学习等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章