>100 Views
November 14, 17
スライド概要
2017/11/13
Deep Learning JP:
http://deeplearning.jp/hacks/
DL輪読会資料
DEEP LEARNING JP [DL Papers] “The Conditional Analogy GAN: Swapping Fashion Articles on People Images” (ICCV2017 workshop) [DL hacks] Shizuma Kubo, Matsuo Lab http://deeplearning.jp/ 1
実装 • 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_exercise ) - 以下のスライドは前回と同じ論文紹介です。 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
論文概要 • GANによって服を着ているモデルの画像を別の任意の服の画像に着せ 替えるタスクを行うことが出来る。 • データセットが容易に集められる。 - セグメンテーションのデータを用いずに 暗に学習する。 • 計算コストが比較的小さい - 3Dオブジェクトより2Dオブジェクトを 扱うほうがコストが小さくすむ。 4
背景 1. モデルが服を着た画像を作ることは高価でかつ時間がかかる。 - ファッションECでは素早く規模を拡大することが課題。 - 服単体の画像であれば比較的安く出来る。 - 既存のモデルの画像の再利用はファッション業界にとって非常に有効。 2. “virtual try-on” の可能性。 - 異なるファッションアイテムが似合うかどうかを確かめる アプリケーションの実現の可能性がある。 5
生成例 着せ替えが出来ている! 6
モデル概要 7
ネットワーク ・Generatorはskip connection付きの encoder-decoderモデル。 ・DiscriminatorはpatchGANのアプローチ (63x63 receptive field)。 ・上記2点ともpic2picの構造を参考にして いる。 ・Generatorの出力は4channel(3channel が 服のRGBで、1channelがマスク)。 (channel) x (width) x (height) 8
ロス関数 • 大きく分けて3種類のロスを足し合わせる。 ① cGANのロス(Generator、Discriminatorそれぞれ騙し合うロス) ② id ロス (出来るだけ元の画像を維持するための正則化項) ③ Cycle ロス (生成を2回繰り返し元に戻したときの差) 9
ロス① ( cGANのロス ) ① (モデル画像) + (対応する服画像) の識別 Discriminator: True ② (生成したモデル画像) + (対応する服画 像) の識別 Discriminator: False Generator: True ③ (モデル画像) + (関係ない服画像) の識別 Discriminator: False 10
ロス② ( idロス ) ・Generatorの出力は4channel ・そのうち、1channelはマスク(α)。 ・αで元画像を変換する部分を決める。 ・L1-norm。 ・変換する部分を出来るだけ小さくした いという気持ち。(変換する服の部分以外 は維持したい) 11
ロス③ ( Cycleロス ) ・1度着せ替えした画像を元着ていた画像 で再度着せ替え、元々の画像と同じにな ることを期待する。 ・L1-norm。 ・Generatorの学習を安定化することが目 的。 12
ロス関数 • 大きく分けて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_Conditional_Anal ogy_ICCV_2017_paper.pdf • [DL輪読会] The Conditional Analogy GAN: Swapping Fashion Articles on People Images https://www.slideshare.net/DeepLearningJP2016/the-conditional-analogy-gan-swapping-fashion-articles-onpeople-images • Magic Mirror for Fashion Stores https://www.slideshare.net/metatechnology/magic-mirror-for-fashion-stores 18