數據增強基本流程
Resize
Resize步驟是指將輸入圖像按照某種規則將圖片重新縮放到某一個尺寸,PaddleSeg支持以下3種resize方式:
-
Unpadding 將輸入圖像直接resize到某一個固定大小下,送入到網絡中間訓練。預測時同樣操作。
-
Step-Scaling 將輸入圖像按照某一個比例resize,這個比例以某一個步長在一定範圍內隨機變動。預測時不對輸入圖像做處理。
-
Range-Scaling 將輸入圖像按照長邊變化進行resize,即圖像長邊對齊到某一長度,該長度在一定範圍內隨機變動,短邊隨同樣的比例變化。 預測時需要將長邊對齊到另外指定的固定長度。
注:本文所有配置參數可在configs目錄下您的yaml文件中進行設置。
圖像翻轉
PaddleSeg支持以下2種翻轉方式:
-
左右翻轉(Mirror) 以50%概率對圖像進行左右翻轉。
-
上下翻轉(Flip) 以一定概率對圖像進行上下翻轉。
以上2種開關獨立運作,可組合使用。故圖像翻轉一共有如下4種可能的情況:
Rich Crop
Rich Crop是PaddleSeg結合實際業務經驗開放的一套數據增強策略,面向標註數據少,測試數據情況繁雜的分割業務場景使用的數據增強策略。流程如下圖所示:
Rich Crop是指對圖像進行多種變換,保證在訓練過程中數據的豐富多樣性,包含以下4種變換:
-
Blur
使用高斯模糊對圖像進行平滑。 -
Rotation
圖像旋轉,旋轉角度在一定範圍內隨機選取,旋轉產生的多餘的區域使用DATASET.PADDING_VALUE
值進行填充。 -
Aspect
圖像長寬比調整,從圖像中按一定大小和寬高比裁取一定區域出來之後進行resize。 -
Color jitter
圖像顏色抖動,共進行亮度、飽和度和對比度三種顏色屬性的調節。
Random Crop
隨機裁剪圖片和標籤圖,該步驟主要是通過裁剪的方式使得輸入到網絡中的圖像在某一個固定大小。
Random crop過程分爲3種情形:
- 當輸入圖像尺寸等於
CROP_SIZE
時,返回原圖。 - 當輸入圖像尺寸大於
CROP_SIZE
時,直接裁剪。 - 當輸入圖像尺寸小於
CROP_SIZE
時,分別使用DATASET.PADDING_VALUE
值和DATASET.IGNORE_INDEX
值對圖像和標籤圖進行填充,再進行裁剪。
TRAIN_CROP_SIZE
可以設置任意大小,具體如何設置根據數據集而定。
EVAL_CROP_SIZE
的設置需要滿足以下條件,共有3種情形:
- 當
AUG.AUG_METHOD
爲unpadding
時,EVAL_CROP_SIZE
的寬高應不小於AUG.FIX_RESIZE_SIZE
的寬高。 - 當
AUG.AUG_METHOD
爲stepscaling
時,EVAL_CROP_SIZE
的寬高應不小於原圖中最長的寬高。 - 當
AUG.AUG_METHOD
爲rangescaling
時,EVAL_CROP_SIZE
的寬高應不小於縮放後圖像中最長的寬高。