본 블로그 포스트에서 사용된 표, 이미지 및 기타 관련 자료는 해당 논문에서 발췌한 것입니다. 이 자료들은 논문의 내용을 요약하고 이해를 돕기 위한 참고용으로 제공됩니다. 또한, 해석 과정에서 일부 오류가 있을 수 있으니 원 논문을 참고하여 확인하시기 바랍니다. 본 논문에서 공개한 코드 주소는 다음과 같습니다. https://github.com/phillipi/pix2pix.
Abstract
본 논문에서는 조건부 적대적 네트워크를 활용하여 image to image 변환 문제를 단일 프레임워크로 해결하는 방법을 제안한다. 이 접근법은 입력 이미지를 출력 이미지로 매핑하는 함수뿐만 아니라, 해당 매핑을 학습하기 위한 손실 함수까지 함께 학습하므로, 전통적으로 각 과제마다 별도로 설계해야 했던 손실 공식을 통일된 방식으로 적용할 수 있다. 저자들은 이 방법이 레이블 맵으로부터 사진을 합성하거나, 에지 맵에서 객체를 재구성하고, 흑백 이미지를 컬러화하는 등 다양한 작업에 효과적임을 실험으로 입증하였다. 특히, pix2pix 소프트웨어 공개 이후 많은 사용자(특히 예술가)가 파라미터 조정 없이도 손쉽게 다양한 실험을 수행하며 그 범용성과 활용 편의성을 증명하였다. 이에 따라 복잡한 손공학적 매핑 함수와 손실 함수를 설계하지 않아도 실용적인 결과를 얻을 수 있음을 보여준다.

