본문 바로가기

비지도학습/GAN

[6주차] Image-to-Image Translation with Conditional Adversarial Networks, 2018

Image-to-Image Translation with Conditional Adversarial Networks, 2018

1. intro
2. 관련논문(
이미지 모델링을 위한 구조화된 손실/ 조건부GAN/ PatchGAN)
3. Method
    3.1 Objective
    3.2 Network architectures
       3.2.1 Generator with skips
       3.2.2 Markovian discriminator 
(PatchGAN)
    3.3. Optimization and inference 
4. 실험
- 데이터 요구사항 및 속도
    4.1 Evaluation metrics
        - AMT 지각 연구
        - “FCN-score”  
    4.2 목적 함수 분석
        - 색상화,채색
    4.3 생성기 아키텍처 분석
    4.4. 픽셀GAN에서 PatchGAN에서 ImageGAN으로
        -Fully-convolutional translation
    4.5 Perceptual validation
    4.6 Semantic segmentation
    4.7 Community-driven Research

5. Conclusion
6. Appendix

 

Abstract


우리는 이미지 대 이미지 번역(image-to-image translation problems) 문제에 대한 범용 솔루션으로 조건부 적대 네트워크를 조사합니다. 
이러한 네트워크는 입력 이미지에서 출력 이미지로의 매핑을 학습 할뿐만 아니라 이 매핑을 훈련하기위한 손실 함수도 학습합니다. 
이를 통해 전통적으로 매우 다른 손실 공식이 필요한 문제에 동일한 일반적인 접근 방식을 적용 할 수 있습니다. 
우리는 이 접근 방식이 레이블 맵에서 사진을 합성하고, 에지 맵에서 개체를 재구성하고, 이미지에 색상을 지정하는 데 효과적이라는 것을 보여줍니다. 
실제로 이 문서와 관련된 pix2pix 소프트웨어가 출시 된 이후 많은 인터넷 사용자 (대부분의 아티스트)가 자체 실험을 우리 시스템에 게시하여 매개 변수 조정 없이도 광범위한 적용 가능성과 채택 용이성을 입증했습니다.  
커뮤니티로서 우리는 더 이상 매핑 함수를 직접 엔지니어링하지 않으며,이 작업은 손실 함수를 직접 엔지니어링하지 않고도 합리적인 결과를 얻을 수 있음을 시사합니다. 

1. Introduction 

이미지 처리, 컴퓨터 그래픽 및 컴퓨터 비전의 많은 문제는 입력 이미지를 해당 출력 이미지로 "translating"("변환")하는 것으로 제기 될 수 있습니다.  
개념이 영어 또는 프랑스어로 표현되는 것처럼 장면은 RGB 이미지, 그라디언트 필드, 에지 맵, 의미 레이블 맵 등으로( RGB image, a gradient field, an edge map, a semantic label map, etc) 렌더링 될 수 있습니다. 
자동 언어 번역과 유사하게, 충분한 훈련 데이터가 주어지면 자동 이미지-이미지 번역을 장면의 가능한 표현 중 하나를 다른 장면으로 번역하는 작업으로 정의합니다 (그림 1 참조). 
전통적으로 이러한 각 작업은 환경이 항상 동일함에도 불구하고 별도의 특수 목적 기계 (special-purpose machinery 예 : [16, 25, 20, 9, 11, 53, 33, 39, 18, 58, 62])로 해결되었습니다. : 픽셀에서 픽셀을 예측합니다. 
이 논문의 목표는 이러한 모든 문제에 대한 공통 프레임 워크를 개발하는 것입니다. 
커뮤니티는 이미 이 방향으로 중요한 조치를 취했으며 CNN (convolutional neural net)이 다양한 이미지 예측 문제의 배후에있는 공통의 도구가되었습니다. 
CNN은 손실 함수 (결과의 품질을 평가하는 목표)를 최소화하는 방법을 배우며, 학습 프로세스는 자동이지만 여전히 효과적인 손실을 설계하는 데 많은 수작업이 필요합니다. 
다시 말해, 우리는 CNN이 최소화하기를 원하는 것을 여전히 알아야함. 
그러나 마이다스 왕처럼 우리는 우리가 원하는 것을 조심해야합니다! 
일반적인 접근 방식을 취하고 CNN에 예측 픽셀과 실제 픽셀 사이의 유클리드 거리를 최소화하도록 요청하면 흐릿한 결과를 생성하는 경향이 있습니다 [43, 62]. 
이는 모든 그럴듯한 출력을 평균화하여 유클리드 거리가 최소화되어 흐림을 유발하기 때문입니다. 
예를 들어 선명하고 사실적인 이미지를 출력하는 등 CNN이 진정 원하는 작업을 수행하도록하는 손실 함수를 찾는 것은 공개된 문제이며 일반적으로 전문 지식이 필요합니다. 
대신에 "출력을 현실과 구별 할 수 없게 만든다"와 같은 높은 수준의 목표 만 지정하고이 목표를 충족하는 데 적합한 손실 함수를 자동으로 학습 할 수 있다면 매우 바람직 할 것입니다. 
다행히도 이것은 최근 제안 된 GAN (Generative Adversarial Networks) [24, 13, 44, 52, 63]에서 정확히 수행 한 작업입니다. 
GAN은 출력 이미지가 실제인지 가짜인지 분류하는 동시에 이러한 손실을 최소화하기 위해 생성 모델을 훈련하는 손실을 학습합니다. 
흐릿한 이미지는 분명히 가짜로 보이기 때문에 용납되지 않습니다. GAN은 데이터에 적응하는 손실을 학습하기 때문에 전통적으로 매우 다른 종류의 손실 함수를 필요로하는 수많은 작업에 적용될 수 있습니다. 
이 논문에서는 조건부 설정에서 GAN을 탐색합니다. 
GAN이 데이터 생성 모델을 학습하는 것처럼 조건부 GAN (cGAN)은 조건부 생성 모델 [24]을 학습합니다. 
따라서 cGAN은 입력 이미지를 조건화하고 해당 출력 이미지를 생성하는 이미지 대 이미지 변환 작업에 적합합니다. 
GAN은 지난 2 년 동안 활발하게 연구되었으며 이 논문에서 살펴본 많은 기술이 이전에 제안되었습니다. 
그럼에도 불구하고 이전 논문은 특정 애플리케이션에 중점을 두었으며 이미지 조건부 GAN이 이미지 대 이미지 변환을위한 범용 솔루션으로 얼마나 효과적인지 불분명합니다. 
우리의 주요 기여는 다양한 문제에서 조건부 GAN이 합리적인 결과를 생성한다는 것을 보여주는 것입니다. 
두 번째 공헌은 좋은 결과를 달성하고 몇 가지 중요한 아키텍처 선택의 효과를 분석하기에 충분한 간단한 프레임 워크를 제시하는 것입니다.

 

2. Related work

Structured losses for image modeling 이미지 모델링을위한 구조화 된 손실 

