与传统回归不同,Grid RCNN利用全卷积结构来抓取了空间信息。设计一种多点,而非只用两个独立的点,的监督形式来编码更多的线索,为了减少具体的点的不准确推测的影响。为了充分发挥网格点的相关性的优势, 我们采用了两阶段融合侧率来融合邻网格点的特征图。网格限制的定位方法很容易拓展到不同的检测框架中。Grid RCNN是高质量的物体检测策略。和Res50的Faster RCNN和FPN框架相比,Grid RCNN在COCO基准中,IOU=0.8mAP提高了4.1%, IOU=0.9的mAP提高了10%。
两个独立的点足够预测物体的位置,但是并不容易预测,因为,位置的点,不是和局部特征相关的,比如上图猫的左上角的点,其实是背景,而且周围像素也都是背景。
为了解决这个问题,我们设计了一个多点监督的形式。在网格中的目标点,我们用更多的线索去减小一些点的不准确预测的影响。
为了发挥网格内相关点的优势,我们提出一种信息融合策略。
我们为每个点设计一个特征图的群组。每一个网格点,相邻网格点的特征图被收集,融合成一个集成的特征图。集成的特征图用来相关网格点的位置预测。
空间相关网格点的互补信息相合并从而达到更准确的预测。
本文的创新点:
新的定位框架Grid RCNN,用表示空间信息的全卷积有效替代了传统的位置回归网络。
设计了多点监督,以消除不准确点的影响。提出特征图级别的信息融合机制,来使得通过空间相关点去获得合并的特征图,从而位置得到更好的校准。
我们展示并证明了Grid RCNN框架适用于不同检测框架和网络。并且在严格的位置校准上有很大的提高。
3. 相关研究 Related Work
CornerNet是one-stage,自底向上的方法。没有第一实例的,从全图中直接生成特征点。所以,CornetNet关键步骤就是识别出,哪个关键点术语同一个实例,比把他们凑到一起。
而我们的方法不同,我们是自顶向下的两阶段的检测器,第一步就是定义实例。我们关注的是如何更准确的定位边框关键点。而且相关点信息融合,比两个角点定位更准确。
4.1 网格引导定位
通过RPN网络选出候选区域,通过ROIAlign,缩放到14*14的feature map上,跟着8个3*3带孔卷积(更大的感受野),这个之后,两个上采样到56*56,最后生成N*N通道的56*56分辨率的heatmap。
Heatmap上的grid point到原图中的映射关系为:
(Hx, Hy)是heatmap上的grid point,(Ix, Iy)是原图中对应的点,(Px, Py)是RPN出的候选区域的坐标, wo,wh是heatmap的宽高56, wp,hp是候选区域宽高,比如(160,240)
B = (xl, yu, xr, yb) 类似于(xmin, ymin, xmax, ymax)
简单讲,就是ymin是由最上面三个grid点的平均坐标来表示。
4.2 Grid Points Feature Fusion 网格点特征融合
网格点有内部空间相关性,他们的位置被批次校准,从而减少整体的偏差。
直观性实现就是取坐标的平均,但忽略了特征图上丰富的信息。更进一步想,在每个特征图上提取相关于某个网格点的局部特征,来实现融合。但这个也忽略了在不同特征图上潜在的有效信息。
以3*3网格为例,比如中间网格的点的左上角区域的特征,可以用来校准左上角的网格点。 因此 我们设计了一个特征图级信息融合机制来很好的利用每个网格点的特征图。
为了区分每个不同点的特征图,我们用N*N组的滤波器去分别提取他们的特征,并监督他们相邻网格点。每个特征图都确定了确定点的关系,我们把和第i个点的特征图,命名为Fi
对于每个网格点,有L1个网格长度的距离的点,将进行融合,这个叫做源点。我们定义一套源点,第i个网格点为Si。对于第j个源点
Fj被3个连续的5*5的卷积层处理, 来传递信息,这个处理由方程表示。所有源点处理的特征被融合成Fi来获得融合特征图Fi'.比如figure3a中的3*3的左上角例子。
我们采用简单的加和,来实现融合,信息融合的形式表示为下式:
基于每个网格点的Fi', 融合的二阶,表示为一个新的卷积层, , 并不和一阶共享参数。二阶融合特征图Fi'', 用来输出最后的heatmap对于网格点的定位预测。
二阶融合是的信息传递在2的范围,(2个网格长度),以左上网格点为例,在3*3的网格中。可以同步其他5个网格点,可靠的校准。
Extended Region Mapping 扩展区域映射
网格预测单元输出固定空间尺寸的输入的heatmap,代表置信度分布,网格点的位置。因此采用了去哪聚氨基网络结构,空间信息被保存,输出的heatmpa自然和原图中输入候选区的空间区域相关。然而,一个候选区一可能不完全覆盖整个物体,也就是说,ground truth网格点,可能置于候选区域外,不能被监督图来标签朱,或者在前向的时候被预测。
在训练期间,缺少几个网格点标签会导致没有充分利用训练样本。在前向阶段,通过简单选择heatmap上最多的像素,我们会获得完全不准确的位置,在那些groundtruth位置在相关区域外的网格点。在很多例子中,超过半数的网格点都没被覆盖,。
一个自然的想法是扩大候选区域。这个方法确定可以将网格点都被包括在候选区内,但它会引入背景或其他物体的冗余的特征。实验证明,简单的扩大候选区域有害无利,还损伤小物体检测。
为了解决这个问题,我们修改了输出heatmap和原图的关系,通过扩大区域的映射方法。当获得候选区,从heatmpa中一样的区域得到roi features,而我们重新定义输出heatmpa代表的区域 图像中两倍大的区域,这样所有的点都被包含在里面了。
扩展的区域映射,修改为下式:
新的映射,可以包含所有正例候选区的目标网格点。
网络配置: 我们采用了50层,101层ResNets ,w/o FPN当做主干网络。RPN提出候选区域。我们coco数据集采800的短边,pascal voc采用600短边,在rpn中,256个anchor被采样,1:1于负样本,rpnanchor 5个scale 3个ratios,iou阈值正样本0.7,负样本0.3,。在分类时,roi有一个与真值iou大于0.5的为正样本。我们基于faster rcnn采样128个roi每个图,fpn的模型采样512个roi。1:3比于负样本。所有实验都采用ROIalign,赤化尺寸为7,在分类分支,14在网格分支。网格预测分支,没附图采样96个roi,训练时只有正样本。
优化:我们使用SGD啦优化训练损失,0.9的动量和0.0001的权重衰减。预训练模型在imagenet上训练的。其他新的参数用MSRA方式初始化,没有数据增广,只是用了标准水平的翻转。我们的模型在32个nvidai titan xp上训练,20个迭代,初始化的学习率0.02, 在13,18次迭代时 缩小10倍。我们也是用了学习率预热,和同步batch norm机制,使得多GPU更稳定。
前向:在前向阶段,每张图RPN生成300/1000(FASTER RCNN/FPN)个roi,然后,这些roi的特征被roialign处理,分类分支生成类别分数,跟随一个NMS0.5iou阈值。那个之后,我们选择前125个分数的roi区域,并把他们的roialign特征放入网格分支,做更多的位置预测。最后nms0.5iou阈值,将被采用,去除重复的预测狂。