Sketch2Pokemon
[Part5]Sketch2Pokemon-학습 및 테스트하기|Pix2Pix
데이터 준비하기 Generator 구성하기 Generator 재구성하기 Discriminator 구성하기 학습 및 테스트하기(현재 page) Generator와 Discriminator 학습 및 테스트 이번 스탭에서는 구현된 Generator와 Discriminator를 학습시켜보고, 스케치를 입력으로 채색된 이미지를 생성해봅시다. 먼저 학습에 필요한 손실 함수부터 정의하도록 하자. 논문의 여러 실험 결과 중 손실 함수 선택에 따른 결과의 차이는 아래와 같습니다. 레이블 정보만 있는 입력에 대해 여러 손실 함수를 사용해 실제 이미지를 만들어 낸 결과는, 일반적인 GAN의 손실 함수에 L1을 추가로 이용했을 때 가장 실제에 가까운 이미지를 생성해 내었습니다. 이번 실험에서도 두 가지 손실 함수를 모두 사용..
[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
데이터 준비하기 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
한강 한강 볼 것이 많아 총 5개의 목차로 나누었습니다. 데이터 준비하기(현재 page) Generator 구성하기 Generator 재구성하기 Discriminator 구성하기 학습 및 테스트하기 데이터 준비하기 이번에는 앞서 알아본 pix2pix 모델에 대해 직접 구현하고 실험하는 시간을 가져보려합니다. 사용할 데이터셋은 Sketch2Pokemon 이라는 데이터셋으로 아래 링크에서 다운 받을 수 있습니다. Sketch2Pokemon info 위 출처에는 학습용 데이터셋에 830개의 이미지가 있으며, 각 (256 * 256) 크기의 이미지 쌍이 나란히 붙어 (256 * 512) 크기의 이미지로 구성되어 있습니다. import os data_path = "/content/drive/MyDrive/data..