代码地址:Grid-R-CNN

1. 概述

导读:这篇文章在Faster RCNN(带FPN)的基础上采用grid guided定位机制提出了新的检测方法Grid RCNN。与传统的回归方法相比,Grid RCNN显式捕获空间信息(像素级,使得定位更准确),并使用了卷积网络对位置敏感的特性。在检测框的表达上,传统方法使用两个独立的点(左上与右下),而这篇文章中的方法使用多点组合的形式组合更多的信息以排除一些不精确的检测结果。同时为了能够更好利用网格中点的联系,文章提出一个两阶段特征融合策略融合相邻grid点的特征。
可移植性方面,文章提出的grid guided定位方法可以很容易移植到不同的检测方法中去。
在性能方面,Grid RCNN在COCO benchmark上相比这篇文章中的基准网络在IoU=0.8时提升了4.1%AP,在IoU=0.9时提升了10%AP。

这篇文章提出的全卷积的定位框回归方法与传统的检测框回归方法对比,见图1所示:

一般来说使用两个点就可以定位一个目标,但是定位目标的点并不是与定位的特征直接关联的。好比如在图1(b)中的右上角的点,它的位置其实没有在目标上而是在背景区域,它与周围的背景有着相似的特征,这样就会影响到精确的边界定位。

为了克服这个问题文章提出了多点监督机制,通过在一个网格中定义目标点,可以获得更多信息来减少一些点检测不准确的影响。比如猫咪右上角的点可能不准确,可以通过刚好位于边界的上中点进行监督校准。

除此之外,为了充分利用网格点的信息,提出了一种信息融合的策略。具体来说,对于一个网格点来说,其相邻的特征图都会被收集并融合成一个特征图,这个融合后的特征图用于相应网格点的预测,从而使得这个网格点的位置更加精准。

文章的主要贡献如下:

  • 1)这篇文章提出了一个新的检测器Grid RCNN,其使用卷积网络有效保留了空间信息,首次通过两阶段网络使用逐点预测grid点的形式定位目标;
  • 2)提出对grid中的预测点使用多点监督方法,减少了一些不准确点的影响。为了使空间上相关联的grid点获取到融合特征,在特征层级上提出了特征融合的机制,这样使得目标的定位可以被校准;
  • 3)在多个检测框架上运用Grid RCNN中的检测机制,证明了grid guided定位机制是好于传统上基于回归的定位方法的;

2. 方法设计

2.1 网络结构

这篇文章提出的网络结构见图2所示:

与Faster RCNN不同是将原来全连接的回归网络换成了全卷机的网络(grid预测分支),这个分支在RPN RoI的结果上输出一组空间分布(heatmap),可以用它来定位目标边界框的grid点。在grid点基础上通过特征图级别的信息融合方法确定准确的定位框。

2.2 Grid Guided定位

从RoIAlign出来的特征图被规定为14∗1414*1414∗14大小,其后面接了8个3∗33*33∗3的膨胀卷积(扩大感受野),之后使用2个2倍的反卷积扩大分辨率到56∗5656*5656∗56,最后其输出channel是N∗NN*NN∗N,分辨率是56∗5656*5656∗56的特征图(每个网格点对应一个特征图),这些特征图经过sigmoid操作得到对应的概率图。对于这些heatmap都有一个对应的监督图(GT),这些监督图中使用5个像素组成的交叉形状带表示目标点,并使用二值交叉熵损失回归。

在预测阶段在每个heatmap上选择最大置信度的像素作为grid point,并计算相对原始图像的位置,这里使用(Hx,Hy)(H_x, H_y)(Hx​,Hy​)表示heatmap中的grid点位置,(Ix,Iy)(I_x,I_y)(Ix​,Iy​)表示原始输入图中的位置,其计算关系如下:

其中,(Px,Py)(P_x,P_y)(Px​,Py​)表示当前目标的proposal左上角点相对原始图像的偏移,wp,hp,wo,how_p,h_p,w_o,h_owp​,hp​,wo​,ho​分别表示proposal的宽高与输出heatmap的宽高。

得到这些网格点之后就是需要计算预测出来的检测框了,文中对检测框的描述为B=(xl,yu,xr,yb)B=(x_l,y_u,x_r,y_b)B=(xl​,yu​,xr​,yb​),分别表示检测框的上下左右四个边。第jjj个grid点坐标为(xj,yj)(x_j,y_j)(xj​,yj​),其对应的概率为pjp_jpj​。第iii条边使用EiE_iEi​表示,自然每条边上都有多个点(grid point),则对应的四个边界位置就是使用这些点加权组合的形式得到,其关系为:

使用加权组合的形式会使得误差变动减小,预测更精准些。由网格点带来的性能影响见下表1所示:

2.3 Grid Points特征融合

被划分的网格上的点并不是相互独立的,相反其是相互关联的,这节讲的是如何使用这些点的关联来减少grid点的偏差。直接使用均值坐标的形式会抛弃掉很多特征图的丰富信息,对此提出了另外一种特征融合的方式。

这里使用两个阶段的特征融合策略。对于第一阶段特征融合,这里选用图3(a)中左上角的点作为原点,距离其距离为1的点(其对应的特征图)加入进来进行特征融合,既是这些点的特征图使用3个连续的5∗55*55∗5卷积之后与原点所在的特征图相加,其数学表达为:

在做完一阶段特征融合之后,选用距离为2的网格点进行进一步特征融合,使用第二阶段特征融合的结果作为后面grid点定位heatmap的输出(图3(b))。需要注意的是第一阶段与第二阶段的权值并不是共享的,分别单独有一套,相互独立。

