ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CycleGAN (Unpaired Image-to-Image Translation)
    GAN 2018. 11. 13. 12:23

    요약: Image-to-Image translation에서 paired training data가 있는 경우는 많지 않다. 

    즉, 다수가 Unpaired Image-to-Image Translation이다. 

    이 경우에 source domain X에서 target domain Y로 translate하도록 학습한다. 

    목표는 adversarial loss를 사용하여 G(X)에서 Y로 mapping하는 것을 학습하는 것이다. 

    이때 G(X)로부터의 이미지를 Y를 통해 식별할 수 없도록 한다. 

    이 mapping은 제약이 많아서, 역으로 mapping하는, 

    F(Y) → X를 사용하고 cycle consistency loss란 것을 사용한다.


    1. 소개

    이 논문에선 1개의 이미지에서 특별한 특징들을 capture하고 

    unpaired 상황에서 다른 이미지 컬렉션으로 translate할 수 있는지 이야기한다.

    G(X)에서 Y로 mapping하는 것을 학습하고 y가 식별가능할 수 없도록한다.

    이때 y로부터 떨어진 y^를 classify하게 훈련된다.

    objective는 y^로부터의 output 분포가 P_data(y) 분포와 매치하도록 유도한다.

    최적의 G는 도메인 X를 도메인 Y^로 translate한다.


    그러나 이 방식은 input x와 output y가 의미있게 paired되는 것을 보장하지는 않는다.

    또한 adversarial objective를 격리해서 최적화하는 것이 어렵다.

    표준절차는 종종 mode collapse 문제를 이끌어내는데, 

    모든 input 이미지가 동일한same output 이미지에 mapping하게되고, 

    최적화가 절차를 진행하는데 실패한다.


    이를 해결하기 위해 cycle consistent라는 translation 속성을 이용한다.

    예시로, 영어문장을 불어문장으로 번역한다면 

    다시 불어문장을 영어문장으로 번역해서 cycle원래 문장으로 돌아오는 것이다.

    G(X) → Y가 있고 F(Y) → X가 있으며, G와 F는 서로 역이며, 각각의 mapping은 일대일 함수이어야 한다.

    이 구조를 적용시켜 mapping G와 F를 동시에 학습하고, 

    여기에 cycle consistency loss를 추가하여 F(G(x))  x (근사치)와 G(F(y))  y (근사치)를 유도한다.

    이 loss를 기존 adversarial loss에 결합하면 unpaired image-to-image translation의 전체 objective가 된다.


    2. 관련 연구

    GAN

    Image-to-Image Translation

    Unpaired Image-to-Image Translation

    Cycle Consistency

    Neural Style Transfer


    3. Formulation

    목표는 도메인 X와 Y 사이의 mapping function을 학습하는 것이다.

    모델은 2개의 mapping을 가지는데 G(X) → Y 와 F(Y) → X 이다.

    Dx는 이미지 x와 translated된 이미지 F(y)를 구분하고, Dy는 y와 G(x)를 구분한다.

    Objective는 아래 2개를 포함한다.

    (a) adversariabl loss: 생성된 이미지의 분포를 타겟도메인 안의 데이터 분포로 매칭시킨다.

    (b) cycle consistency losses: 학습된 매핑 G와 F가 서로 모순되지 않도록 한다.


    3.1 Adversarial Loss

    adversarial loss를 2개의 mapping function에 적용한다.


    3.2 Cycle Consistency Loss

    네트워크는 때로 input 이미지들의 동일한 세트를 

    타겟도메인의 랜덤 순열의 any아무 이미지에 mapping할 수 있다.

    따라서 Adversarial loss 자체는 학습된 function이 개별 input x_i 를 

    원하는 output yi에 mapping되는걸 보장할 수 없다.

    mapping function이 가능한 공간을 줄이기 위해, 학습된 mapping function인 cycle-consistent를 사용한다.

    도메인 X로부터의 개별 이미지 x를 image translation cycle이 다시 원본이미지로 가져온다. (Figure 3의 b 그림)

    이를 forward cycle-consistency라고 한다.

    반대로 도메인 Y로부터의 이미지 y의 cycle은 backward cycle-consistency라고 부른다. (Figure 3의 c 그림)

    이런 행동을 cycle consistency loss를 이용하여 촉진시킨다.

    ** 수식

    이전의 실험에서, 연구진은 L1 norm을 adversarial loss로 대체했으나 향상된 성과가 나오진 않았다.

    cycle loss에 의한 행동은 Figure 4에 나오며, 재구성된 이미지 F(G(x))는 input 이미지 x와 거의 유사하게 된다.


    3.3 Full Objective

    ** 수식 3


    λ 은 2개 objective의 상대적 중요성을 컨트롤한다.

    이를 해결하기 위한 수식은

    ** 수식 4


    연구진의 모델은 2개의 autoencoder를 훈련시키는 것으로 볼 수 있다.

    하나는 FㅇG: X → X 이고 결합되는 다른 하나는 GㅇF: Y → Y 이다.

    그러나 이것들은 각각 특별한 내부 구조를 가지는데, 

    다른 도메인으로의 이미지 translation이란 intermediate representation을 통해

    이미지를 그 자체로 mapping하는 것이다.

    이것은 적대적 autoencoder의 특별한 경우로 볼 수 있는데,

    이는 adversarial loss를 autoencoder의 병목레이어를 훈련시켜서 임의의 타겟분포에 매치하는 것이다.

    실험에선 X → X autoencoder의 타겟분포는 도메인 Y이다.


    5.1.4부분에서 A.Loss 단독과 cycle loss 단독 그리고 전체 objective를 비교하고

    각각의 objective가 좋은 결과를 만드는데 중요한 역할을 하는 것을 보여줄 것이다.

    또한 cycle loss가 한 방향으로만 갈때를 평가하고 single cycle이 제약된 문제의 훈련에서

    regularize하는데 충분하지 않다는 것을 보여줄 것이다.


    4. Implementation

    (a) Network 구조

    구조는 Johnson의 논문을 참고하였다.

    6 blocks for 128 x 128 이미지, 9 blocks for 256 x 256 이미지, 고해상도 트레이닝 이미지를 사용했다.

    논문처럼 instance normalization을 사용하였다.

    D에는 70 x 70 PatchGAN을 사용한다. 


    (b) Training detail

    모델 트레이닝 과정을 안정화시키기 위해 아래 2가지를 적용했다.

    먼저 negative log likelihood object를 least-squared loss로 대체한다.

    이 loss는 트레이닝을 안정화시키고 고품질의 결과를 만든다.

    특히, GAN loss £GAN(G,D,X,Y) 에서 G와 D는 각각의 term을 minimize한다.


    다음으로 Shrivastava의 논문을 따라서 모델 진동을 줄이고,

    최신 G에 의해 생성된 이미지보다는 생성된 이미지의 순서를 따라서 D를 업데이트한다.

    연구진은 이전에 생성된 50개의 이미지를 저장하는 이미지 버퍼를 유지했다.


    모든 실험에서 λ 은 10으로 했다. 그리고 Adam solver를 batch size 1로 사용했다.

    learning rate 는 0.0002 로 첫 100 epoch에 사용했고, 100번 이후에는 비율을 0에 가까워지도록 줄여서 사용했다.

    (appendix 7 참고)


    5. 결과

    먼저 paired 데이터셋에 대한 unpaired image-to-image translation의 최신방법과 연구진의 방법을 비교했다.

    위 데이터셋은 ground truth input-output pair가 평가에 사용가능하다.

    다음으로 adversarial loss와 cycle consistency loss의 중요성을 연구하고 몇 가지 대상에 대해서 전체 방법을 이용해 비교했다.

    결국, 연구진의 알고리즘의 일반성은 paired data가 존재하지 않는 넓은 범위에 적용가능한 것으로 증명된다.


    5.1 평가

    pix2pix와 같은 데이터셋 및 metrics를 사용하여, 몇몇 baseline과 연구진의 방법을 비교한다.

    이 업무는 semantic labels ↔ photo, map ↔ aerial photo 를 포함한다.

    그리고 전체 loss function에 대한 ablation study를 수행한다.


    5.1.1 평가 메트릭

    AMT perceptual study에서 output의 realism을 평가하기 위한 real vs fake perceptual 스터디를 한다.

    Isola 논문의 프로토콜을 따르되, 테스트한 알고리즘별로 25개의 participants만 모은다.

    그들은 pair 이미지의 나열로 보고 그 이미지가 진짜인지 클릭한다.


    Perceptual study가 비록 그래픽 사실성에 대해 좋은 표준이지만, 

    연구진은 인간의 실험없이 자동화된 정량평가인 FCN Score를 이용했다.

    FCN Score metric은 off-the-shelf semantic segmentation 알고리즘을 따라서 생성된 이미지가

    얼마나 해석가능한지 평가한다.

    FCN은 생성된 사진에 대한 label map을 예측한다.

    이 label map은 표준 semantic segmentation metrics를 이용하여

    input ground truth에 대해 label map이 비교된다.

    직관적으로는 만약 '도로 위의 자동차'라는 label map에서 사진을 생성하면,

    생성된 사진에 적용된 FCN이 '도로 위의 자동차'를 탐지하는데 성공한 것으로 본다.


    Semantic segmentation metrics

    사진 → label 성과평가를 위해, 도시풍경 벤치마크로부터의 표준 metrics를 사용한다.

    이는 per-pixel accuracy, per-class accuracy, mean class Intersection-Over-Union (Class IOU)를 포함한다.


    5.1.2 Baselines

    CoGAN

    SimGAN: 정규화 term ||x - G(x)|| 은 픽셀레벨에서 큰 변화를 만드는 것을 penalize한다.

    Feature loss + GAN

    BiGAN/ALI

    pix2pix


    CoGAN을 제외하고는 모두 같은 구조와 디테일로 실행했다.

    CoGAN의 G는 shared latent representationd으로부터의 이미지를 생성하며, 본 연구의 image-to-image translation에

    호환하지 않으므로 CoGAN 분야에서 public한 방법을 별도로 사용했다.


    5.1.3 Comparison against baselines

    Figure 5와 6에서 보이듯, baseline이 없으면 결과를 도출할 수 없다.

    반면에 연구진의 방법은 fully supervised pix2pix와 유사한 품질의 translationd을 만들 수 있다.


    Table 1은 AMT perceptual realism task에 대한 성과이다. 거의 모든 baseline은 참여자를 속이지pooled 않는다.

    Table 2에선 연구진의 방법이 baseline보다 높게 나왔다.


    5.1.4 Loss function의 분석

    Table 4와 5에서 full loss의 비교를 볼 수 있다.

    GAN loss의 제거는 결과를 상당히 하향시켰고, 또한 cycle-consistency loss의 제거도 그렇다.

    따라서 각 term은 연구진의 결과에 중요하다고 볼 수 있다.

    또한 cycle loss의 one direction의 경우, training이 종종 불안정하고 mode collapse를 야기하며,

    특히 mapping의 방향이 제거된 경우에 더 심했다.

    Figure 7은 몇몇 정성적 샘플을 보여준다.


    5.1.5 Image reconstruction quality

    Figure 4에서 재구성된 이미지 F(G(x))의 몇몇 랜덤샘플을 볼 수 있다.

    이 재구성된 이미지는 training과 testing 시에 종종 input 이미지 x와 유사했으며,

    심지어 map ↔ aerial photo처럼 하나의 도메인이 매우 다양한 정보를 나타내는 경우에도 유사했다.


    5.1.6 paired 데이터셋에 대한 추가적인 결과

    Figure 8은 pix2pix에서 사용된 다른 paired 데이터셋에 대한 결과다.

    연구진 방법의 이미지품질은 fully supervised pix2pix로 생성된 이미지품질과 비슷했는데,

    연구진 방법은 paired supervision 없이 mapping하는 것을 학습한다.


    5.2 Applications

    연구진의 방법은 unpaired data에의 몇몇 적용을 보여준다.

    trainin data에 대한 translation은 종종 test data에 대한 것보다 호소력이 더 있었다.


    (a) Collection style transfer (Figure 10, 11)

    풍경사진에 모델을 training한다.

    최근 neural style transfer 연구와 달리, 연구진의 방법은 대상의 전체 collection styled을

    모방하도록 학습한다. 기존 연구방식 즉, 대상의 선택된 부분의 style을 transfer하는 것보다는.

    각 스타일별 데이터셋 크기는 526, 1073, 400, 563개이었다.


    (b) Object transfiguration (Figure 13)

    모델은 ImageNet에서의 1개 object class를 다른 class로 translate하도록 학습된다.

    Turmukhambetov는 1개 object를 같은 category의 다른 object로 바꾸는 subspace 모델을 제안했지만,

    연구진은 2개의 시각적으로 유사한 category 사이의 object transfiguration에 집중했다.


    (c) Season transfer (Figure 13)

    854개 겨울사진과 1273개 여름사진을 학습하였다.


    (d) Photo generation from paintings (Figure 12)

    painting → photo 변환에 있어, input과 output 간의 색상 구성을 유지하도록 mapping하는

    추가적인 loss의 도입이 도움이 되었다.

    특히, Taigman의 테크닉을 적용하고 타겟도메인의 실제샘플이 G의 input으로 제공될때의

    mapping하는 것이 identity에 가까워지도록 G를 정규화하였다.


    라플라스변환 L_identity 없이, Generator G와 F는 input 이미지의 색조를 자유롭게 바꿀 수 있다.

    예로, 모네의 그림과 Flickr 사진간에 mapping을 학습할 때, 

    generator는 종종 낮의 그림을 햇볕에 찍은 사진에 mapping하는데

    그 이유는 아마 이런 mapping이 adversarial loss와 cycle-consistency loss를 통해 같이 유효하기 때문일 것이다.


    Figure 12에서, 모네의 그림을 사진으로 변환하는 것이 나온다.

    이들과 Figure 9은 training set에 포함된 그림에 대한 결과이고,

    반면에 논문의 다른 모든 실험들에서 연구진은 test set 결과만 평가하고 보여주었다.

    왜냐하면 training set은 paired data를 포함하지 않으며,

    training set 그림의 그럴듯한 변환은 쉽지 않은 일이기 때문이다.

    실제로 과거의 인물 모네가 새로운 그림을 못 그리기 때문에, test set 그림들은 pressing problem이 아니다.


    (e) Photo enhancement (Figure 14)

    연구진의 방법은 필드의 얕은 depth로 사진을 생성하는데 쓰일 수 있다.

    꽃 사진을 train하였는데, source domain은 스마트폰으로 찍힌 것이며, 

    작은 조리개로 인해 종종 깊은 DoF를 가진다.

    target은 큰 조리개가 있는 DSLR로 찍힌 사진을 포함한다.

    모델은 스마트폰으로 찍은 사진의 필드를 얕은 depth의 사진으로 잘 생성했다.


    (f) Comparison with Gatys et al. [13] (Figure 15, 16)

    연구진의 방법과 neural style transfer를 photo stylization에 대해 비교하였다.

    각 열에 있어 비교논문를 위해 2개의 대표작품을 사용했다.

    반면에 연구진의 방법은 전체 collection의 스타일에 있는 사진을 생성했다.

    비교논문과 비교하여 target 도메인에 걸쳐 평균 Gram Matrix를 계산했고,

    이 matrix를 Gatys 논문의 average style을 변환하기 위해 사용했다.


    Figure 16은 다른 변환을 증명한다.

    Gatys의 논문은 바람직한 output에 거의 매칭되는 target style 이미지를 찾는 것을 필요로 하지만

    종종 사진같은 결과를 만드는데 실패하곤 한다.

    반면에 연구진의 방법은 target 도메인과 유사하며 자연스럽게 보이는 결과를 만드는데 성공했다.


    6. 한계 및 토론

    비록 연구진의 방법은 많은 경우에 결과를 만들긴하지만, 결과들이 균일하게 positive한 것과는 거리가 있다.

    Figure 17은 몇몇 실패사례를 보여준다.

    색상과 질감 변화를 포함하는 변환에서 연구진의 방법은 보통 성공한다.

    또한 지질변화를 필요로 하는 부분에서는 작은 성과만 있다.

    예시로 개에서 고양이로의 transfiguration에서, 학습된 변환은 input에서 최소한의 변화만 만들며 퇴화시킨다.

    이는 아마 Generator 구조선택이 외형변화에 좋은 성과를 내도록 맞춰져 있기 때문일 것이다.

    지질변화와 같은 더 다양하고 극도의 transformation은 향후 더 중요하게 다룬다.


    몇몇 실패는 training 데이터셋의 분포특성으로 인해 생겼다.

    예시로 말에서 제브라로의 변환에 있어 연구진의 방법은 혼란스러워 했는데,

    이는 모델이 야생의 말과 제브라만 학습하였고 사람이 말 혹은 제브라를 탄 이미지는 포함되지 않았기 때문이다.


    또한 paired training 데이터를 통해 달성되는 결과와 unpaired 데이터를 통해 달성되는 결과 사이를

    오래끄는lingering gap을 발견하였다. 몇몇 경우에 이 갭은 매우 어려웠다.

    예시로 photo → label의 output에서 연구진의 방법은 나무와 빌딩의 label의 순서를 때때로 뒤섞었다.

    이 모호함을 없애기위해 아마 약한 semantic supervision의 어떤 형태가 필요할 것이다.

    아직 fully-supervised 시스템의 annotation cost의 부분에 있는,

    안 좋거나 혹은 semi-supervised한 data의 통합은 아마 상당히 파워풀한 변환을 이끌 것이다.


    그럼에도 불구하고 unpaired data의 많은 경우에 사용가능하다.

    이 논문은 "unsupervised" 세팅에서 가능한 경계들을 push한다.


    'GAN' 카테고리의 다른 글

    Pix2Pix (Image-to-Image Translation with cGAN)  (0) 2018.11.08
    cGAN (Conditional GAN)  (0) 2018.11.07
Designed by Tistory.