Stable Diffusion

ControlNetで同じキャラを量産!Stable Diffusion WebUIの弱点を補う超便利な拡張機能をご紹介

Stable Diffusion WebUIの中で最も多く使われているAutomatic1111での説明です。他のWebUIをご利用の場合は操作が異なるかもしれないのでご了承ください。

Stable Diffusionで同キャラを量産するには

Stable Diffusionは絵が描けなくても画像を生成できる便利なツールですが、いくつか弱点もあります。

その1つが同じ絵を再現することが難しいこと。そしてこれが最ももどかしい点でもあります。

この弱点を解決するための方法はいくつかあります。

①プロンプトやパラメーターを工夫する

工夫と言っても、プロンプトを駆使するだけでまったく同じ絵柄を生成するのはほぼ不可能です。

似た絵柄を生成するにも、たくさんの枚数を生成する必要があります。

Seed値を調整して同じ絵柄が出やすくすることもできます。これは効果的ではありますが、パラメーター調整はある程度の経験が必要です。

どの状況でも通用するパラメーター値はないので、いろいろと試すことになります。

②LoRAなどの追加学習ファイルを作成する

好きなモデルに追加学習をさせることで、自分の好きなキャラなどを固定して生成できます。

キャラLoRA、顔LoRA、服装LoRA、背景LoRA、画風LoRAなど、様々なLoRAが存在します。

LoRAファイルを作ってしまえば安定して好きなキャラを出すことはできますが、学習には大量の画像が必要で手間がかかります。

サンプル数が少ないと精度の悪いLoRAになってしまいます。

③拡張機能を使う

Stable Diffusion WebUIにはたくさんの拡張機能があり、それらをインストールすることでStable Diffusion単体ではできないことが可能になります。

その中にControlNetという拡張機能を使うと、同キャラを量産することができます。

①、②は経験や手間がかかり、どちらかと言えば中級者~上級者向けの手法です。

何のことか解らない、もしくはそんなに時間かけられないよ、という方は拡張機能を使ってサクッとやっちゃいましょう。

拡張機能ControlNetで何ができる?

ControlNetの機能はたくさんありますが、同キャラを量産することに特化した機能として、『Openpose』と『Reference_only』が挙げられます。

Openpose

Openposeは任意の画像から棒人間を生成し、その棒人間と同じポーズを別のキャラで再現することができます。

複雑なポーズや細かい指までは再現できませんが、プロンプトだけでは対応が難しいポーズも簡単に生成することができます。

より細かい箇所まで再現したい場合は、『dw_openpose full』がいいかもしれません。

ただし、絶対的にdw_openposeの方が優れているわけではなく、場合によっては通常のOpenposeの方が再現度が高いこともあります。

Reference_only

Reference_onlyは、顔はそのままに服装や背景などを変更して生成する機能です。

まずは好きなキャラを生成しておいて、それを読み込ませることで同じ顔の別バージョンを生成できます。

キャラによっては再現されない場合もあります。体感ですが、特にちびキャラは再現度が低い傾向があるようです。

拡張機能のインストール手順

それではここから『ControlNet』、『Openpose』、『dw_openpose full』、『Reference_only』のインストール方法に移ります。

ControlNetの導入方法

Automatic1111における拡張機能のインストールはほぼ全てこのやり方なので、覚えておくと便利ですよ。

『Extensions』タブ→『Install from URL』タブ→『URL for extension's git repository』の欄に下のURLを張り付け『Install』ボタンをクリック。

URLをクリックしたらコピーできるよ

https://github.com/Mikubill/sd-webui-controlnet.git
拡張機能control_netの導入
拡張機能control_netの導入

次に『Install』タブ→『Apply and restart UI』ボタンをクリック。念のために『Check for updates』ボタンを押して最新版がないか確認してもOKです。

拡張機能control_netの導入

下の画像のようにControlnetが出ていればインストール完了です。

拡張機能control_netの導入

Openpose

ControlNetに組み込まれているので、個別にインストールする必要はありませんが、特定のモデルを使用するためダウンロードします。

まずは下のURLからHugging faceのサイトに行きます。

https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/tree/main

ずらりと並んだファイルの中から下の名前のファイルをダウンロードしてください。

control_v11p_sd15_openpose_fp16.safetensors

下の方にあります。openposeの表記を目印にすると解りやすいですよ。

拡張機能control_netの導入

ダウンロードできたら、Automatic1111をインストールしたフォルダーを開きます。

『stable-diffusion-webui』フォルダー→『extensions』フォルダー→『sd-webui-controlnet』フォルダー→『models』フォルダーにダウンロードしたモデルを移してください。

たくさんのファイルが入っていますが、気にしなくてOKです。

移したらAutomatic1111を再起動すると反映されます。

dw_openpose full

こちらはOpenposeのPreprocessor(前処理)です。

ControlNetが最新であれば、自動的に組み込まれています。

Preprocessorの一覧にない場合は、ControlNetを更新してください。

『Extensions』→『Installs』→『Check for updates』ボタンをクリックで更新されます。

Reference_only

ControlNetに組み込まれているので、特に操作はありません。

『Preprocessor』から選択するだけで使用できますよ。

操作方法については別の記事で紹介しますね。

広告

-Stable Diffusion