【論文研讀筆記---十】Mask-RCNN

論文研讀系列彙總:

1.AlexNet論文研讀
2.VGG論文研讀
3.GoogLeNet論文研讀
4.Faster RCNN論文研讀
5.ResNet 論文研讀
6.SENet 論文研讀
7.CTPN 論文研讀
8.CRNN 論文研讀
9.EAST 論文研讀
10.Mask-RCNN論文研讀

在這裏插入圖片描述
作爲一個best paper的6千star項目,會在讀完對應論文的同時,更新對應的代碼研讀,希望比之前的CTPN更加全面詳細,大家可以期待一下。
源代碼解讀視頻
【流程原理介紹】
在這裏插入圖片描述

摘要

Mask RCNN可以看做是一個通用實例分割架構。主要流程爲,在faster-rcnn提取的候選框內部,進行FCN的語義分割模塊,以達到實例分割的效果
Mask RCNN以Faster RCNN原型,增加了一個分支用於分割任務。
Mask RCNN比Faster RCNN速度慢一些,達到了5fps。
可用於人的姿態估計等其他任務;

技術創新點:

  • 引入了RoI Align代替Faster RCNN中的RoI Pooling。因爲RoI Pooling並不是按照像素一一對齊的(pixel-to-pixel alignment),也許這對bbox的影響不是很大,但對於mask的精度卻有很大影響。使用RoI Align後mask的精度從10%顯著提高到50%,第3節將會仔細說明。
  • 引入語義分割分支,實現了mask和class預測的關係的解耦,mask分支只做語義分割,類型預測的任務交給另一個分支。這與原本的FCN網絡是不同的,原始的FCN在預測mask時還用同時預測mask所屬的種類。

ROI Align

RoIAlign:RoIPool的目的是爲了從RPN網絡確定的ROI中導出較小的特徵圖(a small feature map,eg 7x7),ROI的大小各不相同,但是RoIPool後都變成了7x7大小。RPN網絡會提出若干RoI的座標以[x,y,w,h]表示,然後輸入RoI Pooling,輸出7x7大小的特徵圖供分類和定位使用。問題就出在RoI Pooling的輸出大小是7x7上,如果RON網絡輸出的RoI大小是8*8的,那麼無法保證輸入像素和輸出像素是一一對應,首先他們包含的信息量不同(有的是1對1,有的是1對2),其次他們的座標無法和輸入對應起來(1對2的那個RoI輸出像素該對應哪個輸入像素的座標?)。這對分類沒什麼影響,但是對分割卻影響很大。RoIAlign的輸出座標使用插值算法得到,不再量化;每個grid中的值也不再使用max,同樣使用差值算法。

在這裏插入圖片描述

下面我們用直觀的例子具體分析一下上述區域不匹配問題。如 圖1 所示,這是一個Faster-RCNN檢測框架。輸入一張800800的圖片,圖片上有一個665665的包圍框(框着一隻狗)。圖片經過主幹網絡提取特徵後,特徵圖縮放步長(stride)爲32。因此,圖像和包圍框的邊長都是輸入時的1/32。800正好可以被32整除變爲25。但665除以32以後得到20.78,帶有小數,於是ROI Pooling 直接將它量化成20。接下來需要把框內的特徵池化77的大小,因此將上述包圍框平均分割成77個矩形區域。顯然,每個矩形區域的邊長爲2.86,又含有小數。於是ROI Pooling 再次把它量化到2。經過這兩次量化,候選區域已經出現了較明顯的偏差(如圖中綠色部分所示)。更重要的是,該層特徵圖上0.1個像素的偏差,縮放到原圖就是3.2個像素。那麼0.8的偏差,在原圖上就是接近30個像素點的差別,這一差別不容小覷。

在這裏插入圖片描述

mask分支

Network Architecture: 爲了表述清晰,有兩種分類方法

使用了不同的backbone:resnet-50,resnet-101,resnext-50,resnext-101;

使用了不同的head Architecture:Faster RCNN使用resnet50時,從CONV4導出特徵供RPN使用,這種叫做ResNet-50-C4

作者使用除了使用上述這些結構外,還使用了一種更加高效的backbone——FPN.
在這裏插入圖片描述
在這裏插入圖片描述
該圖是在roi_head部分,進行的添加示意圖。由圖可知,在roi_head部分以後,resnet版進行了兩個卷積,然後接roi_head部分。而fpn版直接接入roi_head部分。對比上下兩個圖,可以大致理解接入mask部分的位置,以及對應操作
幾個問題:

  • 爲什麼最後接141480? 通過上面的class_head部分,已經得到對應的80個類別,可以選擇對應的特徵圖。然後resize到對應的檢測框就行。
    mask分支圖

參考文獻:
【鏈接】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章