Stable Diffusionで高解像度・高画質化して画像の破綻や崩れる現象を防ぐ方法! | romptn Magazine

Stable Diffusionで高解像度・高画質化して画像の破綻や崩れる現象を防ぐ方法!

Stable Diffusion

Stable Diffusionで画像を生成する際、画質が悪くなったり、構図でエラーが発生したりして、画像が崩れて破綻してしまったことはありませんか?そんなときに役立つのが、「高解像度化・高画質化・高解像度補助」という方法です。

Stable Diffusionでは、オプション機能や拡張機能を活用することで画像を高解像度化・高画質化・高解像度補助を行うことが可能です。この記事では、3種類の方法について説明します。

スポンサーリンク

Stable Diffusionで高解像度化・高画質化する方法

Stable Diffusionで高解像度化・高画質化する方法は、以下の3つになります。

方法①:『Hires.fix』を使用する。

方法②:『MultiDiffusion』を導入・使用する。

方法③:『Tiled Diffusion』を導入・使用する。

『Hires.fix』は、画像生成の際に高解像度補助をおこなうオプション機能です。サイズが大きい高解像度の画像生成をする際に、画像が崩れることを防ぐように設計されています。

『MultiDiffusion』は、メモリの少ないグラフィックボードを使用していても、高解像度の画像を生成することができる、img2imgで使える拡張機能です。通常、サイズの大きい画像を生成しようとするとメモリ不足によるエラーが発生してしまう場合があります。

しかし、『MultiDiffusion』を活用すると画像を細かく分割しそれぞれの領域を個別に描画する仕組みによって、限られたメモリでもサイズの大きい画像生成を可能にするようです!

『Tiled Diffusion』は、少ないVRAM容量でもイラストを高解像度化・高画質化にアップスケールできる拡張機能です。画像全体のサイズを1度に大きくするのではなく、タイルのように分割して1枚1枚高解像度化・高画質化することで、VRAM使用量を減らすことができるのが大きな魅力です。

VRAM容量が少なく、GPUで何とかStable Diffusionを使っている方には、とても便利な拡張機能となっています!

Stable Diffusionで高解像度化する方法①:『Hires.fix』(高解像度補助)を使用する

まず、『Hires.fix』(高解像度補助)』の使い方を説明していきます。

手順1:”txt2img”で、呪文(プロンプト)と設定値を入力し、『Hires.fix』のセルにチェックを入れる。

手順2:「Upscaler」、「Denoising strength」、「Upscale by」の項目を設定し、画像を生成する。

今回は、Upscaler:R-ESRGAN 4x+ Anime6B、Denoising strength:0.5、Upscale by:2に設定。

※以下に『Hires.fix』の項目に関して簡単に説明します。

———————————————————————————————————

  • Upscaler:高解像度化・高画質化するときに使用されるアルゴリズムで、どのUpscalerを選ぶかによって画質が変化します。特に気にせず、色々試してみるといいと思います。
  • Hires steps:高解像度化・高画質化する際のステップ数です。”0″にするとSampling steps数と同じ値が適用されます。
  • Denoising strength:画像のノイズを除去する度合いです。値は”0.5″ or “0.6”程度がオススメです。
  • Upscale by:画像サイズの拡大比率です。大きくしすぎると画像が破綻してしまう恐れがあります。
  • Resize width to、Resize height to:画像の縦横比の設定です。元イラストから縦横比を変えない場合はUpscale byでサイズを指定するので、設定しなくて大丈夫です。

Sampling methodやおすすめの画像サイズについては、以下の記事を参考にしてください。

———————————————————————————————————

以上が、『Hires.fix』を用いて高解像度化・高画質化する方法になります。

続いては『Hires.fix』を用いて生成した画像が、実際に高解像度化・高画質化されているのか確認してみましょう!

『Hires.fix』を使っていない画像と使った画像の比較

『Hires.fix』を使用していない画像の作成:今回は、アジア系の人物のモデルとして汎用的に使用される「Beautiful Realistic Asians」を用いて、画像を呪文(プロンプト)に従って生成しました。

以下、画像生成の際に入力した呪文(プロンプト)・設定値などの情報です。

●呪文(プロンプト)

1 woman, full body, cute, ultra-detailed human face, short dark hair,ringe, ultra-detailed brown eyes, ultra-detailed teeth, white teeth, real life,(suit, lakeside:1.2), <lora:JapaneseDollLikeness_v1.5:0.6>.

●ネガティブプロンプト

EasyNegative, 2 or more, (bad fingers, mutated hands, extra fingers, liquid finger, poorly drawn hands, malformed hands, missing finger,extra digit, fewer digits, bad fingers,missing limb:1.2), hairy pussy, nude,nsfw.

●その他設定

Steps: 20

Sampler: DPM++ 2M Karras

CFG scale: 7

Seed: 1796503093

Size: 512×512

Model hash: ac68270450

Model: braBeautifulRealistic_brav5

Version: v1.5.1

※『CFG scale』について詳しく知りたい方は、以下の記事を参考にしてください。

※『Seed(シード)値』について詳しく知りたい方は、以下の記事を参考にしてください。

『Hires.fix』を使用した画像の作成:①で得られた画像のSeed値と、①で使用した呪文(プロンプト)・設定値を入力し、『Hires.fix』を用いて高解像度化・高画質化する方法に従って画像を生成しました。

