ComfyUI-DLSS5-Enhancerの使い方!導入と設定方法

ComfyUI-DLSS5-Enhancerというカスタムノードがリリースされたので使ってみました。

ゲームで使われているNVIDIAのDLSSをそのまま呼び出して、動画や画像を高速アップスケールできるそうです。

ComfyUI-DLSS5-Enhancerとは?

ComfyUI-DLSS5-Enhancerは、NVIDIAのDLSS 5をComfyUIから使えるようにするノードパックです。

画像を1.5倍から3倍まで拡大でき、拡大せずに質感だけ整えることもできます。

拡大しながらノイズを減らし、肌や髪、布などの質感を作り直すため、ただ引き伸ばしただけのぼやけた絵にはなりません。

顔そのものを描き直す機能ではなく、あくまで生成後の仕上げに使うものです。

主な特徴

  • 画像1枚でも、連番になった画像のまとまりでも処理できる
  • 長い動画は画像に展開せず、動画ファイルのまま処理できる
  • 拡大倍率は等倍・1.5倍・1.724倍・2倍・3倍から選ぶ
  • 質感や色味の効き具合を数値で調整できる
GitHub – Blueforcer/ComfyUI-DLSS5-Enhancer: NVIDIA DLSS 5 Neural Rendering (NGX feature 18) as ComfyUI nodes. Enhance image batches and video files with the real neural renderer, with optional upscaling.
NVIDIA DLSS 5 Neural Rendering (NGX feature 18) as ComfyUI nodes. Enhance image batches and video files with the real ne…

対応環境と導入前の注意点

動かすにはWindowsと、対応するNVIDIA RTXのGPUが必要です。

項目条件
OSWindows
GPURTX 30・40・50シリーズ
ドライバ現在のNVIDIA GeForceドライバ
ComfyUIV3 Node APIのcomfy_api.latestを使用できるビルド

ComfyUIをまだ入れていない場合は、こちらを参考にしてみてください。

【ComfyUI】の使い方・始め方まとめ|インストールから基本操作・カスタムノードまで
ComfyUIを始めたいけど、インストール方法がいくつかあってどれを選べばいいか迷う、という方は多いと思います。この記事では、ComfyUIの導入方法の違いと選び方、そして基本的な使い方の入口をまとめて紹介します。各トピックの詳しい手順は、…

ノード本体のライセンスはMITですが、あとから入れるランタイムにはNVIDIAなど提供元ごとの利用条件があります。

またこのランタイムは、Windows DefenderやSmartScreenにブロックされることがあるので気をつけてください。

ComfyUI-DLSS5-Enhancerのインストール方法

執筆時点だとComfyUI-Managerになかったので、手動で入れてます。

ComfyUI\custom_nodesで以下を実行してください。

git clone https://github.com/Blueforcer/ComfyUI-DLSS5-Enhancer.git

DLSS 5ランタイムをセットアップする

カスタムノードをインストールしたあとに、別途ランタイムのセットアップが必要です。

ポータブル版ならComfyUI_windows_portableで以下を実行してください。

python_embeded\python.exe ComfyUI\custom_nodes\ComfyUI-DLSS5-Enhancer\install_runtime.py

Stability MatrixならComfyUIフォルダで仮想環境からinstall_runtime.pyを実行します。

venv\Scripts\python.exe custom_nodes\ComfyUI-DLSS5-Enhancer\install_runtime.py

ライセンス表示に同意して「y」を入力してEnterで進められます。

install_runtime.pyのライセンス確認でContinue? [y/N]にyを入力したコマンドプロンプト

無事終了すると最後に「Restart ComfyUI to use the DLSS5 nodes.」と出るので、ComfyUIを再起動してください。

3つのノードと役割

増えるノードは以下の3つです。

ノード役割
DLSS5 Settings拡大倍率や質感補正の強さをまとめて決める
DLSS5 Enhance Images画像を受け取って処理し、画像として返す
DLSS5 Enhance Video File動画ファイルを読み込み、音声込みの動画ファイルとして保存する

画像を補正・アップスケールする方法

画像を処理するときは、DLSS5 Enhance Imagesを使います。

Load ImageとDLSS5 Settings、DLSS5 Enhance Images、Save Imageをつないだ画像処理のワークフロー
  1. Load Imageなど、画像を出力するノードを置く
  2. DLSS5 SettingsとDLSS5 Enhance Imagesを追加する
  3. 画像ノードのIMAGE出力を、DLSS5 Enhance Imagesのimagesへつなぐ
  4. DLSS5 Settingsの出力を、同じノードのsettingsへつなぐ
  5. DLSS5 Enhance Imagesの出力をSave Imageへつなぐ
  6. 実行

つなぐ線はこの2本だけで、ほかに必要な接続はありません。

基本パラメータはdefaultのままで、upscaling_modeだけ変えて処理してみました。

左上から元画像、1x(4.87秒)、1.5x(4.72秒)、1.724x(4.29秒)、2x(4.31秒)、3x(5.23秒)です。

同じイラストを元画像と1x、1.5x、1.724x、2x、3xで処理して並べた比較画像

動画を処理する方法

動画は画像へ展開せず、DLSS5 Enhance Video Fileへファイルのまま渡します。

DLSS5 SettingsとDLSS5 Enhance Video Fileをつないだ動画処理のワークフロー
  1. DLSS5 SettingsとDLSS5 Enhance Video Fileを追加する
  2. DLSS5 Settingsの出力をsettingsへつなぐ
  3. video_pathへ入力動画の絶対パスを貼り付ける
  4. codec、container、qualityを選ぶ
  5. 必要ならfilename_prefixとoutput_directoryを変える
  6. 実行

