Deep Learning

이미지 데이터 증강 코드 작성법

yugyeong 2022. 12. 30. 17:31

ImageDataGenerator

인공지능은 배열의 형태로 학습 가능하다.

train 파일이 이미지로 형태일 경우, 이미지 파일을 배열의 형태로 변환해주어야 한다.

이때 사용하는 라이브러리가 ImageDataGenerator이다.

 

 

 

이미지 전처리 (Image Preprocessing)

  • ImageDataGenerator(rescale=1/255.0) : 이미지를 0~255의 값으로 정규화된 배열로 변환
    • rescale : 크기 재조절 인수, 디폴트값은 None, None/0의 경우 크기 재조절 적용X, 데이터를 주어진 값으로 곱함 
    • 인공지능 학습용과 검증용으로 두 개의 변수 정의
train_datagen = ImageDataGenerator(rescale= 1/255.0)
validation_datagen = ImageDataGenerator(rescale= 1/255.0)

 

 

이미지 증강 (Augmentation)

  • 학습 과정에서 학습 데이터가 부족한 경우, 이미지 증강을 이용하여 다양한 관점에서의 학습을 한다
  • 이미지 전처리 과정에서 추가로 파라미터를 입력

파라미터 : 

rotation_shif_range : 정수(각도), 이미지를 회전

width_shift_range : 가로비율로 좌우로 이동

height_shift_range : 세로비율로 상하로 이동

width_shift_range(height) 예시) 이미지의 크기가 10x10일 경우 0.1은 1픽셀을 의미

shear_range : 반시계방향으로 층밀리기의 강도

zoom_range : 확대의 비율

brightness_range : 이미지의 밝기 정도의 비율

horizontal_filp : True/False 좌우반전

vertical_flip : True/False 상하반전

fill_mode : 경계의 바깥 공간을 채워주는 옵션, 디폴트 값은 nearest

 

괄호 안에 파라미터 값을 넣어주면 된다

test = ImageDataGenerator(rescale= 1/255.0, rotate_range=45, width_shift_range=0.2)