이미지-이미지 변환 문제는 종종 픽셀별 분류 또는 픽셀별 회귀로 공식화됩니다 (예 : [39, 58, 28, 35, 62]). 
이러한 공식은 각 출력 픽셀이 입력 이미지가 주어진 다른 모든 픽셀과 조건부로 독립적으로 간주된다는 점에서 출력 공간을 "구조화되지 않은"것으로 취급합니다. 대신 조건부 GAN은 구조화 된 손실을 학습합니다. 
구조적 손실(tructured loss)은 출력의 공동 구성에 불이익을줍니다. (Structured losses penalize the joint configuration of the output.)
이미지 모델링을 위한 구조화 된 손실 이미지-이미지 변환 문제는 종종 픽셀별 분류 또는 회귀로 공식화됩니다 (예 : [39, 58, 28, 35, 62]). 
많은 문헌에서 조건부 랜덤 필드(conditional random fields) , SSIM 메트릭(the SSIM metric), 특징 매칭( feature matching), 비모수 손실(nonparametric losses) , 컨볼 루션 의사 사전( the convolutional pseudo-prior), 그리고 일치하는 공분산 통계에 기초한 손실(losses based on atching covariance statistics). 
조건부 GAN은 손실이 학습된다는 점에서 다르며, 이론적으로 출력과 목표가 다른 모든 가능한 구조에 페널티를 줄 수 있습니다. 

 

▪Conditional GANs 조건부 GAN  

조건부 설정에서 GAN을 처음으로 적용한 것은 아닙니다. 
이전 및 동시 작업은 개별 레이블 [41, 23, 13], 텍스트 [46] 및 실제로 이미지에 대한 GAN을 조건화했습니다. 
이미지 조건부 모델은 노멀 맵(normal map) [55], 미래 프레임 예측(future frame prediction) [40], 제품 사진 생성(product photo generation) [59], 희소 주석(sparse annotations)으로부터 이미지 생성 [31, 48] 에서 이미지 예측을 다루었습니다. (같은 문제에 Autoregressive approach 자기 회귀 접근). 
다른 여러 논문에서도 이미지 대 이미지 매핑에 GAN을 사용했지만, 다른 방법 (L2 회귀와 같은)에 의존하여 출력이 입력에 따라 조정되도록하는 방식으로 GAN을 무조건 적용했습니다. 
이 논문들은 인페인팅(inpainting) [43], 미래 상태 예측(future state prediction) [64], 사용자 제약에 의한 이미지 조작(image manipulation guided by user constraints) [65], 스타일 전달( style transfer ) [38], 초 해상도(superresolution) [36]에서 인상적인 결과를 얻었습니다. 
각 방법은 특정 애플리케이션에 맞게 조정되었습니다. 
pix2pix는 적용에 특정한 것이 없다는 점에서 다릅니다. 
이것은 우리의 설정을 대부분의 다른 것보다 훨씬 간단하게 만듭니다. 
우리의 방법은 또한 생성기와 판별자에 대한 몇 가지 아키텍처 선택에서 이전 작업과 다릅니다. 
이전 작업과 달리 생성기에서는 "U-Net"기반 아키텍처 [50]를 사용하고, 판별기에는 이미지 패치 규모의 구조에만 페널티를주는 컨볼루션 "PatchGAN"분류기를 사용합니다. 유사한 PatchGAN 아키텍처가 이전에 [38]에서 로컬 스타일 통계를 캡처하기 위해 제안되었습니다. 
여기서 우리는이 접근 방식이 더 광범위한 문제에 효과적임을 보여주고 패치 크기 변경의 영향을 조사합니다.

 

💬 PatchGAN
    1.PatchGAN이란?

 ◼ PatchGAN은 전체 영역이 아니라 특정 크기의 patch 단위로 Generator가 만든 이미지의 진위 여부를 판단

(a.k.a Markovian Discriminator, Local-patch Disctiminator)

 ◼ 즉, correlation 관계가 유지되는 범위에 해당되는 적절한 크기의 patch 사이즈를 정하고, 그 패치들이 대부분 진짜인 방향으로 학습이 진행됩니다.
 ◼ Patch size는 전체 이미지 크기 및 영상 전체에서 특정 픽셀과 다른 픽셀들 간의 연관 관계가 존재하는 적절한 범위를 포함해야 하기 때문에 hyperparameter이라고 볼 수 있습니다.
 ◼ 기존 GAN에서 Discriminator는 Generator가 만들어준 입력 데이터(이미지) 전부를 보고 Real/Fake 여부를 판단합니다. 

 ◼따라서 Generator는 Discriminator를 속이기 위해 데이터의 일부 특징을 과장하려는 경향을 보입니다.
 ◼G는 사람이 보는 이미지 퀄리티 여부와 상관없이 D를 잘 속이는 방향으로만 학습을 하게 되고, 이로 인해 결과 이미지에 블러가 끼어 나타나게 됩니다.
 ◼따라서 보통 전체 이미지에 대한 Low frequency 성분을 L-1 regularization term을 통해 파악한 후 High frequency 성분을 잘 보는 PatchGAN D와 결합하는 식(summation)으로 Discriminator의 loss를 구성합니다.
 ◼PatchGAN은 patch의 직경보다 더 멀리 있는 픽셀들은 서로 independent하다는 가정을 깔고 가므로 이미지를 하나의 MRF(Markov Random Field)로 모델링할 수 있게 됩니다.
 ◼MRF는 무방향 확률그래프(Undirected graph) 모델로서 베이지안 모델링(Bayesian modeling)을 통해 이미지를 분석하는 데 사용됩니다.
 ◼MRF는 무조건 Bayesian approach로 모델링되며, Markov assuption(마르코프 가정)을 갖는 Random Field를 의미합니다. 즉 Random Field간에 시간이 아닌 지역적인 마르코프 속성이 있어서 바로 근처의 주변 픽셀만 고려하고 나머지는 고려하지 않습니다.
 ◼"마르코프 모델"이란 마르코프 가정이 성립되는 시스템을 의미합니다.
 ◼1차 마르코프 연쇄 : 한 상태에서 다른 상태로 변할 확률이 현재의 상태에만 의존하는 모델
 ◼1차 마르코프 가정 : 시간 n에서 어떤 사건이 관측될 확률은 n-1에서의 관측 결과인 qn-1에만 의존한다는 가정입니다.
 ◼한 부분의 데이터를 알아내기 위해 전체 데이터를 보고 판단하는 것이 아닌, 이웃하고 있는 데이터들과의 관계를 파악해 판단합니다.
 ◼이미지의 relevant한 통계적 종속성(statistical dependencies)이 Local level에 존재한다고 가정하고 로컬 이미지 패치의 likelihood를 학습합니다. (「Combining Markov Random Fields and Convolutional Neural Networks for Image Synthesis」 ‘Introduction’ 내용 중 발췌. 이 논문에서 NxN patches를 사용하는 컨셉이 처음으로 제안되었으나 D가 아닌 생성 모델에만 국한되어 있음.)
 ◼MRF는 Image restoration, Texture analysis, Image segmentation, Image labeling, Edge detection, Object recognition 등의 분야에 사용됩니다.

    2.PatchGAN 적용

 ◼ 전체 이미지가 아니라 작은 이미지 패치 단위에 대해 sliding window가 지나가며 연산을 수행하므로 파라미터 개수가 훨씬 작아집니다. 이로 인해 연산 속도가 더 빨라지고, 전체 이미지 크기에 영향을 받지 않아 구조적 관점에서 유연성을 보입니다.

  • Discriminator의 네트워크 크기를 줄일 수 있게 됩니다. Receptive Field의 크기를 늘리려면 Kernel이 커지거나 레이어를 더 쌓아 네트워크가 깊어져야 하지만 마냥 깊다고 좋은 성능을 내지는 않습니다.

  • 전체 이미지 크기에 영향을 받지 않고 네트워크가 어느 정도 가벼워질 수 있기 때문에 Pix2Pix 이후로 나오는 Img2img translation 논문들은 PatchGAN 구조를 상당히 많이 차용하게 됩니다.

 ◼ low frequency에 대해 학습하는 L1 regularization term과 local 영역에서 sharpen한 디테일, 즉 high frequency 영역(엣지)에 대해 patch 단위로 학습함으로서 두 방식의 장점을 모두 취할 수 있게 됩니다.


 

