日常の色々な事

開発の考えや映画やアニメなど、ごちゃごちゃしたものを書いてます。「本サイトはアフィリエイトが含まれています」

【初心者向け】ComfyUIの画像生成の設定の手順

【初心者向け】ComfyUIのインストールから画像生成までの手順 の続きです。前回はComfyUIのインストールとサンプルの画像生成を行いました。

今回は、画像生成の設定について色々説明していきたいと思います。使えることをメインにしますので細かい設定や難しい話は無しでいきます。

次は【初心者向け】ComfyUIで似たようなキャラを生成する(IPAdapterとLoRAの使用) - 日常の色々な事です

 

ComfyUIの起動

解凍した「ComfyUI_windows_portable」内にある「run_nvidia_gpu.bat」をダブルクリックで実行してください。GPUの無いPCの場合は「run_cpu.bat」をダブルクリックしてください。数秒で起動します。

起動が完了するとブラウザが自動的に開いて下の画面で表示されます。前回と一緒ですね。

ComfyUIの起動画面

プロンプトの変更

プロンプトによって生成する画像をStable Diffusion に指示できます。

下画像の黄色のノードが「どのような画像が欲しいか指示をする」言葉です。下画像の赤色のノードが「どのような画像になってほしくないのか指示をする」言葉です。

ノードとしては同じなのですが、右のKSamplerにつなぐところがpositiveな方が欲しい指示、negativeの方が欲しくない指示のノードに分かれてます。

プロンプトの画面

ポジティブプロンプトの変更

試しに上の枠内を選択して「masterpiece, 1girl, cat girl, looking at viewer, upper body」を入れて、右の「Queue Prompt」を押してください。言葉の意味は「良い品質で一人の猫娘がこっちを見ている上半身」の写真を指示しています。

ちなみに()と:1.Xとすると強さが変わります。なので「masterpiece, 1girl, cat girl, looking at viewer, (upper body:1.2)」にすると多めに上半身の絵が出てきます。

こちらでは下のような画像が生成されました。特に出力内容を固定していないので何度かやると別の画像になります。なんか思っていたのと違うかと思いますが、この後直していきます。

ポジティブプロンプトの生成画像

ネガティブプロンプトの変更

上の画像では「猫娘」が「猫と娘」になっています。猫を出したいわけじゃないため、下の赤枠内のプロンプトに「,cat」を入れて右の「Queue Prompt」を押してください。
この時文字と文字の間は「,」で区切るので「cat」の前の「,」を忘れないようにしてください。

何度か生成してみると猫の出現率が激減しているかと思います。でも猫娘じゃないので、この後直していきます。

ネガティブプロンプトの生成画像

 

モデルの変更

Stable Diffusion は元となるモデルによって生成される絵柄や生成できる精度が変わってきます。上で使っていたモデルはおそらく絵画を中心に学習したものですので、アニメ系のモデルを使っていこうと思います。

1. モデルのダウンロード

モデルは「Civitai」や「Hugging Face」の2つのサイトにたくさんあります。ただ、使いにくいのでモデル名を検索して直接モデルのページに行った方が楽です。

今回は良く使う Anything XL モデルを使用します。

万象熔炉 | Anything XL - XL | Stable Diffusion Checkpoint | Civitai にアクセスして下の赤枠を押すと会員登録画面になり、登録して再度ボタンを押すとダウンロードが始まります。

Civitaiの画面

ちなみにBase ModelがSDXL 1.0 となっていますが、SD 1.Xよりも新しく互換性がないので注意してください。

※この後に出る色々をSDXLに合わせればOKです

2. モデルの配置&読み込み

数分後ダウンロードが完了したらComfyUIを解凍したフォルダの中の「ComfyUI/models/checkpoints」にダウンロードしたものを置いてください。

コピーが終わったら、ComfyUIの右のRefresh(下画面の赤枠)を押してください。画面上は変わりませんが数秒ぐらいでリフレッシュできます。

読み込みボタン画面

3. モデルの変更&画像生成

正常にモデルが配置できると「Load Checkpoint」の枠を押すと選択できるモデルが出てきます。出てこない場合は配置場所があっているかリフレッシュをしたかを確認してください。最悪ComfyUIを再起動してください。

モデル変更画面

モデルを「AnythingXL_xl.safetensors」に変更したら右の「Queue Prompt」を押してください。

