クリエイティブ分析
ComfyUIで画像を高画質化する方法|アップスケール方式とモデルの選び方

目次
ComfyUIで画像を大きくしたいとき、「アップスケールモデルを1つ選べば終わり」と考えると失敗しやすい。
同じ高画質化でも、元画像をほぼ維持して拡大したいのか、失われた細部を復元したいのか、AIに新しいディテールを作らせたいのかで選ぶ方式が変わるからだ。
最初に決めるべきなのは倍率ではない。元画像をどこまで変えてよいかである。
3種類を分けて考える
| 方式 | 向いている用途 | 元画像の変化 | 計算負荷の目安 |
|---|---|---|---|
| 通常のリサイズ | サイズだけ合わせたい | 小さい | 小さい |
| 専用アップスケールモデル | 写真・イラストを保ちながら鮮明化したい | 小〜中 | 中 |
| 生成系アップスケール | 細部を積極的に描き直したい | 中〜大 | 大きい |
まず専用アップスケールモデルを試し、結果に不足があるときだけ生成系へ進む方が比較しやすい。
ComfyUIにはアップスケール機能が最初からある
ComfyUI公式は、中核機能としてESRGAN、ESRGAN 構成、SwinIR、Swin2SRなどのアップスケールモデルを扱えることを案内している。
ローカルのアップスケールモデルは通常、次の場所へ置く。
ComfyUI/models/upscale_models/
公式のUpscaleModelLoaderは、このフォルダとextra_model_paths.yamlで指定した追加パスからモデルを検出する。
基本的な流れは次のようになる。
Load Image
↓
Load Upscale Model
↓
Upscale Image (using Model)
↓
Save Image
画像生成用チェックポイントとは保存場所も役割も違う。アップスケールモデルをチェックポイント読み込み機能へ入れるのではなく、専用読み込み機能で扱う。
「4x」と書いてあれば4倍で使うべきとは限らない
アップスケールモデルには2xや4xなどの倍率が付いていることが多い。
ただし、実際の最終解像度はワークフロー側で再調整できる。たとえば4xモデルで一度拡大したあと、目的のサイズへ縮小する方法もある。
重要なのは、倍率の数字だけで画質を比較しないことだ。
同じ4xでも、写真向け、アニメ・イラスト向け、シャープさ重視、ノイズ除去重視などで結果は変わる。
元画像を変えたくないなら、まず専用SRモデル
完成したイラストや写真の構図・顔・文字などをできるだけ維持したい場合は、ESRGAN系やSwinIR系などの専用超解像度モデルから試す。
この方式でも存在しない情報を完全に復元できるわけではないが、生成モデルを再度通す方式よりは元画像を保持しやすい。
比較するときは次を見る。
- 輪郭が過剰にシャープになっていないか
- 髪や布の質感が不自然に変わっていないか
- 小さな文字やロゴが壊れていないか
- 肌がプラスチックのようになっていないか
- ノイズまで強調していないか
モデル名だけで「最高画質」を決めるより、自分の画像ジャンルで比較した方が確実だ。
生成系アップスケールは「復元」ではなく再生成を含む
拡大後に拡散モデルなどを使って細部を描き直す方式では、低解像度画像になかったディテールを追加できる。
その代わり、元画像と同一である保証は弱くなる。
特に顔、指、アクセサリー、文字、細い模様は変化しやすい。商品画像や資料画像のように内容を正確に維持したい用途では、この違いは大きい。
一方で、AIイラストの仕上げとして「多少変わってもよいので髪や衣装の情報量を増やしたい」という場合には生成系の方が向くことがある。
つまり、生成系は単なる高解像度化ではなく、高解像度での再解釈として扱った方がよい。
AIアップスケールと普通のリサイズは別物
Lanczosやバイキュービックなどの通常リサイズは、新しい意味的ディテールを生成しない。
目的がSNS投稿サイズへの変換やレイアウト調整なら、AIアップスケールを使わない方が速く、元画像も変わらない。
逆に、小さい元画像から輪郭や質感を改善したいなら専用アップスケールモデルを試す価値がある。
「大きくしたい」と「高画質化したい」を分けるだけで、不要なAI処理を減らせる。
高解像度ほどVRAMだけ見ない
出力解像度を上げるほど、処理する画像データ量は増える。
ただし必要メモリは、モデル、ノード、タイル処理、数値精度、同時に読み込んでいる他モデルなどでも変わる。そのため「4KならVRAM○GB」のような固定値にはしにくい。
高解像度で失敗した場合は、既存のComfyUI CUDA out of memory対処と同じように、条件を一つずつ変える。
特に記録したいのは次の4つだ。
入力解像度:
出力解像度:
使用したupscale model / workflow:
処理時間・peak VRAM・system RAM:
速度が極端に落ちる場合は、ComfyUIの生成が遅いときのボトルネック確認も合わせて確認する。
最初の比較は同じ画像で行う
アップスケールは主観評価になりやすい。そこで同じ入力画像を固定し、2〜3種類だけ比較する。
おすすめの順序は次の通り。
- 通常リサイズ
- 専用アップスケールモデル
- 必要なら生成系アップスケール
これで「AI処理を加えたことで本当に良くなったのか」を判断できる。
最初から複雑なワークフローを組むと、どの処理が画質へ効いたのか分からなくなる。
ComfyUIのアップスケールでGPUを選ぶとき
アップスケールだけを理由にGPUを買うなら、モデル名より自分が使うワークフローのVRAM使用量のピークを見るべきだ。
専用SRモデルだけなら比較的軽い構成でも動く場合があるが、生成系アップスケールではベースの拡散モデル、VAE、ControlNetなどを同時に扱うことがあり、必要なGPUメモリは大きく変わる。
したがって購入判断では、単純な「アップスケールに必要なVRAM」ではなく、普段使う画像生成ワークフローにアップスケール工程を追加したときのピークを見る。
まとめ
- アップスケールには、画素を拡大する処理、専用SRモデルで復元する処理、生成モデルで細部を作り直す処理があり、同じ「高画質化」でも目的が違う
- ComfyUI 中核はESRGAN系やSwinIR系などのアップスケールモデルを扱え、ComfyUI/models/upscale_modelsから読み込める
- 元絵を変えたくない場合は専用アップスケールモデルから試し、細部を積極的に再生成したい場合だけ生成系へ進む
- 高解像度化ではVRAMだけでなくシステムRAM、処理時間、タイル分割、出力解像度も比較する