画像生成AIはなかなか1回で納得いく画像を生成するのが難しく、ガチャを回すとも言われています。
特にポーズの指定はプロンプトで作るのも初心者には難しいと感じてしまうでしょう。
今回はStable Diffusion の拡張機能「ControlNet 」を紹介します。
「ControlNet 」は、新たな条件を指定することで、さらに詳細な指示が通った画像を生成できます。
今回は「ControlNet 」の導入方法から、使い方までを初心者にもわかりやすく解説します。
こんな方におすすめ
- 手や腕などのポーズを上手く作りたい
- 同じ顔で画像を生成したい
- 下書きの絵からリアルな画像を作りたい
スポンサーリンク
「ControlNet 」でできること
「ControlNet 」はStable Diffusion の拡張機能のひとつです。
「ControlNet 」1つを導入するだけで、様々なことができるようになります。
特に人気の理由として「ポーズや構図の指定ができる」ということです。
「ControlNet 」導入方法
「ControlNet 」の導入手順は以下のようになります。
Stable Diffusionに「ControlNet」を導入する
Stable Diffusionにまずは「ControlNet 」を導入します。
Stable Diffusionを立ち上げて[Extentions]タブを開き、次に[Install from URL]タブを開きます。
[URL for extension's git repository]の入力欄に
https://github.com/Mikubill/sd-webui-controlnet
と入力し[Install]をクリックし、[Installed]タブを開きます。
「ControlNet 」がインストールされているか確認します。
インストールしても表示されない場合は、「Apply and restart Ul」をクリックしてみてください。
それでも表示されない場合は、Stable Diffusionを再起動Stable Diffusion WebUIと、WebUIバッチの両方を再起動してみてください。
次に[txt2img]のタブを開きます。
新たに「ControlNet 」の項目が増えました。
ここで一旦Stable Diffuison Web UIは閉じます。
「ControlNet 」のモデルをダウンロードする
ControlNetはモデルがないと使用することができません。
モデルを別途ダウンロードして、所定のフォルダに入れる必要があります。
ControlNetのモデルが配布されている、以下のリンクからダウンロードします。
「ControlNet 1.1」通常のモデルデータ
https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
通常のモデルデータは重いので、軽量化されたモデルデータもあります。
軽量化されたモデルデータ
https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
今回は軽量版の導入について説明します。
control_v11p_sd15_〇〇〇〇_fp16.safetensorsという名前が該当ファイルになります。
ControlNetのモデルは1つではなく、沢山の種類がありますので後ほど簡単な説明をします。
重くなると動作に不安がある方は、必要なものから導入していいと思います。
ダウンロードしたモデルは、以下の階層のフォルダ内に入れます。
「ControlNet 」のモデルの種類について
ControlNetには数多くの機能がありますが、ファイル名だけではどのような効果があるか分かりづらいので、簡単な説明をします。
- openpose
- canny
- depth
- reference
- scribble
- inpaint
- tile
- lineart
- softedge
- shuffle
- ip2p
- mlsd
- seg
- normalbae
openpose
ControlNetでよく使われるモデル。「棒人間」と言われるもの。
元となる画像から人体のキーポイント(棒人間)を検出し、新たに画像を生成します。
ポーズ変更したい時などに便利です。
canny
元となる画像から線画を抽出し、その線画から画像を生成します。
元画像の線(輪郭)を使うので、色の変更などに使えます。
ポーズだけでなく、顔や髪型・服装も同じように生成しやすいです。
depth
元画像の奥行きを表現したい時などに使用します。
reference
元の画像と同じようなスタイルで、ポーズや背景を変えて画像を生成できる機能です。
同じキャラクターを生成したい時に大変便利です。
scribble
手書きのような画像、ラフの線画から画像を生成します。
inpaint
元画像の一部分の変更ができます。
例えば手や、指などを指定すると修正ができ、一部分だけ編集したい時に便利です。
tile
高解像度の画像を生成するためのモデルです。
画像を拡大して高画質化できます。
lineart
線画を作成し、それを元に画像を生成します。
線画を元にControlNetで色も塗ってくれます。
lineartには種類があり、イラスト向けのものもあります。
softedge
ソフトな輪郭を使って画像を生成します。
cannyやLineartよりもより細かな細い線を抽出することができます。
ディテールを維持するのが得意なため、色変更等に活用できます。
Soft Edge プリプロセッサ | 内容 |
---|---|
softedge_hed | 元画像に最も忠実な線画を抽出 |
oftedge_hedsafes | softedge_hedより抽出精度を下がるが、不自然にならない |
softedge_pidinet | oftedge_hedより細かく線を抽出 |
softedge_pidisafe | softedge_pidinetより精度を下がるが、不自然にならない |
shuffle
画像をシャッフルし再構成することで画像を生成します。
元画像の雰囲気を維持して新しく画像を生成する時に使えます。
ip2p
「Instruct Pix2Pix」を使用して、プロンプトにより画像を修正。
元画像を固定して、プロンプトの指示で何度も修正ができます。
mlsd
直線的な線を抽出して画像を生成します。
建物などの構造物の画像生成に使えます。
seg
「セマンティックセグメンテーション」の手法を使います。
自動で検出して、パーツごとに色分けし、構図や配置などは維持し、違う画像が生成ができます。
人物よりは、建物などの構造物の画像生成に使えます。
normalbae
法線マップを使って画像を生成します。
まとめ
「ControlNet 」と言っても沢山の種類があり、全て使うとは限りません。1つずつ使いたいものから導入していくのがラクです。
初心者の方が、「ControlNet 」を導入するには少し情報量が多く感じるかもしれませんが、プロンプトで指示を出すよりも効率が良いです。
「openpose」や「canny」も使い方は難しくないので、早めに導入すると快適な生成生活が送れると思います。
AI技術を活用して画像を高解像度化し、ノイズ除去やぼかし修正、スケールアップなど、短時間で驚異的な改善を実現
\ 無料お試しアリ!使えば分かるクオリティ差 /
関連記事
Stable Diffusionの拡張機能について
Stable Diffusionでの画像生成の質を上げたり、作業効率化を狙う場合、拡張機能の導入がおすすめです。
導入方法や、おすすめの拡張機能については、こちらの記事で解説しています。
-
【Stable Diffusion】拡張機能の導入方法・おすすめ【Extensions】
Stable Diffusion拡張機能は初心者にも使いやすいツールです。この記事では拡張機能の基本機能、ローカル環境での利用方法、導入手順、おすすめ拡張機能について解説します。導入することで操作性や ...
続きを見る
Stable Diffusion関連書籍