オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】Style CLIP #アルゴリズム編

Index

Style CLIP

Text Driven の画像変換 / Image Transfer を行うマルチモーダルなアルゴリズム.

Style GAN の潜在空間を利用して、生成される画像を操作する手法を提案する.

意味のある潜在空間の操作を行うために、CLIP を導入する.

3 つの学習方法を提案.

  • Latent Optimization
  • Latent Mapper
  • Global Direction

Text Driven Manipulation

この論文では、Text Driven の画像の編集 (Manipulation) を 3 つの手法を軸に紹介している.

この 3 つの方法には、StyleGAN の高品質な画像生成画像 (Vision) と言語 (Language) を同時に学習した CLIP の表現力を合わせた手法になっている.

Latent Optimization

単純な潜在空間の最適化から始める.

ある特定の画像の「Style GAN の潜在空間  W+ 内の潜在変数」が、
CLIP で計算される損失を最小化するように最適化する.

最適化は、画像とテキストのペアごとに行われるため、処理に時間がかかる.



はじめに、変数の定義.

  • 画像 / Vision
    • 画像から変換された潜在変数 :  w\ \in\ W+
    • 元の潜在変数 :  w_s\ \in\ W+
    • Generator :  G
    • 生成画像 :  G(w)
  • テキスト / Language
    • CLIP により Encode された Text Embedding :  t


生成画像とテキストの類似度を計算.

 Loss_{D} = D_{CLIP} (G(w), t)


元の潜在変数と乖離しないように制限.

 Loss_{L2} = \lambda_{L2}\ |w\ -\ w_{s}|_{2}


再度、生成した画像との乖離をなくす.

 Loss_{ID} = \lambda_{ID}\ L_{ID}



Latent Mapper

Latent Optimization より安定したアプローチ.

Style GAN の Mapping Network は、潜在変数  z を中間潜在変数  w に変換・操作している点に着目する.

Latent Optimizer の欠点

Latent Optimization は、画像とテキストのペアに対して、専用の最適化を実行するため、用途が広い.

欠点としては、一つの画像のスタイル変換のための最適化に時間がかかること.

また、パラメータに敏感になりやすい.




Latent Mapper は、 任意の  w\ \in\ W+ に対し、 特定の操作内容テキスト  t の編集操作  M_t (w) を推測するように、 Mapping Network を学習する.



 M_{t} (w)\ =\ (M_{t}^{c} (w_{c}),\ M_{t}^{m} (w_{m}),\ M_{t}^{f} (w_{f}))



Global Direction

特定の「編集の定型文」の変化ベクトルの入力に捉われない手法を考える.

Style GAN のスタイル空間  S で計算される.

Latent Mapper の欠点

Latent Mapper は、推論時間が高速な手法だったが、細かい編集には向かない場合がある.




特定の編集のベクトル (Manipulation Step) の類似度が高いことがわかっている.
(「髪を黒に変える」という編集のベクトルと「髪を青に変える」という編集のベクトルの類似度が大きい等)

この点に着目して、
「編集内容のテキストの定型文のベクトル」を Style GAN のスタイル空間 / Style Space  S にて、マッピングする方法を検討する.

変数の定義.

  •  s\ \in\ S : スタイル情報
  •  G(s) : スタイル情報  s をもとに、生成された画像



ある属性 (髪、瞳、表情など) に対する編集内容を表すテキスト (髪をアフロに変える等) が与えらた場合に、  G(s\ +\ \alpha\ \Delta s) が他の属性に影響を与えることなく、その属性のみに変化した画像を生成するとように  \Delta s を探すことが目的.

 \alpha は、変化の大きさを調整する.



Global Direction の大まかなアイディアは、

  • 編集内容のテキストを CLIP の Text Encoder を利用して、Embedding されたベクトル  \Delta t を取得する.
  • このベクトルを スタイル空間  S の画像の変化ベクトルにマッピングする.



CLIP の Embedding Space での、画像の多様体 I で表し、 テキストの多様体 T で表す.

これらの多様体は 1 対 1 のマッピングはない.

だが、学習された CLIP 空間では、それらの多様体のベクトルは、ほぼ同一線上にある (コサイン類似度がおおきくなる)ように、 それぞれの Encoder が学習されている.



画像のペア  G(s) G(s\ +\ \Delta s) が与えられた場合、 それらの CLIP の Embedding Vector i i\ +\ \Delta i で表すことにする.

したがって、CLIP 空間での、2つの画像の差分 (変化ベクトル) は、 \Delta i で表せる.



最初に、 \Delta t として、CLIP 空間に Encoder されたテキストの編集内容が与えられ、
 \Delta t \Delta i の共線性・相関性を仮定すると、 \Delta i を評価することで、  \Delta s を決定できる.

Prompt Engineering

編集内容テキストの Embedding / Encoder の際にノイズを減らすために、 CLIP でも利用していた Prompt Engineering を利用する.

潜在変数の各チャネルとの関連性

次のこの論文の目的は、目的の編集のテキストベクトル  \Delta t
同一線上にあると考えている画像の変化ベクトル  \Delta i
スタイル空間  S での生成画像の変化  \Delta s を関連付けること.

この目的のために、スタイル空間  S の各次元 (チャネル) の変化と、 CLIP 空間での画像の変化  \Delta i の変化との間の関連性を評価する.

スタイル潜在変数  s\ \in\ S を複数生成し、 ランダムな値を足すことで、スタイル潜在変数の特定の次元 (チャネル)  c のみを動かす.

それらの画像を CLIP 空間に Embedding することで、得られる変化を  \Delta i_c で表すと、 スタイル空間の次元 (チャネル)  c編集のテキストとの関連性は、  \Delta i_c \Delta i内積 (類似度) の平均として推定できる.

サンプリングした  \Delta i_c \Delta i との類似度を推定する.



 R_{c} (\Delta i)\ =\ E_{s\ \in\ S}\ \{ \Delta i_c\ \cdot\ \Delta i \}



実際に、100 画像のペアを利用して、平均を取得.

生成する画像のペアは、 G(s\ \pm\ \alpha \Delta s_c) で与えられ、
 \Delta s_c は、次元 (チャネル)  c 以外 0 の値が格納されている.

 \alpha は変動の度合いのハイパーパラメータで、 \alpha=5 のように設置される.



そして、各次元 (チャネル) との関連性  R_c閾値  \beta を下回る次元 (チャネル) の変動は無視するようにする.

 \Delta s\ =
\left\{
\begin{array}{ll}
\Delta i_c\ \cdot\ \Delta i & if |\Delta i_c\ \cdot\ \Delta i| \geq \beta \\
0 & otherwise
\end{array}
\right.



このパラメータは、操作のわかりやすさの程度を制御する.

より高く設定すると、わかりやすい操作ができるが、視覚的な影響・画像の変化は減る.



参考

  • StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery
    • [2021]
    • Abstract
    • 3 StyleCLIP Text-Driven Manipulation
    • 4 Latent Optimization
    • 5 Latent Mapper
    • 6 Global Directions
    • arxiv.org

Web サイト