特征融合对网络性能带来的影响见表2所示:

2.4 Extended Region Mapping

实际中发现目标对应的网格点并没有落在RPN的RoI中,自然后面的grid point生成heatmap中也不会存在这些对应的网格点,这就导致训练阶段一些网格点的缺失,从而无法有效使用训练样本中的一些样本,训练效率降低;预测阶段由于网格点的丢失会导致对应目标的定位错误。其示意见图4所示,小的白框是RPN的结果,绿色的是GT,9个点中的7个点没有在RPN区域中。

其中一个直观的解决办法就是增大RPN的结果,但是这样会带来一些无关的东西,会降低对于小目标的检测性能。对此,文章是通过重新定义输出heatmap的表达区域(增大对应的面积) 实现的,在高度和宽度上增加了1倍,见图4中虚线的矩形。因而输出特征图的点与原始输入图的坐标对应关系为:

对坐标的重新映射给性能带来的影响见表3所示:

3. 实验结果

《Grid R-CNN》论文笔记相关推荐

  1. 论文笔记之Understanding and Diagnosing Visual Tracking Systems

    Understanding and Diagnosing Visual Tracking Systems 论文链接:http://dwz.cn/6qPeIb 本文的主要思想是为了剖析出一个跟踪算法中到 ...

  2. 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    本人为目标追踪初入小白,在博客下第一次记录一下自己的论文笔记,如有差错,恳请批评指正!! 论文相关信息:<Understanding and Diagnosing Visual Tracking ...

  3. 论文笔记Understanding and Diagnosing Visual Tracking Systems

    最近在看目标跟踪方面的论文,看到王乃岩博士发的一篇分析跟踪系统的文章,将目标跟踪系统拆分为多个独立的部分进行分析,比较各个部分的效果.本文主要对该论文的重点的一个大致翻译,刚入门,水平有限,如有理解错 ...

  4. 目标跟踪笔记Understanding and Diagnosing Visual Tracking Systems

    Understanding and Diagnosing Visual Tracking Systems 原文链接:https://blog.csdn.net/u010515206/article/d ...

  5. 追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems)

    追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems) PROJECT http://winsty.net/tracker_di ...

  6. ICCV 2015 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    目录 写在前面 文章大意 一些benchmark 实验 实验设置 基本模型 数据集 实验1 Featrue Extractor 实验2 Observation Model 实验3 Motion Mod ...

  7. Understanding and Diagnosing Visual Tracking Systems

    文章把一个跟踪器分为几个模块,分别为motion model, feature extractor, observation model, model updater, and ensemble po ...

  8. CVPR 2017 SANet:《SANet: Structure-Aware Network for Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文模型叫做SANet.作者在论文中提到,CNN模型主要适用于类间判别,对于相似物体的判别能力不强.作者提出使用RNN对目标物体的self-structure进行建模,用于提 ...

  9. ICCV 2017 UCT:《UCT: Learning Unified Convolutional Networks forReal-time Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文模型叫做UCT.就像论文题目一样,作者提出了一个基于卷积神经网络的end2end的tracking模型.模型的整体结构如下图所示(图中实线代表online trackin ...

  10. CVPR 2018 STRCF:《Learning Spatial-Temporal Regularized Correlation Filters for Visual Tracking》论文笔记

    理解出错之处望不吝指正. 本文提出的模型叫做STRCF. 在DCF中存在边界效应,SRDCF在DCF的基础上中通过加入spatial惩罚项解决了边界效应,但是SRDCF在tracking的过程中要使用 ...

最新文章

  1. python计算数据百分比_概率计算:定义概率分布数据结构,Python实现概率分布计算...
  2. 深度学习在CTR预估的应用
  3. mysql ICP优化的原理
  4. 国内主流.NET CMS系统整理
  5. LeetCode篇:1(两数之和)
  6. 暴风集团:冯鑫因涉嫌对非国家工作人员行贿被公安机关拘留
  7. MyBatis的总结(下)
  8. Java加权负载均衡策略
  9. 用科学数据求真:月球的激光发射器有用吗?
  10. Linux网络抓包工具tcpdump
  11. 罗振宇2021跨年演讲4:为什么这一代理科生机会特别好?
  12. 局域网组网方案,电信1000M宽带无线WiFi满速方案与排查(随记)
  13. Axure-产品交互设计师的利器
  14. html中小星星打分,折腾:2颗星星+纯CSS实现星星评分交互效果
  15. STM32学习心得三十四:外部SRAM原理及实验代码解读
  16. 特征工程之One-Hot编码、label-encoding、自定义编码
  17. 外贸版ChatGPT,每天节省5小时开发客户时间,可以用来干这些事情
  18. 华为云正式推出区块链服务!区块链技术将在数字经济时代大放异彩
  19. 51单片机最全入门总结
  20. 2.4 严格检查格式

热门文章

  1. CKEditor5+vue3使用以及如何添加新工具栏
  2. 要知道喝水的14个惊人真相 - 生活至上,美容至尚!
  3. Java面试题总结及答案总结
  4. 示例代码-Matlab绘制高斯分布曲面图(1)
  5. 多线程处理十万百万级List(大list处理)
  6. mysql双一参数_mysql的双1设置
  7. Vue的快速入门通俗易懂(学习笔记)
  8. 土豆网前任CTO开无人便利店,半年达500家
  9. 彩色图像--伪彩处理 灰度图转伪彩色图像
  10. Vue实现订单列表【用户端】