Stable DiffusionにはControlNetと呼ばれる拡張機能があります。
ControlNetを利用することによって、画像からポーズを抽出したり、線画を抽出したりして画像を生成することができます。
この記事では、ControlNetのインストールから使い方、種類を詳しく紹介します。
Stable DiffusionのControlNetとは
ControlNetとは、細かな条件を指定して画像生成できるStable Diffusionの拡張機能です。
ControlNetにはいくつかの機能が搭載されていて、生成する画像のポーズや構図を指定、画風の変更やテクスチャの変換、線画への色付けなどが可能です。
Stable Diffusionのプロンプトだけでは指定できないさまざまな要素を画像に反映することができます。
Stable DiffusionのControlNetをインストールする方法
Stable DiffusionでControlNetを利用できるようにするには、次の手順が必要です。
- ControlNetをインストールする
- ControlNet用のモデルを追加する
Stable DiffusionにControlNetをインストール
まずは、Stable Diffusion Web UIにControlNetをインストールする手順を紹介します。
ControlNetをインストールする
Sable Diffusion Web UIにControlNetをインストールします。
拡張機能タブから「URLをインストールする」を選びます。
「拡張機能のリポジトリのURL」入力欄に次のアドレスを入力し、「インストール」ボタンをクリックします。
https://github.com/Mikubill/sd-webui-controlnet
ControlNetのインストールが完了したら「インストール済」タブに移動し、「適用して再起動」ボタンをクリックしてStable Diffusion Web UIを再起動します。
Stable Diffusion Web UIを再起動し、シード値の下にControlNetタブが表示されていればインストール完了です。
Stable DiffusionにControlNet用のモデルを追加する
ControlNetを利用するには、各モデルに対応したControlNet用のモデルを追加する必要があります。
SD1.5、SD2.1、SDXLを使う場合、それぞれのControlNetモデルデータが異なるため、利用するStable Diffusionのモデルに合わせてダウンロードしましょう。
SD1.5用ControlNetモデルデータ
https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/tree/main
SD2.1用ControlNetモデルデータ
https://huggingface.co/thibaud/controlnet-sd21/tree/main
SDXL用ControlNetモデルデータ
https://huggingface.co/lllyasviel/sd_control_collection/tree/main
上記のリンク先には多くのStable Diffusion用ControlNetのモデルが公開されています。
例えば、ControlNetの「OpenPose」が使いたい場合は、リンク先のファイルから「OpenPose」と名前が追加ファイルをダウンロードします。
Stable DiffusionでControlNetの機能をフルに使いたい場合は、すべてのファイルをダウンロードしましょう。
ダウンロード後は、Stable Diffusion Web UIを「です。 models」>「 ControlNet」の順で開き、ダウンロードしたファイルを配置すれば完了
Stable DiffusionでControlNetを使う方法
Stable Diffusion内のControlNetは、シード値の下に「ControlNetタブ」が表示されているので、タブを開いて利用します。
「有効化」、「Pixel Perfect」、「Allow Preview」を選択し、Control Typeから「使いたいControlNetの機能」にチェックを入れ、素材画像を左側にアップロードします。
これで、Stable DiffusionでControlNetを使う準備は完了です。
Stable DiffusionのControlNetの機能紹介
Stable DiffusionのControlNetにはさまざまな機能があります。
ここではControlNetの中でも人気の機能を画像付きで紹介します。
Canny
Cannyは、元の画像から輪郭線を抽出して新たに画像を生成する機能です。
デザイン線画を元に再度画像生成してくれるので、塗り方のパターンを増やすことができます。
詳しいCannyの使い方は、ぜひ下記の記事を参考にしてくださいね。
OpenPose
OpenPoseとは、元画像からポーズを抽出して、同じポーズの画像を生成する機能です。
Stable Diffusionに複雑な構図をプロンプト入力しなくても簡単に再現できるため、利用用途が広いツールです。
詳しいOpenPoseの使い方は、ぜひ下記の記事を参考にしてください。
Depth
Depthは、元画像から奥行きの深度情報を読み取り、構図を抽出して画像を再生成する機能です。
背景と被写体の奥行の構図などの立体的な情報を取得して再現します。
Scribble
Scribbleは手書きの線から、画像を生成することができるスケッチの拡張機能です。
ラフの原画から完成度の高い画像を生成することができます。
詳しいScribbleの使い方は、ぜひ下記の記事を参考にしてください。
Recolor
Recolorは、元画像に色塗りをしてくれる拡張機能です。元絵から下絵を抽出して塗り直し、画像生成が可能です。
下絵のレイアウトを保ったまま画像生成できるのが特徴です。
※RecolorはSD1.5のみモデルが配布されています。
IP-Adapter
IP-Adapterは、元画像のイメージを引き継ぎ、類似した画像を生成する拡張機能です。
主に実写の画像からアニメ風の画像への変換などに利用できます。
Lineart
Lineartは、元の画像から線画を抽出し、さらに線画をベースに色を塗り直してくれる拡張機能です。
汎用性が高く、多くのモデルが公開されています。
詳しいLineartの使い方は、ぜひ下記の記事を参考にしてください。
InstructP2P
InstructP2Pは、元画像の一部を指示した内容に変更し、新たに画像を生成する拡張機能です。
同じ機能に「Inpaint」がありますが、より大きな範囲で変更を加えたいときに活用できます。
生成画像では、背景を海辺からプールに変更しています。
MLSD
MLSDは、直線を抽出する拡張機能です。
主に建築物やオブジェクトを抽出し、構造を維持したまま新たな画像を生成します。
NormalMap
NormalMapは、法線マップを抽出する拡張機能です。
Stable Diffusionで法線マップを利用して立体的な形状を維持しながら新しい絵を作成できます。
Reference
Referenceは、元の画像を参照し、同じスタイルを持つ画像を生成する拡張機能です。
人物を固定して、髪型や服装、ポーズ違いなどの画像を簡単に生成することができます。
詳しいReferenceの使い方は、ぜひ下記の記事を参考にしてください。
Revision
Revisionは、元画像からプロンプトなしで新たに画像を生成できる拡張機能です。
Noise Augmentation(ノイズ変更)によって画像に変化を加えることができます。
ノイズ変化量が0.75を超えると原型をとどめなくなるため、0.4くらいまでの変化が最も分かりやすいです。
Segmentation
Segmentationは、画像内のオブジェクトを抽出し、再描画する拡張機能です。
シルエットから復元して画像を生成することもできます。
Shuffle
Shuffleは、参照画像の色合いを元に画像を生成する拡張機能です。
色合いを変更せずに画像生成ができるのが特徴です。
SoftEdge
SoftEdgeは、画像から輪郭を検出し、新たな画像を生成する拡張機能です。
Cannyよりも柔らかで自然な輪郭を抽出します。
詳しいSoftEdgeの使い方は、ぜひ下記の記事を参考にしてください。
Tile
Tileは、元画像から高品質・高解像度の画像にアップスケールする拡張機能です。
生成された画像を高品質な画像を再生成する用途に使われています。
ControlNet Tileの詳しい使い方は下記の記事で紹介しているのでぜひご覧ください。
Stable Diffusion ControlNetが反映されない時
Stable Diffusion ControlNetは、マニュアル通りに生成をしても結果が得られないことがあります。
細かい設定の違いで反映されないことが多くありますので、以下のポイントを確認しましょう。
ControlNetの「有効化」にチェックが入っているか確認する
ControlNetのパネル内には、タブごとに「有効化」ボタンが設置されています。忘れずにチェックを入れましょう。
チェックを入れないままでも生成が開始されてしまうので、見落としに注意が必要です。
モデルと一致しているか確認する
使用しているControl Type(拡張機能の種類)とモデルを確認します。
モデルのよっては複数のControl Typeを兼ねるデータも存在するので、異なった結果が出てきた場合はモデル名を確認しましょう。
checkpointとControlNetのモデルを確認する
ControlNetで画像を生成する場合、SD1.5~SDXLで使用するモデルデータが異なります。
SD1.5のcheckpointを利用して新たに画像生成する場合は、ControlNetもSD1.5用データを使う必要があります。
ControlNetのモデルはファイル名に「sd15」「sd21」「xl」と表記されています。
プロンプトを確認する
ControlNetの拡張機能は、追加のプロンプトが必要な場合と不要の場合があります。
変更内容とプロンプトが競合してしまう場合は反映が弱くなってしまうので、余計な表現が入っていないか確認しましょう。
それでもControlNetが反映されない時は
ControlNetが反映されない場合の原因の1つに、試行回数が足りず生成が失敗し続けていることがあります。
ControlNetの中には、反映しづらい機能があります。
モデルとの相性なども影響しますが、成功に至るまでの生成回数が足りていない場合があります。
Control Modeやシード値を固定しながら、調整を重ねていきましょう。
Stable DiffusionでControlNetを使うならPICSOROBANがおすすめ
Stable DiffusionでControlNetを使う場合、GPUパワーと大容量のHDDが必要になります。
効率的にStable Diffusionで画像を生成するには、16GB以上のVRAMが搭載されたパソコンの利用がおすすめです。
しかし、高性能なパソコンの多くがが30万円以上と高額になります。
そんな時は、PICSOROBANがおすすめです。
コストを抑えたい方へ:今のパソコンのまま使える「PICSOROBAN」
ピクソロのメリット
- すぐ使える:高額PC不要で、ブラウザからすぐに利用可能。必要な分だけポイントを購入できます。
- リーズナブル:30分約60円で利用可能。さらに今なら約2時間分が無料。
- 無制限作成:時間内であれば、何枚でも画像生成可能。短時間でたくさんの作品を生成できます。
ブラウザで簡単!ピクソロ!
PICSOROBANは、インストールの必要なくブラウザで簡単にStable Diffusionを利用できます。
さらに、今ならリリースキャンペーンとして無料会員登録するだけで、2,000ポイント(約2時間分)貰えます!
詳しい使い方は下記の記事で紹介しています。
\今なら約2時間無料で使える!/
Stable Diffusionが快適に使えるおすすめのパソコンやグラボに関しては下記の記事で紹介しています。