この記事では、Stable Diffusionのような画像生成AIによって生成した顔画像が部分的に不自然であったときに、後から簡単に修正し、自然な顔に見せる方法を紹介します。
概要
画像生成AIでポートレートを生成した際、プロンプトのイメージどおりですごく良いんだけど、顔の一部分だけが不自然になってしまって残念没…ということはままあると思います。
他の記事でも紹介されていますが、そのようなときは残念画像を高画質化AIにかけると劇的に改善することが多いです。
デモ
実際に、どの程度改善するか確認してみましょう。
まずは、以下の記事に従って女性のポートレートを生成してみます。
プロンプトはこちらの記事を参考にさせていただき、"Photographic portrait of beautiful women, glowing skin, Sony α7, 35mm Lens, f1.8, film grain, golden hour, soft lighting, by Daniel F Gerhartz"としました。
まずは、うまくいった結果から。
美しいですね。素晴らしいプロンプトだと思います。
次に、微妙な残念画像がこちら。
雰囲気はとても良いのですが、いずれも顔がやや不自然です。
この画像をCodeFormerという高画質化AIで処理してみます。CodeFormerの概要や実行方法については、以下の記事をご覧ください。
結果はこちら。左が処理前、右が処理後です。
目の付近を中心に、不自然さが解消されていることが分かります。これは、元画像中の不自然な部分が、高画質化AIによって「不鮮明」だと判断され、人の顔として自然になるように情報が復元されたことによります。
ちなみに、これでも修正しきれない場合、CodeFormerのパラメータである元画像への忠実度(CODEFORMER_FIDELITY)を下げると不自然さが解消されることが多いですが、この方法では大きく雰囲気が変わってしまします。
その場合は、画像サイズを小さくし、復元領域を増やしてから高画質化することで、元画像の雰囲気をキープしたまま、自然な仕上がりにできることがあります。併せて試してみてください。
参考文献
High-Resolution Image Synthesis with Latent Diffusion Models
【公開】Stable Diffusionで美しい女性のポートレートを描くprompt(呪文)を公開するチュートリアル🚀【入門編】