當前位置:
首頁 > 科技 > Grid R-CNN解讀:商湯最新目標檢測演算法,定位精度超越Faster R-CNN

Grid R-CNN解讀:商湯最新目標檢測演算法,定位精度超越Faster R-CNN

作者 | 周強

來源 | 我愛計算機視覺

Grid R-CNN是商湯科技最新發表於arXiv的一篇目標檢測的論文,對Faster R-CNN架構的目標坐標回歸部分進行了替換,取得了更加精確的定位精度,是最近非常值得一讀的論文。

今天就跟大家一起來細品此文妙處。

一、作者信息

該文所有作者均來自商湯科技:

該文直取Grid(網格)修飾R-CNN,意即將目標檢測中位置定位轉化為目標區域網格點的定位。

二、演算法思想

如下圖所示:

在目前的R-CNN目標檢測演算法中,目標的2個點(比如左上和右下)就能表徵其位置,將目標的定位看為回歸問題,即將ROI特徵flatten成向量,後接幾個全連接層回歸目標的坐標偏移量和寬高。

作者認為,這種處理方式沒能很好的利用特徵的空間信息。

作者希望利用全卷積網路的精確定位能力計算目標位置,將2個目標點的回歸問題,轉化為目標區域網格點(Grid Points)的定位問題。目標區域的網格點位置是全卷積網路的監督信息,因為是直接將目標區域等分,是可以直接計算的。網路推斷時,計算heatmap的極值,即為求得的網格點(Grid Points)。

上圖展示了使用3*3網格點的情況。

三、演算法流程

作者改造的是Faster R-CNN的目標定位部分,其演算法流程如下:

前半部分與Faster R-CNN相同,在得到目標候選區域和ROI特徵後,分類部分進行目標分類,而定位部分接全卷積網路,其監督信息來自根據目標位置計算得到的網格監督信息。

流程圖中作者特別標出了特徵融合模塊(feature fusion module),其意在使用網格中相鄰網格點的位置相關性,融合特徵使得定位更加精確。

以下針對其中關鍵步驟進行詳細說明。

3.1 網格引導定位

將目標區域劃為網格,目標的定位即轉化為網格點的定位。

訓練時,ROI特徵(14*14大小)通過8個3*3空洞卷積,再通過兩個反卷積把尺寸擴大(56*56),再通過一個卷積生成與網格點相關的 heatmaps(9 個點就是 9 張圖,後文實驗也使用了4個點的情況)。監督信息是每一個點所處位置的交叉十字形狀的5個點的位置。最後再接sigmoid函數,在heapmaps上得到概率圖。

推斷時,將heapmaps極值的位置映射回原圖,即得到了網格點的位置。

讀到這裡,讀者可能會有一個疑問,即計算得到的網格點組成的形狀是方方正正的,而Heapmaps極值得到的網格點未必組合在一起是方方正正的,不好確定目標區域。

作者的方法是對原本應該具有相同x或者y坐標的網格點的坐標進行平均。

到此,即得到了目標位置。

3.2 網格點特徵融合

很顯然,網格點之間具有內在的聯繫,相鄰網格點之間可以相互校正位置提高定位精度。

為此,作者設計了網格點特徵融合的機制。

首先,在計算網格點heapmaps時,每個網格點使用不同的濾波器組,防止它們之間共用特徵以至相互影響。

然後在每個網格點的Heapmap出來後,將相鄰網格點的Heapmaps經過卷積濾波與其相加,形成新的heapmap。

作者將距離特定網格點最近的相鄰網格點(1個單位網格長度)組成的網格點集合的特徵融合稱為一階特徵融合,次近的相鄰網格點(2個單位網格長度)組成的網格點集合的特徵融合稱為二階特徵融合。下圖中(a)(b)分別展示了此融合過程。

3.3 擴展區域映射

這一步主要是為了應對在實際使用中,RPN 給出的 proposal並不總是將完整物體包含在內。如下圖:

圖中白色的實線框表示 RPN 給出的候選框,它沒有完全包含所有的網格點。

而作者指出,簡單的擴大候選框的大小,不會帶來提升,甚至降低對小物體檢測的精度(後面有實驗驗證)。

作者認為heatmap的感受野其實是很大的,並不限於候選框內,所以就乾脆直接將heatmap對應的區域看成候選框覆蓋的區域兩倍大(如圖中虛線圍起來的區域)。

這麼做的好處是,只需簡單修改網格引導定位中的位置映射公式。即

四、實驗結果

作者首先研究了演算法中網格點數對精度的影響。如下圖:

相比回歸的方法,Grid R-CNN精度更高,而且隨著點數增加精度也在提高。

比較AP0.5和AP0.75發現,精度提升主要來自高IoU閾值的情況。

其次,作者實驗了網格點特徵融合策略對性能的影響。如下圖:

可見該文提出的特徵融合策略是有效的,而且二階特徵融合更加有效。

然後,作者實驗了擴展區域映射對精度的影響。如下圖:

可見,直接擴大候選框區域的方法傷害了精度,而本文提出的擴展區域映射(extended region mapping)的方法則使精度有較大的提高(1.2個AP)。

作者又在主流的目標檢測資料庫上與state-of-the-art進行了比較。

下圖展示了在Pascal VOC數據集上,相比R-FCN、FPN,使用相同骨幹網的情況下,精度取得了極大的提升!

在COCO minival數據集上的實驗,同樣取得了較大幅度精度提升。

在COCO test-dev數據集上也實現了一騎絕塵!如下圖:

與Faster R-CNN相比,發現精度提升主要來自高IoU閾值的部分,如下圖所示。

所以作者猜測,Grid定位分支也許輕微影響了分類的分支。

下圖是一些目標的定位示例(請點擊大圖查看):

作者最後列出了Grid R-CNN對各目標類別的精度增益,發現那些矩形和長方形目標(例如鍵盤,筆記本電腦,叉子,火車和冰箱)往往獲得更大的精度增益,而具有圓形性質的物體(例如運動球,飛盤,碗,鍾和杯子)則性能下降或獲得較小的增益。

五、總結

該文反思了目標檢測中的定位問題,提出以覆蓋目標的網格點作為監督信息使用全卷積網路定位網格點的方法,大幅提高了目標定位精度。值得研究目標檢測的朋友學習~

文中沒有提及推斷速度、代碼是否會開源,希望有進一步的消息出來。

目標定位的方法還有什麼可挖掘的嗎?

你認為Grid R-CNN會成為Faster R-CNN那樣的傳世經典嗎?

歡迎留言。

論文網址:

https://arxiv.org/abs/1811.12030

(*本文為轉載文章,如需轉載請聯繫原作者)

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AI科技大本營 的精彩文章:

那位13歲就當上老闆的開發者是如何煉成的?

TAG:AI科技大本營 |