1. Introduction
이미지 처리·컴퓨터 그래픽·컴퓨터 비전 분야의 많은 문제는 RGB 사진, 에지 맵, 레이블 맵 등 장면을 여러 형태로 ‘번역’하는 과제로 볼 수 있다. 자동 언어 번역처럼, 충분한 대응 이미지 쌍이 주어지면 한 형태의 이미지를 다른 형태로 자동 변환할 수 있다. 전통적으로 이러한 변환 과제들은 각각 다른 별도 모델로 해결해 왔으나, 본 논문은 이들을 모두 통합하는 단일 프레임워크를 제안한다.
연구 공동체는 이미지 예측 문제에서 컨볼루션 신경망(CNN)이 범용 작업 도구로 자리 잡으면서 이미지 처리 분야에서 큰 진전을 이루었다. CNN은 결과 품질을 평가하는 목적 함수(objective)인 손실 함수를 최소화하도록 자동으로 학습하지만, 어떤 손실 함수를 사용할지는 여전히 수작업으로 설계해야 한다. 예를 들어, 예측 픽셀과 실제 픽셀 간의 유클리디안 거리만 최소화하도록 지시하면 가능한 모든 출력을 평균화하여 흐릿한 결과를 생성한다. 따라서 선명하고 현실감 있는 이미지를 얻기 위한 손실 함수를 설계하는 일은 여전히 해결 과제로 남아 있으며, 일반적으로 전문가의 지식이 요구된다.
생성적 적대 신경망(GAN)은 사용자가 “출력을 현실과 구분할 수 없도록 만들어 달라”는 추상적인 목표만 제시하면, 그에 적합한 손실 함수를 자동으로 학습하여 적용하는 혁신적인 방법이다. 구체적으로는 판별기가 이미지가 진짜인지 가짜인지를 구분하는 손실 함수를 스스로 학습하고, 생성기는 이 손실을 최소화하도록 훈련되기 때문에 흐릿한 이미지는 곧바로 가짜로 판정되어 생성 단계에서 자연스럽게 걸러진다. 이처럼 GAN이 데이터에 맞추어 손실을 학습함으로써, 이전에는 과제마다 별도로 설계해야 했던 다양한 손실 함수를 하나의 통합된 메커니즘으로 대체할 수 있다
본 논문에서는 image to image 변환 과제에 특화된 조건부 생성적 적대 신경망(cGAN)을 집중적으로 연구한다. cGAN은 입력 이미지라는 조건(condition)을 받아 대응되는 출력 이미지를 생성하도록 학습되며, 이는 전통적인 GAN이 데이터 분포 자체를 모델링하는 방식과 차별화된다. 지난 2년간 GAN 관련 수많은 기법이 제안되었으나, 대부분 특정 애플리케이션에 국한되어 왔기에, 범용적인 이미지-조건부 GAN의 실효성은 여전히 명확하지 않았다. 본 논문의 첫 번째 기여는 다양한 이미지 변환 문제에 걸쳐 cGAN이 일관되게 합리적인 결과를 도출함을 실험적으로 입증한 것이며, 두 번째 기여는 최소한의 구성으로도 우수한 성능을 내는 단순한 프레임워크를 제안하고, 주요 아키텍처 선택이 결과에 미치는 영향을 체계적으로 분석한 점이다.
2. Related work
Image to image 변환 문제는 전통적으로 각 픽셀을 조건부 독립으로 간주하여 분류나 회귀 손실(비구조적 손실)로 해결해 왔다. 반면 조건부 GAN(cGAN)은 출력 전체의 결합 구조(joint configuration)를 고려하는 구조화된 손실(structured loss)을 데이터로부터 직접 학습한다. 기존에는 조건부 랜덤 필드(CRF), SSIM, 특성 매칭, 비모수 손실, 컨벌루션 의사-사전(pseudo-prior), 공분산 매칭 손실 등 여러 수작업 기반 방법을 사용했지만, cGAN은 단일한 학습 가능 손실로 출력과 목표 간의 모든 구조적 차이를 벌점으로 반영할 수 있다는 점에서 차별화된다.
본 절에서는 다양한 선행 및 동시 연구들이 조건부 설정에서 GAN을 활용해 왔음을 검토한다. 먼저, 이산 레이블, 텍스트, 이미지 등을 조건으로 GAN을 학습시킨 사례들이 존재하며, 특히 이미지 조건형 모델은 노말 맵으로부터의 이미지 예측, 미래 프레임 예측, 제품 사진 생성, 드문 주석(sparse annotation)으로부터의 이미지 생성 등 여러 과제에 적용되어 왔다. 또한, 일부 연구들은 입력 이미지를 조건으로 삼지 않은 unconditional GAN에 L2 회귀 등의 추가 손실 항을 결합하여 image to image 매핑을 수행하기도 했는데, 인페인팅, 미래 상태 예측, 사용자 제약 기반 이미지 조작, 스타일 변환, 초해상도 분야에서 우수한 결과를 거두었다. 그러나 이들 방법은 모두 특정 응용에 맞춰 개별적으로 설계되었기 때문에, 과제마다 별도의 모델 구조와 손실 함수를 필요로 한다는 한계가 있다. 반면 본 논문에서 제안하는 프레임워크는 특정 애플리케이션에 종속되지 않는 단일한 conditional GAN 구조를 제시함으로써, 여러 image to image 변환 과제를 하나의 통일된 메커니즘으로 처리할 수 있음을 강조한다. 이로써 기존 연구 대비 설계의 단순성과 범용성을 동시에 확보한다.
저자들은 생성기와 판별기의 설계에서 기존 연구와 뚜렷한 차별점을 제시한다. 생성기에는 인코더–디코더 구조에 스킵 연결을 결합한 U-Net 아키텍처를 도입하여 입력 이미지의 세부 정보를 유지하면서도 효과적인 특징 압축을 가능하게 하였고, 판별기에는 전체 이미지를 평가하는 대신 소규모 패치 단위로만 구조적인 진위를 판단하는 PatchGAN 분류기를 채택하였다. 과거 연구에서도 국소 스타일 통계를 포착하기 위해 유사한 PatchGAN 구조가 제안된 바 있으나, 본 논문에서는 이를 다양한 image to image 변환 과제에 폭넓게 적용하고, 패치의 크기를 변화시켰을 때 성능에 미치는 영향을 체계적으로 분석함으로써 이 접근법의 범용성과 유효성을 입증하였다.
3. Method
GAN은 무작위 노이즈 벡터 $z$를 받아 출력 이미지 $y$로 매핑하는 생성 모델이다. 반면, 조건부 GAN(cGAN)은 관측 이미지 $x$와 노이즈 $z$를 함께 입력으로 받아 $y$를 생성하도록 학습한다. 이때 생성기 $G$는 판별기 $D$가 “진짜”와 “가짜” 이미지를 구분하지 못하도록 점차 성능을 높여 가며, 판별기 $D$는 생성된 가짜 이미지를 최대한 정확히 식별하도록 교대로 최적화되는 방식으로 훈련된다.(Figure 2 참조)

