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)
'Deep Learning' 카테고리의 다른 글
| 원본파일을 Train / Test 파일로 분리하여 사용하는 방법 (0) | 2022.12.30 |
|---|---|
| 분류의 문제에서 활성함수와 손실함수 (0) | 2022.12.30 |
| JPG / PNG 같은 이미지 파일을, 학습 데이터로 만드는 방법 (0) | 2022.12.30 |
| Pooling (Downsampling) 이란? (0) | 2022.12.30 |
| Convolution Neural Network (CNN) (0) | 2022.12.30 |