Derin Öğrenme (Deep Learning) - Önemli Keras Ön İşlemeleri (Preprocessing)
Resim Büyütme İşlemleri (ImageDataGenerator)
Resim Büyütme İşlemleri (ImageDataGenerator), veri kümesinde bulunan resim verilerinin orijinal halini ele alarak bu resimlerin bazı özeliklerini değiştirerek (yakınlaştırabilir, döndürebilir, kaydırabilir vb. ) yeni resimler elde etme işlemidir. Bu işlem sonucunda model eğitmek için kullanılacak az sayıdaki resim sayısı artırılmış olacağından oluşturulan model başarısı da artacaktır. Özetle; orijinal resimlerden yapay olarak yeni resimler oluşturma olayıdır.
Kullanılabilmek için "ImageDataGenerator" kütüphanesinin içe aktarılması gerekmektedir.
from tensorflow.keras.preprocessing.image import ImageDataGenerator
Söz dizimi: ImageDataGenerator(featurewise_center=False, samplewise_center=False, featurewise_std_normalization=False, samplewise_std_normalization=False, zca_whitening=False, zca_epsilon=1e-06, rotation_range=0, width_shift_range=0.0, height_shift_range=0.0, brightness_range=None, shear_range=0.0, zoom_range=0.0, channel_shift_range=0.0, fill_mode='nearest', cval=0.0, horizontal_flip=False, vertical_flip=False, rescale=None, preprocessing_function=None, data_format=None, validation_split=0.0, dtype=None)
- rotation_range, görüntünün rasgele olarak dönme açısını temsil etmektedir.
- width_shift_range, görüntünün yatay olarak kayması değerini temsil etmektedir.
- height_shift_range, görüntünün dikey olarak kayması değerini temsil etmektedir.
- brightness_range, görüntünün parlaklık değerlerini temsil etmektedir. Tuple veya dizi içinde iki float değer alabilir. (Örn:(0.4,1.3) veya [0.4,1.3]) İkinci değerin 1'den büyük olması parlaklığı artırırken 1'den küçük olması parlaklığı azaltacaktır.
- zoom_range, görüntüyü yakınlaştırmak için kullanılır.
- fill_mode, görüntünün dışındaki noktalar verilen moda göre doldurulur. "constant", "nearest", "reflect" "wrap" değerlerini alabilir, varsayılan olarak "nearest" dir.
- horizontal_flip, görüntüyü yatayda döndürmek için kullanılır.
- vertical_flip, görüntüyü dikeyde döndürmek için kullanılır.
- rescale, yeniden ölçeklendirme faktörünü temsil eder. Eğer "None" değerinde ise, yeniden ölçeklendirme uygulanmaz.
- validation_split, eğitim(training) ve değerlendirme(validation) oranlarını temsil etmektedir.
Resim Büyütme İşlemlerini veri setinde bulunan fotoğraflara uygulamak için 3 farklı yöntem kullanılabilir. Bunlar;
Yukardıda sayılan bu yöntemleri diğer anlatımlarda ayrı ayrı olarak ele alalım.