最新AI論文をキャッチアップ

テキストでGANにイメージを伝えよう!

テキストでGANにイメージを伝えよう!

GAN(敵対的生成ネットワーク)

3つの要点
✔️ StyleGANの生成能力とOpenAIのCLIPの豊富な視覚言語表現を組み合わ
✔️ テキストベースの画像操作を効果的に行うための3つの新しい手法
✔️ これまでのSOTAよりも、テキストベースの画像操作のコントロール性が格段に向上

StyleCLIP: Text-Driven Manipulation of StyleGAN Imagery
written by Or PatashnikZongze WuEli ShechtmanDaniel Cohen-OrDani Lischinski
(Submitted on 31 Mar 2021)
Comments: 
18 pages, 24 figures
Subjects: Computer Vision and Pattern Recognition (cs.CV); Computation and Language (cs.CL); Graphics (cs.GR); Machine Learning (cs.LG)

code: 

はじめに

Generative Adversarial Networks(通称GAN)は、画像生成の技術をかつてないほど高いレベルに引き上げました。StyleGANのようなモデルを使えば、現実の微細な部分を捉えた高解像度の画像を生成することができます。StyleGANのもう一つの重要な特性は、画像を様々な方法で切り離したり操作したりできることです。しかし、この特性を利用するのは面倒で、かなりのコストがかかる行為です。実際にStayleGANが凄いのは周知ですが、大体試すためにも多くの労力がかかった経験があるのではないでしょうか。大量のアノテーションデータや強力な事前学習済みの分類器が必要になる可能性があります。また、ある操作に合わせてチューニングされたモデルは、その特定の方向にしか作用しないため、モデルの能力が制限されてしまいます。

本論文では、GANを用いた画像操作を簡単に行う手法を紹介します。具体的には、最近導入されたCLIP(Contrastive Language-Image Pretraining)モデルとStyleGANを組み合わせます。CLIPは、4億の画像とテキストのペアで学習されており、自然言語を使用することで、多様な視覚的概念を表現することができます。本手法はそれを簡単に行うことができますが、モデルによって生成された結果は他のStyleGANの操作では生成されませんでした。

背景

CLIP

CLIPは、画像とそれに対応するテキストの間の意味的な類似性を見つけることを学習するマルチモーダルモデルです。このモデルは、インターネットから取得した4億個の画像とテキストのペアを用いてOpenAIによって学習されました。CLIPモデルは非常に強力で、さまざまなデータセットにおいて、最先端のゼロショット画像生成性能を達成しています。

StyleCLIP Text-Driven Manipulation 

StyleGANの生成能力とCLIPの豊富な視覚言語表現を組み合わせることで、3種類の画像操作を検討しています。StyleGANの中間的な潜在空間表現は、画像操作に有用な分離された画像特性を持つことが示されました。本手法のうち2つの手法ではW+潜在表現を利用し、残りの1つの手法では、より離散的であると思われるS潜在表現を利用しています。

Latent最適化

本手法は、目的の画像操作を行うために潜在的なコードを直接最適化しようとするものです。任意のテキストプロンプト't'、e4eを用いて反転されたソース潜在空間'ws'、および操作された潜在空間'w'についてです。

ここで、DCLIPは、テキストプロンプトのCLIP埋め込みと、ジェネレータによって生成された画像との間のcosine距離です。L2ノルムは、入力画像との類似性を制御します。

上の式は、identity loss(アイデンティティ損失)です。Rは、顔認識用のネットワークであるArcFaceを事前学習したものです。同一性損失は、入力画像と修正画像に対してRが生成したエンベッディングのコサイン類似度によって計算されます。

λL2λIDは、L2とIDの損失の割合を制御します。 上記の最適化問題は、最適な操作された潜在空間を得るために、勾配降下法によって解決されます。上の図は、200~300回の繰り返しの後に得られたいくつかのサンプルを、それらの(λL2, λID)とともに示しています。非常に汎用性の高い処理ですが、時間がかかります

Latent Mapper

