話題の画像生成AIイラストツールStable Diffusionを使いやすくした Stable Diffusion WebUI / AUTOMATIC1111に拡張機能を加えることが出来るControlNetをインストールする手順と、使い方について解説していくよ

Stable Diffusion WebUIをローカル環境で使う設定方法は解説してもらったけど、ControlNetって何かな?

ControlNetは、Stable Diffusion WebUIに機能を拡張してくれるモジュールだよ
ControlNetを使えば、さまざまな機能をStable Diffusion WebUI /AUTOMATIC1111で使うことが出来ます
例えば、AIイラストって素敵な絵は簡単に生成できるものの…なかなか思い通りのイラストを生成するのは難しいですよね

ControlNetを使うことで、この様なことができるんだよ
- イラストに思い通りのポーズをさせたり
- 線画だけを抽出したり
- 手書きの線画でAIに指示をしたり
- 手書きの線画だけのイラストに色付けをしたり
- 解像度を上げたり

神機能のハッピーセットですね

現在、Stable Diffusionや画像生成AIに関する記事は、以下のものがありますので参考にしてね

この記事に、特に関連する記事はコチラ
- 【ControlNet-V1.1206】最新バージョンアップデート&モデル更新方法。
- 【ControlNet】不具合?表示されない…反映されない時には?
- 骨(棒人間)を使い、思い通りの姿勢をとらせた方法。
- 原画の絵と同じ姿勢(ポーズ)のAIイラスト生成のやり方♪
- AIイラストから線画を抽出する方法♪
- AIイラストを手描きで修正し、生成するやり方♪
- 【ControlNet】自作の線画イラストを画像生成AIに色塗り(ペイント)させる方法
- 自作の線画イラストをAIイラストに色塗り(ペイント)させる方法♪
- 【img2img ×ControlNet】inpaintで一部の色や、絵柄を変更するやり方。
- 画像生成AIイラストが投稿できるサイトまとめ
【ControlNet】インストール方法とダウンロード
まずはダウンロードからインストールするまでを解説しますね

Stable Diffusion WebUIのお話をするときに度々お世話になる、gitのサイトからインストールすることが出来ます
GitHubのサイト内の、Mikubill(ミクビル)さんという方のコントロールネットのページをみてね
https://github.com/Mikubill/sd-webui-controlnet

Stable Diffusion WebUIに【ControlNet】インストールします
そうしましたら、Stable Diffusion WebUIを起動してください
Stable Diffusion WebUIのExtensions というタブがあるので開きます


そのなかに、install from URLというタブがありますので開きます
この画面が、表示できましたか?


はい、出来ました

ここの上の空欄のところに、URL for extension’s git repositoryという欄があります

ここに、先ほどのミクビルさんのコントロールネットがダウンロードできるページのURLをかきこみます
まずは、URLをコピーしましょう
https://github.com/Mikubill/sd-webui-controlnet
そして、ペーストですね

できましたら、の【install】ボタンを押してください


1分以内で、ダウンロードが終わると思います

なにか、表示されましたよ


インストールが終わったみたいです
この表示以外は、特に音やポップアップする訳ではないので、チョット分かりにくいですが、これで大丈夫です
確認してみましょうか

フォルダの方を実際に見て見ますと、この様にフォルダやファイルが出来ていますね


Stable Diffusion WebUIの画面の方でも確認することが出来ます
こちらの、インストールドのタブを開いてください

コチラの欄に、さきほどのURLが記載されていればインストールされていると言うことになります


良かった
そうしましたら、【apply and restart UI】をクリックしてください


そうしますと、こちらにコントロールネットの表示がされるようになりました。


これだけでいいの?

いいえ、まだ表示されているだけで、一部の機能がない状態なので、機能をもたらすファイルをダウンロードします
最新のControlNetは、インストールするだけでプリプロセッサに機能の表示が出ます

【ControlNet】モデルファイルを設定していきます
こちらもおなじみの、たびたびお世話なる、Hugging Faceのページに行きます
【ControlNet】モデルファイル・ダウンロード時の注意点
モデルファイルをインストールする時に少し予備知識が必要になります
元々は、1つしかなかったControlNetのモデルファイルですが、現在ではStable Diffusionのバージョンを始め、Stable DiffusionWebUI / AUTOMATIC1111のバージョンの更新や、Stable DiffusionがSDXLへの変更があったため、拡張機能であるControlNetも、それらに対応する形で進化してきました。
結果、Stable Diffusionのバージョン1に対応したControlNetのモデルファイル、SDXLに対応したControlNetのモデルファイルなどが存在します。
基本的に前の見出しで解説したやり方で、ControlNetをインストールしますと、最新版のControlNetがインストールされ、バージョン1.14以降のバージョンになっているはずです
ですので、このまま最新版のStable DiffusionWebUI / AUTOMATIC1111と、ControlNetを使いたい際には、以下のリンクからモデルをダウンロードしてください


