【StableDiffusion】ControlNetを使ってみよう/ControlNetについて知っておこう/ControlNetを使って画像を生成する

StableDiffusion
StableDiffusion
この記事は約7分で読めます。

おはようございます!

9月18日 水曜日。晴れ🌞
最高気温34℃(東京)。暑い!!🥵💦

もう何も言いますまい。。
時が過ぎるのを待ちます。

(顔文字gifか~面白いな。。)

 

さあ今日も学んでまいります。人生は学び。

今日の教材はこちら、

スポンサーリンク

 

よしやっていこう!

 

 

CHAPTER5 ControlNetを使ってみよう

 

Section 5-1

ControlNetについて知っておこう

 

 ※このセクションは、「ControlNetとはなんぞや」っていう内容なのでサクッとなぞる程度で終わらせたいです。(自分に言い聞かせ)

 

 「ControlNet」は、Stable Diffusionの派生拡張技術。プロンプトだけでは指定できない複雑な要素を画像に反映することができるため、より精度の高い画像生成が可能となる。最重要拡張技術と言っていい(らしい)。

 

 img2imgとControlNetは完全に別の技術。

img2img
 img2imgは、既存の画像を入力として使用し、その画像を基に新しい画像を生成する技術。元の画像の全体的な特徴を捉え、類似した画像を生成する。

ControlNet
 ControlNetは、画像生成の際により詳細な制御を可能にする拡張機能。ControlNetは、画像上の情報(線画、境界線、姿勢、深度情報など)を解析し、その情報に基づいて画像を生成する。

 

なるほど、ControlNetは、画像をめっちゃ解析するってことかな。

解析するんだね~

 

 

 

Section 5-2

ControlNetをダウンロード・準備する

 

 [Extensions(拡張機能)]から本体をインストールすることができるが、ControlNet本体に加え「プリプロセッサのモデル」をインストールする必要がある。

※ローカル環境での導入のみ以下に記述

 

ローカル環境での導入

・ControlNet本体のインストール

 以下URLより、GitHubの[<>Code]をクリックし、赤枠のコピーボタンをクリック

GitHub - Mikubill/sd-webui-controlnet: WebUI extension for ControlNet
WebUI extension for ControlNet. Contribute to Mikubill/sd-webui-controlnet development by creating an account on GitHub.

 

通常の拡張機能ど同様、WebUIの[拡張機能(Extensions)]タブ→[URLからインストール(Install from URL)]タブ→[拡張機能のリポジトリのURL(URL for extension’s git repository)]欄にコピーした内容を貼り付け[インストール]ボタン押下。

 

[インストール済]タブ→[アップデートを確認]ボタンをクリックし、[適用してUIを再起動]ボタン押下。

 

 

次に、プリプロセッサのモデルをダウンロード。ControlNetのモデルは、SD1.5、SD2.0、SDXLのベースモデルごとにそれぞれ別のものが公開されている。※今回はSD1.5のみ

・SD1.5用モデルファイル

comfyanonymous/ControlNet-v1-1_fp16_safetensors at main
We???re on a journey to advance and democratize artificial intelligence through open source and open science.

 

ファイル名「control_v11~_sd15_〇〇〇_fp16.safetensors」をダウンロード

 

ダウンロードしたファイルを以下パスに格納

(StableDiffusionインストールフォルダ)
       └ extensions
└ sd-webui-controlnet
                    └ models ←←←ここに格納

 

WebUIを再起動すると、[txt2img]→[Generation]タブに「ControlNet (バージョン)」が追加されている。

 

よし!準備できたー

 

 

Section 5-3

ControlNetを使って画像を生成する

 

 [txt2img]→[Generation]タブの[ControlNet(バージョン)]をクリック。

 

クリックすると以下のように展開される。

※⑩は教材に説明がなかったので追加で記載しています。

 

ControlNet Unit タブ
 複数のControlNetを同時に利用することができ、その場合は別のタブを開いてパラメータを設定する必要がある。

単一画像/バッチ/Multi-inputs タブ
 ・単一画像:単体の入力画像をアップロードする。Inpaintのようにマスクを設定することも
  できる。
 ・バッチ:あらかじめ画像を同じフォルダにまとめておき、そのフォルダパスを指定して複数
  の入力画像をまとめて処理する。
 ・Multi-inputs:複数の入力画像をアップロードしてまとめて処理をする際に使用。同一フォ
  ルダにまとまっていない状態で使用可。

有効化/低VRAM/Pixel Perfect/Allow Preview/Effective Region Msk オプション
 ・有効化:オンにすることでControlNetを有効化。
 ・低VRAM:使用しているVRAM容量が足りず生成できないときに使用。代わりに生成速度が
  遅くなる。
 ・Pixel Perfect:プリプロセッサ解像度が自動設定される。基本オンにする。
 ・Allow Preview:オンにした状態で、後述の💥ボタンを押すとプリプロセッサの抽出情報が
  確認できるようになる。
 ・Effective Region Msk:ControlNetの効果を画像の特定の部分に限定するための機能。

Control Type
 ここから使用するプリプロセッサの種類を選択するとプリプロセッサ/モデルの候補が自動的に設定される。主に絞り込みのために使用。

プリプロセッサ/モデル
 使用するプリプロセッサとモデルを選択。💥ボタンをクリックすると「Allow Preview」が生成プレビューで生成画像と一緒に確認できる。

Control Weight
 ControlNetの重み(影響力)を設定。1を基準に生成結果を確認しながら調整する。

Starting Control Step/Ending Control Step
 ControlNetを有効化させる開始と終了のStepを設定。ControlNetは非常に強い制御力を持ちしばしば画像を崩壊させてしまうため、Step数を限定させることで画像の崩壊を防ぐ目的がある。

Control Mode(Balanced/My prompt is more important/ControlNet is more important)
 ControlNetとプロンプト指示のバランスを設定。

リサイズモード
 入力画像の補完方法を設定。選択肢はimg2imgの時と同じ。

Resolution
 生成される画像の細やかさを設定。値が高いほど画像のディテールが細かくなり、より鮮明な画像が生成されるが処理時間が長くなり、メモリ使用量も増加する。

 

 

 

ちょっと、セクションの途中ですけど、気持ち的には今日はもう終わりかな~。

 

雨も降りそうで外暗いし(関係ない)。

 

いや、でもいい学びができた。なるほどControlNetね~。
重要な機能ですわこれは(多分)。

明日しっかり触ってまいります。

触ろう触ろう。。

 

雨が降る前に買い物に行くためこれにて終了です。

 

おつかれさまでした~(´・ω・)ノ

 

 

 

コメント

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