pix2pix

    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을 추가로 이용했을 때 가장 실제에 가까운 이미지를 생성해 내었습니다. 이번 실험에서도 두 가지 손실 함수를 모두 사용..

    [Part4]Sketch2Pokemon-Discriminator구성|Pix2Pix

    [Part4]Sketch2Pokemon-Discriminator구성|Pix2Pix

    데이터 준비하기 Generator 구성하기 Generator 재구성하기 Discriminator 구성하기(현재 page) 학습 및 테스트하기 Discriminator 구성하기 Generator만으로 좋은 결과를 도출하기에는 부족할 것입니다. 조금 더 사실적인 이미지를 생성하기 위한 Pix2Pix를 완성시키기 위해서는 Discriminator가 필요한데, 이번 스탭에서는 Discriminator를 만들어 Pix2Pix 구조를 완성시켜 보는 시간을 가져봅시다. Discriminator의 구성요소 알아보기 아래의 사진은 Pix2Pix 논문에서 Discriminator를 구성하는데 필요한 정보이니, 알아보도록 합시다. Generator의 구성 요소와 똑같이 "C64" 등으로 표기되어 있습니다. 진짜인지 가짜 이..

    [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는 기존 노이즈 입력..

    [Part 1]인공지능으로 새로운 패션을 만들 수 있다!

    [Part 1]인공지능으로 새로운 패션을 만들 수 있다!

    In [41]: from IPython.core.display import display, HTML display(HTML("")) ⛳ 인공지능으로 세상에 없던 새로운 패션 만들기 ⛳¶ ▶ 학습 전제¶ Convolution 의 padding, stride 등의 기본 개념을 알고 있다. 교차 엔트로피(Cross Entropy) 등의 손실 함수, 최적화 함수 등 딥러닝의 기본적인 학습 알고리즘을 알고 있다. Tensorflow 를 활용해 신경망을 학습시키는 코드를 다뤄본 적이 있다. 간단한 판별 모델링(분류, 회귀 등) 의 개념을 알고, 실습해 본 적이 있다. ▶ 학습 목표¶ 생성 모델링 개념을 이해하며 판별 모델링과의 차이 알기 Pix2Pix, CycleGAN 등의 이미지 관련 다양한 생성 모델링의 응용을..