본문 바로가기
728x90
반응형
SMALL

Visual Intelligence73

[Generative Model] GAN (Generative Adversarial Network) GAN (Generative Adversarial Network) 영상 처리 AI 기술의 대중화에 GAN8이 차지하는 비중은 매우 크다. 기존의 분류 또는 영역화 문제는 기존의 영상 처리 문제를 푸는 전문가들에게 큰 관심사였다고 한다면 새로운 방법으로 영상을 합성해 대중들의 이목을 집중시킨 것은 GAN이다. GAN은 ‘Generative Adversarial Network’의 약자다. 첫 단어인 ‘Generative’는 GAN이 생성 (Generation) 모델이라는 것을 뜻한다. 생성 모델이란 ‘그럴듯한 가짜’를 만들어내는 모델이다. 언뜻 보면 진짜 같은 가짜 사람 얼굴 사진을 만들어내거나 실제로 있을 법한 고양이 사진을 만들어내는 것이 생성 모델의 예다. ‘그럴듯하다’라는 것을 어떻게 정의할 수 있을.. 2022. 12. 9.
[Generative Model] Neural style transfer 데이터 로드 import keras from google.colab import auth # Google File Drive Stream 접근 허용 auth.authenticate_user() from google.colab import drive drive.mount('/content/gdrive') 사용할 데이터는 구글 드라이브에 저장하고 Colaboratory에서 연동하여 파일을 불러와 사용한다. %cd gdrive/My Drive/Datasets/sample/ 이미지를 작성하기 전에 colaboratory의 terminal 위치를 이미지 샘플이 있는 곳으로 바꿔준다. from keras.preprocessing import image from tensorflow.keras.utils import .. 2022. 12. 9.
[Generative Model] 스타일 전송 (Style Transfer) 스타일 전송 (Style Transfer) Style Transfer는 주로 스타일 이미지가 주어졌을 때 같은 부류에 속한 것 같은 느낌을 주도록 입력 이미지를 변환하는 모델을 훈련하는 것이다. 이 기술은 상업 어플리케이션에 주로 도입되어 스마트폰 어플리케이션, 컴퓨터 게임 디자인 등 많은 곳에서 쓰인다. Style Transfer는 스타일 이미지에 내재된 분포를 모델링하는 것이 아니라 이미지에서 스타일을 결정하는 요소만 추출하여 입력 이미지에 주입하는 것이다. 또한, 하나의 이미지를 사용하는 것이 아니라 스타일 이미지 세트 전체에서 아티스트의 스타일을 잡아낸다. 따라서, 모델이 전체 이미지셋에 걸쳐 사용된 스타일을 학습하기 위한 방법을 찾아야 한다. Style Transfer는 여러가지 모델로 달성될 .. 2022. 12. 9.
[Generative Model] VAE (MNIST) 데이터 로드 import numpy as np import matplotlib.pyplot as plt from keras.datasets import mnist from keras.layers import Input, Dense, Lambda from keras.models import Model from keras import backend as K from keras import losses from scipy.stats import norm (x_train, _), (x_test, _) = mnist.load_data() x_train, x_test = x_train.astype('float32')/255., x_test.astype('float32')/255. x_train, x_test = x.. 2022. 12. 8.
[Generative Model] VAE (Variational AutoEncoder) VAE (Variational AutoEncoder) 생성 모델 (Generative Model)이란 새로운 data instance를 생성하는 모델이다. 즉, 학습 데이터의 분포도를 근사하는 특성을 가지고 있다. 예를 들어, 고양이, 강아지의 이미지 데이터를 생성 모델의 입력으로 준다면 입력 데이터와 상당히 유사한 분포를 갖는 새로운 이미지를 얻게 된다. 수학적으로 Autoencoder와 Variational Autoencoder는 전혀 관계가 없다. •Autoencoder의 목적은 Manifold learning이다. - AE는 네트워크의 앞단을 학습하기 위해 뒷단을 붙임 - 입력 데이터의 압축을 통해 데이터의 의미 있는 manifold를 학습한다. •Variational Autoencoder는 Ge.. 2022. 12. 8.
[Generative Model] 오토인코더 (MNIST) 데이터 로드 from keras.datasets import mnist import numpy as np (x_train, _), (x_test, _) = mnist.load_data() x_train = x_train.astype('float32') / 255. x_test = x_test.astype('float32') / 255. x_train = np.reshape(x_train, (len(x_train), 28, 28, 1)) x_test = np.reshape(x_test, (len(x_test), 28, 28, 1)) 모델 생성 from keras.layers import Input, Dense, Conv2D, MaxPooling2D, UpSampling2D from keras.models .. 2022. 12. 8.
[Generative Model] 오토인코더 (AutoEncoder) 오토인코더 (AutoEncoder) Autoencoding은 데이터 압축 알고리즘으로 압축 함수 (Encoding)와 압축 해제 함수 (Decoding)는 다음 과 같은 세 가지 특징을 갖는다. Autoencoder는 데이터에 민감하다. Autoencoder는 이제껏 훈련된 데이터와 비슷한 데이터로만 압축될 수 있다. 예를 들면, autoencoder는 MPEG-2 Audio Ⅲ (MP3) 압축 알고리즘과는 다르다. MP3 알고리즘은 일반적으로 소리에 관한 압축이지만 특정한 종류의 소리에 관한 것은 아니다. 얼굴 사진에 대해 학습된 autoencoder는 나무의 사진을 압축하는 데에는 좋은 성능을 내지 못하는데 그 이유는 autoencoder가 배우는 특징은 얼굴 특유의 것이기 때문이다. Autoenco.. 2022. 12. 8.
생성 모델 (Generative Model) 생성 모델 (Generative Model) 생성 모델은 주어진 학습 데이터를 학습하여 학습 데이터의 분포를 따르는 유사한 데이터를 생성하는 모델이다. 생성적 적대 신경망 (GAN)은 판별 모델 (Discriminative Model)과 대조되는 통계적 모델 클래스이다. 생성 모델은 새 데이터 인스턴스를 생성할 수 있다. 판별 모델은 서로 다른 종류의 데이터 인스턴스를 구분한다. 생성 모델은 진짜 동물처럼 보이는 새로운 동물 사진을 생성할 수 있고, 분류 모델은 고양이에게 개를 말할 수 있다. GAN은 생성 모델의 한 가지 종류일 뿐이다. 데이터 인스턴스 X 집합과 라벨 Y 집합을 지정하면 다음과 같이 된다. 생성 모델은 조인 확률 p(X, Y)를 캡처하거나 라벨이 없는 경우 p(X)만 캡처한다. 판별 .. 2022. 12. 8.
[Generative Model] 서로 다른 이미지 오토인코더 라이브러리 from matplotlib.pyplot import imshow import numpy as np import cv2 from tensorflow.keras.utils import img_to_array from tensorflow.keras.layers import Conv2D, MaxPooling2D, UpSampling2D from tensorflow.keras.models import Sequential SIZE=256 # Limiting to 256 size image as my laptop cannot handle larger images. img_data = [] img = cv2.imread('einstein.jpg', 1) # Change 1 to 0 for Grey scal.. 2022. 11. 25.
[Generative Model] 노이즈 제거 (MNIST) 라이브러리 from tensorflow.keras.datasets import mnist from tensorflow.keras.layers import Conv2D, MaxPooling2D, UpSampling2D from tensorflow.keras.models import Sequential import numpy as np import matplotlib.pyplot as plt (x_train, _), (x_test, _) = mnist.load_data() x_train = x_train.astype('float32') / 255. x_test = x_test.astype('float32') / 255. x_train = np.reshape(x_train, (len(x_train), 28, .. 2022. 11. 25.
728x90
반응형
LIST