Open shimopino opened 4 years ago
[arXiv:2004.00049] In-Domain GAN Inversion for Real Image Editing
Jiapeng Zhu, Yujun Shen, Deli Zhao, Bolei Zhou
2020-03-31
画像編集タスクでは、編集する画像を一度潜在ベクトルに変換してGANに入力する。しかし既存モデルでは変換した潜在ベクトルが対象の画像にピクセル単位で復元しているのみであり、変換された潜在ベクトルが、GANを学習させることで獲得した潜在空間上に意味合いを保持していることを保証しない。
そこで入力された画像をGANで学習した潜在空間上にマッピングを行うEncoderを導入した。また編集対象の画像を、Encoderを使用して潜在ベクトルに変換する際に、GANで学習した潜在空間上での意味合いを保持するようにEncoderを正則化項として利用した。
画像編集にGANを用いる際、既存のモデルでは編集したい画像をGANを使用して潜在ベクトルに変換した後に編集操作を行っている。しかし編集したい画像と、学習に使用した画像との潜在空間が異なる場合、画像を潜在ベクトルに変換したとしても同じ意味合いを保っているかは保証されない。
本研究では画像をピクセル単位で復元するだけでなく、新たに潜在空間に投影しても意味合いが保たれるGANを提案した。(意味合いが保たれている潜在ベクトルを"in-domain"ベクトルと呼称している。)
狙いとしては編集したい画像を潜在空間に投影する際に、元のデータセットを使用して学習させたGANが獲得している潜在空間上に投影することである。
またGANの性質として、潜在ベクトルから元のデータを再現していく過程で、潜在空間上でデータに出現する様々な特徴を捉えることがわかっている。
Generatorでは潜在ベクトルから実データを復元することを試みるが、ここでは逆に実データから潜在ベクトルを抽出する、つまりGANが学習した潜在空間を明示的に得ることを目的としている。
つまりEncoderの数式としてはGANで行うことの反対になる。
ただしこの数式では、Generator側の勾配がEncoderに伝播しないためGANが獲得したデータに対する情報を十分に学習することができない。
そこでネットワークの構造を以下のように変更した。
これらを数式に反映するとEncoderは以下のように表現できる。 (なおFはVGGなどによりperceptual lossを意味する。)
Discriminatorでは、実画像と復元画像に対する敵対的損失関数だけではなく、正則化項も考慮している。
通常のGANでは潜在空間の分布を実画像の分布に投影する関数を学習している。GAN Inversionでは分布の投影ではなく、あくまでも1サンプルを復元することを目的としている。そのため、ネットワークの表現能力に制限ができてしまい、完全にデータを復元することが難しくなる。
またDomain-Guided Encoderを使用したとしても、ピクセル単位で編集したい画像を復元できるとは限らず、潜在ベクトルを調整する必要がある。
従来の手法では、潜在ベクトル自体に勾配法を適用していた(下図の上)。
本手法では、ランダムにサンプリングした潜在ベクトルではなくEncoderから生成された潜在ベクトルから計算を始めることで、局所解に留まることを防ぎ、最適化の過程を短くしている。
またドメイン情報を学習したGeneratorに対して潜在ベクトルが保たれるように、Encoderを正規化項として導入している。
事前学習済みのGANモデルにはStyleGANを採用した。Encoderを学習させる際には、Generatorのパラメータを固定しておき、EncoderとDiscriminatorを最適化させている。
今までの研究でGANで得られた潜在空間は、線形的に意味を分離することが可能である。例えば女性や男性などの意味を有する方向は線形的に分離されている。
この性質を利用して、学習された潜在ベクトルを入力にして画像のクラス分類を行い精度が高ければ、潜在空間上で意味合いを分離できていることがわかる。
本手法とImage2StyleGANを使用して、潜在ベクトルに対して画像分類を行った場合のPR曲線を比較した。本手法がどのクラス予測に対しても優れた性能を発揮しており、潜在空間上でより意味を分離できていると考えられる。
また既存モデルと再構成された画像の質を比較した。本手法が既存モデルよりもより詳細に入力された画像を復元できていることがわかる。
また評価指標の点に関しても比較を行った。本手法は精度の面からも推論速度の面からも既存モデルよりも優れていることがわかる。
画像編集を行う際の精度を検証するために、既存モデルと2つの画像間の補間を行った。本手法では既存モデルより、髪や口といった微細な特徴、色の変化、形状の変化などの補間を精度より行えていることがわかる。
補間された画像に対して評価指標の観点からも本手法が優れていることがわかる。
また以下の数式に従って、潜在空間上の特定の方向を示すnを変化させることで、画像の編集を行うことが可能なのか検証した。
既存モデルと比較して、より滑らかに精度よく潜在空間上の意味合いを反映して画像を生成できていることがわかる。
本手法ではGANで学習させたドメイン外の画像の生成が難しい。これは顔合成のモデルでは、猫の特徴や寝室の特徴を定義することが難しいからである。
しかしIn-Domain Inversionを使用することで元のドメインで学習された特徴が低減しており、本手法の有効性、つまりピクセル単位での画像の再構成と意味合いを保持させたまま潜在ベクトルに変換することの重要性を示している。
project page
復習として読むべき論文
論文へのリンク
[arXiv:2004.00049] In-Domain GAN Inversion for Real Image Editing
著者・所属機関
Jiapeng Zhu, Yujun Shen, Deli Zhao, Bolei Zhou
投稿日時(YYYY-MM-DD)
2020-03-31
1. どんなもの?
画像編集タスクでは、編集する画像を一度潜在ベクトルに変換してGANに入力する。しかし既存モデルでは変換した潜在ベクトルが対象の画像にピクセル単位で復元しているのみであり、変換された潜在ベクトルが、GANを学習させることで獲得した潜在空間上に意味合いを保持していることを保証しない。
そこで入力された画像をGANで学習した潜在空間上にマッピングを行うEncoderを導入した。また編集対象の画像を、Encoderを使用して潜在ベクトルに変換する際に、GANで学習した潜在空間上での意味合いを保持するようにEncoderを正則化項として利用した。
2. 先行研究と比べてどこがすごいの?
画像編集にGANを用いる際、既存のモデルでは編集したい画像をGANを使用して潜在ベクトルに変換した後に編集操作を行っている。しかし編集したい画像と、学習に使用した画像との潜在空間が異なる場合、画像を潜在ベクトルに変換したとしても同じ意味合いを保っているかは保証されない。
本研究では画像をピクセル単位で復元するだけでなく、新たに潜在空間に投影しても意味合いが保たれるGANを提案した。(意味合いが保たれている潜在ベクトルを"in-domain"ベクトルと呼称している。)
3. 技術や手法の"キモ"はどこにある?
狙いとしては編集したい画像を潜在空間に投影する際に、元のデータセットを使用して学習させたGANが獲得している潜在空間上に投影することである。
またGANの性質として、潜在ベクトルから元のデータを再現していく過程で、潜在空間上でデータに出現する様々な特徴を捉えることがわかっている。
3.1 Domain-Guided Encoder
Generatorでは潜在ベクトルから実データを復元することを試みるが、ここでは逆に実データから潜在ベクトルを抽出する、つまりGANが学習した潜在空間を明示的に得ることを目的としている。
つまりEncoderの数式としてはGANで行うことの反対になる。
ただしこの数式では、Generator側の勾配がEncoderに伝播しないためGANが獲得したデータに対する情報を十分に学習することができない。
そこでネットワークの構造を以下のように変更した。
これらを数式に反映するとEncoderは以下のように表現できる。 (なおFはVGGなどによりperceptual lossを意味する。)
Discriminatorでは、実画像と復元画像に対する敵対的損失関数だけではなく、正則化項も考慮している。
3.2 Domain-Regularized Optimization
通常のGANでは潜在空間の分布を実画像の分布に投影する関数を学習している。GAN Inversionでは分布の投影ではなく、あくまでも1サンプルを復元することを目的としている。そのため、ネットワークの表現能力に制限ができてしまい、完全にデータを復元することが難しくなる。
またDomain-Guided Encoderを使用したとしても、ピクセル単位で編集したい画像を復元できるとは限らず、潜在ベクトルを調整する必要がある。
従来の手法では、潜在ベクトル自体に勾配法を適用していた(下図の上)。
本手法では、ランダムにサンプリングした潜在ベクトルではなくEncoderから生成された潜在ベクトルから計算を始めることで、局所解に留まることを防ぎ、最適化の過程を短くしている。
またドメイン情報を学習したGeneratorに対して潜在ベクトルが保たれるように、Encoderを正規化項として導入している。
4. どうやって有効だと検証した?
事前学習済みのGANモデルにはStyleGANを採用した。Encoderを学習させる際には、Generatorのパラメータを固定しておき、EncoderとDiscriminatorを最適化させている。
今までの研究でGANで得られた潜在空間は、線形的に意味を分離することが可能である。例えば女性や男性などの意味を有する方向は線形的に分離されている。
この性質を利用して、学習された潜在ベクトルを入力にして画像のクラス分類を行い精度が高ければ、潜在空間上で意味合いを分離できていることがわかる。
本手法とImage2StyleGANを使用して、潜在ベクトルに対して画像分類を行った場合のPR曲線を比較した。本手法がどのクラス予測に対しても優れた性能を発揮しており、潜在空間上でより意味を分離できていると考えられる。
また既存モデルと再構成された画像の質を比較した。本手法が既存モデルよりもより詳細に入力された画像を復元できていることがわかる。
また評価指標の点に関しても比較を行った。本手法は精度の面からも推論速度の面からも既存モデルよりも優れていることがわかる。
画像編集を行う際の精度を検証するために、既存モデルと2つの画像間の補間を行った。本手法では既存モデルより、髪や口といった微細な特徴、色の変化、形状の変化などの補間を精度より行えていることがわかる。
補間された画像に対して評価指標の観点からも本手法が優れていることがわかる。
また以下の数式に従って、潜在空間上の特定の方向を示すnを変化させることで、画像の編集を行うことが可能なのか検証した。
既存モデルと比較して、より滑らかに精度よく潜在空間上の意味合いを反映して画像を生成できていることがわかる。
5. 議論はあるか?
本手法ではGANで学習させたドメイン外の画像の生成が難しい。これは顔合成のモデルでは、猫の特徴や寝室の特徴を定義することが難しいからである。
しかしIn-Domain Inversionを使用することで元のドメインで学習された特徴が低減しており、本手法の有効性、つまりピクセル単位での画像の再構成と意味合いを保持させたまま潜在ベクトルに変換することの重要性を示している。
6. 次に読むべき論文はあるか?
論文情報・リンク