3.1 Objective
conditional GAN의 목적함수는 다음과 같다.
\[
\mathcal{L}_{cGAN}(G, D)
= \mathbb{E}_{x,y}\bigl[\log D(x, y)\bigr]
+ \mathbb{E}_{x,z}\bigl[\log\bigl(1 - D\bigl(x, G(x, z)\bigr)\bigr)\bigr]\tag{1}.
\]
여기서 $G$는 목적함수를 최소화하는 방향[$D\bigl(x,\,G(x,z)\bigr)\;\longrightarrow\;1$]으로, 그리고 $D$는 최대화하는 방향으로 학습한다.
판별기의 조건부 입력 효과를 검증하기 위해, 판별기가 입력 $x$를 보지 않는 unconditional GAN 변형도 함께 비교한다. 이 변형의 손실 함수는 다음과 같다:
$$\mathcal{L}_{GAN}(G, D)= \mathbb{E}_{y}\bigl[\log D(y)\bigr]+ \mathbb{E}_{x,z}\bigl[\log\bigl(1 - D(G(x, z))\bigr)\bigr].\tag{2}$$
선행 연구에서는 GAN 목적 함수에 L2 거리 같은 전통적 손실을 혼합하면 성능이 향상됨이 확인되었다. 이때 판별자는 기존과 동일하게 동작하고, 생성기는 판별기를 속이는 것뿐 아니라 L2 거리 기준으로 실제 이미지에 근접한 출력을 생성해야 한다. 본 논문에서는 흐림을 줄이기 위해 L2 대신 L1 거리를 사용한 손실을 도입했다.
$$\mathcal{L}_{L1}(G) = \mathbb{E}_{x,y,z}\bigl[\|y - G(x,z)\|_{1}\bigr]\tag{3}$$
따라서 최종 목적함수는 다음과 같다.
$$G^* \;=\; \arg\min_{G}\,\max_{D}\;\mathcal{L}_{cGAN}(G, D) \;+\;\lambda\,\mathcal{L}_{L1}(G).\tag{4}$$
만약 랜덤 벡터 $z$가 없다면, 네트워크는 여전히 $x$에서 $y$로의 매핑을 학습할 수 있지만, 출력이 모두 동일한 하나의 값으로 결정되어(델타 함수 형태) 실제 분포를 모방하지 못한다. 과거의 조건부 GAN 연구들은 이 문제를 해결하기 위해 Wang & Gupta의 “Generative Image Modeling Using Style and Structure Adversarial Networks” (ECCV 2016)에서 제안된 가우시안 노이즈 $z$를 생성기의 입력 $x$에 추가로 제공했다. 그러나 초기 실험에서 생성기는 이 추가된 노이즈를 무시해 버렸으며, 이는 Mathieu, Couprie & LeCun의 “Deep Multi-Scale Video Prediction Beyond Mean Square Error” (ICLR 2016)의 관찰 결과와 일치한다. 이에 본 논문에서는 최종 모델에서 학습 및 테스트 단계 모두에 걸쳐 생성기의 여러 층에 드롭아웃(dropout) 형태로 노이즈를 주입하도록 설계했다. 그럼에도 불구하고, 드롭아웃으로 도입된 무작위성은 출력 이미지에 거의 영향을 미치지 않아 매우 제한적인 확률적 변동만을 관찰할 수 있었다. 실제 조건부 분포의 전체 엔트로피를 포착할 만큼 다양한 확률적 출력을 생성하도록 조건부 GAN을 설계하는 문제는 여전히 향후 연구 과제로 남는다.
3.2 Network architectures
본 논문에서 사용한 생성기와 판별기 아키텍처는 Radford, Metz, Chintala의 “Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks” (ICLR 2016)을 기반으로 설계하였다. 두 네트워크 모두 각 계층이 컨벌루션→배치 정규화(BatchNorm)→ReLU 활성화 순으로 구성된 모듈 블록을 사용하며, 배치 정규화 기법은 Ioffe & Szegedy의 “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift” (ICML 2015)의 방식을 따른다. 아키텍처의 상세 구성은 온라인 보조 자료에 수록되어 있으며, 주요 특징은 아래에서 논의한다.
3.2.1 Generator with skips
image to image 변환 문제의 핵심 특징은 고해상도 입력 격자(grid)를 또 다른 고해상도 출력 격자로 매핑한다는 점이다. 또한, 본 논문에서 다루는 과제들에서는 입력과 출력의 겉모습(surface appearance)은 다르지만, 둘 다 같은 기반 구조(underlying structure)를 렌더링한 결과다. 따라서 입력의 구조와 출력의 구조가 대체로 일치(aligned)한다고 볼 수 있다. 저자들은 이러한 특징을 반영하여 생성기 아키텍처를 설계하였다.
이 영역의 여러 선행 연구들, 예를 들어 Pathak 등(“Context Encoders: Feature Learning by Inpainting”, CVPR 2016)의 인페인팅, Wang & Gupta(“Generative Image Modeling Using Style and Structure Adversarial Networks”, ECCV 2016)의 스타일·구조 적대 네트워크, Johnson 등(“Perceptual Losses for Real-Time Style Transfer and Super-Resolution”, ECCV 2016)의 퍼셉추얼 손실, Zhou & Berg(“Learning Temporal Transformations from Time-Lapse Videos”, ECCV 2016)의 시계열 예측, Yoo 등(“Pixel-Level Domain Transfer”, ECCV 2016)의 도메인 전이 기법 등은 모두 Hinton & Salakhutdinov(“Reducing the Dimensionality of Data with Neural Networks”, Science 2006)에서 제안된 인코더-디코더 네트워크 구조를 활용해 왔다.
이 구조에서 입력 이미지는 점진적으로 해상도를 낮추는 다운샘플링 계층을 거쳐 병목층(bottleneck)에 도달하며, 이후 업샘플링 계층을 통해 다시 원래 해상도로 재구성된다. 이때 모든 정보가 병목층을 통과해야 하므로, 입력과 출력이 많은 저수준 정보를 공유하는 이미지 변환 과제에서는 이러한 정보가 직접 네트워크를 가로질러 전달되면 더욱 효과적이다. 예컨대 이미지 색상화에서는 입력과 출력이 두드러진 에지(edge) 위치 정보를 그대로 공유한다.
입력과 출력 간에 저수준 정보를 병목층을 우회하여 직접 전달할 수 있도록, 본 논문에서는 Ronneberger 등(“U-Net: Convolutional Networks for Biomedical Image Segmentation”, MICCAI 2015)에서 제안된 “U-Net” 구조를 따라 skip connections을 추가하였다. 구체적으로, 전체 레이어 수를 $n$이라 할 때, $i$번째 레이어와 $n-i$번째 레이어 사이에 스킵 연결을 구성하며, 각 스킵 연결은 $i$번째 레이어의 모든 채널을 $n-i$번째 레이어의 채널과 단순히 연결(concatenate) 한다.

