[dl輪読会]stargan: unified generative adversarial networks for multi-domain image-to-image...

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

Upload: deep-learning-jp

Post on 21-Jan-2018

121 views

Category:

Technology


5 download

TRANSCRIPT

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

1

DEEP LEARNING JP[DL Papers]

http://deeplearning.jp/

StarGAN: Unified Generative Adversarial Networks for Multi-

Domain Image-to-Image Translation

Jun Hozumi, Matsuo Lab

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

書誌情報• 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特に断りのない場合、本文内の図表は本論文より引用

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

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

3

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

論文内での語法について• 用語の使われ方に注意!

• 属属性性(attribute): それぞれの画像に固有の、意味のある特徴– 髪の色(黒/茶/金/…)、性別(男/女/…)、感情(喜/怒/哀/…)など

– one-hotベクトルなどで表現される

• ドドメメイインン(domain): 同じ属性を持つ画像の組– 金髪ドメイン、男性ドメイン、笑顔ドメインなど

– 1枚の画像が複数のドメインに属することも考えられる

4

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

参考: Cycle GAN• 異なるドメインへ画像を双方向に変換するGAN

– 画像を1:1対応で持たせる必要がないのが画期的

5[Zhu+ 17] Unpaired image-to-image translation using cycle-consistent adversarial networks

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

参考: ACGAN• クラス識別という補助タスクを追加することで品質を高めるGAN

– 高品質な画像はうまく分類もされるはず

6

(https://github.com/hwalsuklee/tensorflow-generative-model-collections より)

[Odena+ 16] Conditional Image Synthesis With Auxiliary Classifier GANs

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

背景• 1つの画像には複数の属性ラベルが付与されている

– CelebAデータセットだと「女性」「黒髪」など40種類もある

• 複数のドメインでも変換できるようにしたい!– ついでに他の属性ラベルがついてる別のデータセットが使えるともっと良い

– たとえば本論文で用いるRaFDは「喜び」「怒り」など感情の属性がついている

• しかし、既存手法ではドメイン1:1対応での変換しかできない– k個ドメインがある場合、k(k-1)のGeneratorを作成しなければならない

– 他のドメインにも共通している特徴を活かせない点ももったいない

7

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

提案: StarGAN• その解決策として、下図(b)にあたるStarGANを提案• 複数ドメインのデータを用いつつも、Generatorは1つだけでOK

– 画像と、ドメイン情報を含むラベルベクトルを取り込む

8

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

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

9

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

Loss1: Adversarial Loss• StarGANでは3種類のLossを組み合わせた損失関数を用いる

– Adversarial Loss, Domain Classification Loss, Reconstruction Loss

• まず、通常のGANでも用いられるAdversarial Lossを課す– Dsrc(x)は、Dによって与えられる情報ソース(Real/Fake)の確率分布

10・Dはreal: xとfake: G(x,c)を正しく分類したい・GはG(x, c)がrealであるとDに分類させたい

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

Loss2: Domain Classification Loss • y = G(x, c)は、ドメインcに分類されなければならない• Dに、ACGANでも用いられる補助分類器(auxiliary classifier)を追加して、

DとGにDomain Classification Loss を課す– c’はxの元々のドメインラベル、Dcls(c’|x)はドメインラベルの確率分布

11

D側:

G側:

(c’にある)xを、正しくc’に分類したい

cに変換したxが、正しくcに分類されてほしい

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

Loss3: Reconstruction Loss • ドメインと関連する部分のみが変換されるようにしたい• Gに、CycleGANでも用いられるReconstruction Lossを課す

– L1ノルムでとる

12

(c’の)xをcへ変換して再度c’に戻したとき、元通りになってほしい

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

目的関数• 最終的な目的関数は以下の通り

– λはハイパーパラメータで、λcls=1, λrec=10

• 実際はLadvをWGAN-GPの目的関数に変形する.λGP=10

13

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

Mask Vector• 複数のデータセットを用いてデータ数を水増ししたいとき、各データセッ

トからはラベル情報を部分的にしか認識できない– たとえば、感情に関するラベルはRaFDにはあるが、CelebAにはない

• そこでStarGANが特定のラベルを無視できるようMask Vector(m)を導入– cはデータセットごとのラベルベクトル、nはデータセット(種類)数

• つまり、ドメインラベルは [[0,0,0,0], [1,0,1], [0,1]]のような形で与える

14

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

実例

15

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

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

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

16

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

実験1: CelebAによる生成画像のユーザ評価• Amazon Mechanical Turk (146人)によって高評価を獲得

– “perceptual realism, quality of transfer in attribute(s), and preservationof a figure’s original identity”という観点

17

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

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

18

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

実験3: 複数データセットを用いたときの生成画像の品質• RaFDのみを用いたモデル(SNG)と、RaFD+CelebAを用いたモデル(JNT)

で生成画像を見比べると、両方用いたモデルのほうが高品質になった

19

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

まとめ• 異なる複数のドメインに画像を変換することができるStarGANを提案

– スケーラビリティが高い

– 汎化されるから既存手法に比べて高品質

– マスクベクトルを用いることでドメインラベルの制御が可能に

• 理論上どのようなドメインでも変換できるはずなので、今後の研究課題に– Style Transferなど

– でもCycleGANと同様、今は形状が変わる場合は無理っぽい(馬を車になど)

20