generated at
ComfyUI-SUPIR

インストール
ComfyUI Managerからで問題なし
もし手動でしたいなら
$ cd path\to\ComfyUI\custom_nodes
$ git clone https://github.com/kijai/ComfyUI-SUPIR.git
$ ../../../python_embeded/python.exe -m pip install -r requirements.txt
xformersが必要なのでインストール
$ ../../../python_embeded/python.exe -m pip install -U xformers --no-dependencies
モデルのダウンロード
https://huggingface.co/camenduru/SUPIR/tree/maincamenduru/SUPIRから SUPIR-v0Q.ckpt SUPIR-v0F.ckpt path\to\ComfyUI\models\checkpoints に置く
上のモデルをPruningしたもので、サイズが半分になっています
VRAMの使用料が減るかもしれない

captions
論文ではLLaVA-1.5を使ってキャプションをつけているが、このノードではVLMによるキャプションを内臓していない
a_prompt に手動でプロンプトをいれても良いし、ComfyUI VLM nodes等でVLMにキャプションを生成させてここに接続してもよい
ただし、例えばllava v1.6だとVRAM7GB占有してしまうので選ばれし民しか併用できない
上のworkflowではJoyTagを使用
正しいプロンプトは非常に大事で、プロンプトが適当だと生成される画像のクオリティが大分下がる
captions a_prompt のテキストは単純に連結されてプロンプトとして使用される
supir_model にはダウンロードしたSUPIRモデルのどちらかを選択
論文で使われたモデル
>SUPIR-v0FのStage1エンコーダは、光劣化に直面しても、より詳細な情報を残す。
sdxl_model
好きなモデルを選択
cfg_scale
現在議論されているところだが、4.0程度が良いらしい
scale_by
倍率
ここで画像を拡大しても良いし、ImageUpscaleWithModelノード等を使って先に画像をアップスケールしてからscale_byは1にしてSUPIRで綺麗にするという方法もある
use_tiled_vae
VRAM富豪以外はtrueにしないと動きもしない
use_tiled_sampling
TIlingによって生成速度は大分早くなるが、Tilingの弱点は引き継がれる
fp8_unet
fp8_vae
fp8をオンにするとVRAM12GBでも2048pxくらいまではタイルなしで生成できる

V2
処理を細かいノードの分割したもの
基本的にSUPIRがやっていることはControlNet + image2image
なのでHires.fixのように先に画像を拡大してからSUPIR Samplerに流す
VRAM12GBのグラボの場合、 fp8_unet / use_tiled_vae のすべて true にしないと多分動きません

V2改
🟨アップデートによりSUPIRモデルとSDXLモデルを別のノードで読み込めるようになった
これによりSDXL用のLoRAモデルを追加することができる
🟪JoyTagをJoyCaptionに変更
clear_cache true にしておかないとうまくVRAM開放されずに処理が止まるかもしれない


エラーを一応メモ
$ Error occurred when executing SUPIR_Upscale:
$ The size of tensor a (24) must match the size of tensor b (128) at non-singleton dimension 3
画像サイズ× scale_by sampling_tile_size より小さいのにuse_tiled_samplingをtrueにすると発生する
それはそう


Stable Diffusion使ったアップスケーラー特有のよくわからない描き込みが増えることがあるので、実際の写真に対して使うかは微妙nomadoor
生成画像に関してはSD upscale使うよりこれで仕上げる方が安定してて良いんではなかろうか