春天来了
Spring coming
春天来了
Spring coming
最近杭州天空终于有太阳了,心情都好起来了。真正的春天到来了,为了消除春困,有兴趣的可以和我们一起探讨下接下来讲述的技术框架,主要涉及深度学习及目标检测领域,那就开始吧!
先简单说下背景:
研究背景
目标检测其实就是查找给定图像的一个或多个目标类的所有实例。
近年来,目标检测已经被研究很长一段时间,并取得了很大的进步且部分都已经应用到实际生活当中,好比人流量统计、刷脸支付、危险人物监测等技术。其中最著名的框架属R-CNN[1](2014年),首先使用选择性搜索生成目标区域候选[2](2013年),提取这些区域的CNN特征[3],并将其用特殊类的SVMs分类。然后,出现了Fast R-CNN[4],使用特征共享和RoI池化提高R-CNN的速度。最近的研究是将外部区域候选模块整合到CNN中,以进一步提高训练和检测速度。
因此,通过对区域候选和分类模块的联合学习,也可以提高检测精度。
[1] Girshick, R. B.; Donahue, J.; Darrell, T.; and Malik, J. 2014. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 580–587.
[2] Uijlings, J. R. R.; van de Sande, K. E. A.; Gevers, T.; and Smeulders, A. W. M. 2013. Selective search for object recognition. IJCV 104(2):154–171.
[3] Krizhevsky, A.; Sutskever, I.; and Hinton, G. E. 2012. Imagenet classification with deep convolutional neural networks. In NIPS, 1106–1114.
[4] Girshick, R. B. 2015. Fast R-CNN. In ICCV, 1440–1448.
现代检测器通常在固定的输入尺度下简化特征提取和目标检测过程。但是,即使在尺度变化下具有鲁棒性,区域候选的精度也经常会因所产生的候选和目标区域的变化而降低。此外,对于小目标检测错误会增加。为了提高候选的精度,采用特征金字塔的多尺度特征表示来生成更强的综合特征图。然而,图像金字塔的每层都显著增加了推理时间。
动 机
一般情况下,检测错误经常由于目标遮挡造成。在这种情况下,由于目标的某些部分细节在区域中缺失,因此该目标的CNN特征大量减少,意味着对整个目标区域进行全局外观特征的挖掘不足以对目标进行准确的分类和定位。具体例子如下:
框 架
接下来直接进入主题——区域分解和集成的检测器(R-DAD)。在下图的框架中,首先是将一个目标区域划分为多个小区域,为了联合捕获目标的整体外观和部分细节,在整个目标区域和分解区域中提取CNN特征;然后将多区域特征逐步与区域集成块相结合,学习目标与其部件之间的语义关系,并利用组合的和高级语义特征进行目标分类和定位。
为了更准确地提出区域候选,提出了一个多尺度的候选层,可以生成不同尺度的目标候选,将R-DAD集成到多个特征中,并且在VOC2017、VOC2012和MSCOCO数据集上进行实验,发现有了显著的性能提升。
该框架主要由3小部分组成:1)特征提取,2)基于多尺度的区域候选(MRP,Multi-Scale Region Proposal),3)目标区域分解与集成阶段(RDA,Region Decomposition and Assembly)。
特征提取
这部分主要基于Faster R-CNN的流程,我们主要说说第二步骤(MRP)及第三部分内容(RDA)。
MRP
上图中的MRP模块主要作用是用来改善RPN生成的Region Proposals的准确率。看过的同学应该都知道,该思想特别简单,就是利用传统的RPN生成一些候选框,然后再用不同的缩放因子(该技术使用了5种缩放因子作为一组:s = [0.5, 0.7, 1, 1.2, 1.5])对生成出的候选框进行不同比例的缩小及放大,从而提高了区域候选的多样性。
如上,就生成了不同尺度的区域,有部分仅仅是局部区域,有部分是大于目标本身的区域,其实这也有一个问题:原来的区域候选已经有很大数量级,再乘以五个尺寸,也就是乘以五倍,想要该框架完全利用生成的候选框感觉很吃力啊!
所以最后添加了RoI的采样层,对得分较低的和跟GT重叠率较低的进行了筛选。由MRP网络生成的各种Region Proposals可以进一步适应目标之间因为空间变化所导致的特征变化,提高结构的鲁棒性。
RDA
一般来说,特征的强烈响应是识别目标最重要的方法之一。因此,对于来自MRP网络的每一个候选,都会通过结合多个区域的逐阶段特征来进行强的再加工,如上图。为此,需要学习能够表示不同部分特征之间语义关系的权重,并利用这些权重来控制下一层特征的数量。上图还显示了学习的R-DAD的几个层的语义特性。目标内部的一些强特征响应是由R-DAD提取的。
先用线性插值两倍上采样之后再分解,这样效果会更好。左右刚好是特征图的左右一半,上下也同理,都会输入到RAB模块,RAB模块如下图所示:
通过上图可以发现,RAB模块类似于一个Maxout的单元,它可以逼近任何连续函数,所以该框架最终选择了RAB而不是直接使用常用的ReLU函数,这表明各种各样的目标特征构造可以通过分层的RABs表示,此外该网络生成的各种区域候选可以进一步提高目标间空间配置变化所产生的特征变化的鲁棒性。
实验结果
提出的多尺度区域候选和目标区域分解/集成方法的效果
不同区域集成块的检测比较
在VOC数据集上与Faster R-CNN比较
在MSCOCO数据集上的结果比较
实验效果图
之前自己也做过类似的框架,下次有机会我可以把我发表文章的ideal和大家分享一下,也是针对遮挡及尺度变化的问题进行设计,有兴趣的可以持续关注我们“计算机视觉战队”平台的最新推送。
如果想加入我们“计算机视觉战队”,请扫二维码加入学习群。计算机视觉战队主要涉及机器学习、深度学习等领域,由来自于各校的硕博研究生组成的团队,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。