Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CycleGAN and InstaGAN

kiyo
November 21, 2019

CycleGAN and InstaGAN

#8【画像処理 & 機械学習】論文LT会で発表した内容です。GANを用いた画像変換手法である InstaGAN と CycleGAN の紹介です。

kiyo

November 21, 2019
Tweet

More Decks by kiyo

Other Decks in Technology

Transcript

  1. 紹介する論文 CycleGAN Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (ICCV

    2017) https://arxiv.org/abs/1703.10593 InstaGAN InstaGAN: Instance-aware Image-to-Image Translation (ICLR 2019) https://arxiv.org/abs/1812.10889
  2. Generator 1. 画像用 Encoder とマスク用 Encoder で特徴を抽出 2. マスク特徴の総和を取っておく 3.

    画像用の Decoder に画像特徴とマスク特徴の総和を 入力して変換された画像を得る 4. マスク用の Decoder に画像特徴とマスク特徴の総和と マスク特徴を入力して変換されたマスクを得る
  3. Discriminator 1. 画像用 Encoder とマスク用 Encoder で特徴を抽出 2. マスク特徴の総和を取る 3.

    Classifier に画像特徴とマスク特徴の総和を入力して判 別する
  4. InstaGAN の Loss Domain Loss (GAN Loss) Content Loss Domain

    Loss: target domain っぽいかどうかを判別するための Loss Content Loss: 元画像の内容や文脈を保持するための Loss
  5. Content Loss の中身 ドメイン X の画像を一旦 Y に変換してからもう一度 X に変換したら元画像戻って欲しいという願い

    (CycleGAN の Cycle Consistency Loss と同じ) GXY/GYX はそれぞれドメイン X/Y の画像についてのみ変更してほしいという願い (元々 Y/X だった画像は変更しないでほしい ) マスク領域以外の場所は変更しないでほしいという願い
  6. Sequential Translation One: 全てのマスクを 1 iteration で変換 Seq: Sequential に少数ずつ変換 train時/inference時 Train

    時にも Inference 時にも Sequential Translation を行った方がよいらしい (一番右)。
  7. 参考 CycleGAN (https://qiita.com/hrs1985/items/050acb15ce33675f07ec) CycleGANを用いたスタイル変換 (https://qiita.com/hrs1985/items/926f9c4e635aac659675) CycleGANを用いたスタイル変換 (2) リベンジ編 (https://qiita.com/hrs1985/items/820d9b0b919fe0425e46) CycleGANのPytorch実装

    (https://github.com/kiyohiro8/CycleGAN-pytorch) CycleGANの実装はあまりカッコよくないので色々修正したい。 InstaGANの実装も今やっているので上手くできたら githubに上げます。