モデルを変えてからの最初の実行時にモデルを読み込むので「Load Checkpoint」が緑の枠に囲まれたまま数分時間が必要になります。

生成した画像は下になります。前のモデルと比べて生成した画像はどうでしょうか?ちゃんと猫娘になりました。全然違いますね。他にも実写系に強いモデルや風景に強いモデルなど色々ありますので自分の好きなモデルを選んでください。

モデル変更後の生成画像

ex. ComfyUI Manager を使ったモデルのダウンロード&配置

右下の「Manager」を押した後に「Install Models」を押して出てくるダイアログから必要なモデルを選択して右の「Install」を押すとダウンロードから配置までやってくれます。モデルによってはないのでない場合は上の方法でダウンロード&配置してください。

ComfyUI Managerを使ったモデル

VAEの変更

VAEは生成した画像にフィルターをかけることによって、鮮やかにしたり、逆にぼやかして幻想的にしたりと色々できます。

1. VAEのダウンロード

VAEも「Civitai」や「Hugging Face」の2つのサイトにたくさんあります。ただ、使いにくいのでモデル名を検索して直接モデルのページに行った方が楽です。

今回は良く使う CounterfeitXL を使用します。

CounterfeitXL - v2.5 | Stable Diffusion Checkpoint | Civitaiにアクセスしてダウンロードしてください。結構重いのでゆっくりダウンロードを待ってください。

2. VAEの配置&読み込み

ダウンロードが完了したらComfyUIを解凍したフォルダの中の「ComfyUI/models/vae」にダウンロードしたものを置いてください。

コピーが終わったら、ComfyUIの右のRefresh(下画面の赤枠)を押してください。画面上は変わりませんが数秒ぐらいでリフレッシュできます。

3. Load VAEノードを配置、配線してモデル指定

ComfyUIの画面で必要なノードを出していきます。ComfyUIの黒いところにダブルクリックして「Load VAE」を入れて出てきたノードを選択してください。

出てきたノードのモデルをダウンロードしたものに変更してVae Decodeにつなぎ画像生成をします。

手の補正

Stable Diffusion は手と顔が崩れやすい欠点があります。その欠点を防ぐために生成した画像に対して新たに手や顔を再生成することでなるべく崩れないようにしていきます。

1. Customノードインストール画面の表示

ComfyUI Managerを使って必要な拡張ノードをインストールします。

下画像の赤の「Manager」を押して表示されたダイアログの「Install Custom Nodes」を選択してください。

Install Custom Nodesの画面

2. ComfyUI-Impact-Packのインストール

右上の検索欄(赤枠)に「ComfyUI-Impact-Pack」を入れて、エンターまたは「Search」を選択してください。

そうすると絞り込まれるので「ComfyUI Impact Pack」の右にある「Install」(緑枠)を押してください。

ComfyUI-Impact-Packのインストール

下の方にこの文言が出ればOKです。「RESTART」ボタンを押してください。数分待っているとComfyUIが再起動されて新しくブラウザが立ち上がります。

ComfyUI-Impact-Packのインストール完了

3. 必要なノードの配置

ComfyUIの画面で必要なノードを出していきます。ComfyUIの黒いところにダブルクリックして「FaceDetailer」「UltralyticsDetectorProvider」をそれぞれ入れて出てきたノードを選択してください。

FaceDetailerの配置

UltralyticsDetectorProviderの配置

配置後

4. ノードの配線

それぞれFaceDetailerに線を引いていきます。

  • VAE Decode:IMAGE -> FaceDetailer:image
  • Load Checkpoint:MODEL -> FaceDetailer:model
  • Load Checkpoint:CLIP-> FaceDetailer:clip
  • Load Checkpoint:VAE-> FaceDetailer:vae
  • CLIP Text Encode:CONDITIONING -> FaceDetailer:positive
  • CLIP Text Encode:CONDITIONING -> FaceDetailer:negative
  • UltralyticsDetectorProvider:BBOX_DETECTOR -> FaceDetailer:bbox_detector
  • FaceDetailer:image -> Save Image:images

5. 手の生成モデル選択

UltralyticsDetectorProviderのモデルをbbox/hand_yolov8s.ptに変更してください。

これをface_XXXX.ptに変えると顔の補正になります。

6. 画像生成

「Queue Prompt」で実行してください。今までの生成に比べてちょっと時間が掛かりますが、補正された絵が出てきます。

左:生成前、右:生成後