目标检测

目标检测算法综述

2020-03-05  本文已影响0人  赵小闹闹

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

image.png

检测组件

学习策略

应用及Benchmarks

1.传统方法

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

2.深度学习方法

image.png

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

检测组件

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

特征描述

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


image.png

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


image.png

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)学习门函数选择上下文信息的融合。

学习策略

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

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

测试阶段

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

主要是针对两阶段检测器耗时问题的解决。针对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的大小、增强学习等

上一篇 下一篇

猜你喜欢

热点阅读