Stable Diffusion でプロンプトを使ってAIイラスト全身などの画像を生成すると、どうしても顔の描写範囲が小さくなって細部が崩れてしまいますよね。
そこで今回は、崩れた生成画像の顔を自動的に補正してくれる拡張機能「ADetailer」をご紹介します。
以下の GitHub リポジトリで開発されています。
Adeteiler とは
Bing-su 氏が開発した「ADetailer」は、AI による画像生成時の顔部分の詳細を自動的に修正する拡張機能です。特に解像度が低い画像やキャラクターが小さく描かれている場合に、顔の描写が崩れやすい問題を改善するのに効果的です。
「ADetailer」を活用することで、顔の部分だけに高精細化を施し、全体の画質を損ねることなく、キャラクターの顔のディテールを向上させることができます。以下の比較画像をご覧いただければ、その効果が一目瞭然です。
比較してみました
以下は ADetailer 適用前
以下は ADetailer 適用後の結果、
きれいに補正されていますね。
ADetailer のインストール
- WebUI を起動し「Extensions」タブから「Install from URL」タブを選択。
- 「URL for extension’s git repository」に下記のURLを入力し「Install」を選択しましょう。
https://github.com/Bing-su/ADetailer
- WebUI を再起動してください。
- 「ADetailer」の項目が増えていれば導入は成功です。
ADetailer の使い方
ADetailer model は
- face_yolov8n.pt :二次元の顔の認識
- mediapipe_face_full :三次元の顔の認識
- hand_yolov8n.pt :手の認識
に使うモデルになっています。
表情を変えたい画像を用意したら、PNG Info で情報を読み取るか、Seed を含めて全てのパラメーターを同じになるよう入力しておきます。
- 「Enable ADetailer」にチェックします。
- 上記を参照してモデルを決めます。
- プロンプトに表情の呪文を書きます。
「angry」「laugh」「sad」「cry」など。 - 「Inpainting」タブに「Inpaint denoising strength」の設定があります。どの位補正をかけるのかをしています。
大きくすると崩れますので、あまり大きくしないようにしましょう。0.3〜0.5程度に抑えましょう。
ADetailer を有効にすると、処理が長くなるため画像生成時間が約2倍と非常に長くなります。
表情差分
実際に ADetailer を使って表情差分を生成し出力した画像を比較してみました。
元の画像です。
「lagh」を指定した画像
「cry」を指定した画像
「angry」を指定した画像
自然に補正されているのが分かります。
まとめ
I拡張機能「ADetailer」を活用してキャラクターの表情の調整を行う方法について紹介しました。
「ADetailer」を使えば、手軽に顔の鮮明度を高め、変化することができますが、画像生成に必要な時間は約2倍になるという点を注意する必要があります。
ぜひこのツールを試して、より高品質な画像作成に役立ててみてください。