深度学习: 从 RoIPooling 到 RoIAlign
版權聲明:轉載請注明出處?? ?https://blog.csdn.net/JNingWei/article/details/78822159
SPP Layer
對RoI進行pooling的操作最早由SPPNet中的SPP layer提出:?
對RoI進行pooling,使得檢測網絡可以輸入任意size的圖片。因為從輸入圖片到fc之間契入了對RoI的pooling,使得fc的存在也無法寫死輸入圖片的size。
RoIPooling
2015年,Ross Girshick大神在Fast R-CNN中繼承了SPP layer的精髓,并簡化了該設計,提出了RoIPooling。旨在滿足一次性訓練 feature map的前提下,替代 R-CNN 中 wraped region 的功能:?
方位
在 Faster R-CNN 中,anchor經過優勝劣汰升級為RoI ,之后 輸入 RoIPooling 進行 size歸一化 。其中,RoIPooling 的 位置 如下:?
缺陷
百密一疏。由于 RoIPooling 采用的是 INTER_NEAREST(即最近鄰插值) ,即在resize時,對于 縮放后坐標不能剛好為整數 的情況,采用了 粗暴的四舍五入,相當于選取離目標點最近的點。
RoIAlign
誕生
Kaiming He 在他的論文Mask RCNN里指出,這樣做會在一定程度上損失 空間對稱性(Alignment),所以他們把 最近鄰插值 換成了 雙線性插值 。換完插值法的 RoIPooling 就有了一個更加高大上的名字 —— RoIAlign :?
弊端
SPP Layer及其后繼的RoI Pooling、RoI Align的出現,使得Detection算法可以享受到“共享特征抽取”,從而免去了前半段網絡的重復計算;然而該設計也導致了一個問題——后半段變成了RoI-wise subnetwork,依然無法共享計算,每輸入一個RoI都需重復一次。
R-FCN針對這個痛病,將處理位置信息的任務交給了 “ position-sensitive score map ” (位置敏感得分圖) 來做,從而炒了RoI Pooling的魷魚。
插值法
具體關于 雙線性插值 的介紹可參見我的另一篇博客:圖像處理: 五種 插值法。
[1] 論文閱讀: R-FCN?
[2] 圖像處理: 五種 插值法
---------------------?
作者:JNingWei?
來源:CSDN?
原文:https://blog.csdn.net/JNingWei/article/details/78822159?utm_source=copy?
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的深度学习: 从 RoIPooling 到 RoIAlign的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R-FCN详解
- 下一篇: Mask-RCNN中的ROIAlign,