數據增強

數據增強是從現有的訓練樣本中生成更多的訓練數據,其方法是利用多種能夠生成可信圖像的隨機變換來增加樣本,其目標是讓模型在訓練時不會兩次查看完全相同的圖像。

對於一張圖片的樣本數據,每次迭代時都會先隨機變換,然後再輸入網絡,所以使用數據增強來訓練一個新網絡,那麼該網絡將不會兩次看到同樣的輸入。

在Keras中使用數據增強:

from keras.preprocessing.image import ImageDataGenerator

generator = ImageDataGenerator(rotation_range=40,
                        width_shift_range=0.2,
                        height_shift_range=0.2,
                        shear_range=0.2,
                        zoom_range=0.2,
                        horizontal_flip=True,
                        fill_mode='nearest')

rotation_range: 角度值(0,180),表示圖像隨機旋轉的角度範圍。
width_shift_range和height_shift_range: 是圖像在水平或垂直方向上平移的範圍(相對於總寬度或總高度的比例)。
shear_range: 隨機錯切變換的角度。
zoom_range: 是圖像隨機縮放的範圍。
horizontal_flip: 是隨機將一半圖像水平翻轉。如果沒有水平不對稱的假設(比如真實世界的圖像),這種做法是有意義的。
fill_mode: 是用於填充新創建像素的方法,這些新像素可能來自於旋轉或寬度/高度平移。

參考:
1、弗朗索瓦·肖萊《Python深度學習》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章