DLSS5 Enhance Video Fileのパラメータは以下の通りです。

項目初期値変えたときの違い
codecHEVCH.264は互換性重視、HEVCは圧縮効率重視。AV1は対応GPUのNVENCが必要
containerMKVMKVは音声と字幕をそのまま保持。MP4とMOVは音声をAACへ変換し、字幕を除外
qualityAutoGood、Bestの順にビットレートが上がる。Maxは固定品質で書き出す
max_frames00は全フレームを処理。数値を入れると、そのフレーム数だけ試せる
copy_audioononで元動画の音声を出力へ含める
output_directory空欄空欄はComfyUIのoutputフォルダ。絶対パスなら任意の保存先を指定

左上から元動画、1x(22.47秒)、1.5x(22.02秒)、1.724x(22.16秒)、2x(21.39秒)、3x(24.33秒)です。

公式READMEの設定例とパラメータの説明

DLSS5 Settingsのupscaling_modeは以下の5種類です。

倍率DLSSのモード名
1xDLAA。拡大せず補正だけ行う
1.5xQuality
1.724xBalanced
2xPerformance
3xUltra Performance

AIに聞くとDLSSがやっているのは、足りないピクセルを「たぶんこうだろう」と埋める推測のようです。

なのでアップスケールサイズが大きい=綺麗ではなく、拡大しすぎると逆に作り物っぽくなってしまうこともあるとのこと。

元画像によっては3xより低い倍率の方が良いということがあるかもしれません。

残りの項目については、公式の「Recommended settings」に作者さんの測定結果があったので、AIに頼んで日本語にしてもらいました。

パラメータ初期値README記載の変化
dlss_model_presetMDefault、J、KよりもL、Mの方が肌や髪の質感が強く出た
local_structure_strength1.5範囲全体で局所的な構造の変化が確認された
local_tone_strength1.0範囲全体でローカルトーンの変化が確認された
skin_structure_strength2.0automatic_maskがonの場合のみ肌の細部に変化が出た
automatic_maskon肌として扱う領域を検出し、skin_structure_strengthを有効にする
nr_styleDefaultNaturalは元画像に近い柔らかな方向。Cinematicは影を深くし、色調を変える
nr_intensity1.01.0未満は元画像へ混ぜ戻す。現行ランタイムでは1.0、1.5、2.0が同じ出力だった
nr_presetDefault現行ランタイムでは値を変えても同じ出力だった

motion、scene_change_threshold、warmup_framesは動画向けの項目なので、画像1枚のときは初期値のままで問題ありません。

READMEの設定例では、拡大しない場合を1x、model M、automatic mask on、skin 2.0、structure 1.5としています。

拡大する例ではupscaling_modeを2xへ変え、効きが強すぎるときはnr_intensityを0.6から0.7、またはlocal_structure_strengthを1.0まで下げると良いそうです。

RTX Video Super Resolutionとの違い

RTX Video Super Resolutionと似てるなと思ったのですが、選べる設定やパラメータが違うようです。

項目RTX Video Super ResolutionComfyUI-DLSS5-Enhancer
倍率1.0倍から4.0倍を自由に指定。出力サイズの直接指定も可能1x、1.5x、1.724x、2x、3xの5択
画質設定LOW、MEDIUM、HIGH、ULTRAの4段階質感、肌、トーンを個別に数値で指定
動画フレームへ展開して渡す動画ファイルのまま処理し、音声も残せる
中身NVIDIA Video Effects SDKの超解像DLSS 5の超解像とNeural Rendering

倍率の自由度はRTX Video Super Resolutionの方が上で、3.5倍のような半端な指定や、出力サイズをぴったり合わせる指定ができます。

一方、質感の効き具合を項目ごとに決められるのはComfyUI-DLSS5-Enhancerの方なので、細かく調整したいならDLSS5の方がいいかもしれません。

よくあるエラーと対処方法

うまく動かないときは、表示されたメッセージから原因をたどれます。

エラー確認すること
No DLSS 5 runtime was foundinstall_runtime.pyを実行するか、DLSS5_RUNTIME_DIRを設定する
runtime is incomplete表示された不足ファイルを確認し、ランタイムを再セットアップする
worker could not be startedセキュリティソフトの隔離を確認し、runtimeフォルダを除外する
ffmpeg/ffprobe were not found動画処理用のffmpegを再セットアップするか、DLSS5_FFMPEG_DIRを設定する
feature-18 execution was not verifiedゲームや別の処理を止め、GPUを空けて再実行する
DLSS mode is unavailableupscaling modeを低い倍率へ変更する

HDRの動画は8-bit SDRへ変換されるため、色やハイライトを保ちたい場合は先にSDRへ変換すると良いそうです。

まとめ

画像についてはデフォルトの設定だと正直微妙な結果が多くて、アップスケールしたいだけならRTX Video Super Resolutionの方がいいかなと感じました。

動画についてもぱっと見違いがそこまで分からなかったです。

Redditの評価も以前ポストしたんですが、ゲーム風画像なら使えるみたいな意見が多かったので、うまく使えるシーンや調整などちょっと扱いが難しい印象でした。

ゲームの画像に適用して良くなってる例とかはちらほら見かけるので、画像や設定によっては良い感じに適用できるかもしれません。

以上ComfyUI-DLSS5-Enhancerの使い方を紹介しました。

参考になれば幸いです。

タイトルとURLをコピーしました