為什麼圖像(影像)分類任務要從256*256中裁剪出224*224(opencv 影像/圖像 辨識 來源尺寸 建議大小)
為什麼圖像(影像)分類任務要從256*256中裁剪出224*224(opencv 影像/圖像 辨識 來源尺寸 建議大小)
資料來源: https://mp.weixin.qq.com/s/3_fn2oBrjrbrybF10UpFfw
分類任務輸出特徵圖如果尺寸太小,那麼信息就丟失太嚴重,如果尺寸太大,信息的抽象層次不夠高,計算量也更大,7*7的大小是一個很好的平衡。圖像從大分辨率降低到小分辨率,降低倍數通常是2的指數次方,所以圖像的輸入一定是7*2的指數次方。以ImageNet為代表的大多數分類數據集,圖像的長寬在300分辨率左右。
所以要找一個7*2的指數次方,並且在300左右的分辨率作為輸入,其中7*2的4次方=7*16=112,7*2的5次方等於7*32=224 ,7*2的6次方=448,與300最接近的就是224了。
接下來我們再思考為什麼通常是將圖像resize到256*256。
首先我們要知道crop的目標是用於做數據增強。
當我們描述一個數據集的大小,通常是以數量級來衡量,而數據增強也比例外,我們的目標是將數據集增長為原來的幾個數量級以上,即擴充10,100,1000倍等。
輸入為N*N的大圖,crop輸出為M*M的小圖,可以實現(NM)*(NM) 的數據集擴充倍數。對應擴充10,100,1000,10000倍,NM約為3,10,32,100,因為最終結果圖是224*224,所以原圖就應該是227*227,234*234,256*256,324 *324,很明顯從256*256這個尺度進行裁剪,能夠保證主體不至於太小或者太大,如前面圖中紅色框。
那不使用256*256使用其他的尺寸如何呢?在比賽刷榜中,經常使用多尺度模型測試,即使用不同尺度的輸入圖進行裁剪然後進行結果融合,筆者曾經在Place365數據集上訓練過ResNet和DPN模型,下面是不同尺度的測試結果。
不同尺度的結果會有差異,但是通常都不大,因此除非模型特殊,不必太糾結與這個問題,畢竟256等於2^8,2的指數次冪,多麼經典又快意。
2 thoughts on “為什麼圖像(影像)分類任務要從256*256中裁剪出224*224(opencv 影像/圖像 辨識 來源尺寸 建議大小)”
這一篇寫得真是淺顯易懂,終於解惑了我在網路上每次看到別人程式的疑惑(為何不是用256*256)
之前都不好意思問 哈哈
為什麼圖像 /影像 分類任務要從256*256中裁剪出224*224
OPENCV 影像/圖像 辨識 來源尺寸 預設建議 輸入 尺寸 / 大小
類神經網路