데이터를 가로 뒤집기, 색상 공간 확대 및 무작위 자르기와 같은 간단한 변환에서 비롯됩니다. 이러한 변환은 이미지 인식 작업에 대한 문제를 제시하는 이전에 논의된 많은 불변성을 인코딩합니다. 증강은 기하 변환, 색 공간 변환, 커널 필터, 혼합 이미지, 임의 지우기, 기능 공간 증강, 적대적 훈련, GAN 기반 증강, 신경 스타일 전송 및 메타 학습 체계입니다.
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
import tensorflow_datasets as tfds
from tensorflow.keras import layers
from tensorflow.keras.datasets import mnist
my_img_pt = "이미지.jpg"
myimg = plt.imread(my_img_pt)
plt.imshow(myimg)
이미지를 수직 또는 수평으로 뒤집습니다!
def visualize(original, augmented):
fig = plt.figure()
plt.subplot(1,2,1)
plt.title("Original image")
plt.imshow(original)
plt.subplot(1,2,2)
plt.title("Augmented image")
plt.imshow(augmented)
flipped = tf.image.flip_left_right(myimg)
visualize(myimg, flipped)
이미지를 회색조로 만들어 줍니다.
grayscaled = tf.image.rgb_to_grayscale(myimg)
visualize(myimg, tf.squeeze(grayscaled))
_ = plt.colorbar()
채도 계수를 제공하여 이미지를 포화시킵니다.
saturated = tf.image.adjust_saturation(myimg, 3)
visualize(myimg, saturated)
밝은 계수를 제공하여 이미지의 밝기를 변경합니다.
bright = tf.image.adjust_brightness(myimg, 0.4)
visualize(myimg, bright)
이미지를 중앙에서 원하는 이미지 부분까지 자릅니다.
cropped = tf.image.central_crop(myimg, central_fraction=0.5)
visualize(myimg,cropped)
이미지를 90도 회전합니다.
rotated = tf.image.rot90(myimg)
visualize(myimg, rotated)
https://www.tensorflow.org/tutorials/images/data_augmentation?hl=ko