今回はStable Diffusionで画像生成を行う際に、顔の崩れを補正できる「adetailer」の使い方について解説します。

キャラの全身を描こうとすると顔がつぶれちゃうんだよね…



そんな時は「adetailer」を使うと、顔のパーツも綺麗に生成できるよ。
「adetailer」を使用することで、引いた位置から撮影したような画角のイラストの人物の顔の失敗確率を大幅に低減できますので、ぜひ使ってみてください。
また、当ブログのStable Diffusionに関する記事を以下のページでまとめていますので、あわせてご覧ください。


Stable Diffusionの導入方法から応用テクニックまでを動画を使って習得する方法についても以下のページで紹介しています。


「adetailer」とは
「adetailer」とは、Stable Diffusion Web UIの拡張機能のことです。
生成した人物の画像に対して、顔の部分や手の部分の範囲を自動的に判定し、その範囲に対して修正を行う機能になります。
例えば低解像度で人物全体の画像を生成した際、顔の描写範囲が狭くなり顔が崩れてしまう場合がありますが、「adetailer」を使用すれば顔の崩れを補正することができます。
また、「adetailer」では自動的に判別した範囲に対してプロンプトを設定することも可能です。
よって、崩れの補正のみでなく、画像の表情のみを変更することもできます。


「adetailer」の導入方法
ここからは「adetailer」の導入方法について解説していきます。
まずStable Diffusion Web UIを起動したら、以下の手順に沿ってインストールします。
- ”Extenisons”タブをクリックする
- ”Install from URL”をクリックする
- ”URL for extension’s git repository”の欄にインストールURL※を入力する
- ”Install”ボタンをクリックする
※「adetailer」のインストールURLは以下の通りです。
https://github.com/Bing-su/adetailer


- ”Installed”タブをクリックする
- ”adetailer”がインストールされていることを確認する
- ”Apply and restart UI”ボタンをクリックし、Stable Diffusion Web UIを再起動する


Stable Diffusion Web UIを再起動できたら、「adetailer」のメニューが追加されていることを確認しましょう。


「adetailer」の使用方法
それでは「adetailer」の使い方について解説していきます。
- 「adetailer」のメニューを開く
- ”Enable ADetailer”にチェックを入れて有効化する
- ”ADetailer model”を選択する(各モデルの機能は、下記の表を参照してください)
- 必要に応じてADetailerメニュー内のプロンプトを入力する
※ここが空欄の場合は画像生成時のプロンプトが反映されます。崩れの補正が目的であれば空欄のままでOKです。




これで「adetailer」は有効になっていますので、あとはいつもと同じ要領で画像生成を行います。
「adetailer」で使用できるモデルの機能
以下の表は、ADetailerモデルの各機能とその説明をまとめたものです。
モデル名 | 機能の説明 | 対象(イラスト/実写) |
---|---|---|
face_yolov8n.pt | 顔の検出モデル | イラスト/実写 |
face_yolov8s.pt | 顔の検出モデル | イラスト/実写 |
hand_yolov8n.pt | 手の検出モデル | イラスト/実写 |
person_yolov8n-seg.pt | 体全体の検出モデル | イラスト/実写 |
person_yolov8s-seg.pt | 体全体の検出モデル | イラスト/実写 |
mediapipe_face_full | 顔の検出モデル | 実写 |
mediapipe_face_short | 顔の検出モデル | 実写 |
mediapipe_face_mesh | 顔の検出モデル | 実写 |
「adetailer」の効果の検証
ここでは、「adetailer」を利用していない場合と、利用した場合とで生成される画像を比較していきます。
今回は顔の崩れを補正できるか確認するため、顔が崩れやすくなるように”full body”のプロンプトを使用して顔の描写範囲を狭くしてみます。
ADetailer modelは”face_yolov8n.pt”を選択、また、画像の解像度は512×768と設定しました。
以下、検証に使用したプロンプトです。
ポジティブプロンプト
masterpiece, best quality, 1girl, full body, standing
ネガティブプロンプト
worst quality, low quality
「adetailer」を利用しない場合
生成した画像は以下の通りです。


「adetailer」を利用した場合
生成した画像は以下の通りです。


顔の崩れは無くなり、きちんと補正された画像になりました。
このように「adetailer」は誰でも簡単に顔の補正を自動で行うことができます。
また、「adetailer」は顔などの特定の範囲に絞って補正をするため、他の手法と比較し、メモリ消費や生成時間を抑えることができます。
さらに顔のみにプロンプトやLoRAを適用することができるため、小回りが利き、画像生成の幅を広げることができるといったメリットもあります。
デメリットとしては、「adetailer」を利用しない場合と比べてしまうと画像生成時間がかかってしまうこと、また、顔以外の手などの部位の修正はあまり得意ではないことが挙げられます。
Stable Diffusionのテクニックを効率よく学ぶには?



Stable Diffusionを使ってみたいけど、ネットで調べた情報を試してもうまくいかない…



そんな時は、操作方法の説明が動画で見られるUdemyがおすすめだよ!
動画学習プラットフォームUdemyでは、画像生成AIで高品質なイラストを生成する方法や、AIの内部で使われているアルゴリズムについて学べる講座が用意されています。
Udemyは講座単体で購入できるため安価で(セール時1500円くらいから購入できます)、PCが無くてもスマホでいつでもどこでも手軽に学習できます。
Stable Diffusionに特化して学ぶ
Stable Diffusionに特化し、クラウドコンピューティングサービスPaperspaceでの環境構築方法から、モデルのマージ方法、ControlNetを使った構図のコントロールなど、中級者以上のレベルを目指したい方に最適な講座です。


画像生成AIの仕組みを学ぶ
画像生成AIの仕組みについて学びたい方には、以下の講座がおすすめです。
画像生成AIで使用される変分オートエンコーダやGANのアーキテクチャを理解することで、よりクオリティの高いイラストを生成することができます。


まとめ
今回は「adetailer」の使い方について解説してみました。
キャラクターの全身を収めたい場合や、背景をメインに描きたい場合などで非常に有効な機能ですので、ぜひ活用してみてください。
また、プロンプトの作成が難しいと思われている方には、AIでプロンプトを自動生成するのがおすすめです。
「StableDiffusionのプロンプト(呪文)を自然言語処理モデルGPT-3(Catchy)で自動生成する方法」で詳細を解説していますので、あわせてご覧ください。
それでは、また次の記事でお会いしましょう。





