A MultiPath Network for Object Detection
Introduce
本篇论文是Facebook AI的工作,作者改进了目标检测的方法,在COCO数据集上进行实验,相比Seletive Search方法的fast R-CNN,将实验效果进一步提升了66%,在小物体上提高了4倍。作者的改进主要在以下三点:
- 使用skip connections 融合多层的信息。
- 使用foveal structure 考虑物体的上下文信息。
- 使用integral loss函数,提高了位置的精准度。
之前的论文,作者一般都会采用PASCAL和ImageNet数据集进行实验,一般都能做到不错的效果,其中PASCAL都能达到85%的实验效果了,但是在COCO数据集上,所有的方法都表现不好。COCO数据集主要有以下特点: 物体尺度范围比较大,各种大大小小的物体都有,小物体很多,很多方法都在小物体上表现很差,并且COCO的评价标准更为严格。本篇作者就直接提高游戏难度,在高难度的COCO上进行实验,下面详细介绍作者的三个主要改进工作。
Method
目标检测的主要过程就是,提取region proposal,利用CNN提取proposal 特征进行分类和边框回归。本文也沿袭了这一过程,在Fast R-CNN之前的工作,一般来说,都是使用Selective Search,MultiBox这样的利用图像颜色,边缘信息提取region proposal,后来提取区域夜用CNN来替代,本文中作者采取了DeepMask提取区域,这里DeepMask使用VGG网络生成region proposal。接下来就是将region proposal信息传入网络中,提取特征,分类和定位。整个网络提取region proposal以后的过程如下图所示:
Foveal Structure
在目标检测中,目标所在的上下文信息对目标的识别有很大帮助,比如说,一个飞机周围的上下文信息一般是天空或者陆地,如果一个飞机出现在一个动物园里,这种可能性就很小了。为了融合上下文信息,作者采用了区域裁剪的方法,在原始的region proposal中心位置,裁剪区域尺度为 1× , 1.5× , 2× , 4× 四种不同倍数的区域,然后进行RoI Pooling,将输出的信息拼接一起,用来分类,就可以得到和上下文相关的信息了。
Skip Connection
以Fast R-CNN为例,使用VGG网络,在conv5层以后,经过一系列的卷积和pooling,特征已经缩小了16倍,一个32*32大小的区域到conv5以后就变成了2*2大小,16*16的区块就变成了1个像素点了,RoI pooling上采样到7*7的时候,很多信息已经损失了,这也是很多目标检测方法在小物体上表现很差的原因。前面已经提到,COCO数据集中有很多小物体,所以直接使用conv5的特征是没法work的。作者使用了conv3,conv4,conv5的信息,使用figure1这种方式进行连接,为了特征降维,作者使用1*1的卷积。
Integral loss
Fast R-CNN的损失函数如下所示:
公式中 p 表示预测的属于某类概率,
但是第一项存在以下的缺点,所有阈值大于的50的都是同等的,例如100%重合和50%重合都是正确。作者提出了改进方法,更高的重合度应该有更多的得分,作者提出的改进的分类损失函数如下:
k∗u 是不同阈值u对应的值,由于公式(2)是连续的积分,作者使用du = 5使用求和公式,修改的目标函数公式(3)所示:
实验中,选取n =6, u∈{50,55,.....,75} 。
Experiment
最后贴几张对比实验的结果:
Conclusion
论文作者提出了多尺度,融合上下文这两种在16年cvpr的hyperNet,ION也见过类似的思想,但是目标函数进行积分处理,的确很有创新的地方。
Reference
A MultiPath Network for Object Detection Sergey Zagoruyko, Adam Lerer, Tsung-Yi Lin?, Pedro O. Pinheiro, Sam Gross, Soumith Chintala, Piotr Dollár