본문 바로가기

데이터 다루기/Vision (Tensorflow)

(9)
[Tensorflow] Pix2Pix 이번에 포스팅할 모델은 Pix2Pix입니다. Pix2Pix는 그림의 도면이 주어지면, 이를 토대로 원본 이미지를 생성하는 모델입니다. 위의 Input 이미지로부터 Ground Truth 이미지를 생성할 수 있는 목적을 가지는 것입니다. ​ 1. 사용할 패키지 불러오기. import tensorflow as tf import os import time from matplotlib import pyplot as plt from IPython import display import를 활용하여 사용할 패키지를 불어왔습니다. ​ 2. 데이터 불러오기. _URL = 'https://people.eecs.berkeley.edu/~tinghuiz/projects/pix2pix/datasets/facades.tar.gz..
[Vision] DeepDream (딥드림) 이번 포스팅에서는 DeepDream 모델에 대해서 실습해보도록 하겠습니다. DeepDream 모델은 신경망이 학습한 패턴을 시각화하는 기능을 가지고 있습니다. 예를 들어서, 아래와 같은 사진을 봅시다. 강아지 사진을 베이스로 초현실적인 패턴이 입혀져 있습니다. 즉 강아지 사진에 신경망이 학습한 패턴을 입혀서 시각화할 수 있습니다. ​ 1. 사용할 패키지 불러오기. import tensorflow as tf import numpy as np import matplotlib as mpl import IPython.display as display import PIL.Image from tensorflow.keras.preprocessing import image import를 활용하여 사용할 패키지를 불어왔..
[Vision] Image Segmentation (이미지 분할) 이번 포스팅에서는 Image segmentation에 대해서 실습해보도록 하겠습니다. Image segmentation은 이미지에서 개체가 있는 위치, 해당 개체의 모양, 그리고 어떤 픽셀이 어떤 객체에 속하는 지를 분류하는 Task입니다. 즉 다시 말해서, 이미지 전체를 여러가지 class로 분류하겠다는 것입니다. ​​ 1. 사용할 패키지 불러오기. import tensorflow as tf from tensorflow_examples.models.pix2pix import pix2pix import tensorflow_datasets as tfds tfds.disable_progress_bar() from IPython.display import clear_output import matplotlib..
[Vision] Transfer Learning + Fine Tuning 이번 포스팅에서는 사전 훈련된 모델을 가지고 와서, 새로운 데이터에 학습시키는 Transfer learning에 대해서 실습하도록 하겠습니다. ​ 총 2가지 방법으로 진행 해보도록 하겠습니다. ​ (1) 특징 추출 새 샘플에서 의미 있는 형상을 추출하기 위해 이전 네트워크에서 학습한 표현을 사용합니다. 사전 훈련된 모델 위에 처음부터 교육할 새 분류기를 추가하기만 하면 이전에 데이터셋으로 학습한 특징 맵의 용도를 재사용할 수 있습니다. ​ 전체 모델을 재훈련시킬 필요는 없습니다. 기본 컨볼루션 네트워크에는 그림 분류에 일반적으로 유용한 기능이 이미 포함되어 있습니다. 그러나 사전 훈련된 모델의 최종 분류 부분은 기존의 분류 작업에 따라 다르며 이후에 모델이 훈련된 클래스 집합에 따라 다릅니다. ​ (2)..
[Vision] Image Augmentation 1. 사용할 패키지 불러오기. 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 import를 활용하여 사용할 패키지를 불어왔습니다. ​ 2. 데이터 불러오기. 이번 실습에서 사용할 데이터는 꽃 사진입니다. (train_ds, val_ds, test_ds), metadata = tfds.load( 'tf_flowers', split=['train[:80%]', 'train[80%:90%]', 'train[90%:]'],..
[Vision] CNN을 통한 이미지 분류 1. 사용할 패키지 불러오기. import matplotlib.pyplot as plt import numpy as np import os import PIL import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers from tensorflow.keras.models import Sequential import를 활용하여 사용할 패키지를 불어왔습니다. ​ 2. 데이터 불러오기. 이번 실습에서 사용할 데이터는 꽃 사진입니다. import pathlib dataset_url = "https://storage.googleapis.com/download.tensorflow.org/example_images/fl..
[Vision] 이미지 분류 1. 사용할 패키지 불러오기. import tensorflow as tf from tensorflow import keras import numpy as np import matplotlib.pyplot as plt import를 활용하여 사용할 패키지를 불어왔습니다. ​ 2. 데이터 불러오기. fashion_mnist = keras.datasets.fashion_mnist (train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() 저희는 이번 실습에서 굉장히 유명한 Open dataset 중에 하나인 패션 MNIST를 활용하겠습니다. 패션 MNIST 일반적인 숫자로 알려져 있는 기본 MNIST보다 어려운 과제입..
[Vision] 이미지 불러오기 1. 사용할 패키지 불러오기. import numpy as np import os import PIL import PIL.Image import tensorflow as tf import tensorflow_datasets as tfds import pathlib import matplotlib.pyplot as plt import를 활용하여 사용할 패키지를 불어왔습니다. 2. 데이터 불러오기. dataset_url = "https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz" data_dir = tf.keras.utils.get_file(origin=dataset_url, fname='flower_ph..