30個以上になっていると思います
これだけダウンロードすれば十分ですので、混乱しないように次の見出しを飛ばして、【ControlNet】用のモデルファイルを移動しようの項目へお進みください

この下の背景の色が違い所の説明は、PlayStationで例えると、PlayStation5しか持っていないのに、PlayStation2のソフトをどうしてもプレイしたい人向けの説明です

なお、以下の説明は、SDXLに対応しないStable DiffusionWebUIを使う人がダウンロードするControlNetのモデルになっています
これが非常に分かりにくいところですが、Stable DiffusionWebUIのバージョン、SDXL版で、求められるControlNetンのバージョンが違うと言うことです
【ControlNet】モデルファイルをインストール

そして、Hugging Faceにある検索窓にControlNetと入れます
そうしますと、ControlNet-v1-1がありますので、コチラを開いてください

似たような、文字列があるので間違わないようにしないと
ControlNet-v1-1のページが開きましたら、Files and versionsのタブを開いてください

この中に、コントロールまるまるで始まるモデルファイルが14種類あるんですが、それぞれが1つ1つの機能になります

ドライブ容量に余裕があれば、14個をダウンロードしてください


最後がpthになってる方をダウンロードすればいいのかな?
それぞれの最後がpthになってる、モデルファイルの下にある、最後がyamlになっている方のファイルもセットでダウンロードしておいてね
14個づつ、合計28個になります

1つ1つが1ギガバイトくらいありますね
全部で20GBバイト近いので、容量的がめちゃくちゃ大きいですね

もし、ドライブ容量に余裕がなければ、cannyと、openposeだけでもいいかもしれません

機能については後ほど解説します
ファイルが大きいのでダウンロードには少し時間がかかりますが、ダウンロードし終わったら、ファイルを移動します
【ControlNet】用のモデルファイルを移動しよう

移動先は、先ほど、コントロールネットをインストールしたフォルダ内です
似ているフォルダ名が多く繰り返されているので、間違わないようにしてくださいね
先ほど、コントロールネットをインストールしたフォルダ内のモデルズの中に移動しましょう


注意です

そして、StableDiffusionを再起動します

そして、コントロールネットを開きます。

コントロールネットの中の、真ん中の右側辺りにモデルという所があるので開いてみてください

ここに、先ほどダウンロードしたファイルが表示され、StableDiffusion WebUI内で使える様になります


これで、機能も使えるんだね
あれ?私のには表示されてない、なんで?
【SDXL対応版】ControlNet ver1.1.4で動かないなどの不具合について
コントロールネットもバージョン1.1.4になり、SDXL対応したものにアップデートしました
逆に、SDXL版でないStable Diffusion WebUI / AUTOMATIC1111には、ControlNetv1.14は対応してません

ControlNet v1.14以降は、Stable Diffusion WebUI / AUTOMATIC1111 v1.6以降のみに対応しています
これらのバージョン前後で、互換性がないので少々注意が必要です
またこのバージョン前後で、パソコンの要求スペックが大きく変化しています
この点について詳しくは以下の記事を参考にしてください
ControlNetが表示されない 事が起こることも?

私にも起こった事ですが、Modelsの中にこれらのファイルが表示されない事があります

原因はいくつか考えられます
1つは、読み込みに時間がかかっているケースです
まずは、モデルのドロップダウンメニューの隣にある更新マークをクリックしてみてください
変わらない時には、少し時間をおいて更新マークを押してみてね

私も時間を置いたら表示がされました
それでもだめそうな時には、StableDiffusion WebUIと、WebUIバッチの両方を、もう1度再起動してみてください
もしくは、表示されないのは、モデルファイルの置く場所を間違えたカモ
先ほどもお話しましたが、似たような名前のフォルダがたくさんあり、置く場所を間違えているケースです
それでも表示されない時には、モデルファイルの置く場所を間違えてるカモしれません
これまで、コメント欄に頂いた質問でやり取りさせて頂いた、さまざまな機能がStableDiffusion WebUIに反映されないケースは、大きくは以下の問題で解消されました
- 置く場所を間違えているか?
- バージョンを間違えているか?
似たような名前のフォルダがたくさんあり、置く場所を間違えていいませんか?
ファイルの置く場所を確認し、再起動すれば問題はだいたい解決している様です