3. Method 
GAN은 랜덤 노이즈 벡터 z에서 출력 이미지 y, G : z → y [24]로 매핑을 학습하는 생성 모델입니다. 
대조적으로, conditional GAN은 관찰된 이미지 x 및 랜덤 노이즈 벡터 z에서 y, $G : {x, z} → y$ 로의 매핑을 학습합니다. 
생성기 G는 적대적으로 훈련 된 판별기 D에 의해 "실제"이미지와 구별 할 수없는 출력을 생성하도록 훈련되었습니다.

이는 생성기의 "가짜"를 감지 할 수있을뿐만 아니라 수행하도록 훈련되었습니다. 
이 학습 절차는 그림 2에 나와 있습니다. 

그림 2. edges → 사진 매핑하는 conditional GAN 학습


3.1. Objective 

조건부 GAN의 목적은 (1)로 표현할 수 있습니다. 여기서 G는이를 최대화하려는 적대적 D에 대해 이 목표를 최소화하려고합니다.

즉, $$G * = arg minG maxD LcGAN (G, D)$$

$L_cGAN(G,D) = E_{x,y}[logD(x,y)]+E_{x,z}[log(1-D(x,G(x,z))]$-(1)


판별자를 조절하는 것의 중요성을 테스트하기 위해 판별자가 x를 관찰하지 않는 unconditional variant(무조건 변형)과 비교합니다. 

$L_{GAN}(G,D)=E_y[logD(y)]+E_{x,z}[log(1-D(G(x,z))]$-(2)


L2 거리와 같은 이전 접근법은 GAN 목표를 보다 전통적인 손실과 혼합하는 것이 유익하다는 것을 발견했습니다 [43]. 
판별자의 역할은 변함이 없지만 생성자는 판별자를 속일뿐만 아니라 L2 의미에서 실제 출력에 가까워 지도록해야합니다. 

L1이 흐려짐을 줄여 주므로 L2가 아닌 L1 거리를 사용하여이 옵션을 살펴 봅니다.

$L_{L1}(G)=E{x,y,z}[||y-G(x,z)||_1]$-(3)


우리의 최종 목표는 (4)입니다. 

$G*=argmin_Gmax_DL_{cGAN}(G,D) + \lambda_{L1}(G)$-(4)


z가 없으면, 네트워크는 x에서 y로의 매핑을 학습할 수 있지만, 결정적 출력을 생성하므로 델타 함수 이외의 분포와 일치하지 않습니다. 
과거의 조건부 GAN은 이를 인지하고 x와 함께 가우시안 잡음 z를 발생기에 대한 입력으로 제공했습니다 (예 : [55]). 
In initial experiments, we did not find this strategy effective – the generator simply learned to ignore the noise – which is consistent with Mathieu et al. [40].  
초기 실험에서, 우리는 Deep multi-scale video prediction beyond mean square error와 일치하는 이 전략이 효과적이지 않다는 것을 발견하지 못했습니다. -생성자는 단순히 잡음을 무시하는 법을 배웠습니다.-
대신, 최종 모델의 경우 학습 및 테스트 시간에 생성기의 여러 레이어에 적용된 드롭 아웃 형태로만 노이즈를 제공합니다. 
드롭 아웃 노이즈에도 불구하고 우리는 네트워크의 출력에서 ​​약간의 확률성만(minor stochasticity) 관찰합니다. 
고도로 확률적 출력을 생성하여 모델링하는 조건부 분포의 전체 엔트로피를 캡처하는 조건부 GAN을 설계하는 것은 현재 작업에서 남겨진 중요한 질문입니다. 

3.2. Network architectures 
우리는 생성기 및 판별기 아키텍처를 [44]의 아키텍처에서 조정합니다. 
생성기와 판별 기 모두 convolution-BatchNorm-ReLu [29] 형식의 모듈을 사용합니다. 
아키텍처에 대한 자세한 내용은 아래에 설명 된 주요 기능과 함께 온라인 보충 자료에 제공됩니다.

그림 3. 생성기의 구조를 위한 두가지 선택.

"U-Net"은 스킵커넥션이 있는 인코더와 디코더 스택의 미러링된 레이어사이의 인코더-디코더이다.


3.2.1 Generator with skips 
이미지 대 이미지 변환 문제에 대한 특징을 정의하는 것은 고해상도 입력 그리드를 고해상도 출력 그리드에 매핑한다는 것입니다. 
또한 우리가 고려하는 문제의 경우 입력과 출력은 표면 모양이 다르지만 둘 다 동일한 기본 구조의 렌더링입니다. 
따라서, 입력의 구조는 출력의 구조와 대략적으로 정렬(aligned)됩니다. 
우리는 이러한 고려 사항을 중심으로 생성기 아키텍처를 설계합니다. 
이 분야의 문제에 대한 많은 이전 솔루션 [43, 55, 30, 64, 59]은 인코더-디코더 네트워크 [26]를 사용했습니다. 
이러한 네트워크에서 입력은 단계적으로 다운 샘플링되는 일련의 계층을 통과하여 병목 계층이 될 때까지 프로세스가 반전됩니다. 
이러한 네트워크에서는 모든 정보 흐름이 병목 현상을 포함하여 모든 계층을 통과해야합니다. 
많은 이미지 변환 문제의 경우, 입력과 출력간에 공유되는 많은 저수준 정보가 있으며, 이 정보를 네트워크를 통해 직접 전송하는 것이 바람직합니다. 
예를 들어, 이미지를 색칠할 경우 입력과 출력이 눈에 띄는 가장자리의 위치를 ​​공유합니다. 
생성기에 이와 같은 정보의 병목 현상을 피할 수있는 수단을 제공하기 위해 "U-Net"[50]의 일반적인 형태에 따라 skip connection을 추가합니다. 
특히, 각 레이어 i와 레이어 n-i 사이에 스킵 연결을 추가합니다. 여기서 n은 총 레이어 수입니다. 
각 스킵 연결은 단순히 레이어 i의 모든 채널을 레이어 n-i의 채널과 연결합니다. 

3.2.2 Markovian discriminator (PatchGAN)

그림 4 : 서로 다른 손실함수에서 도출된 다른 결과의 퀄리티

L2 손실과 L1 손실(그림 4 참조)이 이미지 생성 문제에 대해 흐릿한 결과를 생성한다는 것은 잘 알려져 있습니다 [34]. 
이러한 손실은 고주파 선명도( high-frequency crispness)를 장려하지 못하지만, 그럼에도 불구하고 많은 경우 저주파를 정확하게 포착합니다. 
이 문제의 경우 저주파(correctness at the low frequencies)에서 정확성을 강화하기 위해 완전히 새로운 프레임 워크가 필요하지 않습니다. 
L1은 이미 할 것입니다. 
이것은 GAN 판별기를 저주파 정확성을 강제하기 위해 L1 방법에 의존하여 고주파 구조만 모델링하도록 제한하는 동기를 부여합니다 (Eqn. 4). 
고주파를 모델링하려면, 로컬 이미지 패치의 구조에 대한 attention을 제한하는 것으로 충분합니다. 
따라서, 우리는 패치 규모에서만 구조에 불이익(penalize)을 주는 판별자 아키텍처 (PatchGAN이라고 함)를 설계합니다. 
이 판별기는 이미지의 각 N × N 패치가 진짜인지 가짜인지 분류하려고합니다. 
We run this discriminator convolutionally across the image, averaging all responses to provide the ultimate output of D. 
이 판별기를 이미지 전체에 컨볼루션 방식으로 실행하여 모든 응답(reponses)의 평균을 구하여 판별기의 궁극적인 출력을 제공합니다. 
In Section 4.4, we demonstrate that N can be much smaller than the full size of the image and still produce high quality results.  
섹션 4.4에서, N이 이미지의 전체 크기보다 훨씬 작을 수 있으며, 여전히 고품질 결과를 생성 할 수 있음을 보여줍니다. 
This is advantageous because a smaller PatchGAN has fewer parameters, runs faster, and can be applied to arbitrarily large images. 
이것은 더 작은 PatchGAN이 더 적은 매개 변수를 갖고 더 빠르게 실행되며, 임의로 큰 이미지에 적용될 수 있기 때문에 유리합니다. 
이러한 판별기는 패치 지름(patch diameter)이상으로 분리된 픽셀 간의 독립성을 가정하여 이미지를 Markov 랜덤 필드로 효과적으로 모델링합니다 
이 연결은 이전에 [38]에서 탐색되었으며, texture 텍스처 모델 [17, 21] 및 style 스타일 [16, 25, 22, 37]에서도 일반적인 가정입니다. 
따라서 PatchGAN은 텍스처 / 스타일 손실함수의 한 형태로 이해 될 수 있습니다. 

3.3. Optimization and inference 
네트워크를 최적화하기 위해 [24]의 표준 접근 방식을 따릅니다. 

D에서 하나의 경사 하강 단계를 번갈아 가며 G에서 한 단계를 번갈아 가며 수행합니다. 
원래 GAN 논문에서 제안했듯이 G를 훈련하여 $log (1 − D (x, G (x, z))$를 최소화하는 대신 $log D (x, G (x, z))$를 최대화하도록 훈련합니다. [24] . 
또한 목적함수를 2로 나누면서 판별기 D를 최적화하면 판별기 D가 생성기 G에 비해 학습하는 속도가 느려집니다.

미니 배치 SGD를 사용하고 학습률 0.0002와 운동량 매개 변수 β1= 0.5, β2 = 0.999로 Adam 솔버 [32]를 적용합니다.
추론할 때, 우리는 학습 단계에서와 똑같은 방식으로 생성 네트워크를 실행합니다. 
이것은 테스트 시간에 드롭 아웃을 적용하고 학습 배치의 집계된 통계보다는 테스트 배치의 통계를 사용하여 배치 정규화 [29]를 적용한다는 점에서 일반적인 프로토콜과 다릅니다. 
배치 크기가 1로 설정 될 때 배치 정규화에 대한 이러한 접근 방식"인스턴스 정규화"라고 불리며 이미지 생성 작업에서 효과적인 것으로 입증되었습니다 [54]. 
실험에서는 실험에 따라 1에서 10 사이의 배치 크기를 사용합니다. 

4. Experiments
조건부 GAN의 일반성(generality)을 탐색하기 위해, 사진 생성과 같은 그래픽 작업과 시맨틱 분할과 같은 vision 작업을 포함한 다양한 작업 및 데이터 세트에서 방법을 테스트합니다. :

Semantic labels↔photo,  trained on the Cityscapes dataset [12]. 시맨틱 라벨 ↔ 사진,
Architectural labels→photo, trained on CMP Facades[45]. 건축 라벨 → 사진, 
Map↔aerial photo, trained on data scraped from Google Maps. 지도 ↔ 공중 사진,
BW→color photos, trained on [51]. BW → 컬러 사진, 
• Edges→photo, trained on data from [65] and [60]; binary edges generated using the HED edge detector [58] plus postprocessing. 
Edges → photo, [65]와 [60]의 데이터로 훈련 됨; HED 에지 검출기 [58]와 후 처리를 사용하여 생성 된 이진 에지. 
 Sketch→photo: tests edges→photo models on humandrawn sketches from [19]. 
Sketch → photo : [19]에서 인간이 그린 스케치에서 가장자리 → 사진 모델을 테스트합니다. 
• Day→night, trained on [33]. 주간 → 야간, [33]에 훈련. 
 Thermal→color photos, trained on data from [27]. 열 화상 → 컬러 사진, [27]의 데이터로 훈련. 
• Photo with missing pixels→inpainted photo, trained on Paris StreetView from [14]. 누락 된 픽셀이있는 사진 → 도색 된 사진, [14]의 Paris StreetView에서 훈련. 


이러한 각 데이터 세트에 대한 자세한 교육 내용은 온라인 보충 자료에서 제공됩니다. 
모든 경우에 입력 및 출력은 단순히 1-3 채널 이미지입니다. 
질적 평가 결과는 그림 8, 9, 11, 10, 13, 14, 15,16, 17, 18, 19, 20에 나와 있습니다. 여러 실패 사례가 그림 21에 강조 표시되어 있습니다.

더욱 포괄적인 결과는 phillipi.github.io/pix2pix/.

 

Data requirements and speed 데이터 요구 사항 및 속도 


작은 데이터 세트에서도 적절한 결과를 얻을 수있는 경우가 많습니다. 
우리의 파사드 트레이닝 세트는 단 400 개의 이미지로 구성되며 (그림 14의 결과 참조), 낮부터 밤까지의 트레이닝 세트는 91 개의 고유한 웹캠으로만 구성됩니다 (그림 15의 결과 참조). 
이 크기의 데이터 세트에서 훈련은 매우 빠를 수 있습니다. 예를 들어 그림 14에 표시된 결과는 단일 Pascal Titan X GPU에서 훈련하는 데 2 ​​시간 미만이 걸렸습니다. 
테스트 시간에 모든 모델은 이 GPU에서 1 초 미만으로 실행됩니다. 

4.1. Evaluation metrics

합성된 이미지의 품질을 평가하는 것은 개방적이고 어려운 문제입니다 [52]. 
픽셀 당 평균 제곱 오차(mean-squared error)와 같은 기존 메트릭은 결과의 공동 통계를 평가하지 않으므로, 구조화된 손실함수를 포착하려는 바로 그 구조를 측정(measure)하지 않습니다. 
결과의 시각적 품질을보다 전체적으로 평가하기 위해 두 가지 전술을 사용합니다. 
① 첫째, Amazon Mechanical Turk (AMT)에 대해 "실제 대 가짜"지각 연구를 실행합니다. 
색칠 및 사진 생성과 같은 그래픽 문제의 경우, 인간 관찰자에 대한 타당성이 궁극적 인 목표 인 경우가 많습니다. 
따라서, 이 접근 방식을 사용하여 지도 생성, 항공 사진 생성 및 이미지 채색을 테스트합니다. 
  
둘째, 우리는 합성된 도시 풍경이 기존의 인식 시스템이 그 안에 있는 물체를 인식 할 수있을만큼 충분히 현실적인지 여부를 측정합니다. 
This metric is similar to the “inception score” from [52], the object detection evaluation in [55], and the “semantic interpretability” measures in [62] and [42]. 
이 측정 항목은 [52]의 “inception score”("초기 점수"), [55]의 물체 감지 평가, [62] 및 [42]의 "의미적 해석 가능성"측정과 유사합니다. 

AMT perceptual studies AMT 지각 연구 
For our AMT experiments, we followed the protocol from "Colorful image colorization" : Turkers were presented with a series of trials that pitted a “real” image against a “fake” image generated by our algorithm.  
AMT 실험을 위해 우리는 [62]의 프로토콜을 따랐습니다. 

Turkers는 우리 알고리즘에 의해 생성된“가짜”이미지에 대해“실제”이미지를 pitted(움푹 패인) 일련의 실험 진행
각 시험에서 각 이미지가 1 초 동안 나타나고, 그 후 이미지가 사라지고 Turkers는 어느 것이 가짜인지에 대한 응답을 무제한으로 받았습니다. 
각 세션의 처음 10 개의 이미지는 연습이었고 Turkers는 피드백을 받았습니다. 
본 실험의 40회 시험에 대한 피드백은 제공되지 않았습니다. 
각 세션은 한 번에 하나의 알고리즘 만 테스트했으며 Turkers는 하나 이상의 세션을 완료 할 수 없습니다. ~ 50 명의 Turkers가 각 알고리즘 평가 
[62]와 달리, 우리는 경계 시험(vigilance trials)을 포함하지 않았습니다. 
채색 실험을 위해 실제 이미지와 가짜 이미지는 동일한 회색조 입력(grayscale input)에서 생성되었습니다. 
지도 ↔ 공중 사진(map↔aerial photo)의 경우 작업을 더 어렵게 만들고 바닥 수준의 결과를 피하기 위해 동일한 입력에서 실제 이미지와 가짜 이미지가 생성되지 않았습니다.
지도 ↔ 공중 사진(map↔aerial photo)의 경우, 우리는 256x256 해상도 이미지에 대해 훈련했지만, 위에서 설명한 512x512 이미지를 테스트하기 위해 완전 컨볼루션 변환을 이용했으며, 그런 다음 다운샘플링하여 256x256 해상도로 Turkers에 제공했습니다. 
채색을 위해 우리는 256 × 256 해상도 이미지를 학습하고 테스트했으며 이 같은 해상도로 Turkers에 결과를 제시했습니다. 

“FCN-score”  
생성 모델의 정량적 평가는 어려운 것으로 알려져 있지만, 최근 연구 [52, 55, 62, 42]는 생성된 자극의 판별력을 pseudo-metric(의사 메트릭)으로 측정하기 위해 사전 훈련 된  semantic classifier를 사용하여 시도했습니다. 
직감적으로 생성된 이미지가 사실적이라면, 실제 이미지에 대해 훈련된 분류자는 합성된 이미지도 올바르게 분류 할 수 있습니다. 
이를 위해 우리는 시맨틱 분할(semantic segmentation)을 위해 인기있는 FCN-8s [39] 아키텍처를 채택하고 도시 경관 데이터 세트에서 학습합니다. 
We then score synthesized photos by the classification accuracy against the labels these photos were synthesized from. 
그런 다음 이러한 사진이 합성된 레이블에 대한 분류 정확도로 합성된 사진에 점수를 매깁니다. 

4.2. Analysis of the objective function 목적 함수 분석


Eqn4 에서 목적함수의 어떤 구성 요소가 중요합니까? 
우리는 ablation studies(절제 연구)를 실행하여 L1 식, GAN 식의 효과를 분리하고, 입력(cGAN, Eqn. 1)을 조건으로하는 판별기를 사용하여 조건없는 판별기 (GAN, Eqn. 2)를 사용하는 것과 비교합니다. 
그림 4는 two labels→photo problems(두 라벨 → 사진 문제)에 대한 이러한 변화의 질적 영향을 보여줍니다. 
L1만으로는 합리적이지만 모호한 결과를 얻을 수 있습니다.

cGAN 만 사용하면 (식 4에서 λ = 0으로 설정) 훨씬 더 선명한 결과를 얻을 수 있지만, 특정 적용에서 더욱 날카로운 결과를 내지만, 시각적 아티팩트가 발생합니다. 
두 항을 함께 추가하면 (λ = 100) 이러한 인공물이 줄어 듭니다. 
우리는 cityscapes labels→photo task(도시 경관 라벨 → 사진 작업) (표 1)에서 FCN 점수를 사용하여 이러한 관찰을 정량화합니다. 
GAN 기반 목표는 더 높은 점수를 달성하여 합성된 이미지에 더 인식 가능한 구조가 포함되어 있음을 나타냅니다. 
또한, 판별자 (GAN으로 표시됨)에서 조건을 제거하는 효과를 테스트합니다. 
이 경우 손실은 입력과 출력 간의 불일치에 불이익을주지 않습니다. 출력이 사실적으로 보이는지에만 관심이 있습니다. 
이 변형으로 인해 성능이 저하됩니다. 결과를 살펴보면 생성기가 입력 사진에 관계없이 거의 똑같은 출력을 생성하도록 붕괴되었음을 알 수 있습니다. 
분명히,이 경우 손실이 입력과 출력 간의 일치 품질을 측정하는 것이 중요하며, 실제로 cGAN은 GAN보다 훨씬 더 나은 성능을 발휘합니다. 
그러나, L1 식을 추가하면 L1 손실이 입력과 정확히 일치하는 Ground Truth 출력과 그렇지 않을 수있는 합성 출력 사이의 거리에 페널티를주기 때문에 출력이 입력을 존중하도록 권장합니다. 
이에 따라, L1 + GAN은 입력 레이블 맵을 존중하는 사실적인 렌더링을 만드는데도 효과적입니다.  
모든 term을 결합하면 L1 + cGAN도 비슷하게 잘 수행됩니다.

 

Colorfulness 색상화

 conditional GAN의 눈에 띄는 효과는 입력 레이블 맵에 존재하지 않더라도 선명한 이미지를 생성하여 공간 구조를 환각하는 것입니다. 
cGAN이 스펙트럼 차원의 "Sharpening"("선명도")에 비슷한 영향을 미친다고 상상할 수 있습니다. 즉, 이미지를 더욱 화려하게 만듭니다.  
L1이 가장자리를 정확히 찾을 위치가 불확실할 때 블러를 인센티브로 제공하는 것처럼, 픽셀이 가져야 할 몇 가지 그럴듯한 색상 값 중 어떤 값을 가져야할지 불확실 할 때 평균적인 회색 색상도 인센티브를 제공합니다. 
특히, L1은 가능한 색상보다 조건부 확률 밀도 함수(conditional probability density function)의 중앙값을 선택하여 최소화됩니다. 
반면에, 적대적 손실은 원칙적으로 칙칙한 출력이 비현실적이라는 것을 인식하고 실제 색상 분포와 일치하도록 장려 할 수 있습니다 [24]. 
그림 7에서는 cGAN이 실제로 Cityscapes 데이터 세트에서 이 효과를 달성하는지 조사합니다. 
플롯은 Lab 색상 공간(Lab color space)의 출력 색상 값에 대한 주변 분포(marginal distribution)를 보여줍니다. 
Ground Truth 분포는 점선으로 표시됩니다. 
L1이 실측값보다 더 좁은 분포로 이어지는 것이 분명하여, L1이 평균적인 회색 색상을 장려한다는 가설을 확인합니다. 
반면에 cGAN을 사용하면 출력 분포가 지상 실측 값에 더 가깝게 push. 

4.3. Analysis of the generator architecture 생성기 아키텍처 분석 
U-Net 아키텍처를 사용하면 낮은 수준의 정보를 네트워크 전체에서 바로 가기 할 수 있습니다. 이것이 더 나은 결과로 이어집니까? 
그림 5 및 표 2는 U-Net과 도시 경관(cityscape) 생성시 인코더 디코더를 비교합니다. 
인코더-디코더는 UNet에서 스킵 연결을 끊기(severing)만하면 생성됩니다. 
인코더-디코더는 실험에서 사실적인 이미지를 생성하는 방법을 배울 수 없습니다. 
U-Net의 장점은 조건부 GAN에만 국한되지 않는 것으로 보입니다.

U-Net과 인코더-디코더가 모두 L1 손실로 훈련되면 U-Net이 다시 우수한 결과를 얻습니다. 

그림 5



4.4. From PixelGANs to PatchGANs to ImageGANs PixelGAN에서 PatchGAN에서 ImageGAN으로


우리는 판별기 수용 필드의 패치 크기 N을 1 × 1 "PixelGAN"에서 전체 286 × 286의 "ImageGAN"으로 변경하는 효과를 테스트합니다. 
그림 6은이 분석의 질적 결과를 보여주며, 표 3은 FCN 점수를 사용하여 효과를 정량화합니다. 
이 논문의 다른 곳에서는 지정하지 않는 한 모든 실험에서 70 × 70 PatchGAN을 사용하고, 이 섹션의 경우 모든 실험에서 L1 + cGAN 손실을 사용합니다. 
PixelGAN은 공간 선명도(spatial sharpness)에는 영향을 미치지 않지만, 결과의 색상을 증가시킵니다 (그림 7에서 정량화 됨). 
예를 들어, 그림 6의 버스는 네트워크가 L1 손실로 학습되면, 회색으로 칠해지지만 PixelGAN 손실로 인해 빨간색이됩니다. 
컬러 히스토그램 매칭은 이미지 처리에서 일반적인 문제이며 [49] PixelGAN은 유망한 경량솔루션 일 수 있습니다. 
16 × 16 PatchGAN을 사용하면 선명한 출력을 촉진하고 좋은 FCN 점수를 얻을 수 있지만 타일링 아티팩트도 발생합니다. 
70 × 70 PatchGAN은 이러한 아티팩트를 완화하고 약간 더 나은 점수를 얻습니다. 
이를 넘어서, 전체 286 × 286 ImageGAN으로 확장해도 결과의 시각적 품질이 향상되지는 않으며, 실제로 FCN 점수가 상당히 낮아집니다 (표 3). 
이는 ImageGAN이 70 × 70 PatchGAN보다 더 많은 매개 변수와 깊이를 가지고 있고 훈련하기가 더 어려울 수 있기 때문일 수 있습니다.


Fully-convolutional translation 

PatchGAN의 장점은 고정된 크기의 패치 판별기를 임의로 큰 이미지에 적용 할 수 있다는 것입니다. 
학습된 이미지보다 더 큰 이미지에 컨볼루션 방식으로 생성기를 적용 할 수도 있습니다. map↔aerial photo task에서 테스트합니다. 
After training a generator on 256×256 images, we test it on 512×512 images. The results in Figure 8 demonstrate the effectiveness of this approach. 
256x256 이미지에서 생성기를 학습한 후 512x512 이미지에서 테스트합니다. 그림 8의 결과는이 접근 방식의 효과를 보여줍니다.


4.5. Perceptual validation

map↔aerial photograph and grayscale→color(지도 ↔ 항공 사진 및 그레이 스케일 → 컬러) 작업에 대한 결과의 지각 적 사실성을 검증합니다. 
지도 ↔ 사진에 대한 AMT 실험 결과는 표 4와 같다. 
우리의 방법으로 생성된 항공 사진은 L1 기준선보다 훨씬 높은 18.9 %의 실험에서 참가자를 속였으며, 이는 흐릿한 결과를 생성하고 참가자를 거의 속이지 않았습니다.

대조적으로, 사진 →지도 방향에서 우리의 방법은 6.1 %의 시험에서 참가자를 속였고, 이것은 L1 기준선의 성능 (부트 스트랩 테스트 기준)과 크게 다르지 않았습니다. 
이는 경미한 구조적 오류가 더 혼란스러운 항공 사진보다 단단한 기하학(rigid geometry)을 가진 지도에서 더 잘 보이기 때문일 수 있습니다. 
ImageNet [51]데이터에 채색를 학습하고 [62, 35]에서 소개 한 테스트 분할(test split)에서 테스트했습니다. 
L1 + cGAN 손실의 방법은 22.5 %의 실험에서 참가자를 속였습니다 (표 5). 
또한 [62]의 결과와 L2 손실을 사용하는 방법의 변형을 테스트했습니다 (자세한 내용은 [62] 참조). 
conditinoal GAN은 [62]의 L2 변형 (부트 스트랩 테스트에서 차이가 미미 함)과 유사한 점수를 얻었지만 [62]의 전체 방법에 미치지 못하여 실험의 27.8 %에서 참가자를 속였습니다. 
우리는 그들의 방법이 특히 채색을 잘 수행하도록 설계되었음을 주목합니다. 

4.6. Semantic segmentation

Conditional GAN은 이미지 처리 및 그래픽 작업에서 흔히 볼 수 있듯이 출력이 매우 상세하거나 포토그래픽한 문제에 효과적인 것으로 보입니다. 
출력이 입력보다 덜 복잡한 의미론적 분할과 같은 시각 문제는 어떻습니까? 
이를 테스트하기 위해 우리는 도시 풍경 사진 → 라벨(cityscape photo→labels)에서 cGAN (L1 손실 유무)을 훈련합니다. 
그림 10은 질적 결과를 보여주며, 정량적 분류 정확도는 표 6에 보고되어 있습니다. 
흥미롭게도, L1 손실없이 학습된 cGAN은 합리적인 정확도로 이 문제를 해결할 수 있습니다. 
우리가 아는 한, 이것은 GAN이 continuous valued variation(연속 값 변동)으로 "이미지"가 아니라 거의 불연속적인 "라벨"을 성공적으로 생성하는 첫 번째 데모입니다. 
cGAN은 약간의 성공을 거두지만, 이 문제를 해결하기위한 최상의 방법과는 거리가 멀습니다. 
표 6에 표시된 것처럼, 단순히 L1 회귀를 사용하면 cGAN을 사용하는 것보다 더 좋은 점수를 얻습니다. 
우리는 비전 문제의 경우 목표 (즉, 정답지에 가까운 출력 예측)가 그래픽 작업보다 덜 모호 할 수 있으며, L1과 같은 Reconstruction loss(재구성 손실)로 대부분 충분하다고 주장합니다. 

4.7. Community-driven Research


논문과 pix2pix 코드베이스가 처음 발표 된 이후로, 컴퓨터 비전과 그래픽 실무자, 비주얼 아티스트를 포함한 Twitter 커뮤니티는 원본 논문 범위를 훨씬 넘어서는 다양한 새로운 이미지 대 이미지 번역 작업에 프레임 워크를 성공적으로 적용했습니다.
그림 11과 그림 12는 배경 제거, 팔레트 생성, 스케치 → 초상화, 스케치 → 포켓몬,”Do as I Do”포즈 전송(pose transfer), Learning to see(보는 법 배우기) : Gloomy Sunday, 그리고 #pix2pix 해시 태그의 몇 가지 예를 보여줍니다. 기괴하게 인기있는 # edges2cats 및 #fotogenerator. 
이러한 응용 프로그램은 창의적인 프로젝트이며 통제되고 과학적인 조건에서 얻은 것이 아니며, 우리가 출시한 pix2pix 코드에 대한 일부 수정에 의존 할 수 있습니다. 
그럼에도 불구하고 그들은 이미지 대 이미지 번역 문제에 대한 일반적인 상품 도구로서의 접근 방식에 대한 약속을 보여줍니다. 

5. Conclusion 
이 논문의 결과는 conditional Generative Network가 많은 이미지 대 이미지 번역 작업, 특히 고도로 구조화된 그래픽 출력을 포함하는 작업에 대한 유망한 접근 방식임을 시사합니다. 
이러한 네트워크는 작업 및 데이터에 맞게 조정된 손실을 학습하여 다양한 설정에 적용 할 수 있습니다.

 

6. Appendix

6.1. Network architectures

We adapt our network architectures from those in [44].

Code for the models is available at https://github.com/phillipi/pix2pix.

Let Ck denote a Convolution-BatchNorm-ReLU layer with k filters.

CDk denotes a Convolution-BatchNormDropout-ReLU layer with a dropout rate of 50%.

All convolutions are 4× 4 spatial filters applied with stride 2.

Convolutions in the encoder, and in the discriminator, downsample by a factor of 2, whereas in the decoder they upsample by a factor of 2.

우리는 [44]의 네트워크 아키텍처를 채택합니다. 모델 코드는 https://github.com/phillipi/pix2pix에서 확인할 수 있습니다. Ck가 k 필터가있는 Convolution-BatchNorm-ReLU 계층을 나타냅니다. CDk는 드롭 아웃 비율이 50 % 인 Convolution-BatchNormDropout-ReLU 계층을 나타냅니다. 모든 컨볼 루션은 스트라이드 2에 적용된 4 × 4 공간 필터입니다. 인코더와 판별 기에서 컨볼 루션은 2 배로 다운 샘플링하는 반면 디코더에서는 2 배로 업 샘플링합니다.

 

6.1.1 Generator architectures

The encoder-decoder architecture consists of: 인코더-디코더 아키텍처는 다음으로 구성됩니다.

encoder: C64-C128-C256-C512-C512-C512-C512-C512
decoder: CD512-CD512-CD512-C512-C256-C128-C64

After the last layer in the decoder, a convolution is applied to map to the number of output channels (3 in general, except in colorization, where it is 2), followed by a Tanh function.

As an exception to the above notation, BatchNorm is not applied to the first C64 layer in the encoder.

All ReLUs in the encoder are leaky, with slope 0.2, while ReLUs in the decoder are not leaky.

The U-Net architecture is identical except with skip connections between each layer i in the encoder and layer n−i in the decoder, where n is the total number of layers.

The skip connections concatenate activations from layer i to layer n − i.

This changes the number of channels in the decoder: U-Net decoder: CD512-CD1024-CD1024-C1024-C1024-C512 -C256-C128

디코더의 마지막 레이어 이후에 컨볼 루션이 적용되어 출력 채널 수 (일반적으로 3 개, 색상 화 제외, 2 인 경우)에 매핑 한 다음 Tanh 함수가 이어집니다. 위 표기법의 예외로 BatchNorm은 인코더의 첫 번째 C64 레이어에 적용되지 않습니다.

인코더의 모든 ReLU는 기울기가 0.2 인 누출이있는 반면 디코더의 ReLU는 누출되지 않습니다.

U-Net 아키텍처는 인코더의 각 레이어 i와 디코더의 레이어 n-i 사이의 스킵 연결을 제외하고는 동일합니다.

여기서 n은 총 레이어 수입니다. 스킵 연결은 레이어 i에서 레이어 n-i로 활성화를 연결합니다. 이것은 디코더의 채널 수를 변경합니다.

U-Net 디코더 : CD512-CD1024-CD1024-C1024-C1024-C512 -C256-C128

 

6.1.2 Discriminator architectures

The 70 × 70 discriminator architecture is:

C64-C128-C256-C512

After the last layer, a convolution is applied to map to a 1-dimensional output, followed by a Sigmoid function.

As an exception to the above notation, BatchNorm is not applied to the first C64 layer.

All ReLUs are leaky, with slope 0.2.

All other discriminators follow the same basic architecture, with depth varied to modify the receptive field size:

마지막 레이어 다음에 컨볼 루션을 적용하여 1 차원 출력에 매핑 한 다음 Sigmoid 함수를 사용합니다. 위 표기법의 예외로 BatchNorm은 첫 번째 C64 레이어에 적용되지 않습니다. 모든 ReLU는 누수가 있으며 기울기는 0.2입니다. 다른 모든 판별 기는 수용 필드 크기를 수정하기 위해 깊이가 달라지는 동일한 기본 아키텍처를 따릅니다.

1 × 1 discriminator:
C64-C128 (note, in this special case, all convolutions are 1 × 1 spatial filters)
16 × 16
discriminator:
C64-C128 286 × 286 discriminator: C64-C128-C256-C512-C512-C512

 

6.2. Training details

Random jitter was applied by resizing the 256×256 input images to 286 × 286 and then randomly cropping back to size 256 × 256.

All networks were trained from scratch.

Weights were initialized from a Gaussian distribution with mean 0 and standard deviation 0.02.

임의 지터는 256x256 입력 이미지의 크기를 286x286으로 조정 한 다음 무작위로 다시 256x256 크기로 잘라서 적용했습니다. 모든 네트워크는 처음부터 훈련되었습니다. 가중치는 평균 0 및 표준 편차 0.02의 가우스 분포에서 초기화되었습니다.

Cityscapes labels→photo

2975 training images from the Cityscapes training set [12], trained for 200 epochs, with random jitter and mirroring.

We used the Cityscapes validation set for testing.

To compare the U-net against an encoder-decoder, we used a batch size of 10, whereas for the objective function experiments we used batch size 1.

We find that batch size 1 produces better results for the Unet, but is inappropriate for the encoder-decoder.

This is because we apply batchnorm on all layers of our network, and for batch size 1 this operation zeros the activations on the bottleneck layer.

The U-net can skip over the bottleneck, but the encoder-decoder cannot, and so the encoder-decoder requires a batch size greater than 1.

Note, an alternative strategy is to remove batchnorm from the bottleneck layer.

See errata for more details.

무작위 지터 및 미러링을 사용하여 200 epoch에 대해 훈련 된 Cityscapes 훈련 세트 [12]의 2975 훈련 이미지. 테스트를 위해 Cityscapes 유효성 검사 세트를 사용했습니다. U-net과 인코더-디코더를 비교하기 위해 배치 크기 10을 사용했지만 목적 함수 실험에서는 배치 크기 1을 사용했습니다. 배치 크기 1은 Unet에 대해 더 나은 결과를 생성하지만 인코더-디코더에는 적합하지 않습니다. 이는 네트워크의 모든 계층에 batchnorm을 적용하고 배치 크기 1의 경우이 작업이 병목 계층의 활성화를 0으로 설정하기 때문입니다. U-net은 병목 현상을 건너 뛸 수 있지만 인코더-디코더는 그렇지 않으므로 인코더-디코더에는 1보다 큰 배치 크기가 필요합니다. 대체 전략은 병목 계층에서 batchnorm을 제거하는 것입니다. 자세한 내용은 정오표를 참조하십시오.

Architectural labels→photo

400 training images from [45], trained for 200 epochs, batch size 1, with random jitter and mirroring.

Data were split into train and test randomly.

무작위 지터 및 미러링을 사용하여 200 epochs, 배치 크기 1에 대해 훈련 된 [45]의 400 훈련 이미지. 데이터는 무작위로 학습과 테스트로 분할되었습니다.

Maps↔aerial photograph

1096 training images scraped from Google Maps, trained for 200 epochs, batch size 1, with random jitter and mirroring.

Images were sampled from in and around New York City.

Data were then split into train and test about the median latitude of the sampling region (with a buffer region added to ensure that no training pixel appeared in the test set).

Google지도에서 스크랩 한 1096 개의 훈련 이미지, 무작위 지터 및 미러링을 사용하여 200 epochs, 배치 크기 1로 훈련되었습니다. 이미지는 뉴욕시 안팎에서 샘플링되었습니다. 그런 다음 데이터를 학습으로 분할하고 샘플링 영역의 중앙 위도에 대해 테스트했습니다 (테스트 세트에 학습 픽셀이 나타나지 않도록 버퍼 영역이 추가됨).

BW→color

1.2 million training images (Imagenet training set [51]), trained for ∼ 6 epochs, batch size 4, with only mirroring, no random jitter.

Tested on subset of Imagenet val set, following protocol of [62] and [35].

120 만 개의 트레이닝 이미지 (Imagenet 트레이닝 세트 [51]), ∼ 6 epochs, 배치 크기 4, 미러링 만 포함하고 랜덤 지터없이 트레이닝 됨. [62] 및 [35]의 프로토콜에 따라 Imagenet val 집합의 하위 집합에서 테스트되었습니다.

Edges→shoes

50k training images from UT Zappos50K dataset [61] trained for 15 epochs, batch size 4.

Data were split into train and test randomly.

UT Zappos50K 데이터 세트에서 50k 훈련 이미지 [61] 15 epoch, 배치 크기 4로 훈련되었습니다. 데이터는 무작위로 학습과 테스트로 분할되었습니다.

Edges→Handbag

137K Amazon Handbag images from [65], trained for 15 epochs, batch size 4. Data were split into train and test randomly.

[65]의 137K Amazon 핸드백 이미지, 15 epochs, 배치 크기 4. 

데이터는 무작위로 학습과 테스트로 분할되었습니다.

Day→night

17823 training images extracted from 91 webcams, from [33] trained for 17 epochs, batch size 4, with random jitter and mirroring.

We use 91 webcams as training, and 10 webcams for test.

무작위 지터 및 미러링을 사용하여 17 개의 epoch, 배치 크기 4에 대해 훈련 된 [33]에서 91 개의 웹캠에서 추출한 17823 개의 훈련 이미지. 교육용으로 91 개의 웹캠을 사용하고 테스트 용으로 10 개의

Thermal→color photos

36609 training images from set 00–05 of [27], trained for 10 epochs, batch size 4.

Images from set 06-11 are used for testing.

27] 세트 00–05의 36609 훈련 이미지, 10 epoch, 배치 크기 4에 대해 훈련되었습니다. 세트 06-11의 이미지가 테스트에 사용됩니다.

Photo with missing pixels→inpainted photo

14900 training images from [14], trained for 25 epochs, batch size 4, and tested on 100 held out images following the split of [43].

[14]의 14900 개의 훈련 이미지, 25 epochs, 배치 크기 4에 대해 훈련되었으며 [43]의 분할 후 100 개의 보류 된 이미지에서 테스트되었습니다.

 

6.3. Errata

For all experiments reported in this paper with batch size 1, the activations of the bottleneck layer are zeroed by the batchnorm operation, effectively making the innermost layer skipped.

This issue can be fixed by removing batchnorm from this layer, as has been done in the public code.

We observe little difference with this change and therefore leave the experiments as is in the paper.

이 백서에서 배치 크기 1로보고 된 모든 실험에서 병목 계층의 활성화는 batchnorm 작업에 의해 제로화되어 가장 안쪽 계층을 효과적으로 건너 뜁니다. 이 문제는 공개 코드에서 수행 한 것처럼이 레이어에서 batchnorm을 제거하여 해결할 수 있습니다. 우리는이 변화와 약간의 차이를 관찰하므로 실험은 논문에있는 그대로 둡니다.