1、ROI pooling
fast-rcnn論文提出,常用于two stage的方法中,實(shí)質(zhì)是將原始feature map中不同大小的proposal區(qū)域,通過切分和max pooling,得到大小相等的目標(biāo)feature區(qū)域,原理如下:


ROI pooling存在取整量化的精度損失,如下圖,原始圖像大小800*800,bbox大小665*665,在25*25的feature map層,目標(biāo)feature map大小為665/32=20.78,ROI pooling直接取整量化為20*20,因此存在0.78x32=25個像素的定位精度損失。

2、ROI Align
針對ROI pooling取整量化導(dǎo)致的定位精度損失,何凱明在mask rcnn中提出了ROI Align,即不取整,利用小數(shù)周圍的像素值雙線性插值獲得最終的像素值。示意如下圖:

step1:將feature map上的bbox等分為N*N個bin(N*N為pooling的輸出大?。?/p>
step2:每個bin均勻取4個采樣點(diǎn)(實(shí)驗(yàn)效果最好)
step3:對每個采樣點(diǎn)鄰近grid的四個角點(diǎn)進(jìn)行雙線性插值,得到采樣點(diǎn)值
step4:對每個bin的4個采樣點(diǎn)計(jì)算max pooling,得出每個bin的pooling輸出值
3、Precise ROI (PrRoI) pooling
PrRoI是曠視在ECCV2018論文Acquisition of Localization Confidence for Accurate Object Detection中提出,在RoI Align不取整量化的基礎(chǔ)進(jìn)一步改進(jìn):
1、首先對feature map的進(jìn)行雙線性插值,將離散的feature map wi,j變?yōu)檫B續(xù)的feature map f(x, y),插值系數(shù)為IC(x, y, i, j),其中(i, j)為離散坐標(biāo),(x, y)為連續(xù)坐標(biāo)。
2、和RoI align一樣劃分bin,但是每個bin內(nèi)部不再設(shè)置采樣點(diǎn),而是采用二維積分計(jì)算區(qū)域總像素值,再除以區(qū)域面積,所得均值作為bin的pooling輸出。
通過計(jì)算公式可知,PrRoI是可導(dǎo)的,而RoI pooling和RoI align不可導(dǎo),只能傳遞導(dǎo)數(shù)/梯度。



