【実例付き徹底解説】圧倒的に綺麗な美女顔の作り方【sd1.5/pony/(flux) 全モデル対応】
今回の記事では、StableDiffusionの各モデルで綺麗な顔を作る方法について体系的に解説します。
顔面で差をつけろ!!
いきなりですが、
ぶっこわれ美しいですよね。
今日はこんな美女を作る方法とまではいきませんが、
今より確実にクオリティの高い美女画像を作るノウハウを伝授します。
以下紹介するものどれか一つをやるというよりやればやるほど効果がUPしますので、試せるだけ試してみてください。
前提
具体的な方法の話をする前に一つ元も子もない話をすると、
生成AI美女のクオリティはモデルに大きく依存します。
今回の記事はモデルに関わらずより高品質な美女画像を生成するノウハウを紹介しますが、顔面の強さで言えば
ウソップがどれだけ策を練ろうがルフィに勝てないように
下位モデル(sd1.5系/pony系)ではどうあがいても上位モデル(flux)に勝てません。
なので、これから先の生成AI技術の発展を見込んでも今の段階で高VRAMのグラフィックボードを購入してfluxへ乗り換えることをお勧めします。
fluxも今や様々なモデルやLoRAが登場して、様々なニーズ(むふふ)に対応できるようになっています。
購入にあたっては具体的には、RTX4070Ti SuperやRTX4080以降のVRAM容量16GB以上のものをお勧めします。少なくとも15万円前後するので、おいそれと手は出しづらいかと思いますが、画像だけでなく動画やその他今後の社会基盤になりえる生成AIを触る上であって困ることはないと思いますし、人生の選択肢を増やす一助になるかと思います。ご一考下さい。
品質UP方法
では改めまして、モデルを変えない現状の環境内で顔面つよつよ美女を生成する術をお伝えします。
但し、基本的に私の経験則に基づく私見に過ぎないので、「これが絶対正しい」というわけではないという予防線をビンビンに張ったところで本題へどうぞ!
品質UP方法その① モデルにあった生成設定
改善効果:★★★☆☆
特にstep数とCFGscaleについてはモデルごとに最適な値が異なります。
自分が使っているモデルのCivitaiページに行って、クオリティの高い投稿画像の設定がどうなっているかを真似してみましょう。
また、必ずしも他人の値があてになるかはわからないので、参考にしつつ自分で色々数値を変えて試してみるのが一番です。
そんな時に欠かせないのが標準機能の”X/Y/Z plot”です。
各種設定値やプロンプトを何パターンも変えてみた時の変化を一枚絵で比較して一番いい設定を選定する事ができます。
ライバルに差をつけたいあなたには超絶有能絶対必須最強機能の一つですので是非習得してください。
品質UP方法その② 品質プロンプト
改善効果:★★☆☆☆
いわゆる品質プロンプトと呼ばれる生成画像の高品質化に寄与するプロンプトが存在します。
各モデル種別に私が使っていた品質プロンプトを紹介します(本邦初公開)。
【SD1.5系】
SD1.5系はとりあえず高品質、フォトリアルに関連するような単語を入れまくるのが主流でした(最近のは知らない)。正直本当に効果あるのか疑問なものもありましたが、おまじない程度でご参考までに。
【Pony系】
Ponyはモデルの学習時に学習画像のクオリティごとにラベリング(score~)をして学習しています。数字が高いほど高品質で最大値が9で数字が小さくなるほどあまり品質の良くない画像のラベリングになります。
なので、高めの数字のラベルをプロンプトとして入れることで高品質化するというメカニズムで巷で推奨されていました。
【Flux系】
特になし。ハシカンと一緒で余計な事しない方が綺麗。
品質UP方法その③ LoRAとTextual Inversion(embedding)
改善効果:★★★☆☆
みんな大好きLoRAと軽視されがちTextual Inversionです。
特にsd1.5系ではTextual Inversionによる高品質化影響が大きかったように思います。Ponyはそこまでかな?わかんない。fluxはハシカン。
今回は私がsd1.5でよく使っていたいくつかのTextual Inversion とPonyで使っていた品質系のLoRAを紹介します。
SD1.5 (Textual Inversion)
・顔の高品質化①
BadDream + UnrealisticDream (Negative Embeddings) - BadDream v1.0 | Stable Diffusion Embedding | Civitai
・顔の高品質化②
CyberRealistic Negative - v1.0 | Stable Diffusion Embedding | Civitai
・顔の高品質化③
bad-picture negative embedding for ChilloutMix - 75 Vector Version | Stable Diffusion Embedding | Civitai
・顔の高品質化④
EpiCRealism - Embeddings - epiCNegative | Stable Diffusion Embedding | Civitai
・顔の高品質化⑤
epiCPhotoGasm Style Negatives - epiCPhotoGasm-colorfulPhoto | Stable Diffusion Embedding | Civitai
・(おまけ:手の破綻防止用)
negative_hand Negative Embedding - negative_hand | Stable Diffusion Embedding | Civitai
使い方は後述の通りです。
Pony(LoRA)
・高品質化①(画像全体)
xl_more_art-full / xl_real / Enhancer - xl_more_art-full-v1 | Stable Diffusion XL LoRA | Civitai
・高品質化②(画像全体)
Better Picture, More Details LoRA - 5.6 | Stable Diffusion XL LoRA | Civitai
・高品質化③
epiCPhotoXL LoRA - v1.0 | Stable Diffusion XL LoRA | Civitai
【Textual Inversionの使い方】
Civitaiからダウンロードしたファイルは"embeddings"という名前のフォルダに入れます。
そうするとwebUI画面のTextual Inversionというタブ上に表示されるようになります(表示されない場合はリロードかstablediffusion自体を再起動してね)。
表示されるサムネイルをクリックすると自動で機能を有効化するのに必要なプロンプトが入力されます。
Textual InversionにはPositiveプロンプトで使うものとNegativeプロンプトで使うものがあります。モデルページを見ると大体書いてありますが、Negativeプロンプトに入力されても不具合ではなくて、Negativeプロンプトで使う用のものですのであしからず。
上に書いたTextual Inversionを全て同時使用するというよりは、使っているモデルに合いそうなものや好みに応じていくつか使ってみるという使い方がいいかもしれません。
品質UP方法その④ ADetailer
改善効果:★★★★☆
最も美顔化効果の大きい方法はADetailerになります。
基本的な説明は以下リンク先のページで説明頂いている通りですが、
この拡張機能については一人残らず全員絶対に使えるようになった方が良いです。
基本的な使い方は上記ページで学んで頂いた上で、私からはより実践的な使い方と推奨設定を説明致します。
まずは、実際にsd1.5時代に使っていた設定が↓になります。
ポイントが6つあるので一つずつ解説します。
①ADetailerモデル
ADetaillerはモデルによって顔だけでなく、手や身体全体等様々な部位を認識して修正する事ができます。今回はお顔に絞って紹介しますが、リアル系であれば、基本的に"face_yolov8n"というモデルで不自由ないと思います。
②プロンプト
ここでは、顔の部分に限定してPositiveプロンプトとNegativeプロンプトを入力します。LoRAやTextual Inversionも適用可能ですので、お顔に関わるものを入れておきましょう。
③適用対象範囲
ADetailerを使い始めの時にまず起こる事故が背景の人間、なんならおっさんの顔まで女体化してしまう事故です。
(参考画像はグロ注意なので載せません。)
これを避ける為に、ターゲットの被写体女性のみに効果を適用する術として二つ紹介します。
一つ目が"Detection model confidence threshold"です。
ADetailerはAIを使って自動で画像内に写る人物がどれだけ人間の顔っぽいかを点数付け(0~1.0点)してから顔の補正をします。
この判定値に対して、何点以上の顔についてのみADetailerの補正機能を適用するという機能になります。
経験上だいたい0.8以上の顔がターゲットとして適切な被写体で、それ未満の顔は背景の小さな顔で、おっさんだったりするので↑の例では0.8を入れています。
但し、それでも背景のおっさん女体化は防げなかったりするので、条件付きですが確実に修正する方法をもう一つ紹介します。
それは"Mask only the top k largest"です。
これは顔判定値の高い順に決めた数の分だけADetailerを適用する事ができます。(デフォルトは0が入力されていてこの機能自体がオフになっています。)
ここの値を1に変えて入力しておくと、生成された画像内で最も顔の判定値が高い顔≒ターゲットの美女の顔のみがとても高い確率で修正されます。
多くの人は美女一人だけが被写体の画像を生成しがちかと思うので、そういった方はデフォルトでここに1を入力しておくとよいかもしれません。
④顔の修正度合い
④のinpaint denoising strengthは通常のhires.fix時のdenoising strengthと同じで、元の画像に対してどれだけ変化を許容するかという値になります。
小さいほど変化が少なく、大きいほど変化が大きくなります。
経験上0.35~0.55ぐらいの値が適正です。
小さすぎると何も変わらないし、大きすぎると顔以外の周りの部分との違和感が出てきます。
以降はおまけ&少し応用になります。
⑤step数
ADetailerの修正時のstep数を元々の生成時のstep数とは分けて違う設定にすることができます。顔を丁寧に修正する場合はstep数を増やすものよいです。
⑥応用:モデルの変更
ADetailerにおいてはデフォルトだと通常生成時のモデルをそのまま使って修正を行いますが、このモデルを変更する事も可能です。
例えば顔だけ好みの別のモデルに変えるであったり、通常の生成はPonyでしておいて顔だけsd1.5のモデルに変えて修正をするなんて使い方もよくされています。
最後に
いかがだったでしょうか?
文字が多すぎて少しわかりづらい部分もあったかと思いますが、是非お試し下さい。
あとグラボ買おう!グラボ!!
ではまた次回の記事でお会いしましょう。