「画像生成したけどクオリティが低い…」
「何かぼやけて画像生成されてしまう…」
と悩んだことはありませんか?
画像生成しても
全体がガサついている感じになってしまったり
目が綺麗にならなかったりする場合ってありますよね。
それらを解決するために
「Hires.fix」を使用するといいでしょう。
「Hires.fix」を使用することで
高画質・高解像になって綺麗に画像を仕上げることが出来るのでおすすめです!
高画質・高解像度にしたいなら
画像サイズの設定項目である「Width」と「Height」の数値を上げる方法もありますが、
それよりも
「Hires.fix」を使用した方が、よりクオリティの高い画像生成をすることが出来るので
必須と言っていいほどおすすめの設定方法になります。(SDXLモデルを使用している場合は除きます)
この記事では、高解像にしてくれる「Hires.fix」の使い方について解説します。
Hires.fixについて
「Hires.fix」を使う方法は簡単です。
「Hires.fix」項目の左側にあるチェック項目に
チェックを入れるだけで使用することができます。
この例では、画像サイズを「Width:512」「Height:768」に設定してから
「Hires.fix」を使用し、「Upscale by」項目で「2」に設定して
「Width:1024」「Height:1536」の2倍サイズで画像生成します。
以下の画像では、「Hires.fix」無しと有りを比較した結果になります。
右側の画像のように、有りの方が綺麗に生成することが出来ています。
このように「Hires.fix」を使用すると、生成時間が長くなりますが
高解像になってクオリティの高い画像に仕上げることが出来ます。
SDXLモデルで「Hires.fix」を使用すると、クオリティが劣化する場合があり
通常の画像サイズからサイズを大きくした方がいい場合もあります。
「Hires.fix」を使用せずに、通常の画像サイズ設定から「Width:1024」「Height:1536」にして画像生成すると
体の一部が変になったり(逆の関節になる等)、腕や脚が分離したりする場合があります。
以下の画像では
通常画像サイズ設定で「Width:1024」「Height:1536」にした場合と
画像サイズを「Width:512」「Height:768」にして、「Hires.fix」の2倍数値で生成した比較結果になります。
左側では、脚が分離して画像生成されています。
「Hires.fix」の「Upscale by」の項目で「2」に設定して、「Width:1024」「Height:1536」の出力で画像生成すると
右側の画像のように、上手くクオリティの高い画像生成をすることが出来ます。
このように、「Hires.fix」を使用すると、体が崩れていない画像生成がされやすくなるので使用することを推奨します。
Hires.fixを使用して体が崩れる時の対処法
「Hires.fix」を使用した時に
体が崩れやすかったり
人物ではない画像生成がされたりする場合があります。
1つ目の原因として、「Width」と「Height」の画像サイズが最適な数値でない場合が挙げられます。
画像サイズを「1025」以上にした時に体が崩れやすい傾向にあるので
「1024」くらいに設定するといいでしょう。
また、PC環境によると思いますが
画像サイズを大きくし過ぎると画像生成の途中にエラーが起きて画像生成できない場合があります。
綺麗に生成できるおすすめの画像サイズについては
以下の記事で解説しているので合わせて読んでみてください。
2つ目の原因として、「Denoising strength」の数値を「0.8」以上で設定した時になります。
画像生成している途中で、急に別の画像にパッと切り替わって
体が崩れた画像生成がされたりしたことはありませんか?
人物ではない画像生成がされる場合があるので
推奨値として「0.5〜0.7」くらいに設定するといいでしょう。
Upscalerで解像方法を変更する
「Upscaler」では、高解像にさせる方法を変更します。
以下の画像では、「Upscaler」を全て出力した比較結果になります。
これらの画像の結果から、違いが見られなかった「Upscaler」がありました。
・「Latent(nearest)」と「Latent(nearest-exact)」を比較すると変わっていなかった
・「None」と「Lanczos」を比較すると変わっていなかった
・「ScuNet GAN」と「ScuNet PSNR」を比較すると変わっていなかった
モデルや他の設定方法などによっては変化が出るかもしれませんが、参考にしてみてください。
Hires stepsについて
「Hires steps」では、「0」数値でも十分クオリティの高い画像生成になりますが
数値を上げることで、さらにクオリティを上げることができます。
以下の動画では、「Hires steps」を「0」「50」「100」で比較しました。
以下は画像での比較結果になります。
どれも同じに見えますが、綺麗に仕上がったのがsteps「50」になります。
上げ過ぎてもあまり変わらない感じがあったので
参考までに「50」くらいでいいと思います。
Denoising strengthについて
ノイズ除去の影響力を調整できる設定が、「Denoising strength」となっています。
以下の画像では、「Denoising strength」を「0.3」「0.7」「1」に設定した結果になります。
「0.3」では、ぼやけておりノイズ除去がしっかり出来ていません。
「0.7」では、綺麗に画像生成することができました。
「1」では、綺麗に画像生成できていますが、
体が崩れたり人物ではない生成がされやすい傾向にあります。
Upscale byは生成画像サイズを大きくできる
出力する画像サイズを変更したい場合は、「Upscale by」から可能です。
例えば、画像サイズで「Width:512」「Height:1024」に設定して、「Upscale by」を「2」に設定すると
「Width:1024」「Height:2048」の2倍サイズで画像生成することができます。
「Hires.fix」を使用した時の、「Width:1024」「Height:2048」と
「Hires.fix」を使用せずに、通常の画像サイズ設定から「Width:1024」「Height:2048」にして生成すると、
同じ画像サイズ設定なので、同じ画像生成結果になると思うかもしれませんが、違う画像生成がされます。
以下の画像では、Seed値を固定し
「Hires.fix」無しと有りで、同じ画像サイズの出力設定にして比較した結果になります。
「Hires.fix」無しの左側の画像では、破けたソファーのような よく分からない生成がされています。
「Hires.fix」有りの右側の画像では、しっかり人物が綺麗に生成できています。
このように、出力する画像サイズはどちらも同じ「Width:1024」「Height:2048」なのですが
全く違う画像生成結果になります。
「1025」以上の画像生成では
「Hires.fix」を使用して「Upscale by」で画像サイズの出力を大きくした方が
クオリティの高い画像生成がされやすい傾向にあります。
Resize toについて
「Resize to」項目では、出力させる画像サイズを数値で指定することができます。
「Resize to」では、「Width」と「Height」で入力したアスペクト比率で合わせないと
頭が切り抜かれた画像生成がされたりする場合があります。
試しに「Width:512」「Height:768」に設定してから
「Resize to Width:1024」「Resize to Height:1024」にして
アスペクト比率を合わせていない状態で画像生成してみます。
以下の画像は生成した結果になります。
頭の部分が切り抜かれた感じになって生成されています。
次は「Width:512」「Height:768」に設定してから
「Resize to Width:1024」「Resize to Height:1536」にして
アスペクト比率を合わせた状態で画像生成してみます。
以下の画像は生成した結果になります。
頭をしっかり画像内に収めた生成をすることが出来ています。
以下の画像は比較結果になります。
このように「Resize to」では
アスペクト比率を合わせられていないと
頭が切り抜かれて画像生成されてしまう場合があるので
アスペクト比率を合わせるようにしましょう。
全身画像を生成するならHires.fixは必須
全身画像を生成する場合のおすすめ設定として
画像サイズで「Width:512」「Height:768」に設定してから
「Hires.fix」の「Upscale by」で「2」に設定して
「Width:1024」「Height:1536」で画像生成させると
クオリティが高い全身画像を生成できるのでおすすめです。
以下の画像は生成した結果になります。
このように、体が崩れにくい全身画像で生成されやすいので是非試してみてください。
まとめ
「Hires.fix」で高画質・高解像度にさせる方法について解説しました。
「Hires.fix」を使うことで、画像サイズから大きく設定するよりも
高画質で綺麗に画像生成することができるのでおすすめです。
特に全身画像を生成するときには、目や体が崩れにくくなるので
必須で設定しておいた方がいいでしょう。
是非記事を参考にして「Hires.fix」を使用してみてください!