查看: 2213|回复: 4

Grid R-CNN理解

[复制链接]

81

主题

162

帖子

493

积分

推广大使

积分
493
发表于 2018-12-28 21:03:12 | 显示全部楼层 |阅读模式
本帖最后由 3dfx232 于 2018-12-28 21:08 编辑

Grid R-CNN这篇论文是刚刚由商汤提出的,其主要是对faster R-CNN框架中定位框回归支路的更改,将以往通过回归方式实现proposal位置修正的方法,更改为通过全卷积网络来实现目标定位框的精确修正。借助卷积层生成的heatmap来确定初始的网格点,并通过这些网格点确定定位框的四条边。之所以做出这样的改变,作者阐述全卷积网络对位置更加具有敏感性,能够更好的实现更加精确的定位,文章中图一比较清楚的表示了这种改变。

11.png

文章对上述过程分为了三个部分进行讲解:

(1)Grid Guided Localization

这一部分主要讲解了怎样利用RoIAlign之后的特征图来生成相应的grid points,在faster R-CNN 中RoIAlign之后对其应用7×7的金字塔池化生成固定长度的特征向量,继而通过后续的全连接层实现相应proposal的分类和位置的回归修正。而在本论文中则通过全卷积网络来生成固定分辨率的heatmap。其结构如下图:对每个proposal相应区域的feature map通过14×14的RoIAlign生成分辨率为14×14的feature map,对生成的feature map进行连续的8个扩张卷积,卷积核大小为3×3,之后连接两个2×的反卷积,所以每个proposal生成分辨率为56×56的heatmap,并且每个heatmap经过sigmoid得到最终的输出。在训练中每张heatmap都有相应监督map,以5个十字交叉的像素作为label点,通过二值交叉进行优化,在检测中则选取每个heatmap中最大值点作为相应网格点。

22.png

由于所生成的网格点都在heatmap中,所以还要将这些点映射回原始图像中,具体的映射公式为

33.png

用图表示更加清晰,上边大框表示输入图像,紫色框表示proposal,下边小框表示相应的heatmap,其中小框的黄色表示heatmap中最大值点(Hx,Hy),紫色框中黄色点表示映射回输入图像的原始点(Ix,Iy),黑点则是proposal的左上角坐标,通过上式可以看出是将heatmap中的坐标做了相应的缩放和平移。

通过上述过程即将N×N个点映射回了输入图像,那么由这些点怎样生成目标物体的坐标框呢,论文中的公式化描述为:

44.png

直观一些的表示如下图:以最上边的框边界yu为例,选择最上边的三个点计算其y坐标的加权和,即可得到相应上边界的坐标yu,权重为相应点的heatmap中的概率值。




(2)Grid Points Feature Fusion

但是这样只利用一个heatmap来生成相应的网格点,还存在问题,假如某个网格点在背景区域,那么该区域获得的信息是不足以精确定位目标物体边界的,如下图中左上角的蓝色点,对于这样的网格点就需要融合周围的网格点对应的heatmap来对其进行校正。



具体的融合方法如下图所示,以左上角的网格点为例,其对应的heatmap为Fi,和左上角单位距离的点称为源点,源点构成的集合设为Si,假设某个源点对应的heatmap为Fj,对Fj进行连续3次的卷积运算,卷积核大小为5×5,得到Fj',然后将源点集合中所有源点对应的heatmap进行上述运算之后与Fi相加得到融合之后的Fi',上述只是采用了单位距离的网格点,称为一阶融合,对所有点进行完一阶融合之后,再进行二阶融合,也即对目标点距离为两倍单位距离的点进行融合,如上图的右图所示。经过这样融合后的heatmap,再通过(1)部分的方法生成对应的边界框。从而提高边界框的定位精度。




(3)Extended Region Mapping

通过上述流程还不足以实现精确的对目标定位,因为有一些proposal覆盖区域比较小,其和groundtruth重合度较小,这使得在网给点的生成中难以对其进行有效的监督训练,如下图中初始生成的proposal即白色框和groundtruth标注框只有两个点重合。

88.png

很自然的可以想到能否通过直接扩大proposal来实现较大的重合呢?答案是否定的,如果增大proposal,那么单个proposal中会包含进较多的背景信息,同样不利于后续精确定位的进行。在这里作者通过改变heatmap和输入图像上点的映射关系来克服该问题,即还是利用同样大小的proposal来产生后续的heatmap,并选择出heatmap上相应的点,但是将该点映射回输入图像时,利用改进后的映射关系,如下图



99.png

化简一下可得:

999.png

观察上式可知是在原来的映射关系上添加了修正项,即当heatmap中选定的grid point左侧时,映射回输入图像会向左侧移动,在右侧时会向右侧移动,对于y坐标是同样的映射关系。通过映射的修正,即可将相应的heatmap的映射区域加以扩展,如上图中的虚线白框,这样既解决了proposal与groundtruth重合过少难以训练问题,又避免了扩大proposal带来的背景混入的问题。



77.png
66.png
55.png
回复

使用道具 举报

81

主题

162

帖子

493

积分

推广大使

积分
493
 楼主| 发表于 2018-12-28 21:09:32 | 显示全部楼层
最新力作、值得1follow
你必须承认
造概念
商汤人是一流的
回复

使用道具 举报

665

主题

1234

帖子

6684

积分

xdtech

Rank: 5Rank: 5

积分
6684
发表于 2018-12-31 21:04:44 | 显示全部楼层
very impressive work
a non-trivial progress
should be used in many other domains
回复

使用道具 举报

166

主题

616

帖子

1万

积分

xdtech

Rank: 5Rank: 5

积分
11705
发表于 2019-1-4 16:04:39 | 显示全部楼层
这个工作,应该能带来一波
变革

做其他方向的,
要赶快将这个理念用起来
回复

使用道具 举报

166

主题

616

帖子

1万

积分

xdtech

Rank: 5Rank: 5

积分
11705
发表于 2019-1-4 16:05:16 | 显示全部楼层
比如,人脸的检测,
比如,目标跟踪,
比如,语义分割,
都可以用起来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表