Stable Diffusion Hires.fix

Stable Diffusion

【Stable Diffusion】Hires.fixを使った高解像度画像生成

※ 当サイトは、プロモーションが含まれます

Stable Diffusionで生成する画像のクオリティを上げたいと考えることはありませんか?

特に、生成された画像の解像度が低く、細部がぼやけてしまうことに悩む方も多いでしょう。

そんなときに役立つのが、Stable Diffusionに搭載されている「Hires.fix」という機能です。

この記事では、Hires.fixがどのようにして画像の解像度を向上させるのか、そのメリットや注意点、使い方について実際に生成した画像を交えて詳しく解説します。

画像クオリティに対する悩み解消の参考にしてください。

スポンサーリンク

Hires fixとは何か

Hires fixとは何か

Hires.fix(ハイレゾフィックス)とはStable Diffusionのオプション機能で、画像を生成する際に構図の破綻や画質の劣化を防ぎ、高解像度の画像が生成できる機能です。

Stable Diffusionでは、初期段階で低解像度の画像を生成することで、計算負荷を抑えながら効率的に画像を生成しますが、そのままでは画像のディテールが失われたり、ぼやけたりすることがあります。

Hires.fixはこの課題を解決するために、低解像度画像をアップスケールする際、ノイズを取り除きながら細部を再生成し、高品質な高解像度画像を生成します。

Hires.fixの注意点

Hires.fixは高解像度画像を生成するために非常に有用な機能ですが、いくつかの注意点があります。

その中でも特に重要なのが、VRAM(ビデオメモリ)の使用量とPCへの負荷です。

まず、Hires.fixを有効にすると、通常の画像生成プロセスに比べて、はるかに多くのVRAMが必要になります。これは、低解像度画像をアップスケールする過程で大量の計算が行われるためです。

もしVRAMが不足すると、生成プロセスが途中で停止したり、エラーが発生したりすることがあるため、十分なVRAM容量を持つGPUが必要です。

さらに、Hires.fixを使用するとPC全体にかかる負荷も大きくなります。

高解像度画像の生成には大量の演算処理が必要となり、GPUだけでなくCPUやメモリにも大きな負担がかかります。

特に、高解像度で複雑な画像を生成しようとすると、PC全体の動作が遅くなることもあるため、適切な冷却対策や負荷を軽減する工夫が求められます。

Hires.fixの使い方

Hires.fixは別途のダウンロードの必要はありません。

Stable Diffusionを立ち上げると以下の場所に「Hires.fix」の項目があります。

SD_hiresfix_buttom

Stable Diffusion V1.6以前のバージョンの場合は「Hires.fix」にチェックを入れる項目があります

「Hires.fix」をクリックするだけでも有効化されます。

クリックするとパラメーターが表示されます。

各項目で数値などを設定すると、より高解像度の画像が生成できます。

Hires.fixの設定について

「Hires.fix」のパラメーターは以下の内容になります。

項目内容
Upscaler低解像度の元画像を拡大する際に用いるアルゴリズムの種類
Hires steps高解像度化する際のステップ数を指定
Denoising strength元画像からどれくらいの変化をつけるかの割合
Upscale by拡大する倍率

「Resize width to」と「Resize height to」は画像の縦横比ですが、変更すると生成画像の構成が変化してしまうので、目的が無ければそのままにします。

Upscaler

低解像度の元画像を拡大する際に用いるアルゴリズムの種類のことです。

アップスケーラーには、いくつかの種類があり、それぞれに特徴があります。

好みもありますが、Latentで初めていろいろ試してみるのをおすすめします。

Hires steps

高解像度化する際のステップ数を決めます。

0の場合はSampling stepsの値と同じになります。

ステップ数は最大150まであげれますが、数値が高いほど緻密になる分、生成時間もかかります。

ステップ数は0にするか、10~20ぐらいで様子を見た方がいいです。

0でもクオリティはあがります。

Denoising strength

アップスケールする元の画像からどれくらいノイズを除去するかを指定します。

ノイズは除去できた方がいいので数値をあげたいところですが、上げすぎるとぼんやりとしたり滑らかすぎることもあるので、適度に上げましょう。

数値が低いと元画像とは違う画像になりやすいので、0.5から始めて好みの数値を探しましょう。

Upscale by

アップスケールする倍率を決めます。

大きすぎるとGPUのメモリ不足でエラーが出る場合があるので注意してください。

2倍までにするのが無難かもしれません。

画像で見るUpscalerの違い

ここからは実際に画像生成で「Hires.fix」を使用し、「Upscaler」の種類を変えて違いを比べてみました。

  • Upscale :2
  • Hires steps:0
  • Denoising strength:0.5
Hires.fix未使用
Hires.fix未使用
Latent
Latent
Latent (nearest)
Latent (nearest)
Lanczos
Lanczos
R-ESRGAN 4x+ Anime6B
R-ESRGAN 4x+ Anime6B
SwinIR 4x
SwinIR 4x

「Hires.fix」を有効にするだけでもかなり効果を感じました。

「Upscaler」の違いは微妙ですが、髪質や頬の陰影を見ると違いを感じました。

画像で見るHires stepsの違い

次に「Hires steps」の違いを試してみました。

  • Upscale :2
  • Upscaler:R-ESRGAN 4x+ Anime6B
  • Denoising strength:0.5
Hires steps未使用
Hires steps未使用
Hires steps10
Hires steps 10
Hires steps 30
Hires steps 30

背景の車や、服のシワで見ると違いがわかりやすいかと思います。

Upscalerに「Latent」を使って試したのですが、モデルを変えてもHires stepsの数値を少し上げるだけで、逆にぼやけることが多かったです。

まとめ

Hires.fixは、Stable Diffusionを利用して画像の解像度を劇的に向上させるための強力な機能です。

低解像度で生成された画像をアップスケールし、ディテールやシャープさを保ちながら高解像度画像へと変換します。

しかし、その効果を引き出すには大量のVRAMが必要で、PC全体にかかる負荷も大きくなるため、使用する際にはPCの性能やシステムの状況に注意する必要があります。

数値を上げる時も低めから徐々に上げていくことをおすすめします。

Hires.fixをうまく活用すれば、画像クオリティの向上に悩む方でも、簡単に向上できます。

関連記事

-Stable Diffusion
-