이미지 증강

는는·2022년 12월 8일
0

python

목록 보기
15/19

Data Augmentation

데이터를 가로 뒤집기, 색상 공간 확대 및 무작위 자르기와 같은 간단한 변환에서 비롯됩니다. 이러한 변환은 이미지 인식 작업에 대한 문제를 제시하는 이전에 논의된 많은 불변성을 인코딩합니다. 증강은 기하 변환, 색 공간 변환, 커널 필터, 혼합 이미지, 임의 지우기, 기능 공간 증강, 적대적 훈련, 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)

1. 이미지 뒤집기

이미지를 수직 또는 수평으로 뒤집습니다!

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)

2.이미지를 회색조로 만들기

이미지를 회색조로 만들어 줍니다.

grayscaled = tf.image.rgb_to_grayscale(myimg)
visualize(myimg, tf.squeeze(grayscaled))
_ = plt.colorbar()

3.이미지 포화시키기

채도 계수를 제공하여 이미지를 포화시킵니다.

saturated = tf.image.adjust_saturation(myimg, 3)
visualize(myimg, saturated)

4. 이미지 밝기 변경하기

밝은 계수를 제공하여 이미지의 밝기를 변경합니다.

bright = tf.image.adjust_brightness(myimg, 0.4)
visualize(myimg, bright)

5.이미지 중앙 자르기

이미지를 중앙에서 원하는 이미지 부분까지 자릅니다.

cropped = tf.image.central_crop(myimg, central_fraction=0.5)
visualize(myimg,cropped)

6.이미지 회전하기

이미지를 90도 회전합니다.

rotated = tf.image.rot90(myimg)
visualize(myimg, rotated)

*출처
https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0#availability-of-data-and-materials

https://www.tensorflow.org/tutorials/images/data_augmentation?hl=ko

0개의 댓글