728x90
반응형
SMALL
Image Data Augmentation
원본 이미지에 적절한 변형을 가해서 새로운 데이터를 만들어 내는 방식으로, 다양한 데 이터를 통해 딥러닝 성능향상 기대할 수 있다.
TensorFlow는 이미지 데이터 보강을 위한 ImageDataGenerator class를 제공한다. ImageDataGenerator에서는 입력 파라미터를 통해서 rescale, rotation_range, width_shift_range, height_shift_range, shear_range, horizontal_flip, vertical_filp 등의 다양한 변화를 줄 수 있다.
ImageDataGenerator를 사용할 경우 flow(), flow_from_directory() 등의 함수를 통해 이미 지 데이터를 보강을 할 수 있다.
import zipfile
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
from tensorflow.keras.preprocessing.image import ImageDataGenerator
gen = ImageDataGenerator(rescale = 1./255,
rotation_range = 10,
shear_range = 0.2,
horizontal_flip = True)
with zipfile.ZipFile('./test_img_dir.zip') as target_file:
target_file.extractall('test_img_dir/')
data_gen = gen.flow_from_directory(directory = '/content/test_img_dir/',
batch_size = 3,
shuffle = True,
target_size = (100, 100),
class_mode = 'categorical')
print(data_gen.class_indices)
print(data_gen.num_classes)
print(data_gen.class_mode)
Found 6 images belonging to 2 classes.
{'cat': 0, 'dog': 1}
2
categorical
img, label = data_gen.next()
for i in range(len(label)):
print('label => ', label[i])
plt.figure(figsize = (8, 8))
for i in range(len(img)):
plt.subplot(1, len(img), i + 1)
plt.xticks([])
plt.yticks([])
plt.title(str(label[i]))
plt.imshow(img[i])
plt.show()
728x90
반응형
LIST
'Visual Intelligence > Image Deep Learning' 카테고리의 다른 글
[시각 지능] imgaug (0) | 2022.08.21 |
---|---|
[시각 지능] Image Data Augmentation + Transfer Learning (0) | 2022.08.20 |
[시각 지능] 사전 학습 모델 (Pre-Trained Model) (0) | 2022.08.20 |
[시각 지능] 전이 학습 (Transfer Learning) (0) | 2022.08.14 |
[시각 지능] Surface Crack Detection (0) | 2022.08.14 |