2つの画像を比較してみると、「髪の毛のきめ細やかさ」や「スーツの質感」などが異なることがわかるかと思います。(左:画像①、右:画像②)

一方で、顔のパーツの配置などは画像①のほうがしっくりする感じがしますよね。

これはおそらく、Stable Diffusionのモデルが512×512のピクセルで学習しているためだと推察します。みなさんもいろいろなアスペクト比率で画像生成をしてみてください!

『Hires.fix』のメリット

『Hires.fix』のメリットとしては、

画像全体の構図の破綻や崩れを抑えつつ、高解像度・高画質のイラスト画像を生成できる

ことが挙げられます。

※『Hires.fix』の詳しい使い方については、以下の記事を参考にしてください。

Stable Diffusionで高解像度化する方法②:『MultiDiffusion』『Tiled Diffusion』を導入・使用する。

『MultiDiffusion』『Tiled Diffusion』については、併せて利用する方法になりますのでまとめて紹介していきます!

Stable Diffusionの拡張機能である『MultiDiffusion』『Tiled Diffusion』は、まずはインストールが必要です。

『MultiDiffusion』のインストール方法

手順1:“Extentions”タブを開き、“Install from URL”タブをクリック。

手順2:URLの欄に『https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111』を入力した後、“Install”をクリック。

手順3:“Installed”タブを開いた後、“Apply and quit”をクリックし、Stable Diffusionを再起動。

以上で、『MultiDiffusion』をStable Diffusionにインストールすることができました。

『MultiDiffusion』の使い方

インストールが完了したら、実際に『MultiDiffusion』を使って高解像度化・高画質化してみましょう。

手順1:高解像度化したい画像を用意する。(今回は、既に作成済みの画像①を使用。)

手順2:”img2img”タブを開き、手順1で作成した際のモデルの選択と呪文(プロンプト)の入力を行う。

手順3:手順1で作成した画像を挿入し、”Sampling method”を選択する。

手順4:”Resize by”タブを開き「Scale」の値を設定した後、「Denoising strength」の値を設定。

(今回は、Scale:2、Denoising strength:0.6に設定。また、『MultiDiffusion』のインストールにより、“Tiled Diffusion”と”Tiled VAE”のタブが追加されていることを確認。)

手順5:先程確認した”Tiled Diffusion“のタブを開き、「Enable Tiled Diffusion」をチェックし、「Upscaler」を設定。

(今回は、Upscaler:R-ESRGAN 4x+ Anime6Bに設定)

手順6:”Tiled VAE”タブを開き、「Enable Tiled VAE」をチェックし、画像を生成する。

以上が、『MultiDiffusion』『Tiled Diffusion』を用いて高解像度化・高画質化する方法です。実際に、生成された画像は以下の通りです。

●『MultiDiffusion』『Tiled Diffusion』を使っていない画像と使った画像の比較

2つの画像を比較してみると、『Hires.fix』を使用した際と同様に「髪の毛のきめ細やかさ」や「スーツの質感」などが異なることがわかるかと思います。(左:元画像、右:『MultiDiffusion』『Tiled Diffusion』を用いて高解像度化・高画質化した画像)

『Multi Diffusion』のメリット

以上のことから、『MultiDiffusion』のメリットとして、

  • 容量が少ないグラボ(グラフィックボード)でも、高解像度・高画質のイラスト画像を生成できる
  • より高画質で繊細にしながら、画像をアップスケール出来る

が挙げられます。

※Stable Diffusionの『Tile』については、以下の記事で詳しく解説しています!

Stable Diffusionの画像生成を最速で学びたいあなたへ!
  • Stable Diffusionの基礎を2時間でマスター!
  • 高スペックPCがない方向けに徹底解説。
  • ControlNetなど、必須級の拡張機能も網羅。
  • 今話題のSDXL、AI動画生成も。
  • 特典として、大人気「おすすめ拡張機能・モデル解説」「プロンプト大全」つき!
\このボタン限定!70%オフキャンペーン実施中!/
70%オフキャンペーン実施中!/

まとめ

いかがだったでしょうか。

Stable Diffusionで高解像度化・高画質化して画像の破綻や顔が崩れる現象を防ぐ方法について解説してきました!

今回のポイントをまとめると、以下のようになります。

  • 『Hires.fix』は、高解像度の画像生成を補助するオプション機能
  • 『MultiDiffusion』は、高解像度の画像を生成できる拡張機能。(要インストール)
  • 『Tiled Diffusion』は、少ないVRAM容量でもイラストを高解像度化・高画質化にアップスケールできる拡張機能。
  • 『Hires.fix』・『MultiDiffusion』『Tiled Diffusion』を使用すると、細部の質感まで描写可能

以上が、『Hires.fix』『MultiDiffusion』を用いて、画像を高解像度にする方法でした。ぜひ、参考にしてください。

※今回の記事と合わせて、全身の構図・手・指などの画像生成において崩れやすい部分を綺麗に生成する方法をまとめた記事も読んでみてください!

プロンプトジェネレーターで画像生成プロンプトの参考に!
  • Stable Diffusionのプロンプトの見本が知りたい
  • 画像生成が思ったようにできない
  • 色々なプロンプトを探したい
など、画像生成AIのプロンプトに関する疑問が解決するかもしれません。