C20:ComfyUI における Image-to-Image 変換をマスターする

はじめに

Image-to-Image変換は、AI 駆動の生成モデルで、画像を潜在空間に変換して拡散プロセスを適用することで画像を変更または拡張するために使用される強力な手法です。ノイズから始めるのとは異なり、このアプローチでは既存の画像を扱うことができ、元のコンテンツを尊重しながら様式的な変更を取り入れる変換が可能になります。この記事では、ComfyUIで Image-to-Image ワークフローを設定する方法を説明し、最適な結果を得るためのデノイズ値などの主要なパラメータを探ります。



Image-to-Image 変換とは何か

Image-to-Image 変換では、変分オートエンコーダ (VAE)を利用して画像を潜在空間にエンコードし、拡散技術を使用して変更を加えます。潜在画像はその後ピクセル空間にデコードされ、加えられた変更を反映した新しい画像が生成されます。この方法は、スタイル転送、画像修復、創造的な変更などのタスクに特に役立ちます。


ComfyUI でのワークフローの設定

ComfyUI で Image-to-Image ワークフローを作成するには、次の手順に従います:

ステップ 1:画像の読み込み

  1. Load Image Nodeを追加します:
    • ComfyUI のインターフェイスでダブルクリックして、LOADと入力します。
    • Load Image Nodeを選択します。
    • クリックして画像ファイルをアップロードします。
    • 目的の画像ファイルまで移動し、Openをクリックします。画像は ComfyUI の入力フォルダにコピーされます。
  2. 画像の場所を確認します:
    • ComfyUI のインストール ディレクトリにあるinputフォルダを確認します。
    • 整理を保つために、古いファイルを定期的に削除します。

ステップ 2:画像のスケーリング

ほとんどの生成モデルでは、画像が特定の解像度パラメータに適合する必要があります。画像のサイズを変更するには:

  1. Upscale Image Nodeを追加します:
    • ダブルクリックして、UPSCALEと入力します。
    • Upscale Image Nodeを選択します。
    • このノードをLoad Image NodeとVAE Encode Nodeの間に接続します。
  2. 解像度パラメータを設定します:
    • Resolution Selector Nodeを追加します。
    • 幅と高さのウィジェットを右クリックして、入力に変換します。
    • 希望する幅と高さの値を指定します。

ステップ 3:画像の潜在空間へのエンコード

  1. VAE Encode Nodeを追加します:
    • ダブルクリックして、VAEと入力します。
    • VAE Encode Nodeを選択します。
    • このノードの潜在出力をK-Sampler Nodeの潜在画像入力に接続します。
  2. モデル チェックポイントが必要な VAE を提供していることを確認します。

ステップ 4:サンプラ パラメータの構成

K-Sampler Nodeでは、拡散プロセスの主要なパラメータを制御できます:

  • ステップ数:品質を向上させるためにステップ数を増やします (例:30 ステップ)。
  • CFG Scale:Classifier-Free Guidance スケール (例:8.0) を設定し、プロンプトと潜在画像への追従のバランスを取ります。
  • サンプラの種類:Eulerを使用すると、一貫した結果が得られます。
  • デノイズ強度:拡散プロセス中に追加および除去されるノイズの量を制御するために、デノイズ値を調整します。

デノイズ値について理解する

デノイズ強度パラメータは、拡散プロセス中に元の画像がどれだけ変更されるかを決定します。以下は、さまざまなデノイズ値に基づく結果の内訳です:

  • 1.00:元の画像を生成コンテンツで完全に置き換えます。これは、スタイル プロンプトに基づいてまったく新しい画像を作成するのに最適です。
  • 0.5:元の画像と様式的な変更のバランスを取ります。これは、芸術的な変更を加えながら重要な特徴を保持するのに役立ちます。
  • 0.2:元の画像を最小限に変更し、入力画像への高い忠実度を確保しながら、わずかな様式的な強調を加えます。
  • 0.0:エンコードとデコードのプロセスによるわずかな差異を除き、基本的に元の画像を再現します。

結果の例

Pinnacles の画像を入力として使用すると、次の結果が観察されました:

元の画像:

  • デノイズ 1.00:まったく新しい画像を生成しました。
  • デノイズ 0.5:Pinnacles の絵画風バージョンを生成しましたが、元の写真とはわずかに異なりました。
  • デノイズ 0.2:スタイル プロンプトを尊重しながら、入力画像とよく一致しました。
  • デノイズ 0.0:潜在空間での処理のためやや拡散してはいますが、元の写真を再現しました。

最適な結果を得るためのヒント

  1. 適切なデノイズ値を選択する:
    • 大幅な変換の場合:1.00 に近い値を使用します。
    • 微妙な変更の場合:0.2 から 0.5 の間の値を使用します。
    • 元の画像を保持する場合:0.0 に近い値を使用します。
  2. プロンプトを磨き上げる:
    • スタイルに関する指示を明確に指定します。
    • 元の画像を主役にしたい場合は、コンテンツ関連の指示を含めないようにします。
  3. 学習データのバイアスに注意する:
    • 学習データセットが出力に影響を与える可能性があることに注意してください。たとえば、学習データに多い視点が、入力画像の独自の特徴を上書きしてしまうことがあります。

元の画像と最終画像の比較

Pinnacles の画像をデノイズ値0.2で処理した結果、元の写真とよく一致し、芸術的な強調も加えられました。これは、スタイル プロンプトと入力画像を融合させる Image-to-Image 変換の有効性を示しています。


まとめ

ComfyUI における Image-to-Image 変換は、潜在空間における拡散を利用して画像を変更するための柔軟で強力な方法を提供します。ノードとパラメータを慎重に構成することで、ユーザーは微妙な強調から完全な変換まで、さまざまな結果を得ることができます。デノイズ値の調整は、元の画像と様式的な変更のバランスを取るための鍵となります。

2 thoughts on “C20: Mastering Image-to-Image Transformation in ComfyUI”

コメントを残す