Faster rcnn代碼理解(4)


上一篇我們說完了AnchorTargetLayer層,然后我將Faster rcnn中的其他層看了,這里把ROIPoolingLayer層說一下;

我先說一下它的實現原理:RPN生成的roi區域大小是對應與輸入圖像大小(而且每一個roi大小都不同,因為先是禪城九種anchors,又經過回歸,所以大小各不同),所以在ROIPoolingLayer層中,先將每一個roi區域映射到經過conv5的feature map上,然后roi對應於feature map上的這一塊區域再經過pooling操作映射到一個固定大小的區域,這里我們用feature map_2表示,Faster rcnn中這個feature map_2的大小設為了6*6。而pooling操作就是feature map_2上的每一個點對應於feature map上roi區域上的一個部分中的最大值~具體看代碼:

上面代碼中的spatial_scale在Faster rcnn中為1/16(因為卷積層沒有改變大小,只有pool層改變了大小,所以1/16實際就是pool層的級聯),上面實現了setup()函數和reshape()函數,接下來就看前向傳播了:

               

上面代碼中:

這一部分實現了RoiPooling中的pool操作,其實就是max操作;

最后為了理解,附上靈魂畫師的圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM