見出し画像

ControlNetで綺麗な手(指)に修正する

画像生成AI「Stable Diffusion Web UI」でAIイラストを作成されてる方の参考になれば幸いです。


最初に

手だけを修正することも出来なくはないと思いますが
周辺と馴染まないことが多いと感じるので今回の方法は
手だけ修正したい方には向きません。



元画像

モデル meinapastel_V4_anime
VAE  kl-f8-anime2

プロンプト

((best quality,masterpiece,ultra detailed,true color,vivid,clear depiction,accurate perspective,best lighting)), 1girl, 1girl, 1girl, 1girl, 1girl, 1girl, 1girl, 1girl, 1girl, 1girl, 1girl, 1girl, 1girl, 1girl, 1girl, 1girl,close up hand,

1girlが多いのはトークン数を出来るだけ75にしようとした為です。
余白が無いと高品質なイラストが出力されるとかなんとか…詳しくありません

ネガティブプロンプト

EasyNegativeV2,negative_hand-neg,((nsfw,watermark,necklace,selfie)),blurred,

生成された画像がこちら ↓

大体の手はこんなものね

ControlNetで使う手のデータを作る

私はポーズと手の形を同時に作成できる3D Openposeを使っています。
拡張機能→URLからインストールのところで

https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui-extensions/master/index.json

上記のアドレスを入力すればインストール出来ます。

今回は手の情報だけあればいいので手を欲しい位置に調整して

矢印の先をクリック

「ControlNetに送る」のページで「img2imgに転送」をクリックすると「Pose」と「標準正規分布」が
ControlNetに転送されます。使用するのは「標準正規分布」と「Canny」なのでCannyは任意の場所にダウンロードしてからimg2imgのControlNetに貼り付けましょう。

ControlNet ModeをControlNet優先に
それぞれに合ったモデルを選択する

ControlNetのモデルを持っていない方はこちら
.pthと.yamlの両方のファイルを\stable-diffusion-webui-master\models\ControlNetのフォルダに置いて読み込み直すと選択できるようになります。

ControlNet Unitが一つしかない方は設定からControlNet ↓

必要な数を選択しましょう

出力する

プロンプトは変更なし

サンプリングステップ数を12、ノイズ除去強度を0.6

5枚目くらいで良さげな画像が出ました

全体的に荒いのでこの画像のサイズを二倍にしてみる
ControlNetはそのまま
512×512→1024×1024

ノイズ除去強度を0.5
品質UP!

元画像と比較

綺麗な手になりました

まとめ

ControlNetで「Canny」と「標準正規分布」を使用して
歪に出力された手を綺麗な手に修正することが出来ました。

今回はイラスト全体をまとめて処理したので構図以外の雰囲気が
変わってしまっていますが、inpaintで手の部分だけをマスクすれば
手だけを整えることもできます。ただし手の周りが馴染むかどうかはマスクの塗り方等、なかなか難しいと思います。

手だけマスクして生成した場合


ここまで読んでくださった方ありがとうございます!
参考になったよ!という方は
少額でもサポートしていただけると投稿の励みになります。


この記事が気に入ったらサポートをしてみませんか?