目標檢測之GA-RPN

Region Proposal by Guided Anchoring(CVPR2019)

簡介:(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%。

貢獻:

  1. 提出了一種新的anchor策略,用於產生稀疏的任意形狀的anchor;
  2. 設計了基於anchor形狀的特徵適應模塊來refine特徵;
  3. 提出了一種改進模型性能的方案.

一、Motivation:

現有的Anchor-based方法生成Anchor的過程存在兩大問題:

  1. 為了保證召回率,需要生成密集的anchor,引入過多負樣本同時影響模型的速率。
  2. anchor的尺度和長寬比需要預先定義,針對不同類型的檢測任務需要調整這些超參數,預先定義好的 anchor 形狀不一定能滿足極端大小或者長寬比懸殊的物體。

基於上述兩點,作者就嘗試使用特徵去指導Anchor box中心位置,寬高比的生成,這樣不僅可以提高生成Anchor的效率,而且還可以生成任意大小的Anchor,這對於一些比較極端長寬比的物體是非常有效的。

注意:作者假設待檢測圖像中的目標是不均勻分佈的且稀疏的。

二、模型結構

作者提出使用圖像特徵去指導Anchor生成,該結構稱為Guided Anchoring,Guided Anchoring可以嵌入到任意的Anchor生成模塊之中。下面是一個嵌入到FPN中的例子:

目標檢測之GA-RPN

上圖左邊是一個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。作者利用變形卷積的思想,根據形狀對各個位置單獨進行轉換。

目標檢測之GA-RPN

其中,fi是第i個位置的特徵,(wi, hi)是對應的anchor形狀。NT通過3*3的變形卷積實現。首先通過形狀預測分支預測offset field,然後對帶偏移的原始feature map做變形卷積獲得adapted features。之後進一步做分類和bounding box迴歸。

三、Training

採用多任務loss進行端到端的訓練,損失函數為:

目標檢測之GA-RPN

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來訓練定位分支。

目標檢測之GA-RPN

2)anchor shape

首先將anchor與groundtruth的bbox匹配,然後計算最佳寬和高(可以最大化IoU)。因此重新定義了變化的anchor與gt bbox的vIoU:

目標檢測之GA-RPN

變化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

很顯然,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卷積中加入可調節的機制可能會更好。


分享到:


相關文章: