Hyperstyleで、高精度で編集しやすい反転を高速に行う

1.はじめに

 StyleGANの画像編集には画像の潜在空間への反転が必要ですが、画像の正確な表現と潜在変数の編集のし易さはトレードオフの関係にあります。今回ご紹介するのは、このトレードオフの改善を高速処理で実現するHyperstyleという技術です。

*この論文は、2021.11に提出されました。

2.Hyperstyleとは?

 StyleGANで画像編集を行う場合、まず画像を潜在空間へ反転することが必要で、このための手法は数多く提案されています。しかしながら、このときの画像の正確な表現と潜在変数の編集のし易さはトレードオフの関係にあります。

 最近、このトレードオフを軽減するためにジェネレータを微調整する方法が提案されていますが、新しい画像毎に長いトレーニングが必要です。Hyperstyleは、このジェネレータを微調整するアプローチを高速に行うモデルです。

 下記はHyperstyleのフローです。ポイントは、ジェネレータのパラメータ全体のトレーニングを行うのではなく、パラメータを絞り込んでエンコーダで調整します。

 目的の画像(Input)と近似潜在変数(Initial reconstruction)から求めた画像を、エンコーダ(Hypernetwork H)に入力します。エンコーダでは、Resnetを通して特徴マップに展開し、学習済みジェネレータ(Pre-trained Generator)との差分を計算して、ジェネレータ(modified Generator)に適用します。

3.コード

 コードはGoogle Colabで動かす形にしてGithubに上げてありますので、それに沿って説明して行きます。自分で動かしてみたい方は、この「リンク」をクリックし表示されたノートブックの先頭にある「Colab on Web」ボタンをクリックすると動かせます。

 まず、セットアップを行います。

  

 サンプル画像を見てみましょう。自分の画像を使用したい場合は、./images/picに画像をアップロードしてください。

 

 サンプル画像にalign処理(目、鼻、口、顎などを処置の位置に合わせて切り出す)を行います。

 それでは、hyperstyleを使って反転処理(実写と同じ画像を出力する潜在変数を求める)を行います。

 

 それでは、求めた潜在変数を使用してモーフィングする動画を作成してみましょう。

 左が実写、右が求めた潜在変数から生成した画像です。ガッキーは経験上反転が難しいキャラクターなのですが、これを見ると中々精度が高いです。

 では、また。

(オリジナルgithub : https://github.com/yuval-alaluf/hyperstyle

2022.3.21 年齢シミュレーションcolab追加

年齢による顔の変化をシミュレーションするcolabを追加しました。https://github.com/cedro3/hyperstyle/blob/main/hyperstyle_edit.ipynb

(twitter投稿)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

アバター

ディープラーニング・エンジニアを趣味でやってます。E資格ホルダー。 好きなものは、膨大な凡ショットから生まれる奇跡の1枚、右肩上がりのワクワク感、暑い国の新たな価値観、何もしない南の島、コード通りに動くチップ、完璧なハーモニー、仲間とのバンド演奏、数えきれない流れ星。