[dl hacks 実装]the conditional analogy gan: swapping fashion articles on people images
TRANSCRIPT
1
DEEP LEARNING JP
[DL Papers]
http://deeplearning.jp/
“The Conditional Analogy GAN: Swapping Fashion Articleson People Images” (ICCV2017 workshop) [DL hacks]
Shizuma Kubo, Matsuo Lab
実装
• CAGANの実装 (https://github.com/DLHacks/CAGAN)
- クローリングの実装[ruby]( https://github.com/DLHacks/CAGAN/tree/master/data_crawling )
- 今日説明で使うファイル[ipython
notebook]( https://github.com/DLHacks/CAGAN/tree/master/models/ca_gan_exerc
ise )
- 以下のスライドは前回と同じ論文紹介です。
2
書誌情報
• “The Conditional Analogy GAN: Swapping Fashion Articles on People
Images” (arXiv 14 Sep 2017 / ICCV 2017)
• Author: Nikolay Jetchev, Urs Bergmann (Zaland Research)
• Zalandはヨーロッパに展開するドイツのファッションECサイト。
• DL輪読会でも発表あり。(2017/09/25 VASILY 後藤さん)
• 選定理由: 本論文と同様のタスクを研究で行いたい。
3
論文概要
4
• GANによって服を着ているモデルの画像を別の任意の服の画像に着せ替えるタスクを行うことが出来る。
• データセットが容易に集められる。
-セグメンテーションのデータを用いずに
暗に学習する。
• 計算コストが比較的小さい
- 3Dオブジェクトより2Dオブジェクトを
扱うほうがコストが小さくすむ。
背景
1. モデルが服を着た画像を作ることは高価でかつ時間がかかる。
- ファッションECでは素早く規模を拡大することが課題。
-服単体の画像であれば比較的安く出来る。
-既存のモデルの画像の再利用はファッション業界にとって非常に有効。
2. “virtual try-on” の可能性。
- 異なるファッションアイテムが似合うかどうかを確かめる
アプリケーションの実現の可能性がある。
5
生成例
6
着せ替えが出来ている!
モデル概要
7
ネットワーク
8
・Generatorはskip connection付きのencoder-decoderモデル。
・DiscriminatorはpatchGANのアプローチ(63x63 receptive field)。
・上記2点ともpic2picの構造を参考にしている。
・Generatorの出力は4channel(3channel
が服のRGBで、1channelがマスク)。(channel) x (width) x (height)
ロス関数
• 大きく分けて3種類のロスを足し合わせる。
① cGANのロス(Generator、Discriminatorそれぞれ騙し合うロス)
② id ロス (出来るだけ元の画像を維持するための正則化項)
③ Cycle ロス (生成を2回繰り返し元に戻したときの差)
9
ロス① ( cGANのロス )
10
① (モデル画像) + (対応する服画像)
の識別
Discriminator: True
② (生成したモデル画像) + (対応する服画像) の識別
Discriminator: False
Generator: True
③ (モデル画像) + (関係ない服画像)
の識別
Discriminator: False
ロス② ( idロス )
11
・Generatorの出力は4channel
・そのうち、1channelはマスク(α)。
・αで元画像を変換する部分を決める。
・L1-norm。
・変換する部分を出来るだけ小さくしたいという気持ち。(変換する服の部分以外は維持したい)
ロス③ ( Cycleロス )
12
・1度着せ替えした画像を元着ていた画像で再度着せ替え、元々の画像と同じになることを期待する。
・L1-norm。
・Generatorの学習を安定化することが目的。
ロス関数
• 大きく分けて3種類のロスを足し合わせる。
① cGANのロス(Generator、Discriminatorそれぞれ騙し合うロス)
② id ロス (出来るだけ元の画像を維持するための正則化項)
③ Cycle ロス (生成を2回繰り返し元に戻したときの差)
13
実験
• 15,000のモデルと着用服の画像のペアのデータセットを利用
• Adam(learning rate 0.0002)
• Minibatch size 16
• 10,000 gradient stepである程度の精度
• 各Layerでnormalizationを行う(一部除く)
• ActivationはRelu
• γi : 0.1、γc : 1.0 (改善の余地あり)
14
結果
• 定量的な評価については記述はない。
• 見た感じそこそこうまくいっている。
• ただし単色についてはうまくいくが、模様は崩れる。
15
future work
1. カラースペースをRGBではなくLabにして行う。
2. 模様の説明が精度の向上に役立つか確かめる。
3. 服の画像(conditioningする画像)をembeddingすることでよりはやく学習を収束出来ないか分析する。
16
実装の現状
• データはzalandのECサイトから取得。(9400ペアのデータ)
• KerasでCA-GAN実装done。
• 次週までにコードを整理する。
17
参考
• The Conditional Analogy GAN: Swapping Fashion Articles on People
Images http://openaccess.thecvf.com/content_ICCV_2017_workshops/papers/w32/Jetchev_The_Condition
al_Analogy_ICCV_2017_paper.pdf
• [DL輪読会] The Conditional Analogy GAN: Swapping Fashion Articles
on People Imageshttps://www.slideshare.net/DeepLearningJP2016/the-conditional-analogy-gan-swapping-fashion-
articles-on-people-images
• Magic Mirror for Fashion Storeshttps://www.slideshare.net/metatechnology/magic-mirror-for-fashion-stores
18