R-FCN 筆記

R-FCN:Region-based Fully Convolutional Network

R-FCN 也是知名度較高的一個目標檢測框架肢藐,mAP 和前傳速度能夠與 Faster R-CNN 一較高下乒融,盡管速度比不過 YOLO 系馆铁,但相對而言準確度更高咕缎。值得一看的是里面的全卷積思路匹层,使得 R-FCN 作為一個 two-stage 的方法卻有著相對簡單的網(wǎng)絡結(jié)構(gòu)呵晨。

R-FCN論文:R-FCN: Object Detection via Region-based Fully Convolutional Networks


出發(fā)點

對于知名的 R-CNN 系網(wǎng)絡(R-CNN吐限、Fast R-CNN、Faster R-CNN天揖、Mask R-CNN)而言菊卷,將每個 RoI 中的特征圖分別進行前向傳播都是不可避免的。盡管從 Fast R-CNN 起宝剖,這一弊端已經(jīng)被權(quán)重共享的特征提取網(wǎng)絡緩解了洁闰,但在其后的目標檢測與分類網(wǎng)絡上的運算仍然是 per-RoI 的。由于 RPN 可以提供以千為數(shù)量級的 RoI万细,R-CNN 系的網(wǎng)絡結(jié)構(gòu)在訓練和預測過程中都會導致一定的時間消耗扑眉。

這些最先進的目標檢測網(wǎng)絡引入大量 per-RoI 運算的一個原因在于,它們都是基于 ResNet 或 GoogLeNet 等骨干網(wǎng)絡的赖钞,這些骨干網(wǎng)絡是全卷積的腰素,因為骨干網(wǎng)絡本來就是在圖像分類數(shù)據(jù)集上進行預訓練的。為了將網(wǎng)絡的任務從“進行準確的分類”遷移到“定位目標并進行分類”雪营,不得不在骨干網(wǎng)絡后面再次引入多層的卷積結(jié)構(gòu)弓千,盡管這些卷積層的參數(shù)是共享的,但它們的運算卻是分散的献起,這種結(jié)構(gòu)——據(jù) R-FCN 作者所言——是不自然的洋访。

一般策略:對每個 RoI,分別進行共享權(quán)重的卷積(和可選的全連接)運算谴餐,這增加了計算開銷

這并非在否認 R-CNN 系網(wǎng)絡姻政,畢竟至今它們?nèi)允悄繕藱z測任務中的首選模型,并且在前向傳播速度上也不能稱之為慢岂嗓。但盡管是最先進的方法汁展,其中存在的問題也仍然確實值得解決。 R-FCN 的主要出發(fā)點就是盡可能地減輕 per-RoI 的運算,加快網(wǎng)絡的訓練和預測速度食绿。


思路

在 R-FCN 論文中提出的觀點:圖像分類任務存在平移不變性侈咕,而深度卷積網(wǎng)絡又具有不在意圖像內(nèi)容平移的特性,所以能夠在此類任務中有非常好的表現(xiàn)器紧;但對于目標檢測任務而言耀销,這種特性是無法很好地被過渡的囤攀,因為此時需要得到目標的位置信息背伴,這在一定程度上引入了平移變化性。所以,不能直接將骨干網(wǎng)絡的結(jié)構(gòu)用于目標檢測任務中桥状。

許多其它方法中,解決這一問題的做法都是通過在特征圖上進行 RoI Pooling 操作硝清,以及進行后續(xù)的 per-RoI 運算辅斟,借此引入平移變化性。

與一般策略不同芦拿,R-FCN 的做法是士飒,仍然通過共享運算的全卷積網(wǎng)絡提取圖像在空間上的特征,并且不令 RoI Pooling 層后還有任何可訓練參數(shù)蔗崎。


網(wǎng)絡結(jié)構(gòu)

RoI 的提取采用 RPN(Region Proposal Network)酵幕,此項工作在 Faster R-CNN 中已有完善的實現(xiàn),且?guī)缀鯚o需更多地進行訓練缓苛。初步的特征提取在 ResNet-101 上進行芳撒,得到 feature maps。

