R-CNN中對於每個輸入的候選框都需要縮放到固定的大小。下面我們講解要怎麼進行縮放處理,爲了簡單起見我們假設下一階段CNN所需要的輸入圖片大小是個正方形圖片227*227。因爲我們經過selective search 得到的是矩形框,paper試驗了兩種不同的處理方法:(1)各向異性縮放;(2)各向同性縮放。
先說結論:經過最後的試驗,作者發現採用各向異性縮放、padding=16(第2行,各方向外擴16個像素)的精度最高。
(1)各向異性縮放(不管三七二十一,直接縮放到目標尺寸)
這種方法很簡單,就是不管圖片的長寬比例,管它是否扭曲,進行縮放就是了,全部縮放到CNN輸入的大小227*227,如下圖(D)所示;
(2)各向同性縮放
因爲圖片扭曲後,估計會對後續CNN的訓練精度有影響,於是作者也測試了“各向同性縮放”方案。有兩種辦法
A、先擴充後裁剪: 直接在原始圖片中,把bounding box的邊界進行擴展延伸成正方形,然後再進行裁剪;如果已經延伸到了原始圖片的外邊界,那麼就用bounding box中的顏色均值填充;如上圖(B)所示;
B、先裁剪後擴充:先把bounding box圖片裁剪出來,然後用固定的背景顏色填充成正方形圖片(背景顏色也是採用bounding box的像素顏色均值),如上圖(C)所示;
對於上面的異性、同性縮放,文獻還有個padding處理,上面的示意圖中第1、3行就是結合了padding=0,第2、4行結果圖採用padding=16的結果。
(備註:候選框的搜索策略作者也考慮過使用一個滑動窗口的方法,然而由於更深的網絡,更大的輸入圖片和滑動步長,使得使用滑動窗口來定位的方法充滿了挑戰。)