記事内に広告が含まれています。

【顔の修復】Stable Diffusionで顔が崩れる原因

Stable Diffusionで顔が崩れてしまう、顔が上手く描けないという問題を抱えている人のために、顔が崩れる原因と修復方法について解説しています。

 

CivitAiのサンプル画像やTwitter、Youtubeで見るような綺麗な画像を作りたいけど、福笑いのような顔面になってしまうというのは、Stable Diffusion初心者によくあることです。

 

「Restore faces」がそれっぽい項目だけど、ほとんど効かないんですよね。

 

この記事を読めば、Stable Diffusionで顔を上手く描くコツがつかめると思います。

 

Stable Diffusionで顔が崩れる原因

Stable Diffusionで顔が崩れる原因は画像サイズにあります。

 

画像サイズはデフォルトで(512 x 512)になっています。

 

画像サイズ(512 x 512)はAIにとって、小さすぎて顔が上手く描けない大きさになります。

 

stable diffusion 顔が崩れる

全身を写した画像では、顔の面積が小さくなるので崩れやすくなります。

 

AIが細部を書き込めないほどの小さい領域なので、ふくわらい顔になるというわけです。

 

では、画像サイズを大きくすればいいかというと、それは違います。

stable diffusionの画像サイズを大きくすると構図が崩壊

画像サイズを大きくすると、このように画像が崩壊してしまうからです。画質は良いですけどね。

 

この画像は(2048 x 2048)で生成して(512 x 512)にリサイズしています。

 

Stable Diffusionで顔を上手く描く方法

崩れた顔を修復するためには、Hires.fix(高解像度補助)を使います。

 

Hires.fixとは、画像を拡大して細部を描きこむ機能です。

 

単に画像サイズを大きくするのではなく、画像を拡大してからディテールも描くことで、綺麗な顔の画像を生成することが可能になります。

 

stable diffusion 顔の崩れを修正する方法

こちらが先程の画像にHires.fixをかけた後の画像です。

 

顔の崩れを修正しただけでなく、服や肌の質感、背景の描写も綺麗に描きこまれているのが分かると思います。

 

Hires.fixは設定項目が複数ありますが、とりあえずは初期設定のままで試してみてください。

 

「Upscaler」や「Denoising strength」を調整すると、顔が微妙に変わります。

 

「Upscaler」や「Denoising strength」はどれがいいとか、正解はないので、試してみて好みの画像を探すしかないです。

 

「Upscale by」を大きくしすぎると、画像サイズを大きくした場合と同じで画像が崩壊します。

 

画像サイズを小さくして「Upscale by」を少し大きくしたりするのが、ちょっとしたコツです。

 

Hires.fix処理後の画像サイズは、resize:fromを参照しましょう。

 

まとめ

・ Stable Diffusionで顔が崩れる原因は画像サイズ

・ 崩れた顔を直すためには、Hires.fixを使う

 

「Restore faces」を試しても顔の崩れが直らない場合は、Hires.fixを使ってください。

 

ちなみに、顔が崩れる原因は、プロンプトやサンプリングステップ、CFGスケールは関係ない場合がほとんどだと思います。

 

Hires.fixで顔の崩れを修正しても、どんな画像が出るか分かりません。

 

結局、Stable Diffusionはガチャなんですよ。

 

自分好みの画像を生成するには、Hires.fixの他にも「Clip Skip」などの細かい調整が必要です。試行錯誤を繰り返して、良画を生成してくださいね。

 

以上、Stable Diffusionで顔が崩れる原因と顔の修復方法について説明しました。Hires.fix(ハイレゾフィックス)を使えば、Stable Diffusionで顔面崩壊にならずにすむと思います。