modelsというフォルダは、StableDiffusion WebUIの方のファイルにもありますので、こちらにいれてしまってませんか?
extensions の中の、controlnetの中の modelsの方です

これでも直らない時には、ほかの問題もありますので、より詳しくは以下の記事を参考にしてね

ContriolNetの各機能のを解説する前ではありますが、以下のソフトウェアにご興味をお持ちいただけると嬉しいです。
スポンサーさまのご協力のおかげで、私のコンテンツはより充実しています。

興味を持っていただけた方々のご支援を心からお願いします。
皆様のサポートが、私の創作活動の大きな励みになっています。

StableDiffusionに関する以下のコンテンツとコラボさせて頂いてますので、ご興味ありましたら覗いてもらえたら嬉しいです
【ControlNet】の機能説明と使い方
それでは、コントロールネットのモデルの、それぞれの機能で、何が出来るのか説明しますね
まずは、先ほど良く使う機能と紹介した、cannyとopenposeを紹介します
この2つを使って、コントロールネットに慣れるのが良いと思います
canny
cannyは、輪郭を検出してくれる機能です。

この機能を使えば、イラストから線画抽出や、AIイラストの手書きで修正が出来ます
また自分で描いた手書きのイラストに、色塗りだけをさせることも出来ます
詳しくは、コチラの記事や動画を見てもらえたら嬉しいです



openpose
オープンポーズは、ポーズを検出してくれる機能です。

この機能を使うと、他のイラストと同じポーズをとらせたり、線や棒人間からポーズの支持をAIに伝えることが出来ます
詳しくは、コチラの記事や動画を見てもらえたら嬉しいです


hed
hedは、キャニーに近い機能になります。キャニーよりもアウトラインがクッキリします。

線画を抽出して、色の変更など試す場合に向いている様です

mlsd
mlsdは、直線的な輪郭の検出に使う機能です。
cannyの直線専用版という感じです。cannyは人物など曲線のあるアウトラインがあるものに対して、MLSDは建物などの風景や背景作りに使えます

depth
depthは、画像の深度情報を元に画像生成を行うことが出来ます

深度情報?

奥行きのことだね
分かりやすい様に、カメラで例えますね
カメラからの距離によって生じる物体の大きさや位置の違いは、画像中で視覚的に認識できますが、奥行きの違いはわかりません。
深度情報を得ることで、画像中の物体の奥行きの違いを計算することができます。
一般的には、あまり使わないかもです

normal
normalは、法線を抽出できる機能です

法線って何かな?
深度情報と法線は、どちらも3Dグラフィックス分野でよく使われている言葉で、一般的には分かりにくいですが、対象までの距離情報が深度情報で、ここでいう法線は凹凸の事を指しています
ノーマルは、凹凸を検出できるモデルということですね

法線マップを使用することで、ポリゴン表面の凹凸を表現することができます

ぽ、ポリゴン?
2Dで、3Dモデルを作りたい時の設計図とか、イメージ図など描くときのアレです
昔あった3Dテレビとか、立体映像って、覚えていますか?
あれは、深度情報は3Dでしたが、法線情報が足りなかったので、距離感は3Dになりましたが被写体は平面的で、奥行きのある紙芝居みたいでした
近年のARや、メタバースで話題のVRは、深度情報も法線情報も再現できるので、立体的なモデルも距離感も出せるようになったんですね
ですが、いまのところコチラのnormalも、Stable Diffusion webUIでは一般的には、あまり使わない機能カモですね~
scribble
scribbleは、落書きを元に画像生成を行える機能です

落書きから?

面白そうですよね

落書き程度の線画から、AIがイラスト作ってくれるようです
さきほど紹介した、AIイラストを修正できる機能は、自分の手作業で細かに修正を行うと言うより、ある程度この様な雑な線画でも、コントロールネットを通じて指示することで、AIがそれっぽく修正してくれるんですよね


私もまだ、ほとんどscribbleを使ってないので、いろいろ試してみたいです
seg
segは、セマンティック セグメンテーションを使用した画像生成を行える機能です
写真や映像などの視覚情報から、そのコンテンツの主要な要素の位置や関係性を把握して、最適な構図を推定することが出来ます
イメージのアウトラインを伝えると、そこにAIが判断してくれて何かのデザインを埋めてくれる感じです

新機能tile
StableDiffusionなどの画像生成は、学習元が512ピクセル×512ピクセルとなっているため、基本的にはこのサイズや、アスペクト比から離れれば離れるほど、画像は崩れやすくなります
そのため、画素数の大きな画像を生成しようとすると、破綻が起きたり、余計なものが映り込んだりします

なるべく純粋に画像の高画質化を行ってくれる機能がTileです