3.2.2 Markovian discriminator (PatrchGAN)
이미지 생성 문제에서 L2 손실—and L1 손실도(Figure 4 참조)—은 흐릿한 결과를 낳는 것으로 잘 알려져 있다(Larsen, Sønderby & Winther, ICML 2016). 이러한 손실 함수들은 고주파 영역의 선명함을 장려하지 못하지만, 많은 경우 저주파 성분은 정확히 포착한다. 따라서 저주파 정확성이 핵심인 과제에서는 이를 보장하기 위해 완전히 새로운 프레임워크를 도입할 필요 없이, L1 손실만으로도 충분하다.

이러한 동기는 GAN 판별기가 고주파 구조만 모델링하고, 저주파 정확성은 L1 항에 맡기도록 제한해야 함을 제시한다(식 4). 고주파를 효과적으로 모델링하려면 국소 이미지 패치의 구조만 살펴보면 충분하다.(※) 따라서 저자들은 PatchGAN이라 명명한 판별기 아키텍처를 설계했으며, 이는 오직 패치 단위의 구조만을 평가한다. 이 판별기는 이미지의 각 $N \times N$ 패치가 진짜인지 가짜인지 분류하도록 학습되며, 이를 이미지 전체에 걸쳐 컨볼루션 방식으로 적용한 뒤 모든 응답을 평균내어 판별기 $D$의 최종 출력을 생성한다.
질문:
고주파(high-frequency) 디테일은 왜 전체 이미지를 보지 않고 국소 패치(local patch) 단위만으로도 충분히 모델링할 수 있나요?
답변:
고주파 정보—경계(edge), 질감(texture), 미세한 디테일 등—는 다음 이유들로 국소 패치만 살펴봐도 포착이 가능합니다.
1. 공간적 제한성
고주파 성분은 픽셀 값이 급격히 변하는 작은 영역에 집중되어 있어, 보통 $N\times N$ 크기의 패치 내에서 완결됩니다. 멀리 떨어진 영역과는 낮은 상관성을 가지므로, 작은 패치 단위만으로도 충분히 포착할 수 있습니다.
2. 통계적 동질성
자연 이미지에는 유사한 질감과 경계 패턴이 반복됩니다. 패치GAN이 각 패치별로 “진짜 같은가?”를 학습하면, 이러한 국소 반복 패턴을 한 번에 내재화하여 전체 이미지에서도 재사용할 수 있습니다.
3. 연산 및 파라미터 효율성
전체 고해상도 이미지를 한 번에 평가하려면 막대한 연산량이 필요하지만, 국소 패치 방식은 동일한 판별기를 슬라이딩 윈도우(convolution)로 여러 위치에 적용함으로써 파라미터 수와 연산량을 크게 줄입니다.
4. 학습 안정성 및 일반화
패치 단위 분류는 단순한 “진짜 vs. 가짜” 판단 문제로 환원되어 학습이 안정적이며, 모델은 모든 패치의 고주파 디테일을 복원해야 하기 때문에 전역적으로도 선명한 이미지를 생성합니다. 또한, 보편적 패턴에 집중하기에 새로운 데이터셋에도 잘 일반화됩니다.
5. 실험적 검증
패치 크기를 조정하며 실험한 결과, 작은 패치는 더 세밀한 디테일을, 큰 패치는 더 넓은 맥락을 반영하므로, 과제 특성에 맞춘 패치 크기 설정만으로도 고주파와 저주파 정보를 균형 있게 다룰 수 있습니다.
질문:
PatchGAN의 학습 과정을 알고 싶어요.
답변:
PatchGAN의 학습 과정은 다음과 같습니다.
1. 판별기(D) 업데이트
한 번의 순전파에서 판별기는 이미지 전체를 $N\times N$ 패치로 나누고, 각 패치마다 “진짜(real)”인지 “가짜(fake)”인지 점수를 출력합니다.실제(real) 이미지 패치에는 `1`, 생성(fake) 이미지 패치에는 `0`에 가까운 출력을 내도록 판별기의 파라미터를 업데이트합니다.
2. 생성기(G) 업데이트
생성기는 판별기가 모든 패치를 “진짜”라고 인식하게 만들고자 합니다. 따라서 생성기의 손실 함수에는 모든 패치에 대한 $\log\bigl(D(\text{patch})\bigr)$ 항이 포함되어, 판별기가 “진짜”라고 판단한 패치가 많을수록 손실이 작아지도록 학습됩니다.
3. 패치별 학습이 전체 이미지 품질로 귀결
각 패치가 진짜처럼 보이도록 유도하면, 자연스럽게 전역적으로도 고주파 디테일(경계·질감 등)이 살아 있는 이미지를 생성하게 됩니다.
4.4절에서 저자들은 패치 크기 $N$이 전체 이미지 크기보다 훨씬 작아도 여전히 고품질 결과를 얻을 수 있음을 보여준다. 이는 작은 PatchGAN이 파라미터 수가 적고 연산이 빠르며, 임의로 큰 이미지에도 적용할 수 있다는 장점을 제공한다. 이러한 판별기는 이미지를 마르코프 랜덤 필드(Markov Random Field)로 모델링하는 것과 동일한 효과를 내는데, 이는 패치 직경보다 멀리 떨어진 픽셀 간에는 독립적이라고 가정하기 때문이다. 이 관점은 C. Li와 M. Wand의 “Precomputed Real-Time Texture Synthesis with Markovian Generative Adversarial Networks” (ECCV 2016)에서 처음 탐구되었으며, 전통적인 질감 모델인 A. A. Efros와 T. K. Leung의 “Texture Synthesis by Nonparametric Sampling” (ICCV 1999), L. A. Gatys 등 “Texture Synthesis Using Convolutional Neural Networks” (NIPS 2015)과, 스타일 모델인 A. A. Efros와 W. T. Freeman의 “Image Quilting for Texture Synthesis and Transfer” (SIGGRAPH 2001), A. Hertzmann 등 “Image Analogies” (SIGGRAPH 2001), L. A. Gatys 등 “Image Style Transfer Using Convolutional Neural Networks” (CVPR 2016), C. Li와 M. Wand의 “Combining Markov Random Fields and Convolutional Neural Networks for Image Synthesis” (CVPR 2016)에서도 공통적으로 가정된다. 따라서 PatchGAN은 본질적으로 질감(texture) 및 스타일(style) 손실의 한 형태로 이해될 수 있다.
3.3 Optimization and inference
네트워크 최적화는 Goodfellow 등(Goodfellow et al., “Generative Adversarial Nets”, NIPS 2014)에서 제안된 절차를 따른다. 즉, 판별기 $D$에 대해 한 번의 경사 하강법 스텝을 수행한 뒤, 생성기 $G$에 대해 한 번의 경사 상승법(원 논문에서는 $\log D(x,G(x,z))$ 최대화로 대체)을 수행하는 과정을 교대로 반복한다. 이때 판별기 업데이트에서는 목적 함수를 2로 나누어 $D$가 $G$보다 느리게 학습되도록 속도 조절을 한다. 최적화 기법으로는 미니배치 확률적 경사 하강법(mini-batch SGD)과 Kingma & Ba(“Adam: A Method for Stochastic Optimization”, ICLR 2015)에서 제안한 Adam 옵티마이저를 사용하며, 학습률은 0.0002, 모멘텀 계수는 $\beta_1=0.5$, $\beta_2=0.999$로 설정하였다.
추론 단계에서는 학습 시와 동일한 방식으로 생성기 네트워크를 실행하되, 두 가지 핵심 차이를 둔다. 첫째, 테스트 시에도 드롭아웃(dropout)을 적용하여 훈련 단계와 같은 형태의 무작위성을 유지한다. 둘째, 배치 정규화(Batch Normalization) 시 학습 데이터의 전체 통계가 아닌, 현재 테스트 배치 자체의 통계를 사용한다. 배치 정규화는 Ioffe 및 Szegedy의 “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift” (ICML 2015)을 따르며, 테스트 단계에 배치 크기를 1로 설정했을 때 “Instance Normalization: The Missing Ingredient for Fast Stylization” (Ulyanov et al., 2016)에서 제안된 인스턴스 정규화 기법으로 불린다. 이 방식은 학습과 추론 환경 간 분포 차이를 최소화하며, 배치 크기 1에서 10 사이를 실험한 결과 일관된 성능을 보였다.
4. Experiments
다양한 과제와 데이터셋에서 조건부 GAN의 범용성을 검증하기 위해, 본 논문에서는 다음과 같은 작업(task)과 데이터셋을 사용해 실험을 수행하였다.
- 의미 레이블 ↔ 사진 변환 (Semantic labels ↔ photo): Cityscapes: M. Cordts 등이 발표한 “The Cityscapes Dataset for Semantic Urban Scene Understanding” (CVPR 2016)을 활용하여, 도심 장면의 픽셀 단위 의미 레이블과 실제 사진 간의 상호 변환을 학습·평가했다.
- 건축물 레이블 → 사진 생성 (Architectural labels → photo): CMP Facades: T. Š. Tyleček 등이 구축한 CMP Facades 데이터셋을 이용해, 건물 외관의 구조화된 레이블로부터 실사 같은 건축물 사진을 생성하는 과제를 다뤘다.
- 지도 ↔ 항공 사진 변환 (Map ↔ aerial photo): Google Maps 스크래핑: 구글 맵에서 수집한 위성/지도 이미지를 쌍으로 사용하여, 지도와 항공 사진 간 상호 변환을 실험했다.
- 흑백 → 컬러 사진(Colorization) (BW → color photos): ImageNet: O. Russakovsky 등의 “ImageNet Large Scale Visual Recognition Challenge” (IJCV 2015) 데이터셋에서 흑백 이미지를 컬러로 복원하는 실험을 수행했다.
- 에지 → 사진 변환 (Edges → photo)
- 입력 에지 맵은 S. Xie & Z. Tu의 HED(“Holistically-Nested Edge Detection”, ICCV 2015) 기법으로 생성
- 학습 데이터로는 J.-Y. Zhu 등의 “Generative Visual Manipulation on the Natural Image Manifold” (ECCV 2016) 및 A. Yu & K. Grauman의 “Fine-Grained Visual Comparisons with Local Learning” (CVPR 2014)을 사용하였다.
- 스케치 → 사진 생성 (Sketch → photo): E. M. Eitz 등의 “How Do Humans Sketch Objects?” (SIGGRAPH 2012)에서 수집된 손그림 스케치를 대상으로, 에지→사진 모델의 범용성을 테스트했다.
- 낮 → 밤 변환 (Day → night): P.-Y. Laffont 등의 “Transient Attributes for High-Level Understanding and Editing of Outdoor Scenes” (TOG 2014) 데이터로, 낮 시간대의 사진을 밤 장면으로 변환하는 실험을 진행했다.
- 열화상 → 컬러 사진 (Thermal → color photos): S. Hwang 등의 “Multispectral Pedestrian Detection: Benchmark Dataset and Baseline” (CVPR 2015)에서 제공된 열화상 데이터를 활용하여, 열화상 이미지를 컬러 사진으로 변환했다.
- 결손 픽셀 → 복원 사진 (Inpainting) (Photo with missing pixels → inpainted photo): A. Buades, B. Coll & J.-M. Morel의 “A Non-Local Algorithm for Image Denoising” (CVPR 2005) 및 D. Pathak 등의 “Context Encoders: Feature Learning by Inpainting” (CVPR 2016)을 참고해, Paris StreetView 이미지에서 일부 픽셀이 제거된 사진을 복원하는 과제를 실험했다.
각 작업에 대한 세부한 학습 설정 및 하이퍼파라미터는 온라인 보조 자료에 수록되어 있으며, 모든 실험에서 입력과 출력은 1\~3채널의 이미지로만 구성된다. 정성적 결과는 논문 내 그림 8–20에, 실패 사례는 그림 21에 제시되어 있고, 보다 종합적인 결과는 https://phillipi.github.io/pix2pix/ 에서 확인할 수 있다.
데이터 요구량 및 처리 속도
CMP Facades 학습 세트는 단 400장에 불과하며, 낮→밤 학습 세트는 91대의 웹캠 영상만 사용해도 양호한 결과를 얻었다. 단일 Pascal Titan X GPU 기준, CMP Facades 결과를 얻는 데 2시간도 채 걸리지 않고, 추론 시에는 모든 모델이 1초 이내에 이미지를 생성한다.
4.1 Evaluating metrics
합성된 이미지의 품질을 평가하는 것은 여전히 미해결이고 어려운 문제로, Salimans 등(“Improved Techniques for Training GANs”, NIPS 2016)에서도 지적되었다. 픽셀 단위 평균제곱오차(per-pixel mean-squared error)와 같은 전통적 평가 지표는 결과 이미지의 결합 통계(joint statistics)를 반영하지 못하므로, 구조화된 손실(structured loss)이 포착하고자 하는 구조적 특성을 제대로 측정하지 못한다. 이에 저자들은 결과물의 시각적 품질을 보다 종합적으로 평가하기 위해 두 가지 방식을 병행한다.
1. “실제 vs. 가짜(real vs. fake)” 지각 실험(perceptual study)
Amazon Mechanical Turk(AMT)를 이용하여, 컬러화(colorization)나 사진 생성(photo generation) 같은 그래픽 과제에서 인간 관찰자가 얼마나 자연스럽다고 판단하는지를 평가한다. 이를 통해 지도(map) 생성, 항공 사진(aerial photo) 생성, 이미지 색상화(image colorization) 결과의 인간 타당성(plausibility)을 검증한다.
2. 오프더쉘프 객체 인식기 평가(off-the-shelf recognition system)
합성된 Cityscapes 이미지가 기존의 객체 인식 시스템(off-the-shelf recognition system)에서 얼마나 정확히 객체를 인식할 수 있는지를 측정한다. 이 지표는 Salimans 등의 “inception score”, Wang & Gupta(“Generative Image Modeling Using Style and Structure Adversarial Networks”, ECCV 2016)의 객체 검출 평가, Zhang et al.(“Colorful Image Colorization”, ECCV 2016)의 “semantic interpretability” 측정, Owens et al.(“Visually Indicated Sounds”, CVPR 2016)의 방법과 유사한 방식으로 수행된다.
AMT perceptual studies
저자들은 Amazon Mechanical Turk를 활용해 “실제 vs. 가짜” 지각 실험을 진행했다. 각 Turker에게 한 번에 하나의 알고리즘 결과만 평가하도록 하고, “실제” 이미지와 “가짜” 이미지를 1초간 교차로 보여준 뒤 어느 쪽이 가짜인지 선택하게 했다. 총 50명가량이 참여했으며, 세션당 처음 10개는 연습용(피드백 제공), 이후 40개는 본 실험(피드백 없음)으로 구성되었다. 컬러화 과제에서는 동일한 흑백 입력으로 생성된 이미지 쌍을, 지도↔항공 사진 과제에서는 어려움을 높이기 위해 서로 다른 입력에서 생성된 이미지 쌍을 비교했다. 지도↔항공 사진 실험은 256×256으로 학습한 모델을 완전 합성곱 방식으로 512×512로 확장해 테스트한 뒤 256×256으로 다시 다운샘플링해 제시했고, 컬러화는 학습·테스트·제시 해상도를 모두 256×256으로 통일했다.
FCN-score
생성 모델의 정량적 평가가 어려운 가운데, 최근 연구들은 사전 학습된 의미 분할 모델을 이용해 생성 이미지의 “판별 가능성(discriminability)”을 가상 지표로 활용해 왔다. 즉, 사전 학습된 의미 분할 모델(FCN-8s)을 실제 이미지로 학습해 두고, 이 모델이 합성된 이미지를 얼마나 정확히 원래 레이블대로 분류하는지를 측정한다. “실제 이미지처럼” 충분히 사실적이라면 사전 학습된 분류기가 합성 이미지를 올바로 인식할 것이고, 이 분류 정확도가 곧 생성 이미지의 판별 가능성 지표가 되는 방식이다. 본 논문에서도 Long 등의 FCN-8s 아키텍처를 Cityscapes 데이터셋으로 학습시킨 뒤, 합성된 사진을 해당 레이블에 대해 분류 정확도로 평가함으로써 생성 이미지의 사실성을 정량적으로 측정한다.
4.2 Analysis of the objective function
이 실험에서는 손실 함수 구성 요소별 효과를 분석하기 위해 L1 손실만, cGAN 손실만, 그리고 두 손실을 결합한 경우를 비교했다. L1만 사용할 때 결과는 흐릿하지만 왜곡이 적었고, cGAN만 사용할 때는 선명도는 높아지나 특정 과제에서 시각적 왜곡이 발생했다(Figure 4 참조). L1과 cGAN을 함께 적용(λ=100)하면 선명함과 왜곡 억제를 모두 달성하여 질적·양적 평가(FCN-score)에서 가장 우수한 성능을 보였다. 또한, 판별기에 입력을 조건화하지 않은 GAN 변형은 모드 붕괴를 일으켜 입력을 무시하는 경향을 보여, 입력–출력 일치성을 평가하는 cGAN의 중요성이 강조되었다.