R-FCN 網(wǎng)絡結(jié)構(gòu)


網(wǎng)絡結(jié)構(gòu)(注明通道數(shù))

定義超參數(shù)k未桥,表示網(wǎng)絡將把 RoI 分為k \times k的小窗格分別進行考慮笔刹。文中取 k=3,即把 RoI 分為 9 個小窗格子冬耿,考慮 RoI 的左上方舌菜、上方、右上方亦镶、左方日月、中間、右方缤骨、左下方山孔、下方、右下方荷憋。

在初始特征圖上引入新的卷積層台颠,以得到對位置敏感的 score map,score map 通道數(shù)為k^2(C+1),表示對于C+1個類別而言的k^2個RoI位置(或者串前,也可以理解成k^2C+1在不同的維度上瘫里,不過這樣子特征就是4維了,不好畫圖表示)荡碾,這個 score maps 大概算整個論文里最抽象的東西了谨读。盡管這些新的卷積層功能特殊,但它們在結(jié)構(gòu)上與一般的卷積層沒有什么差別坛吁。

在其后連接一個對位置敏感的特殊 RoI Pooling 層劳殖,以引導來自 score map 的信息。該池化層以及后續(xù)的層都不再具有可訓練的權(quán)重拨脉。該池化層的池化算法需要單獨說明哆姻。


位置敏感的 RoI Pooling 層

RoI 已由 RPN 得到,RoI Pooling 層將此 RoI 下的 score map 中的內(nèi)容分割成k \times k的窗格玫膀。若 RoI 尺寸為w\times h矛缨,則每個窗格的大小為(w/k)\times (h/k)

在 RoI Pooling 層中帖旨,對于每個類別箕昭,每個窗格最后都得到一個輸出,此池化層采用平均池化解阅,輸出 shape 為k \times k \times (C+1)落竹。注意池化層之前 RoI 窗口內(nèi)的特征 shape 為w \times h \times k^2(C+1),按說池化層應該只改變尺寸货抄,不改變通道數(shù)述召,可是這里的 RoI Pooling 卻在改變特征圖尺寸的同時,改變了其通道數(shù)碉熄,這里是 R-FCN 方法中較容易令人迷惑的一點桨武。

通道數(shù)的改變是因為 RoI Pooling 層上的特殊操作:score map 之所以被稱為對位置敏感的,就是因為它對k \times k個窗格內(nèi)的特征進行了分立的特征提取锈津。對應地呀酸,在 RoI Pooling 層進行平均池化時,只池化 score map 上符合條件 {①在相同的窗格內(nèi) and ②在對應的通道上} 的特征像素琼梆。比如性誉,在對右上角(即第 3 個)窗格池化時,池化操作是對 score map 上茎杂,對應窗格內(nèi)错览,在總共k^2(C+1)通道上,第 3 個(C+1)通道上的特征進行的煌往。

上述 score map 通道到池化輸出窗格的映射倾哺,的網(wǎng)絡結(jié)構(gòu)圖中以不同的顏色標示了出來轧邪。


目標檢測的后續(xù)操作

R-FCN 在 RoI Pooling 層之后就不再有可訓練參數(shù),所以需要用其他的方式判斷 RoI 是否(較好地)覆蓋目標羞海、目標的類別以及邊框回歸參數(shù)忌愚。

RoI 是否覆蓋目標

在一個 RoI 內(nèi),對特定的類別c却邓,RoI Pooling 的k^2個輸出進行一次投票硕糊,投票以不加權(quán)平均值的形式實現(xiàn),如果這個投票值超過一定的閾值腊徙,則認為該 RoI 內(nèi)有屬于類別c的目標简十。

下圖示意 RoI 是否覆蓋所導致 RoI Pooling 層的不同輸出,可以看到撬腾,當 RoI 的左上方窗格“在目標的左上方(的置信度高)”時螟蝙,score map 上對應的窗格及通道上的特征將被高度激活,上方时鸵、右上方胶逢、左方厅瞎、中間饰潜、右方、左下方和簸、下方彭雾、右下方這些位置也符合此規(guī)律。如果一個 RoI 恰好覆蓋目標锁保,那么其投票值就會很高薯酝。

