おはようございます!
9月18日 水曜日。晴れ🌞
最高気温34℃(東京)。暑い!!🥵💦
もう何も言いますまい。。
時が過ぎるのを待ちます。
(顔文字gifか~面白いな。。)
さあ今日も学んでまいります。人生は学び。
今日の教材はこちら、
よしやっていこう!
CHAPTER5 ControlNetを使ってみよう
Section 5-1
ControlNetについて知っておこう
※このセクションは、「ControlNetとはなんぞや」っていう内容なのでサクッとなぞる程度で終わらせたいです。(自分に言い聞かせ)
ControlNetについて知っておこう
「ControlNet」は、Stable Diffusionの派生拡張技術。プロンプトだけでは指定できない複雑な要素を画像に反映することができるため、より精度の高い画像生成が可能となる。最重要拡張技術と言っていい(らしい)。
img2imgとControlNetの違いを知っておこう
img2imgとControlNetは完全に別の技術。
・img2img
img2imgは、既存の画像を入力として使用し、その画像を基に新しい画像を生成する技術。元の画像の全体的な特徴を捉え、類似した画像を生成する。
・ControlNet
ControlNetは、画像生成の際により詳細な制御を可能にする拡張機能。ControlNetは、画像上の情報(線画、境界線、姿勢、深度情報など)を解析し、その情報に基づいて画像を生成する。
なるほど、ControlNetは、画像をめっちゃ解析するってことかな。
解析するんだね~
Section 5-2
ControlNetをダウンロード・準備する
ControlNetを導入する
[Extensions(拡張機能)]から本体をインストールすることができるが、ControlNet本体に加え「プリプロセッサのモデル」をインストールする必要がある。
※ローカル環境での導入のみ以下に記述
<ローカル環境での導入>
・ControlNet本体のインストール
以下URLより、GitHubの[<>Code]をクリックし、赤枠のコピーボタンをクリック
通常の拡張機能ど同様、WebUIの[拡張機能(Extensions)]タブ→[URLからインストール(Install from URL)]タブ→[拡張機能のリポジトリのURL(URL for extension’s git repository)]欄にコピーした内容を貼り付け[インストール]ボタン押下。
[インストール済]タブ→[アップデートを確認]ボタンをクリックし、[適用してUIを再起動]ボタン押下。
次に、プリプロセッサのモデルをダウンロード。ControlNetのモデルは、SD1.5、SD2.0、SDXLのベースモデルごとにそれぞれ別のものが公開されている。※今回はSD1.5のみ
・SD1.5用モデルファイル
ファイル名「control_v11~_sd15_〇〇〇_fp16.safetensors」をダウンロード
ダウンロードしたファイルを以下パスに格納
(StableDiffusionインストールフォルダ)
└ extensions
└ sd-webui-controlnet
└ models ←←←ここに格納
WebUIを再起動すると、[txt2img]→[Generation]タブに「ControlNet (バージョン)」が追加されている。
よし!準備できたー
Section 5-3
ControlNetを使って画像を生成する
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ね~。
重要な機能ですわこれは(多分)。
明日しっかり触ってまいります。
触ろう触ろう。。
雨が降る前に買い物に行くためこれにて終了です。
おつかれさまでした~(´・ω・)ノ
コメント