본문 바로가기
ML & DL/Deep Learning

[DL] Tensoflow.Keras ImageDataGenerator

by 홍월이_ 2023. 2. 14.

아래 내용들은 제가 혼자 학습하면서 정리한 내용들입니다.

'부족한 내용' 혹은 '잘못된 내용'이 있을 수 있습니다.

댓글 남겨주시면 더욱 공부하고 수정하도록 하겠습니다.

감사합니다.


ImageDataGenerator 사용하기

ImageDataGenerator() 함수는 주어진 데이터를 이용해 변형된 이미지를 만들어 학습셋에 포함 시키는 기능을 제공한다.

이미지 데이터의 수를 확장할 때 효과적으로 사용 가능하다.

from keras.preprocessing.image import ImageDataGenerator

train_datagen = ImageDataGenerator(rescale = 1.// 255, 
			horizontal_flip = True, 
			vertical_flip = True, 
			width_shift_range = 0.1,
			height_shift_range = 0.1,
			rotation_range = 5,
			shear_range = 0.7,
			zoom_range = 1.2,
			fill_mode = 'nearest')
  • rescale : 주어진 이미지 크기 변환, 0~255의 RGB 값을 255로 나누면 0~1의 값으로 변환됨
  • horizontal_flip, vertical_flip : 주어진 이미지를 수평 또는 수직으로 뒤집기
  • width_shift, height_shift : 정해진 범위 안에서 그림을 수평 또는 수직으로 랜덤하게 평행 이동
  • rotation_range : 정해진 각도만큼 이미지 회전
  • shear_range : 좌표 하나를 고정시키고 다른 몇개의 좌표를 이동시키는 변환
  • zoom_range : 정해진 범위 안에서 축소 또는 확대
  • fill_mode : 이미지를 축소 또는 화전, 이동할 때 생기는 빈 공간 채우기 결정, nearest 옵션은 가장 비슷한 색으로 채워짐

ImageDataGenerator의 모든 인자를 다 적용하면 불필요한 데이터를 만들게 되어 오히려 학습시간이 늘어날 수 있다.

데이터의 특성을 잘 파악한 후 이에 맞게 사용하는 것이 좋다.

 

REFERENCE

 

tf.keras.preprocessing.image.ImageDataGenerator  |  TensorFlow v2.11.0

Generate batches of tensor image data with real-time data augmentation.

www.tensorflow.org

 

 

 

'ML & DL > Deep Learning' 카테고리의 다른 글

[DL] Keras fit vs fit_generator  (0) 2023.02.14
[DL] PyTorch로 인공신경망(ANN) 구현하기  (0) 2023.01.11

댓글