Colorfullness
조건부 GAN은 입력에 없는 공간적 구조를 날카롭게 생성하듯, 색상 차원에서도 L1 손실이 회색톤 평균을 유도(※)하는 반면 적대적 손실은 실제 색상 분포에 가까운 다채로운 결과를 만들어내는 효과가 있다. Cityscapes 실험(Figure 7)에서 L1 단독은 출력 색상 분포가 실제보다 좁아 평균적 회색조에 머무르는 반면, cGAN을 적용하면 출력 분포가 실제 데이터 분포에 한층 더 근접하여 보다 사실적인 색상을 복원함을 확인했다.
질문:
L1 손실이 색상 차원에서도 회색톤을 유도하는 이유는 “색상의 평균값이 회색”이기 때문인가요?
답변:
아니요. L1 손실이 회색조를 유도하는 것은 “평균값이 회색”이어서가 아니라, L1 손실이 중앙값(median) 선택을 선호하기 때문입니다. 여러 가능성 있는 색상 값이 분포할 때, L1 손실을 최소화하려면 각 채널별 분포의 중앙값을 택해야 합니다.
색상 분포가 다중봉우리를 형성하면, 그 중앙값은 채도가 낮은 무채색(neutral) 쪽—즉 회색조—에 가까워집니다. 따라서 L1 손실은 색상의 평균이 회색이어서가 아니라, 중앙값 선택 특성 때문에 회색톤 출력을 유도하는 것입니다.

