【StableDiffusion】高解像度の画像を生成するHires.fix

AI

生成AIを使って画像を作っているうちに、もっと高解像度の画像を作りたくなることがあると思います。

しかし、単純に大きな画像を生成すると構図が崩れてしまい、うまく生成できないケースがあります。

その悩みを解決できる機能が「Hires.fix」です。


高解像度にできる「Hires.fix」

高画質にする高解像度補助という機能があります。

単純に拡大するだけだと画質が荒くなるだけになってしまいます。

そこにアップスケーラーのアルゴリズムを加えることで綺麗に補正してくれます。

画像生成と同時に高解像度にすることが可能です。


「Hires.fix」メリット

画像サイズを拡大できます。

拡大だけではなくきれいに修正してくれるので、細かい描写の画像にすることができます。

生成と同時に処理することもできますし、生成後の画像を修正する形で高解像度化させることも可能です。

「Hires.fix」デメリット

画像生成時に高解像度化させる場合に、時間がかかる点です。

私はCPU環境で利用しているので、通常でも1枚の生成に時間がかかるタイプです。生成時に高解像度化させると1枚2時間以上かかりました。

すべての画像には対応するのは現実的ではないと思われます。


はじめから大きいタイルにすればよいのでは?と思いそうですが、モデルによってはサイズに対応していない可能性もあります。

ですので、結局は低解像度で生成した上で、高解像度化させる方が良さそうです。



デメリットを回避するには

回避策として、気に入った1枚を指定して、「extras(その他)」タブからアップスケーラから拡大・修正します。修正にかかる時間を大幅に短縮することができます。


「Hires.fix」使用方法

生成時にアップスケール

「Hires.fix(高解像度補助)」にチェックを入れます。

アップスケーラーでアルゴリズムを任意で選択しましょう。ここでは「R-ESRGAN 4x+ anime6B」を選択して進めます。

アップスケール率を選択します。ここでは「2」とします。
幅と高さが512×512を指定しているので、生成されるサイズは2倍の1024×1024になります。




通常生成した場合 512×512

生成にかかった時間は約15分。(遅い、、CPU環境なのでww)




hires.fix生成した場合 1024×1024

生成にかかった時間は約2時間半。(CPU環境)




比較してみる

遠目で見てみると大差無いように見えます。

では、拡大して見てみましょう。


左が元の画像、右がhires.fixした高解像度画像です。
顔の輪郭や髪の毛の描写がしっかりした印象ですね。



目元を拡大してみると、ドットの荒さが取れて繊細な描写になりました。



生成済み画像をアップスケール

「Extras(その他)」タブに移行します。

通常作成した元の画像をドラック&ドロップで配置します。

倍率を選択します。ここでは「4」とします。
元画像の幅と高さが512×512なので、生成されるサイズは4倍の2048×2048になります。

アップスケーラーのアルゴリズムを任意で選択しましょう。ここでは「R-ESRGAN 4x+ anime6B」を選択して進めます。



通常生成した元画像 512×512

生成にかかった時間は約15分。(CPU環境)



元画像を元にアップスケールした場合 2048×2048

修正アップスケールにかかった時間は約5分。(CPU環境)



比較してみる

拡大して見てみましょう。
左が元の画像、右がhires.fixした高解像度画像です。

全体的にぼやけていた画像ですが、くっきり表現されています。
まゆげや目元もしっかり描写された印象です。




まとめ

通常画像ではドットが粗いです。高解像度にしたい場合には、Hires.fix(高解像度補助)機能を使いましょう。

そして、生成と同時にアップスケールできますが生成に時間がかかるため、一度低解像度で生成した後にアップスケールさせると時短になります。

ですので、気に入った画像に絞ってアップスケールさせて高解像度化させる使い方が良さそうですね。




タイトルとURLをコピーしました