[DL輪読会]StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation

>100 Views

December 25, 17

スライド概要

2017/12/22
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] StarGAN: Unified Generative Adversarial Networks for MultiDomain Image-to-Image Translation Jun Hozumi, Matsuo Lab http://deeplearning.jp/ 1

2.

書誌情報 • Submitted to arXiv on 24 Nov 2017 • Yunjey Choi, Minje Choi, Munyoung Kim, Jung-Woo Ha, Sunghun Kim, and Jaegul Choo – Korea University, Clova AI Research, NAVER, The College of New Jersey and Hong Kong University of Science & Technology • 異なる複数のドメインに画像を変換することができるGAN • Twitterで一時期話題になった • 発想自体はシンプル(CycleGANとACGANの組み合わせ) 特に断りのない場合、本文内の図表は本論文より引用 2

3.

何をした研究? • 異なる複数のドメインに画像を変換することができるGANを提案 3

4.

論文内での語法について • 用語の使われ方に注意! • 属性(attribute): それぞれの画像に固有の、意味のある特徴 – 髪の色(黒/茶/金/…)、性別(男/女/…)、感情(喜/怒/哀/…)など – one-hotベクトルなどで表現される • ドメイン(domain): 同じ属性を持つ画像の組 – 金髪ドメイン、男性ドメイン、笑顔ドメインなど – 1枚の画像が複数のドメインに属することも考えられる 4

5.

参考: Cycle GAN • 異なるドメインへ画像を双方向に変換するGAN – 画像を1:1対応で持たせる必要がないのが画期的 [Zhu+ 17] Unpaired image-to-image translation using cycle-consistent adversarial networks 5

6.

参考: ACGAN • クラス識別という補助タスクを追加することで品質を高めるGAN – 高品質な画像はうまく分類もされるはず (https://github.com/hwalsuklee/tensorflow-generative-model-collections より) [Odena+ 16] Conditional Image Synthesis With Auxiliary Classifier GANs 6

7.

背景 • 1つの画像には複数の属性ラベルが付与されている – CelebAデータセットだと「女性」「黒髪」など40種類もある • 複数のドメインでも変換できるようにしたい! – ついでに他の属性ラベルがついてる別のデータセットが使えるともっと良い – たとえば本論文で用いるRaFDは「喜び」「怒り」など感情の属性がついている • しかし、既存手法ではドメイン1:1対応での変換しかできない – k個ドメインがある場合、k(k-1)のGeneratorを作成しなければならない – 他のドメインにも共通している特徴を活かせない点ももったいない 7

8.

提案: StarGAN • その解決策として、下図(b)にあたるStarGANを提案 • 複数ドメインのデータを用いつつも、Generatorは1つだけでOK – 画像と、ドメイン情報を含むラベルベクトルを取り込む 8

9.

概要: StarGAN • G(x, c) → y (cはドメインラベル)を複数のcで行えるように訓練する • Discriminatorはソースとドメインラベル2つの確率分布を生成する 9

10.

Loss1: Adversarial Loss • StarGANでは3種類のLossを組み合わせた損失関数を用いる – Adversarial Loss, Domain Classification Loss, Reconstruction Loss • まず、通常のGANでも用いられるAdversarial Lossを課す – Dsrc(x)は、Dによって与えられる情報ソース(Real/Fake)の確率分布 ・Dはreal: xとfake: G(x,c)を正しく分類したい ・GはG(x, c)がrealであるとDに分類させたい 10

11.

Loss2: Domain Classification Loss • y = G(x, c)は、ドメインcに分類されなければならない • Dに、ACGANでも用いられる補助分類器(auxiliary classifier)を追加して、 DとGにDomain Classification Loss を課す – c’はxの元々のドメインラベル、Dcls(c’|x)はドメインラベルの確率分布 D側: (c’にある)xを、正しくc’に分類したい G側: cに変換したxが、正しくcに分類されてほしい 11

12.

Loss3: Reconstruction Loss • ドメインと関連する部分のみが変換されるようにしたい • Gに、CycleGANでも用いられるReconstruction Lossを課す – L1ノルムでとる (c’の)xをcへ変換して再度c’に戻したとき、元通りになってほしい 12

13.

目的関数 • 最終的な目的関数は以下の通り – λはハイパーパラメータで、λcls=1, λrec=10 • 実際はLadvをWGAN-GPの目的関数に変形する.λGP=10 13

14.

Mask Vector • 複数のデータセットを用いてデータ数を水増ししたいとき、各データセッ トからはラベル情報を部分的にしか認識できない – たとえば、感情に関するラベルはRaFDにはあるが、CelebAにはない • そこでStarGANが特定のラベルを無視できるようMask Vector(m)を導入 – cはデータセットごとのラベルベクトル、nはデータセット(種類)数 • つまり、ドメインラベルは [[0,0,0,0], [1,0,1], [0,1]]のような形で与える 14

15.

実例 • 論文で行った実験の場合(使用データセットはCelebA、RaFD) – RaFDの場合についても同様に実行 15

16.

実験 • CelebAによる生成画像のユーザ評価 • RaFDによる生成画像の分類精度 • 複数データセットを用いたときの生成画像の品質 16

17.

実験1: CelebAによる生成画像のユーザ評価 • Amazon Mechanical Turk (146人)によって高評価を獲得 – “perceptual realism, quality of transfer in attribute(s), and preservation of a figure’s original identity”という観点 17

18.

実験2: RaFDによる生成画像の表情分類精度 • RaFDでResnet-18の表情分類器を学習し、生成した顔画像を分類させる • StarGANが最も分類精度が高く、より現実的な変換ができていると言える 18

19.

実験3: 複数データセットを用いたときの生成画像の品質 • RaFDのみを用いたモデル(SNG)と、RaFD+CelebAを用いたモデル(JNT) で生成画像を見比べると、両方用いたモデルのほうが高品質になった 19

20.

まとめ • 異なる複数のドメインに画像を変換することができるStarGANを提案 – スケーラビリティが高い – 汎化されるから既存手法に比べて高品質 – マスクベクトルを用いることでドメインラベルの制御が可能に • 理論上どのようなドメインでも変換できるはずなので、今後の研究課題に – Style Transferなど – でもCycleGANと同様、今は形状が変わる場合は無理っぽい(馬を車になど) 20