4.3 Analysis of the generator architecture
U-Net은 스킵 연결을 통해 저수준 정보를 병목층을 거치지 않고 전달해 주며, 이 설계가 성능 개선으로 이어진다. Cityscapes 실험에서 스킵 연결을 제거한 인코더–디코더 구조는 현실적인 이미지를 생성하지 못한 반면, U-Net은 조건부 GAN과 L1 손실 환경 모두에서 일관되게 더 우수한 결과를 보였다.


4.4. From PixelGANs to PatchGANs to ImageGANs
다양한 패치 크기 $N$을 가진 판별기를 비교한 결과, 매우 작은 $1\times1$ PixelGAN은 공간적 선명도에는 영향을 주지 않지만 색상 표현력을 크게 높였고, $16\times16$ PatchGAN은 선명도를 확보하면서도 타일링 아티팩트가 발생했다. 기본 설정인 $70\times70$ PatchGAN은 아티팩트를 완화하며 최고 수준의 FCN-score를 달성했고, 전체 이미지를 사용하는 $286\times286$ ImageGAN은 오히려 성능이 떨어져 학습이 더 어려웠다. 또한, PatchGAN의 고정 크기 패치 판별기와 생성기의 완전 합성곱 적용 방식을 통해, $256\times256$으로 학습한 모델을 $512\times512$ 해상도에서도 별도 재학습 없이 효과적으로 동작시킬 수 있음을 확인했다.



