手書き画像から2D美女画像を生成する

Stable Diffusion WebUI を使って、2D美女画像を生成する記事です。

概要

なるべく楽に美女画像を生成したいので、下の元画像のような最小限の手間で描いた画像を元に、生成に挑戦してみます。

元画像最終生成画像

準備、実行環境

Stable Diffusion WebUI のローカル版の環境を構築します。

自分の場合、PCで AMD Radeon のグラフィックボードを用いており、WebUI が依存する機械学習ライブラリ(Pytorch) がうまく動作しませんでした。これは Pytorch が NVIDIA のグラフィックボードを前提としているためのようです。そのため、以下のサイト様の手順を参考にさせていただきました。

NVIDIAのグラフィックボードを使っている場合は、以下のような手順になるかと思います。

https://soroban.highreso.jp/article/article-036

元画像の用意

希望のポーズをした女性の画像をペイントソフトを用いて描きます。自分は iPad の Clip Studio Paint を用いて作成しました。

Stable Diffusion WebUI の起動

WebUI を起動します。自分の場合は、作業用の Windows とは別ホストで稼働する Ubuntu 上で WebUI を動かすので、環境変数 COMMANDLINE_ARGS に、外部アクセスを許可する設定 –listen –enable-insecure-extension-access を追加します。

# webui-user.sh
export COMMANDLINE_ARGS="--autolaunch --opt-sdp-attention --listen --enable-insecure-extension-access"

WebUI を起動します。

webuiをgit cloneしたディレクトリで以下を実行
$ bash webui.sh

WebUI にアクセスします。ブラウザのアドレスバーに http://<WebUIが稼働するホストのIPアドレス>:7860 を入力して移動すると、以下のような画面が表示されると思います。

モデルのダウンロードと設置

画像生成に必要なモデルをダウンロードします。 Civitai というサイトにユーザー登録すると、モデルファイルのダウンロードができます(以下キャプチャの赤枠)

https://civitai.com/models/260267/animagine-xl-v31

ダウンロードしたファイルを、WebUI をクローンしたディレクトリ以下の models/Stable-diffusion 以下に配置します。

WebUI の更新アイコンをクリックすると反映されます。

生成パラメータの作成

画像を生成するためのパラメータを設定していきます。上のモデルをダウンロードしたページに、モデルを使って生成された画像の一覧があるので、そのうち気に入った絵柄の右下の情報アイコンをクリックします。

プロンプトとその他パラメータが表示されます。Prompt は、画像の特徴を表す単語です。最初に現れる単語の特徴がより強く反映されます。Negative prompt は、画像に反映したくない特徴を表します。

Prompt
ultra detailed, masterpiece, large breast, cowboy shot, long hair, perfect anatomy, smile, beautiful woman, skirt, blouse, sitting
Negative prompt
lowres, text, cropped, worst quality, low quality, ugly, duplicate, mutilated, extra fingers, mutated hands, mutation, deformed, bad anatomy, extra limbs, disfigured, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, signature, cleavage

上記のパラメータを、Web UI に指定します。今回は、元画像をもとに画像を生成するので、 Web UI で「img2img」を選択します。

Prompt のエリアに、モデルをダウンロードしたページで取得したパラメータを入力します。今回は、巨乳女性のヌードポーズなので、「(gigantic breasts:1.2), nude, nipples」を Prompt に追加します。また、照れた表情にするため「,looking at viewers, blush, flutter」も追加します。なお、gigantic breast:1.2 の「1.2」の部分は、単語の重みづけです。この数値が大きいほどより強くその特徴が画像に反映されます。また、「cowboy shot,skirt, blouse, sitting」の単語は今回のポーズには関係ないので削除します。

次に、Negative prompt のエリアにもモデルをダウンロードしたページで取得したパラメータを設定します。

画像生成

画像の生成先の設定

画像の生成先フォルダを指定します。「Settings」タブをクリックし、「Output directory for img2img images」に、画像の出力先フォルダを指定します。その後「Apply settings」ボタンをクリックします。

元画像の設定

次に、元画像を Web UI に設定します。「PNG Info」タブをクリックし、Sourceエリアに元画像をドラッグ&ドロップします。その後、「Send to img2img」ボタンをクリックします。

その他パラメータを設定

「img2img」タブをクリックします。「Sampling Method」「Sampling steps」をモデルをダウンロードしたページの値と同様にします。また、「Batch Count」を10に生成し、一度に10枚の画像が生成されるようにします。

Generate ボタンをクリックすると、画像が生成されます。

出力された画像の中から、自分のイメージに近いものを選びます。今回は以下を選んでみました。

画像の調整

生成された画像の右目あたりの描きこみが不十分に見えるので、顔の描きこみ精度を上げ、再度の画像出力を試していきます。「Adetailer」というプラグインを用います。

Adetailer のインストール手順

Web UI にて「Extensions」タブをクリックし、「Install from URL」タブをクリックします。

URL for extension’s git repositry に、以下を設定し、Install ボタンをクリックします。

https://github.com/Bing-su/adetailer.git

「Installed」タブをクリックし、「Apply and restart UI」をクリックします。Web UI が再起動しますので、ブラウザをリロードしておきます。

顔の修正

「img2img」タブに、「Adetailer」の項目が追加されているので、チェックを付与して有効化します。今回は顔の修正なのでモデルは「face_yolov8n.pt」を選択、Prompt に以下を設定します。

(8k, RAW photo, best quality, masterpiece:1.2), blush, flutter

Generate ボタンをクリックすると、同様に画像が生成されます。

生成された画像と、Adetailer 設定なしで生成された画像を比較すると、目や口元まわりの描きこみが充実していることがわかると思います。

まとめ

今回の記事では、手書き画像を元にして Stable Diffusion Web UI を用い画像生成する流れと、 Adetailer の使い方をご紹介しました。最後までお読みくださりありがとうございました。

2 comments

comments user
A WordPress Commenter

Hi, this is a comment.
To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.
Commenter avatars come from Gravatar.

コメントを送信

You May Have Missed