StyleGANを使った画像編集をReStyleで高精度化・高速化する

1.はじめに

 StyleGANを使った画像編集には、編集する画像の潜在変数を求めるプロセスが必要です。今回ご紹介するのは、そのプロセスを高精度化・高速化するRestyleという技術です。

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

2.ReStyleとは?

 下記は、ReStyleのフローです。まず、潜在変数の平均W0をStyleGAN_Gに入力し、そのときの出力画像y0を求めて初期化します。

 次に、潜在変数を求めたい画像xと出力画像y0をEncoder_Eに入力して残差△tを得ます。そして、残差△tに直前の潜在変数W0を加えてStyleGAN_Gに入力し、出力画像y1を求めます。そして、xとy1をEncoder_Eに入力することを繰り返します。

 この一連のループを廻すことによって、Encoder_Eを使ってワンパスで推論するよりも精度が向上し、かつそのためのステップの増加は少なくて済む(N<10程度)ので、高精度化と高速化が両立するわけです。

3.コード

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

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

 次に、モデルを指定してダウンロードします。モデルは、6種類あるので色々試してみて下さい。ここでは、ffhq_encodeを指定します。

 次に、関数定義と設定を行います。

 次に、Align(顔部分を所定の位置に合わせ角度も考慮して切り取る)を実行します。picフォルダーにあるサンプル画像をAlignし、imagesフォルダーに保存します。

 *ffhq_encoder, toonify 以外のモデルを指定した場合や、align済みの画像がある場合は、このブロックをスキップして、imagesフォルダーに画像(jpg)をアップロードして下さい。

 images フォルダーにある画像から潜在変数を求めます。

 求めた潜在変数を元に補完画像を生成します。

 作成した補完画像からmp4を作成します。

 左が実写、右が実写から潜在変数を逆算して生成した画像です。潜在変数を補完(ある潜在変数からある潜在変数へ少しづつ変化させる)しているので、連続的に変化する動画になります。

 それでは、モデル指定のところを「toonify」に変更して、そこから順番に再度実行すると、

 今度は、左が実写、右が3Dアニメ顔です。3Dアニメ顔を生成するtoonifyモデルは、入力がffhq_encodeと同じなので、面白い動画になりますね。

 では、また。

(オリジナルgithub)https://github.com/yuval-alaluf/restyle-encoder

コメントを残す

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

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

ABOUTこの記事をかいた人

アバター

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