StyleGANの異なるレイヤーは、画像の異なるディテールを担当することが示されています。そこで、層を3つのグループ(細かい、粗い、中程度)に分け、潜在コードwを3つの異なる完全連結mapperネットワークに入力します。出力されたマッピング-Mt(w)は連結され、初期の潜在コードに加えられ、StyleGANに供給されます。先ほどと同様に、画質とアイデンティティを維持するために、以下の関数を最小化します。

L2ノルムとアイデンティティ損失は画像が大きく変化するのを防ぎ、CLIP損失は必要な変更がmapperネットワークによって行われます。この論文のほとんどすべての例では、λL2 = 0.8, λID = 0.1を使用しています。

上の写真は、この方法でヘアスタイルを操作した結果です。ほぼすべてのケースで、アイデンティティと重要な視覚的特徴が維持されています。下の写真は、この手法が複数の画像属性{straight, short}, {straight, long}に対してロバストであることを示しています。このような制御は、これまでのモデルでは見られなかったものです。また、Mt(w)のコサイン類似度が異なる画像間で高いことから、異なる画像間で似たような方向に操作が行われていることが分かります。

Global Directions

ここで、StyleGANのスタイル空間'S'を用いて、より細かい離散的な操作が可能で、より汎用性の高い画像操作装置を開発したいと著者らは考えております。より正確には、s ∈ Sに対して、G(s + α∆s) がテキストプロンプト't'で指定された操作で画像を生成するような操作の方向∆sを求める。ここで、αは操作量を制御します。

ここでは、CLIPの言語-画像エンベッディングを用いて、テキストプロンプトをベクトルΔtにエンコードし、それを操作方向Δsにマッピングすることを目指しています。1つの画像が複数の属性を持ち、1つの属性が複数の画像に対応する可能性があるため、CLIPの共同埋め込み空間では、画像埋め込みの多様体(I)とテキスト埋め込みの多様体(T)を区別する必要があります。CLIPは学習時に埋め込みを正規化するため、埋め込みの方向のみが有効となります。よく学習された領域では、TとIの方向は、大きなcosine類似性を持ち、ほぼ一致しています。

自然言語から適切な∆tを得るためには、テキストの埋め込みからのノイズを減らし、Tの安定した方向を得る必要があります。これにはプロンプトエンジニアリングと呼ばれる方法を用い、同じ意味を持つ複数の文章をエンコーダに与え、得られた埋め込みを平均化する方法を用いています。例:"a photo of a {car}", "a cropped photo of the {car}", "a clear photo of a {car}", "a picture of a {car}"など、どれも似たような意味の文章です。

一対の画像G(s)とG(s+α∆s)が与えられたとき、それらの画像(I)の埋め込みをiとi+∆iで表すとする。目的は、操作方向Δsを用いて、Δtと共線的な変化Δiを得ることです。そのためには、sの各チャンネルcと△iの関連性を計算する必要があります。これは、100枚の画像ペアを用いて、∆icの△iへの平均投影を計算することで行います。関連性Δi.∆icが閾値βよりも小さい場合、それは0に設定されます。βは画像内の離接量に比例し、その効果は上の例(テキスト「灰色の髪」の場合)で見ることができる。

この方法で行われる人間外の画像操作は、下の写真のようになります。

まとめ

本記事では、テキストクエリに基づいて画像を操作することに成功した3つの手法を紹介しました。これらの手法が生み出す結果は、これまでの既存の手法では見られなかったものです。大きな限界としては、これらの手法がCLIPに基づいているため、CLIPが十分に学習されていない、あるいは全く訓練されていない空間に対しては、うまく一般化できないことが挙げられます。とはいえ、テキスト編集という重要かつ成長中の分野に大きく貢献しています。 

 

レシピ

Axrossレシピにテキストによる顔画像編集の実践レシピが公開されています。

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!
Thapa Samrat avatar
今大阪大学の電子情報工学科で学習している2年生のネパールからの留学生です。 機械学習・深層学習に興味あります。だから、暇なときにそれらについて記事を書いています。

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする