Stable Diffusionでプロフィール画像を作る

Stable Diffusion web UIを設定する

 Stable Diffusionの周囲の流れは速いですね~。本当に速すぎます。
流れてくる情報についていくだけで一苦労です。
 そんな中、先日発表された「Stable Diffusion web UI」。本当にすごいです。

gigazine.net
 これまでの苦労は何だったの、というほどあっさりと簡単にインストールできます。
 私は、GoogleColabではなくローカルのPC(RTX3070搭載)で動かしたかったので、上記ページの「3.Windowsで動かす」を参考にインストールしました。
 pythonやCUDAのインストール作業は必要ですが、「conda 何とか」のようなコマンドをほとんど打つことなくセットアップできます。

 パラメータも、呪文のようなオプションを入力することなくGUIで設定できるなんて、夢のような環境です。ソースコードを読みながら内部をいろいろ触ってみたいという人でなければ一押しです。

プロフィール画像を作ってみる

 さて、今回は「Stable Diffusion web UI」のimg2imgを使って本ホームページのプロフィール画像を作ってみました。「個人を特定されることなく、あまり盛りすぎずに、見栄えの良いプロフィール画像」を目指してみます。

 上記ページ記載の手順でセットアップが完了すると、ブラウザにGUI画面が表示されます。今回は自分の顔写真を下絵として使用するので、画面最上部のタブから「img2img」を選びます。



 次に用意した顔写真を「ここに画像をドロップ」と書かれている部分にドラッグ&ドロップします。この画像をベースにStable Diffusionが絵心を加えてプロフィール画像を仕上げてくれることになります。

 画像を設定したら、この画像に加える絵心の内容を指定します。これは画面上部のprompt欄に英文で指定します。英文をすらすらと書ければよいのですが、今回もDeepL翻訳のお世話になりました。

www.deepl.com
 このページで日本語で絵心に相当する文章を入力して英訳します。ここでは、いろいろ試行錯誤が必要です。私は最終的には次のような文にしました

SNSのプロファイル画像に使用する輪郭線がはっきりと縁どられた近未来的でクールな男性の似顔絵のイラスト、おしゃれなメガネをかけている、サイバーパンク

英訳すると、

Illustration of a cool, futuristic male portrait with clearly framed outlines for use in social networking profile images, wearing fashionable glasses, cyberpunk

 prompt欄に入力する絵心に相当する文章は、この業界(?)では「呪文」と呼ばれています。「呪文」の書き方は深津さんをはじめいろいろな方が言及しているので調べてみると面白いかもしれません。

note.com
 なお、「男性」とか「メガネ」などの要素は写真を見ればわかるはずなのですが、ここで指定しないと女性やメガネ無しの顔も候補に出てきてしまうので、ここで念押ししてます。

 prompt欄に作成した英文をコピペしたら、あとはGUIで少しパラメータをいじっておきます。

Batch count
 一回の実行で生成する画像枚数。多くの候補を比較したかったので16にしました。枚数に比例して実行時間が伸びるので、遅い場合は小さめに。
Batch size
 並行して生成する画像枚数。GPUメモリが少ない環境でこれを増やすと動かないこともあるらしいので1のままにしました。
Denoising strength
 どれだけ元画像に手を加えるかを設定。大きいほど元画像に対して大きく手を加えます。いろいろ試した結果0.6にしました(盛り過ぎか?)。
WidthHeight
 生成する画像サイズ、Stable Diffusionは512x512に最適化されているという話もあるので、初期値のまま。
Seed
 乱数の種を指定。-1を設定するとランダムに設定。実際に使用された種の値は実行後に画面に右下に表示されます。気に入った画像が出来たら、その時の値を控えておくと便利です。基本的に同じ種の値を使用すればその時の画像に近い画像を再現できるはずです。

 設定が終わったら、右上のGenerateを押すと実行が開始されます。私のパソコン(RTX3070搭載)では、1分強/16画像程度でした。
 Seedを-1に設定した状態でpromptや設定を変えつつ何度か実行してみて、気に入った画像が出てきたらSeedを固定して微調整するのがよさそうです。
 また、画面右下にprompt等、画像の生成に使用された情報が表示されているので、気に入った絵が出来たら控えておくのがお勧めです。

Illustration of a cool, futuristic male portrait with clearly framed outlines for use in social networking profile images, wearing fashionable glasses, cyberpunk
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 1336104913, Size: 512x512, Denoising strength: 0.6

 この情報が控えてあれば、あとから追加のパラメータ調整などをすることができます。

プロフィール画像完成!!

 画像が完成したので(上記のGUI画面の右側の画像です)、本ページのプロフィール画像に設定してみました。なかなか良い感じです。どれだけ盛られているかは、ご想像にお任せします。

 こんな絵を簡単に描けるようになるなんて、すごい世の中になったものですね。


では、また。