【ローカル】OllamaとComfyUIで高性能写真アップスケーラを作る【StableDiffusion】
想定する読者
すべてローカル&無料ソフトウェアを利用したい人
オリジナルに忠実なアップスケーラを ComfyUI で作りたい人
ComfyUI をローカルへインストール済み
Ollama をローカルへインストール済み
※ ComfyUI の json ファイルダウンロードのみを有料欄に記載しています。ノード情報は画像としてすべて無料公開しています。
※ ComfyUI や Ollama インストール方法の詳細は下記記事に記載しています。
はじめに
ローカルにインストールした Ollama(LLM)と ComfyUI(Stable Diffusion)を利用して高性能写真アップスケーラ (2x) を作ります。自分でAIモデルを最適なものに変更・強度を詳細にコントロールできるため、一般的な有料のネットサービスアップスケーラよりも綺麗な仕上がりにできます。
アップスケーラとしては一般的なやり方ですが、オリジナルのアイデンティティを保つ事を重視したアップスケーラになります。次に説明する技術を ComfyUI で組み合わせて実現します。
手順とキー・コンポーネント
① ESRGANで画像を2倍にする。
のっぺりさせない(デメリットとしてノイズを増幅してしまう)アップスケーラとして定評のある NMKD-Superscale-SP で4倍にし、その後0.5倍とする事で2倍にします。
※ NMKD-Superscale-SP は元画像がそれなりに綺麗なものに適しています。JPEGノイズが多いものは 4xFFHQLDAT 等のノイズに対応したモデルが適しています。記事の付録にその他のモデルのダウンロード先を紹介しています。
② llava-llama3 で Stable Diffusion 用プロンプトを生成する。
llava は画像を扱う事ができる LLM です。Stable Diffusion に付属の CLIP を利用するよりも詳細に正しく画像を記述する事ができます。※ ComfyUIノード以外にOllama のインストールが必要です
③ ControlNet を利用して img2img する。
Stable Diffusion 拡散法を利用したアップスケール(img2img)は、元の画像に存在しない情報まで推測して生成する事ができる反面、オリジナルのアイデンティティも失ってしまいます。そこで、ControlNet を利用して形状などを大きく変更させないようにする手法が良く用いられます。
深度マップ生成には、もっとも詳細を表現できる Marigold と輪郭を扱う canny モデルの2つを利用します。
④ 生成画像を ESRGAN 画像とα値合成(normal)で調整する。
オリジナル寄りにする調整です。100%で Stable Diffusion 結果、0%でESRGAN結果になります。
全体
有料欄でjsonファイルをダウンロードできるようにしています。
テストと調整方法
次の項目を変更する事で仕上がりを調整できます。一般にAI効果が強ければ強いほど綺麗になりますが、当然オリジナルから離れていきます。
Stable Diffusion(K-Sampler)の denoise 頁:(0.2〜0.4)
α合成の割合(ImageBlendの比)
チェックポイント
付録
4x-NMKD-Superscale等の各種アップスケーラの入手先
Stable Diffusion チェックポイント(Realistic Vision)
ComfyUI json ファイルのダウンロード
ここから先は
この記事が気に入ったらサポートをしてみませんか?