至于為什么會有這樣的特性?可以認為這種特征就是 R-FCN 所構(gòu)建和訓練的網(wǎng)絡從訓練集中所學習到的爽柒。

對比:RoI 覆蓋目標 / RoI 未覆蓋目標

目標分類

一個 RoI 將輸出通道數(shù)為(C+1)的投票值吴菠,對該輸出進行 softmax 激活,得到置信度最高的類別浩村,作為目標類別做葵。

邊框回歸

與上述的?k^2(C+1)?通道的卷積層并行,構(gòu)造了一個兄弟卷積層心墅,通道數(shù)為4k^2酿矢,用同樣的策略將它聚合到一個4通道的平均投票值上,這四個值表示(t_x, t_y, t_w, t_h)怎燥,為目標檢測領域通用的邊框回歸參數(shù)瘫筐。


感想

感覺 R-FCN 的思路比較清奇,雖然看懂了它是怎么做的铐姚,但并沒理解它為什么要這么設計策肝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子之众,更是在濱河造成了極大的恐慌篇梭,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酝枢,死亡現(xiàn)場離奇詭異恬偷,居然都是意外死亡,警方通過查閱死者的電腦和手機帘睦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門袍患,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人竣付,你說我怎么就攤上這事诡延。” “怎么了古胆?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵肆良,是天一觀的道長。 經(jīng)常有香客問我逸绎,道長惹恃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任棺牧,我火速辦了婚禮巫糙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘颊乘。我一直安慰自己参淹,他們只是感情好,可當我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布乏悄。 她就那樣靜靜地躺著浙值,像睡著了一般。 火紅的嫁衣襯著肌膚如雪檩小。 梳的紋絲不亂的頭發(fā)上开呐,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天,我揣著相機與錄音识啦,去河邊找鬼负蚊。 笑死,一個胖子當著我的面吹牛颓哮,可吹牛的內(nèi)容都是我干的家妆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼冕茅,長吁一口氣:“原來是場噩夢啊……” “哼伤极!你這毒婦竟也來了蛹找?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤哨坪,失蹤者是張志新(化名)和其女友劉穎庸疾,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體当编,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡届慈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了忿偷。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片金顿。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鲤桥,靈堂內(nèi)的尸體忽然破棺而出揍拆,到底是詐尸還是另有隱情,我是刑警寧澤茶凳,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布嫂拴,位于F島的核電站,受9級特大地震影響贮喧,放射性物質(zhì)發(fā)生泄漏筒狠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一塞淹、第九天 我趴在偏房一處隱蔽的房頂上張望窟蓝。 院中可真熱鬧罪裹,春花似錦饱普、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至峡继,卻和暖如春冯袍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背碾牌。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工康愤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人舶吗。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓征冷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親誓琼。 傳聞我的和親對象是個殘疾皇子检激,可洞房花燭夜當晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 文章作者:Tyan博客:noahsnail.com | CSDN | 簡書 聲明:作者翻譯論文僅為學習肴捉,如有侵權(quán)請...
    SnailTyan閱讀 2,432評論 0 5
  • 文章作者:Tyan博客:noahsnail.com | CSDN | 簡書 聲明:作者翻譯論文僅為學習,如有侵權(quán)請...
    SnailTyan閱讀 1,753評論 0 2
  • 題目:基于R-FCN的物體檢測 文章地址:arXiv:1605.06409.《R-FCN: Object Dete...
    zhwhong閱讀 11,687評論 2 27
  • 介紹 R-CNN系列目標檢測模型發(fā)展到Faster-RCNN后叔收,它的模型檢測準確率(SOTA accuracy)已...
    manofmountain閱讀 1,398評論 0 2
  • 我家有兩只小貓咪齿穗,一只是黃色的,一只是灰色的饺律,特別的可愛窃页。 今天,趁著沒下雨复濒,我在家和妹妹一起給貓洗澡腮出。 我端了一...
    輕跳那支舞閱讀 185評論 0 0