基于CNN的目标检测之GA-RPN

Region Proposal by Guided Anchoring(CVPR2019)

简介:GA-RPN(Guided Anchoring)是一种新的anchor 生成方法,其通过图像特征来指导anchor 的生成。通过CNN预测 anchor 的位置和形状,生成稀疏而且形状任意的 anchor,并且设计Feature Adaption 模块来修正特征图使之与预测生成得 anchor精确匹配。GA-RPN相比RPN减少90%的anchor,并且提高9.1%的召回率,将其用于不同的物体检测器Fast R-CNN, Faster R-CNN and RetinaNet,分别提高 检测mAP 2.2%,2.7% ,1.2%。

贡献:

提出了一种新的anchor策略,用于产生稀疏的任意形状的anchor;

设计了基于anchor形状的特征适应模块来refine特征;

提出了一种改进模型性能的方案.

一、Motivation:

现有的Anchor-based方法生成Anchor的过程存在两大问题:

为了保证召回率,需要生成密集的anchor,引入过多负样本同时影响模型的速率。

anchor的尺度和长宽比需要预先定义,针对不同类型的检测任务需要调整这些超参数,预先定义好的 anchor 形状不一定能满足极端大小或者长宽比悬殊的物体。

基于上述两点,作者就尝试使用特征去指导Anchor box中心位置,宽高比的生成,这样不仅可以提高生成Anchor的效率,而且还可以生成任意大小的Anchor,这对于一些比较极端长宽比的物体是非常有效的。

注意:作者假设待检测图像中的目标是不均匀分布的且稀疏的。

二、模型结构

作者提出使用图像特征去指导Anchor生成,该结构称为Guided Anchoring,Guided Anchoring可以嵌入到任意的Anchor生成模块之中。下面是一个嵌入到FPN中的例子:

      上图左边是一个FPN结构,FPN每一层的特征都可以嵌入一个Guided Anchoring模块用于预测proposals。Guided Anchoring的具体结构则如上图右边所示,主要由两个模块组成:

Anchor generation模块:

        添加两个分支分别用于预测特征图上每个像素(对应的感受野)是目标的置信度,以及对应宽和高。目标的置信度大于一个特定域值,则被认为是目标。显然,这个proposal获取的过程不同于滑窗,可以减少大量负样本(每个Feature map上的像素点做多只产生一个proposal)。此外,由于宽和高也是CNN回归出来的,所以没有对物体的scale,宽高比作任何先验假设。

1、anchor Location Prediction

位置预测分支的目标是预测那些区域应该作为中心点来生成 anchor,是一个二分类问题,预测是不是物体的中心。

FPN特征图经过位置预测子网络生成位置得分图:对基础feature map先通过1*1卷积,然后逐元素Sigmoid转换为概率值。然后根据阈值筛选,可以过滤掉90%的区域而保持相同的召回率

我们将整个 feature map 的区域分为物体中心区域,外围区域和忽略区域:即将 ground truth 框的中心一小块对应在 feature map 上的区域标为物体中心区域,在训练的时候作为正样本,其余区域按照离中心的距离标为忽略或者负样本。通过位置预测,可以筛选出一小部分区域作为 anchor 的候选中心点位置,使得 anchor 数量大大降低。

2、Anchor Shape Prediction

针对每个检测出的中心点,选取一个最佳的anchor box。最佳anchor box的定义为:与预测的候选中心点的邻近ground truth box产生最大IOU的anchor box。

形状预测分支的目标是给定 anchor 中心点,预测最佳的长和宽,这是一个回归问题。论文直接使用 IoU 作为监督,来学习 w 和 h。无法直接计算w 和 h,而计算 IoU 又是可导的操作,所以使用基于bounded IoU Loss网络优化使得 IoU 最大。

作者认为,直接预测anchor box的宽高的话,范围太广不易学习,故将宽高值使用指数及比例缩放进行压缩:

                             ω =σ·s·exp(dw) , h=σ·s·exp(dh )

该分支预测dw,dh,通过上式进行压缩,s为stride,σ是经验尺度因子(论文取8),该映射将[0,1000]压缩至[-1,1]。该分支输出dw和dh。首先通过1*1卷积层产生两个通道的map(包括dw和dh的值),然后经过逐元素转换层实现w和h的转化。得益于任意形状的anchor,所以对于宽高比夸张的目标也具有更好的效果(比如火车等)。

