目标检测特殊层:PSROIPooling详解
1. Position Sensitive ROI-Pooling 簡(jiǎn)介
Position Sensitive ROI Pooling(位置敏感的候選區(qū)域池化)是檢測(cè)框架R-FCN的主要?jiǎng)?chuàng)新點(diǎn)。一般來(lái)講,網(wǎng)絡(luò)越深,其具有的平移旋轉(zhuǎn)不變性越強(qiáng),這個(gè)性質(zhì)對(duì)于保證分類模型的魯棒性有積極意義。然而,在檢測(cè)問(wèn)題中,對(duì)物體的定位任務(wù)要求模型對(duì)位置信息有良好的感知能力,過(guò)度的平移旋轉(zhuǎn)不變性會(huì)削弱這一性能。研究發(fā)現(xiàn),對(duì)于較深的全卷積神經(jīng)網(wǎng)絡(luò)(Inception、ResNet 等),Faster-RCNN檢測(cè)框架存在著一個(gè)明顯的缺陷:檢測(cè)器對(duì)物體的位置信息的敏感度下降,檢測(cè)準(zhǔn)確度降低。一般來(lái)講最直觀的解決方法是將RPN的位置向淺層移動(dòng)(比如在ResNet中將RPN嵌入到conv4_x的位置),但這樣做會(huì)明顯增加 Fast-RCNN 部分的計(jì)算量,使得檢測(cè)速度明顯變慢。?
有鑒于此,R-FCN 這篇文章的作者提出了一種全新的特征聚集方法:Position Sensitive ROI Pooling。其主要思想是在特征聚集時(shí)人工引入位置信息,從而有效改善較深的神經(jīng)網(wǎng)絡(luò)對(duì)物體位置信息的敏感程度。同時(shí),R-FCN的大部分操作都直接對(duì)整張圖片進(jìn)行,這也大大優(yōu)化了網(wǎng)絡(luò)的運(yùn)行速度。PS-ROI Pooling 具體操作方法如下圖所示(這里僅顯示了分類分支,包圍框回歸分支操作類似,在通道數(shù)和損失函數(shù)形式上有一些區(qū)別):?
?
如上圖,每一個(gè)候選區(qū)域(ROI)被平均分割成 k^2 個(gè)矩形單元,前序特征圖先通過(guò)一層 1*1 的卷積核生成通道數(shù)為 k^2*(C+1) 的特征圖。這里,k^2 代表一個(gè)ROI里所有矩形單元的數(shù)量,C+1 代表所有的類別數(shù)加上背景。這 k^2*(C+1) 張?zhí)卣鲌D每 C+1 張分成一組、共包含 k^2 組,每組負(fù)責(zé)向?qū)?yīng)的矩形單元進(jìn)行響應(yīng)。池化每一個(gè)ROI時(shí),各個(gè)點(diǎn)(一共 k^2 個(gè)),均由上一層中對(duì)應(yīng)分組的對(duì)應(yīng)位置區(qū)域通過(guò)平均池化獲得。由此獲得一組 C+1 張?zhí)卣鲌D。最后,將這些特征圖經(jīng)過(guò)全局平均池化,得到 C+1 維的向量,計(jì)算分類損失函數(shù)。?全圖卷積,降低第二階段的計(jì)算量,推薦窗口只需要經(jīng)過(guò)全局的平均就可以分類;不同的卷積核提取不同位置的特征,可能是人體的一部分,能體現(xiàn)位置信息;
計(jì)算反向傳播時(shí),遵循“向?qū)?yīng)位置回傳梯度的原則”,池化后的每一個(gè)點(diǎn)回傳的梯度傳向池化前特征圖上對(duì)應(yīng)通道對(duì)應(yīng)區(qū)域的特征點(diǎn)上。具體實(shí)現(xiàn)可參見(jiàn)源碼:PSROI-Pooling 源碼
2. PS-ROI Align 的主要思路和實(shí)現(xiàn)細(xì)節(jié)
ROI Align的具體原理和實(shí)現(xiàn)細(xì)節(jié)已在博文中說(shuō)明得很清楚了。在這一改進(jìn)思路的啟發(fā)下,博主嘗試將 ROI Align 移植到 PS-ROI Pooling 中,實(shí)現(xiàn)了一個(gè) Position Sensitive ROI Align 的算法。主要改進(jìn)就是兩次量化的取消:ROI的邊界坐標(biāo)值和每個(gè)ROI中所有矩形單元的邊界值保持浮點(diǎn)數(shù)形式,在每個(gè)矩形單元中計(jì)算出固定位置固定數(shù)量的采樣點(diǎn)的像素值作平均池化。具體的前向傳播和反向傳播細(xì)節(jié)如下:
- 前向傳播:?
a. 遍歷池化后特征圖上的每一個(gè)像素點(diǎn),在池化前特征圖上尋找對(duì)應(yīng)通道上的對(duì)應(yīng)區(qū)域;?
b. 將每一個(gè)候選區(qū)域平均劃分成 n * n 個(gè)單元;?
c. 在每一個(gè)單元內(nèi),按照設(shè)置的采樣點(diǎn)數(shù)目計(jì)算出采樣點(diǎn)的坐標(biāo)值;?
d. 使用雙線性內(nèi)插的方法計(jì)算出特征圖上每一個(gè)采樣點(diǎn)處所對(duì)應(yīng)的值;?
e. 依照平均池化的方式計(jì)算出 a 步驟中當(dāng)前點(diǎn)的值,并且記錄下所有采樣點(diǎn)的位置坐標(biāo)。 - 反向傳播:?
a. 遍歷池化后特征圖上的每一個(gè)像素點(diǎn),在池化前特征圖上尋找對(duì)應(yīng)通道上的對(duì)應(yīng)區(qū)域;?
b. 在a步驟的當(dāng)前區(qū)域中遍歷每一個(gè)點(diǎn),分別和前向傳播中記錄下來(lái)的所有采樣點(diǎn)坐標(biāo)比較,如果橫縱坐標(biāo)都小于1,則回傳平均后的梯度值。
初步的實(shí)驗(yàn)表明,PS-ROI Align 對(duì)模型的檢測(cè)性能有提升,對(duì)小物體的感知能力有明顯改善,具體的實(shí)驗(yàn)結(jié)果將過(guò)段時(shí)間發(fā)出。
轉(zhuǎn)載請(qǐng)標(biāo)明出處:目標(biāo)檢測(cè)特殊層:PSROIPooling詳解
文章來(lái)源:?目標(biāo)檢測(cè)特殊層:PSROIPooling詳解
總結(jié)
以上是生活随笔為你收集整理的目标检测特殊层:PSROIPooling详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 目标检测特殊层:ROI Align层详解
- 下一篇: Light-Head R-CNN相关资料