generator

    Segmentation map-도로 이미지 만들기|Pix2Pix

    Segmentation map-도로 이미지 만들기|Pix2Pix

    프로젝트 수행 프로젝트를 진행하면서 필수로 수행해야 할 사항은 아래와 같다. 데이터에 한 가지 이상의 augmentation 방법을 적용하여 학습(어떠한 방법을 사용했는지 기재.) 이전에 구현했던 두 개의 Generator 중 Encoder와 Decoder 간에 skip connection이 있는 U-Net Generator를 사용 모델 학습 후, 학습된 Generator를 이용해 테스트한다. 테스트 데이터는 다운로드했던 "val" 폴더 내 이미지를 사용. 1개 이상의 이미지에 대해 테스트 과정을 거친 후 그 결과를 스케치, 생성된 사진, 실제 사진 순서로 나란히 시각화. 모델을 충분히 학습하기에 시간이 부족할 수 있다. 적어도 10 epoch 이상 학습하며 중간 손실 값에 대한 로그를 남기기. 1. S..

    [Part5]Sketch2Pokemon-학습 및 테스트하기|Pix2Pix

    [Part5]Sketch2Pokemon-학습 및 테스트하기|Pix2Pix

    데이터 준비하기 Generator 구성하기 Generator 재구성하기 Discriminator 구성하기 학습 및 테스트하기(현재 page) Generator와 Discriminator 학습 및 테스트 이번 스탭에서는 구현된 Generator와 Discriminator를 학습시켜보고, 스케치를 입력으로 채색된 이미지를 생성해봅시다. 먼저 학습에 필요한 손실 함수부터 정의하도록 하자. 논문의 여러 실험 결과 중 손실 함수 선택에 따른 결과의 차이는 아래와 같습니다. 레이블 정보만 있는 입력에 대해 여러 손실 함수를 사용해 실제 이미지를 만들어 낸 결과는, 일반적인 GAN의 손실 함수에 L1을 추가로 이용했을 때 가장 실제에 가까운 이미지를 생성해 내었습니다. 이번 실험에서도 두 가지 손실 함수를 모두 사용..

    [Part3]Sketch2Pokemon-UNet Generator|Pix2Pix

    [Part3]Sketch2Pokemon-UNet Generator|Pix2Pix

    데이터 준비하기 Generator 구성하기 Generator 재구성하기(현재 page) Discriminator 구성하기 학습 및 테스트하기 Generator 재구성하기 이전 스탭에서 Encoder와 Decoder를 연결시켜 Generator를 만들어 보았습니다. 하지만 앞서 설명드린 것처럼 Pix2Pix의 Generator 구조는 아래 그림처럼 두 가지를 제안하였는데, 아래 그림을 한번 살펴봅시다. 위 그림에서 각 구조 아래에 표시된 이미지는 해당 구조를 Generator로 사용했을 때의 결과입니다. 단순한 Encoder-Decoder 구조에 비해 Encoder와 Decoder 사이를 skip connection으로 연결한 U-Net 구조를 사용한 결과가 훨씬 더 실제 이미지에 가까운 품질을 보이는 것..

    [Part2]Sketch2Pokemon-Generator 구성하기|Pix2Pix

    [Part2]Sketch2Pokemon-Generator 구성하기|Pix2Pix

    데이터 준비하기 Generator 구성하기(현재 page) Generator 재구성하기 Discriminator 구성하기 학습 및 테스트하기 Generator 구성하기 이제부터 본격적으로 Pix2Pix 구조를 구현해보고자 한다. 앞서 cGAN과 같이 Tensorflow의 Subclassing 방법을 이용해 모델을 만들어볼 것이다. Generator의 구성요소 알아보기 먼저, 아래의 사진은 Pix2Pix 논문에서 Generator를 구성하는데 필요한 정보인데, 한번 읽어보도록 하자. Question 논문에서 표기한 encoder의 "C64"는 어떠한 하이퍼 파라미터를 가진 레이어들의 조합을 나타내는 것일까??? 64개의 4 * 4 필터에 stride 2를 적용한 Convolution → 0.2 slope의..

    [Part1]Sketch2Pokemon-데이터 준비하기|Pix2Pix

    [Part1]Sketch2Pokemon-데이터 준비하기|Pix2Pix

    한강 한강 볼 것이 많아 총 5개의 목차로 나누었습니다. 데이터 준비하기(현재 page) Generator 구성하기 Generator 재구성하기 Discriminator 구성하기 학습 및 테스트하기 데이터 준비하기 이번에는 앞서 알아본 pix2pix 모델에 대해 직접 구현하고 실험하는 시간을 가져보려합니다. 사용할 데이터셋은 Sketch2Pokemon 이라는 데이터셋으로 아래 링크에서 다운 받을 수 있습니다. Sketch2Pokemon info 위 출처에는 학습용 데이터셋에 830개의 이미지가 있으며, 각 (256 * 256) 크기의 이미지 쌍이 나란히 붙어 (256 * 512) 크기의 이미지로 구성되어 있습니다. import os data_path = "/content/drive/MyDrive/data..

    [Part3]난 스케치 넌 채색을... |GAN-Pix2Pix

    [Part3]난 스케치 넌 채색을... |GAN-Pix2Pix

    이전 투고에서는 Generator 구성, Discriminator 구성, 학습 및 테스트를 진행해보았습니다. 이번 시간에는 이미지를 입력으로 하여 원하는 다른 형태의 이미지로 변환시킬 수 있는 GAN model을 알아보도록 합시다. 목차 GAN의 입력에 이미지를 넣는다면? Pix2Pix 1. GAN의 입력에 이미지를 넣는다면? 지금까지 cGAN에 대해 알아보고 실험해 보면서, 작은 조건만으로 우리가 원하는 클래스의 이미지를 생성할 수 있음을 확인해보았다. 만약 입력 자체가 조건이 된다면 어떻게 될까??? cGAN과 같이 클래스 레이블 등의 조건을 함께 입력하는 것이 아니라, 조금 더 자세하게 내가 원하는 이미지를 얻기 위해 이미지를 조건으로 줄 수 없을까???? 이번에는 Pix2Pix는 기존 노이즈 입력..

    [Part2]난 스케치 넌 채색을... |TF2-GAN

    [Part2]난 스케치 넌 채색을... |TF2-GAN

    In [1]: from IPython.core.display import display, HTML display(HTML("")) ⛳ 나는 스케치를 너는 채색을..... ⛳¶ 목차¶ 내가 원하는 숫자 이미지 만들기 (1) Generator 구성하기 내가 원하는 숫자 이미지 만들기 (2) Discriminator 구성하기 내가 원하는 숫자 이미지 만들기 (3) 학습 및 테스트하기 3. 내가 원하는 숫자 이미지 만들기 (1) Generator 구성하기¶ 이제부터는 앞에서 계속 비교해온 GAN과 cGAN을 각각 간단하게 구현하고 실험해 보자. 간단한 실험을 위해 MNIST 데이터셋을 이용할 것이다. TF2-GAN 데이터 준비하기¶ tensorflow-datasets 라이브러리에서 간단하게 MNIST 데이터셋을..

    [Part1]난 스케치 넌 채색을... |GAN

    [Part1]난 스케치 넌 채색을... |GAN

    In [1]: from IPython.core.display import display, HTML display(HTML("")) ⛳ 나는 스케치를 너는 채색을..... ⛳¶ 들어가며..¶ 2014년 GAN(Generative Adversarial Networks)이 세상에 나타난 이후, Computer Vision 및 다양한 분야에서 많은 관심을 받아 활발하게 응용되면서 빠르게 발전해 왔다. 오늘은 이미지 생성 모델로 사용되는 일반적인 GAN에 조건을 부여하여 내가 원하는 유형의 이미지를 생성해 낼 수 있도록 하는 방법에 대해 알아보자. 오늘 진행할 내용에는 Tensorflow로 신경망을 구현하는 과정을 보고 이해하는 부분이 많다. 학습 목표¶ 조건을 부여하여 생성 모델을 다루는 방법에 대해 이해 cG..