Feature adaption模块:这个模块实际上借鉴了可变性卷积的思想。

由于每个位置的形状不同,大的anchor对应较大感受野,小的anchor对应小的感受野。所以不能像之前基于anchor的方法那样直接对feature map进行卷积来预测,而是要对feature map进行feature adaptation。作者利用变形卷积的思想,根据形状对各个位置单独进行转换。

其中,fi是第i个位置的特征,(wi, hi)是对应的anchor形状。NT通过3*3的变形卷积实现。首先通过形状预测分支预测offset field,然后对带偏移的原始feature map做变形卷积获得adapted features。之后进一步做分类和bounding box回归。

三、Training

采用多任务loss进行端到端的训练,损失函数为:

1、anchor location

利用groundtruth bounding box来指导label生成,1代表有效位置,0代表无效位置。中心附近的anchor应该较多,而远离中心的anchor数目应该少一些。假定R(x, y, w, h)表示以(x, y)为中心,w和h分别为宽高的矩形区域。将groundtruth的bbox(xg, yg, wg, hg)映射到feature map的尺度得到(x'g, y'g, w'g, h'g)。

a.定义中心区域CR=R(x'g, y'g, σ1w', σ1h'),CR区域内的像素标记为正样本;

b.定义ignore区域IR=R(x'g, y'g, σ2w', σ2h')\CR,该区域的像素标记为ignore;

c.其余区域标记为外部区域OR,该区域所有像素标记为负样本。

考虑到基于FPN利用了多层feature,所以只有当feature map与目标的尺度范围匹配时才标记为CR,而临近层相同区域标记为IR,如下图所示。文中使用Focal Loss来训练定位分支。

2)anchor shape

首先将anchor与groundtruth的bbox匹配,然后计算最佳宽和高(可以最大化IoU)。因此重新定义了变化的anchor与gt bbox的vIoU:

变化anchor:awh=(x0, y0, w, h)

groundtruth bbox:gt=(xg, yg, wg, hg)

其中IoUnormal是IoU的常规定义,w和h是变量。由于对任意位置的anchor与ground truth,对vIOU进行明确的表示是非常困难的,因此给定(x0,y0),本文采用近似的方法,采样一些可能的w和h。文中采样了9组常见的w、h。实验表明结果对sample的组数不敏感。文中采用有界IoU损失来最大化IoU。

作者使用Guided Anchoring策略来改进RPN(称为GA-RPN)。下图对比了RPN和GA-RPN产生的proposal的IoU分布:

很显然,GA-RPN产生的正样本数目更多,而且高IoU的proposal占的比例更大。训练时相比于RPN,GA-RPN采用更高的阈值、使用更少的样本(使用高质量proposal的前提是根据proposal的分布调整训练样本的分布)。

四、优缺点分析

优点:

1、论文提出anchor设计的两个准则:alignment 和 consistency,指导基于anchor优化的方向。采用位置预测和形状预测两个分支,不需要像FPN预先设置尺度和长宽比,同时使用可变形卷积对feature map调整,生成高质量低密度的proposal,提高IoU的阈值进行训练。

2、提出了一种新的anchor策略,用于产生稀疏的任意形状的anchor;

3、论文提出的GA-RPN可以完全替代RPN,在Fast R-CNN, Faster R-CNN and RetinaNet等模型基础上提高目标检测模型的精度。

缺点:

1、论文假设图像中的目标是稀疏的。如果是稠密图像,比如车站或广场的拥挤人群,检测效果有待检验。

2、每一个点只产生一个anchor,那么对于那些目标中心重合,即一个点需要负责检测两个目标,似乎无法处理。

3、采用deformable卷积会相对地降低速度,同时根据DCN v2的分析,在deformable卷积中加入可调节的机制可能会更好。

思考:

        1、可以借鉴采用双分支预测:一个分支预测目标的中心点,另一个分支预测物体的长框,这个思想的实现和看完cornerNet和CenterNet的想法实现是类似的,但是出发点不同。

        之前做双分支预测是想利用anchor free中的中心点的预测看能否增加物体的内部感知能力。现在的双分支预测是为了减少先验框anchor的数量,减少正负样本的不平衡问题。两者出发点不同,但是采用的操作是类似的,有效性有待考证。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342