用1400張圖片訓練,每張圖片分兩類(前景背景),每張圖前景背景像素點相差幾十倍以上(前景少,背景多),原以為會因為樣本不均衡而使分割效果不理想,但分割效果卻很好,這是為什麼?


個人認為正負樣本不均衡主要影響損失函數的計算。針對於你所列舉的例子,如果使用BCE loss,網路應該會很容易趨向於將像素點全分類為背景,以獲取較多的像素點正確分類。但是這只是到達了局部最優解而已(像素準確率到達了一定程度),如果可以跳出這個局部最優,依舊可以將部分前景正確分類以至於進一步降低loss。針對於樣本不均衡問題,也可以選擇focal loss來進行嘗試。另外,如果將損失函數替換為dice loss,直接以正確分類的前景作為損失的評價標準,像素label 的不均衡產生的影響進一步降低。按照我的經驗基本都可以取得比較好的效果。你可以看看kaggle上的Airbus Ship Detection Challenge比賽,針對圖片中的船隻進行分割,基本上前景和背景也是相差幾十倍以上,使用Unet便可以取得很好的效果。深度學習的擬合效果可能比你想像的更加強大


也許樣本均衡效果會更好。


最早的deeplab的正負樣本不均衡問題需要手動在loss函數上進行權重調整分配,估計後來更新的repo裡面使用了focal loss一類的loss function,自動的調節了正負樣本不均衡的問題。


可統計前景與背景的區域佔比 背景數量多但多樣性可能不夠 你可以看看背景區域的多樣性和複雜度


謝邀,我也很想知道這個是什麼原理,明白了以後麻煩寫個評論告訴我一下,謝謝啦


訓練過程中的loss是否已經實現了難樣本挖掘?如果有那麼其實就已經包含了自動平衡樣本的功能了。


原因很簡單。仔細看官方deeplab的loss實現。deeplab的厲害不止在模型上,也在實現和訓練的trick上


推薦閱讀:
相关文章