ControlNetは、初心者でも簡単に画像を生成できる、Stable Diffusionの拡張機能として人気です。ControlNetを利用すれば、プロンプト作成が苦手でも、思い通りの画像を生成できるでしょう。
しかし、インストールしたのにControlNetが表示されない不具合が発生して、利用を諦める人は多いです。
この記事では、誰にでもControlNetをインストールできるように、画像付きで導入方法を解説します。
各機能の使い方も紹介するので、初めて画像生成AIを使用する人でも上手に画像を作れるはずです。ぜひ最後までご覧ください。
ControlNetとは?
ControlNet(コントロールネット)とは、Stable Diffusionの拡張機能です。2023年2月にスタンフォード大学の研究者であるチャン・リュミン氏により発表されました。画像生成AIの「二度目の革命」と呼ばれるほど注目される画期的な技術です。
Stable DiffusionにControlNetを追加すると、プロンプトだけでは指定できない細かな条件を設定して画像を生成できます。
たとえば、元画像を指定して、被写体と同じポーズの指定が可能です。プロンプトでポーズを指定する必要がないため、生成にかかる時間を短縮できるでしょう。
その他にも、以下のような機能が備わっています。
- 参照画像から構図を抽出
- 参照画像から線画を抽出して塗り方を変更
- 生成した画像の一部を修正
ControlNetを活用すれば、Stable Diffusionで思い通りの画像を生成できます。また、参照画像から構図や線画を抽出すれば、イラストレーターやデザイナーなどの仕事にも役立つでしょう。
ControlNetを導入するメリット
ControlNetを活用すると、プロンプトの作成が苦手な人でも思い通りの画像を生成できます。
ここでは、ControlNetを導入するメリットを解説します。
1.プロンプトが苦手でも問題ない
Stable Diffusionで画像を生成する際は、画像の内容を指示する「プロンプト」が制約になるケースがあります。
プロンプトが英語のみの対応だったり、プロンプト作成が苦手な人は、思い通りの画像生成ができないためです。
Controlnetは元画像や手書き画像などからでも、画像生成が可能です。プロンプトを考えるのが苦手な人でも、思い通りの画像を生成できるでしょう。
2.より細かな調整が可能
ControlNetは画像を生成する際に、より細かな調整ができます。
ライティングや深度・色彩などを調整できるため、画像から受ける印象をコントロールできるでしょう。
上記の調整をするには、適したモデルを使用する必要があります。
どのようなモデルがラインナップされているかは、後ほど紹介しますね。
3.画像の解像度を上げられる
ControlNet は、元画像の解像度を上げられます。
ControlNet以外にも解像度を上げられる機能は存在しますが、元画像が別の画像へと変換されてしまうことがあります。
ControlNetを利用すると、構図やポーズなどのディティールはそのままに高解像度の画像になります。
画像を大きなサイズのモニターで表示したり、ノイズを減らしたい人におすすめの機能です。
ControlNetの導入・インストール方法
ControlNetを導入するには、前提としてStable Diffusionがインストールされている必要があります。
Stable Diffusionを使用するPCの推奨スペックは以下の通りです。
- OS:Windows 64bit
- CPU:最新モデルのCore i5以上、Ryzen 5以上
- GPU:VRAM12GB以上
- メモリ:16GB~32GB
- ストレージ:512GB以上
一般的なPCにはGPUが搭載されていないため、画像生成が極端に遅いか、生成できずに停止します。ゲーミングPCのようなミドルスペック~ハイスペックのマシンを利用しましょう。
Stable Diffusionのインストール方法は、以下の記事で解説しているので併せてご覧ください。
まずは、Stable Diffusionのトップ画面の「Extentionsタブ」をクリックしてください。
続いて「Install from URLタブ」を表示させます。
「URL for extension’s git repository」に以下のURLを入力してください。
https://github.com/Mikubill/sd-webui-controlnet
URLを入力したら、画面下部の「install」ボタンをクリックするとインストールが始まります。
問題なくインストールが完了していれば「installedタブ」に「sd-webui-controlnet」と表示されます。
インストールされていたら、「Apply and quit」をクリックして、Stable Diffusionを再起動します。
ControlNetを利用するには、モデルをダウンロードする必要があります。以下のURLをクリックして、必要なモデルをダウンロードしてください。
https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/tree/main?_fsi=mBTT0WoR
ファイル名に「safetensors」と記載があるデータが、ControlNetのモデルです。
モデルをダウンロードしたら、以下のフォルダに保存してください。
『stable-diffusion-webui』→『extensions』→『sd-webui-controlnet』→『models』
モデルが無事に保存されていれば、Stable Diffusionの生成画面で選択できるようになります。
ControlNetの基本的な使い方
ControlNetは、プリプロセッサー(Preprocessor)とモデル(Model)を選択して画像生成をおこないます。
画像を挿入してから、Enableにチェックを入れて、プリプロセッサーとモデルを選んでください。
プリプロセッサーとモデルの種類は、同一のものにしてください。
本章では、各プリプロセッサーとモデルの機能を紹介していきます。
1.canny
最初に紹介するのは、画像から線画を抽出して、線画から新しい画像生成ができる「canny」です。
画像生成AIに一部の修正の指示をすると、まったく違う画像に変化するケースがあります。cannyを使用すれば、元の画像を保ったまま画像の微調整が可能です。
以下の画像は、元画像から線画を抜き出し、プロンプトで赤い服への変更を指示したものです。
プロンプト
red one piece
元画像のポーズを保ったまま、赤い服に修正されています。髪型や体型・顔の角度なども元画像と同様です。
2.depth
depthとは、画像から奥行きや構図を抽出して、新たな画像を生成できるモデルです。
被写体と背景の位置関係はそのままに、新たな画像を生成したいときにおすすめです。
depthを利用するには、「control type」で「Depth」にチェックを入れます。続いて、プリプロセッサーとモデルをdepthにしてください。
プロンプト
1girl,walking in the towm
被写体のポーズや背景との位置関係はそのままに、まったくの別画像になりました。
プリプロセッサーには、以下の4つのdepthが搭載されています。
- depth zoe
- depth midas
- depth leres
- depth leres++
それぞれ、抽出する深度情報が異なるため、イメージ通りの画像を生成できるように、各プロセッサーを試してください。
3.scribble
scribbleは画像をラフ画に変換して、新たな画像を構築するモデルです。大まかな構図を残したまま、大きく画像を修正したいときに便利です。
プロンプト
1girl,walking in the towm
イラストを描く際に大まかなイメージは決まっていて、詳細が定まらない時にscribbleを使用すれば、新たな発想が湧いてくるはずです。
元の画像から抽出したラフ画を元に、構図以外はまったく異なる画像が生成されました。服装や持ち物・髪の動きにも変化があります。
また、scribbleは元画像だけでなく、あなたが描いたラフ画からも生成可能です。
4.inpaint
inpaintは指定した部分だけを修正するモデルです。
今回は靴の部分を指定して、裸足の画像に修正してみます。
プロンプト
no shoes
キレイに靴の部分だけが修正されて、違和感のない裸足の画像になりました。
画像生成AIは一部の修正だけを指示しても、画像全体が変わってしまうことは多くあります。
inpaintを活用すれば、狙った通りに画像を修正できるでしょう。
5.openpose
オープンポーズは、画像内の人物のポーズを抽出できるモデルです。
元画像と同じポーズで新たな画像を生成するときに使用します。特にダンスシーンやスポーツの画像を生成する際に便利です。プロンプトで姿勢を指定するよりも、躍動感のある画像を生成できるでしょう。
プロンプト
1boy
イイネポーズをする女性が、ほぼ同じポーズで少年に変換されました。
プロンプトは「1boy」しか指定していないため、プロンプト作りが苦手な人でも簡単に同じポーズの画像を生成できます。
ControlNetの使用がうまくいかない時の対処法
ControlNetは「インストールできない」「表示されない」などの不具合が発生する可能性があります。
ここでは、ControlNetの使用がうまくいかない時の対処法を解説します。
インストールできない
ControlNetは比較的、問題なくインストールできますが、Stable Diffusionのインストールができない人が多くいます。
Stable Diffusionをインストールできない場合は、Pythonのバージョンを確認してください。「3.10.6」以外のバージョンが入っているのであれば、アンインストールが必要です。
Phythonのバージョンは、以下の方法で確認できます。
Windowsの検索バーに「cmd」と入力→コマンドプロンプト→「python –version」と入力
Phytonのバージョンが「3.10.6」でない場合は、公式サイトからインストールしてください。
ControlNetが表示されない・反映されない
ControlNetをインストールしたのに表示されない場合は、「Apply and restart UIボタン」を押し忘れている可能性が高いです。
Apply and restart UIボタンをクリックすることで、Stable Diffusionがリスタートされて、インストールした機能が表示されます。
リスタートしても変化がない場合は、Stable Diffusion WebUIとWebUIバッチの両方を再起動してみてください。
モデルファイルが表示されない
モデルファイルをダウンロードしても表示されない場合は、正しいフォルダに保存していない可能性があります。モデルファイルは、以下のフォルダに保存してください。
『stable-diffusion-webui』→『extensions』→『sd-webui-controlnet』→『models』
正しいフォルダに保存しても表示されないのであれば、Stable Diffusionへの反映が遅れている可能性があります。時間が経過してから再度試したり、モデルの更新ボタンをクリックしたりして、反映されるのを待ってください。
ControlNetを最新バージョンにアップデートする方法
ControlNetは、新しいバージョンがリリースされることがあります。不具合修正や機能追加などがおこなわれるため、定期的に確認しましょう。
Controlnet をインストールした時と同様に、「Extentionsタブ」を開いてください。
Controlnet をインストールした時と同様に、「Extentionsタブ」を開いてください。
Extentionsタブを開いたら、「Check for updates」をクリックしてアップデートの有無をチェックします。
③Apply and restart UIをクリックする
更新が有れば「Update欄」に「new commits」と表示されます。「Apply and restart UI」をクリックすると、更新がある機能が一括で反映されます。
まとめ
ControlNetとは、プロンプトでは指示できない細かな条件を設定して画像を生成できる、Stable Diffusionの追加機能です。
プロンプトの作成が苦手な人でも、元画像から狙った通りの画像を生成できるメリットがあります。また、英語が苦手な人でも、画像の構図や深度などを簡単に設定できます。
ControlNetには、さまざまなプリプロセッサーやモデルがあり、以下のようにそれぞれ特徴が異なります。
- canny:元画像から線画を抜き出して新たな画像を生成する
- depth:元画像から深度を抽出して新たな画像を生成する
- inpaint:元画像の一部のみを修正する
ControlNetを準備する際には、「インストールができない」「モデルファイルが表示されない」などの不具合が発生する可能性があります。今回の記事を参考にして、不具合が発生しないように、ControlNetを活用してください。