4.5 Perceptual validation
AMT 실험 결과, 지도→항공 사진 과제에서 L1+cGAN은 18.9%의 속임(success) 비율을 기록해 L1 기준선(거의 0%)을 크게 넘어섰다. 반면 항공 사진→지도 변환에서는 6.1%로 L1 기준선과 차이가 없었는데, 이는 지도의 엄격한 기하학 구조상 작은 오류가 더 잘 드러지기 때문이다. 흑백→컬러 과제에서는 ImageNet으로 학습해 22.5%의 속임률을 달성했으며, L2 기반 변형과는 통계적으로 유사했지만, 컬러화에 특화된 기존 방법(27.8%)보다는 다소 낮은 성능을 보였다.

4.6 Semantic segmentation
사진→의미 분할 과제에서 cGAN을 L1 손실 유무로 학습한 결과, L1 없이도 합리적 정확도를 달성하여 GAN이 거의 이산적인 “레이블”을 생성할 수 있음을 최초로 입증했다. 하지만 표 6의 분류 성능 비교에서 단순 L1 회귀가 cGAN보다 우수했는데, 이는 의미 분할처럼 출력 목표가 명확한 비전 과제에서는 재구성 손실(L1)이 거의 대부분 충분함을 보여준다.



4.7. Community-driven Research
트위터 커뮤니티는 논문과 pix2pix 코드 공개 이후 배경 제거, 팔레트 생성, 스케치→초상화·포켓몬, 포즈 전이, #edges2cats 등 수십 가지 창의적 프로젝트에 이 프레임워크를 적용하며 범용 이미지 변환 도구로서의 잠재력을 입증했다.


5. Conclusion
본 논문의 결과는 조건부 적대 신경망이 특히 복잡한 구조의 그래픽 출력이 요구되는 다양한 이미지-투-이미지 변환 과제에 유망한 접근법임을 시사한다. 이러한 네트워크는 주어진 과제와 데이터에 자동으로 적응하는 손실 함수를 학습하므로, 매우 다양한 환경에 적용할 수 있다.





