您的位置:首页 > 移动开发 > Objective-C

论文阅读《DeNet: Scalable Real-time Object Detection with Directed Sparse Sampling》

2017-04-15 15:17 525 查看
arxiv 30/3/2017

Abstract

作者在这篇文章当中把目标检测问题formulate成估计一个非常大但是很稀疏的概率分布,变量就是所有可能的bounding box,一张输入图像对应的bounding box空间很大,概率P就是bounding box属于各个类别的概率。因为只有极少一部分的bounding box里面是有物体的,因此这个P是稀疏的。只在一些特定的bounding box上有值。因为样本空间很大,要对每一个可能的bounding box去预测这么一个概率分布的话是不可能的。因此,在前面的工作中,比如RCNN系列或者yolo,利用anchor box的方法对这个样本空间进行了下采样。作者这篇论文提出了一种新的下采样的方法。



DeNet的整体框图,前面的base cnn采用的是resnet34/101,后面接出两条分支,其中一条分支做corner detect,在corner detection map上去寻找概率大的bounding box,然后把这些bounding box输入后面的网络去做classification和regression

Contribution

引入了一种新的region proposal的方法,检测精度highly competetive,检测速度实时

Directed Sparse Sampling(DSS)

首先回顾一下faster rcnn中rpn的工作原理:

利用最后一层feature map,引入anchor box的机理,在每一个位置上都有一些预定义大小的anchor box,提取这些anchor box区域内的特征,利用softmax regression来得到这个anchor box里面包含物体的概率,然后拿出前面k(k典型值为300)和proposal取做分类和回归

DSS的工作原理:

同样是预测region proposal,DSS摒弃了anchor box的原理,直接利用proposal的四个corner来进行定位,具体的做法是,从base cnn里面拉出一条支路,上采样,类似做semantic segmentation,预测feature map上每一个点属于四种corner type类型{左上角,左下角,右上角,右下角}的概率。这种预测方式是可以通过监督学习得到的,因为训练图片的bounding box的四个角的坐标,以及映射到corner detection map上的位置都是已知的。

当我们在corner detection map上寻找region proposal的时候,对于任意一个预测的bounding box(proposal),它里面包含物体的概率可以写成:



k = {1,2,3,4} t = {0,1},其实就是这个预测的框四个角分别属于各个角的概率的乘积。乘积越大,说明这个框是一个真正包含物体的框的概率越大。DSS选择前面N*N(N的典型值24)个概率最大的proposal去做分类和回归。

具体从corner detection map上选择bounding box的方法如下:

1.首先找到概率大于C_lamda的{k,y,x};

2.对于每一种corner type,选择M个最大概率的corner;

3.在前面筛选之后top-left集合里面和bottom-right集合里面任取两个组成一个bounding box,通过前面的公式计算这个box里面有物体的概率;

4.在前面筛选之后top-right集合里面和bottom-left集合里面任取两个组成一个bounding box,通过前面的公式计算这个box里面有物体的概率;

5.选择概率最大的N*N个bounding box;

因为大部分的{k,y,x}在第一步就已经被排除了,因此这个算法是非常高效的。

Framework



作者采用了resnet34/101模型,为了提高定位的准确度,先进行了上采样。输入图像是512*512大小的。

训练过程中的loss定义如下:



第一项表示corner detection的loss,第二项表示classification loss,第三项表示regression loss

Experiments



从实验结果,可以看到,检测精度还是很不错的,另外实时性也要比RCNN系列好很多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