一、數據增強
數據增強又稱爲數據增廣,數據擴增,它是對訓練集進行變換,使訓練集更豐富,從而讓模型更具泛化能力
二、transforms——裁剪
2.1 transforms.CenterCrop
transforms.CenterCrop(size)
功能: 從圖像中心裁剪圖片
- size: 所需裁剪圖片尺寸
2.2 transforms.RandomCrop
功能: 從圖片中隨機裁剪出尺寸爲size的圖片
- size: 所需裁剪圖片尺寸
- padding: 設置填充大小
當爲a時,上下左右均填充a個像素
當爲(a, b)時,上下填充b個像素,左右填充a個像素
當爲(a, b, c, d)時,左,上,右,下分別填充a, b, c, d - pad-if-need: 若圖像小於設定size ,則填充
- padding_mode: 填充模式,有4種模式
constant: 像素值由fill設定
edge: 像素值由圖像邊緣像素決定
reflect: 鏡像填充,最後一個像素不鏡像, eg: [1,2,3,4] → [3,2,1,2,3,4,3,2]
symmetric: 鏡像填充,最後一個像素鏡像, eg: [1.2.3.4] → [2,1,1,2,3,4,4,3] - fill: constant時,設置填充的像素值,即填充顏色
2.3 RandomResizedCrop
功能: 從圖片中隨機裁剪出尺寸爲size的圖片
- size: 所需裁剪圖片尺寸
- scale: 隨機裁剪面積比例,默認(0.08, 1)
- ratio: 隨機長寬比,默認(3/4, 4/3)
- interpolation: 插值方法
PIL.Image.NEAREST
PIL.Image.BILINEAR
PIL.Image.BICUBIC
2.4 FiveCrop
功能: 在圖像的上下左右以及中心裁剪出尺寸爲size的5張圖片
- size: 所需裁剪圖片尺寸
2.5 TenCrop
功能: 先獲得FiveCrop處理的5張圖片,對這5張圖片進行水平或者垂直鏡像獲得10張圖片
- size: 所需裁剪圖片尺寸
- vertical_flip: 是否垂直翻轉
三、transforms——翻轉和旋轉
3.1 RandomHorizontalFlip
RandomHorizontalFlip(p=0.5)
功能: 依概率垂直(上下)翻轉圖片
- p: 翻轉概率
3.2 RandomVerticalFlip
RandomVerticalFlip(p=0.5)
功能: 依概率水平(左右)翻轉圖片
- p: 翻轉概率
3.3 RandomRotation
功能: 隨機旋轉圖片
- degrees: 旋轉角度
當爲a時,在(-a, a)之間選擇旋轉角度
當爲(a, b)時,在(a, b)之間隨機選擇一個旋轉角度 - resample: 重採樣方法
- expand: 是否擴大圖片, 以保持原圖信息
- center: 旋轉點設置, 默認中心旋轉