【ControlNetの使い方】完全ガイド|線画・ポーズ・輪郭で思い通りに画像生成する方法

ControlNetの使い方

ControlNetは、「拡張機能・追加機能」です。

ControlNet自体はStable Diffusionに、条件(姿勢・線画・輪郭など)を与えて画像生成をコントロールするためのモデルや技術群で、単体で動かすことはできません。
そのため、Stable Diffusion本体や対応するUI(例:WebUI、ComfyUI、Diffusersなど)と組み合わせて初めて利用可能になります。
導入や操作にはある程度の知識が求められますが、上手く活用すれば、線画やポーズ、深度情報などからより狙い通りの画像生成ができるようになります。

この記事では、そんなControlNetの基本と、各UI環境での使い方の違い、代表的なモデル(例:線画用、ポーズ用など)の特徴について紹介していきます。

目次

各環境でのControlNetの使い方

1. Hugging Face Spaces

  • Spaces(例:ControlNet on Diffusers)などでは、GUIで操作できる簡易なツールが提供されています
  • あらかじめControlNetが組み込まれており、タブで切り替えるだけで使えます。
  • 単体アプリのように見えますが、裏側でDiffusers + ControlNetが動いています。

こちらの、lllyasviel/control_v11p_sd15s2_lineart_animeは、ControlNet 用のチェックポイントモデルの一つで、Stable Diffusion 1.5 向けに調整された 「線画アニメ用」のControlNetモデルです。

2. ローカル(PC)での使用

ローカルで使用する場合は、予めAutomatic1111やComfyUIなどをインストールしておく必要があります。

  • Automatic1111(WebUI)
    • 「拡張機能(Extension)」としてControlNetを有効化することで使用できます。
  • ComfyUI
    • ノードベースで柔軟にControlNetを複数組み合わせて使用。
    • ControlNetを複数使用した高度な制御が得意です。
  • DiffusersベースのPythonコード
    • Pythonスクリプトで直接使う(開発者・上級者向け)

3. クラウドGPU(*Colab, **RunPodなど)

  • Automatic1111やComfyUIをインストールして使うのが一般的です。
  • HuggingFaceと同じようなGUIを自分で立てられます。

*Colab … Colabの無料版ではControlNetの使用はかなり制限されますControlNetは、追加の条件付きモデル(Canny, Pose, Depth など)と、エッジ検出などの前処理を行うため、VRAM(GPUメモリ)を大量に消費する拡張機能です。Colab Pro(月額約1,300円〜)での使用となります。

項目Colab 無料版Colab Pro(有料)
VRAM容量実質7〜10GB程度最大24GB程度
ControlNet使用❌ 困難✅ 制限付きで可能
複数ControlNet❌ 無理△ 状況により可
SDXL + ControlNet❌ 起動不可が多い△ 条件付きで可能

**RunPod … 時間課金型のクラウドGPU。ControlNet対応テンプレートも充実。

おまけ:InvokeAIを使う方法

プロンプト制御+ControlNet+SDXLの安定動作を求めるなら、InvokeAIを使用する方法もあります。
ただし、反映の精度や自由度は控えめで、用途としては「ざっくりした雰囲気付け」や「簡易的な補助」に向いています。
本格的に線画から忠実な変換を行いたい場合は、Automatic1111やComfyUIの利用をおすすめします。

  • コマンド:invokeai-configure --enable-controlnet
  • SDXL & ControlNet両方対応
  • 高速・軽量でGUIも使いやすい

注意点

  • ControlNet 対応バージョンは 3.x以降の最新版が必要です(古い InvokeAI では非対応)。
  • デフォルトで Diffusers ベースではないため、Diffusers ベースの Hugging Face モデル(例: lllyasviel/control_v11p_sd15s2_lineart_anime)を使用するには、モデル変換が必要です。
  • WebUI の柔軟性は A1111 ほどではないため、細かいマスクや複数 ControlNet の組み合わせは限定的。

「InvokeAIを普段使っている」方であれば試してみる価値はありますが、本記事では主に線画変換に強いツールや構成を中心に紹介します。

ローカルとHugging Faceの違い

項目ローカル版Hugging Face版
モデル選択自由に選べる(SD1.5、SDXL、LoRAなど)多くは固定(例:SD1.5固定)
追加LoRAなど自分で追加できる制限あり
Preprocessorの数全部入りや拡張可能制作者選定のみ
再生成など自由に調整可能制限あり(回数・サイズなど)

ControlNetの主な種類(モデル名と特徴)

ControlNetベース*プリプロセッサの機能を簡潔に解説します。それぞれ、画像の特徴を抽出して、それを元に画像を生成するタイプが異なります。
プリプロセッサ(Preprocessor)は「前処理をする道具・AIモデル」です。
画像から 姿勢や輪郭などの特徴を取り出す 専用のツールです。

抽出された「姿勢情報」や「輪郭情報」を使って、Stable Diffusionが「ポーズを真似した新しい画像」や「輪郭に沿ったイラスト」を生成します。

  • 「線画」から塗り絵のようにしたい → Lineart
  • 「ポーズ」だけ再現して違うキャラにしたい → OpenPose
  • 「絵っぽく」したいけど構図や遠近感を保ちたい → Depth + Guidance
*プリプロセッサ(タブ名)内容
Cannyエッジ検出(輪郭線)。比較的安定して使える基本タイプ
MLSD直線検出(建物や背景など直線が多い画像向け)
Scribble手描きのラフな線画(指示的落書き)をもとに生成
Scribble interactiveScribbleの対話型。ブラウザ上で落書きが可能
SoftEdgeCannyよりも柔らかくて滑らかな輪郭線抽出
Openpose人物のポーズ(骨格)を抽出。キャラポーズ指定に最適
Segmentation背景・人物・服などを色分けし領域抽出
Depth被写体の奥行き情報をもとに立体感ある画像を生成
Normal map表面の凹凸(3D的構造)を元にした変換
Lineartアニメ調の線画抽出。主線だけ抽出したいとき便利
Content Shuffle内容をシャッフルして新しい構図に
Instruct Pix2Pixテキスト指示(プロンプト)で画像を編集

1. Canny

  • 特徴: Canny法によるエッジ(輪郭線)抽出
  • 用途: 写真や絵の輪郭を抽出して、それを元に絵を描かせたいとき
  • 補足: 輪郭を強調した画像が得られる。細部がしっかり表現されやすい。
Canny

2. MLSD (Mobile Line Segment Detection)

  • 特徴: 建築物や室内など、直線構造に強い輪郭抽出
  • 用途: 建物、背景、部屋、都市風景などの線画生成に◎
  • 補足: 自動的に水平・垂直の直線を取り出す
MLSD

人物、キャラクターでは正常な抽出が行われない。

3. Scribble

  • 特徴: 落書きのような画像から生成
  • 用途: 簡単な構図・ポーズ・配置を決めて生成したいとき
  • 補足: 線の意味(輪郭 or 塗り)は問わず、形だけをベースに生成する
Scribble

4. Scribble Interactive

  • 特徴: 手動でScribble(落書き)を描ける
  • 用途: 自分で線を引いてイラストを描かせたいとき
  • 補足: マウスやペンで直接描くインターフェース

5. SoftEdge

  • 特徴: 輪郭が滑らかで柔らかい、Cannyよりも自然
  • 用途: 写真をベースに、線の少ない自然なアウトライン生成
  • 補足: 人物写真などに適している
Soft Edge

6. OpenPose

  • 特徴: 人体のポーズ(骨格)を抽出
  • 用途: キャラのポーズだけ再現したいときに◎
  • 補足: 背景や顔は無視され、ポーズ情報のみ利用
OpenPose

3Dからのロボットの画像では骨格が抽出されなかった。

7. Segmentation

  • 特徴: 領域分割(人、空、草、服などを色分け)
  • 用途: 色ごとに意味のある領域を持つ画像にしたいとき
  • 補足: 色に意味を持たせた構図が作れる
Segmentation

8. Depth

  • 特徴: 被写体までの奥行き(深度)情報を抽出
  • 用途: 遠近感を保った画像を作りたいとき
  • 補足: 立体的な表現や風景に有用

9. Normal Map

  • 特徴: 3D的な法線方向(面の向き)を抽出
  • 用途: 光の当たり方や凹凸感を保って描き直したいとき
  • 補足: SDXLなどの高精細モデルと相性が良い
Normal_Map

10. Lineart

  • 特徴: アニメ線画風に輪郭を抽出(AnimeLineart系)
  • 用途: アニメ風のキャラ線画を元に塗り直したいとき
  • 補足: 濃淡は無視し、主要な輪郭線を抽出
Lineart

11. Content Shuffle

  • 特徴: 色や形の情報をシャッフル(内容の構成だけ残す)
  • 用途: 抽象画や構成ベースの画像生成
  • 補足: 元の画像を完全に変えたい場合に◎
Content_Shuffle

12. Instruct Pix2Pix

  • 特徴: テキスト指示(例:「笑顔にして」)に従って画像を編集
  • 用途: 修正や変化を加えたいとき
  • 補足: Promptの指示が重要。「目を大きく」「髪をピンクに」なども可能
Instruct Pix2Pix

画像のみ、テキスト無しの場合の抽出画像

使用方法

  1. txt2imgまたはimg2imgタブ内の「ControlNet」セクションを開く
  2. 使用する画像(例:線画、ポーズ画像)をアップロード
  3. モデル(例:canny, openpose など)を選択
  4. 各種オプション(有効化、推論強度など)を設定
  5. 通常通り画像生成を開始

通常の線画を生成したい場合は、プロンプトに「線画にして」「sketch」など書く必要はなく、ControlNet側で線画抽出が実行される仕組みです。プロンプト欄の実行(RUN)ボタンをクリックします。

ControlNetのLoRAとの併用

  • A1111は LoRA・ControlNetを同時に使えます
  • 例えば「構図はポーズ画像から取り、画風はLoRAで指定」などが可能です。
目的使用機能設定例
アニメ調にしたいLoRA<lora:anime_style:0.8>
ポーズを再現したいControlNetOpenPose + 画像アップロード
線画を着色したいControlNetCanny + 線画画像をアップロード
両方使いたいLoRA+ControlNetLoRA指定+ControlNetに画像&モデル指定

※LoRAとControlNetは「モデル拡張」であり、複数のUIで使える共通技術です。導入しやすさ・操作感はUIにより異なるため、自分のスタイルに合ったUIを選ぶのがコツです。

実際の使い方例

  1. 線画や、AIなどで抽出したモノトーン線画を用意
  2. ControlNetで「lineart」や「scribble」モデルを選択
  3. プリプロセッサを「none(なし)」に設定(すでに線画なので)
  4. 生成したいイメージをプロンプトに入力
  5. 線画をガイドとして、AIがそれに沿った画像を生成

モノトーン線画の活用法・二次利用法・変換テクニック

ControlNetで「背景が黒、線が白」のモノトーン線画(たとえばlineart, lineart_anime, scribbleなどのプリプロセッサから出力される画像)は、さまざまな方法で画像生成に活用できます。

基本活用:線画画像を使った画像生成

ControlNetの入力としてそのまま使用

この**モノトーン線画をControlNetの入力にすると、元のポーズや構図を保ちつつ、絵柄や色、背景などを自由に変えて生成できます。

  • 使用モデル例:control_sd15_lineart, control_sd15_scribble
  • 応用例:
    • キャラのデザインだけ変えたいとき
    • 背景だけ変えたいとき
    • アニメ風→リアル風への変換 など

**モノトーン線画をControlNetの入力にする・・・ControlNetは、通常のプロンプトだけでは難しい「構図・ポーズ・線画の再現」を補助するツールです。その際、画像を入力として使って補助情報を与える事が出来ます。

ControlNetへの入力画像の読み込み方法(Stable Diffusion WebUIの場合)
前提:

  • **Stable Diffusion WebUI(AUTOMATIC1111)**にControlNet拡張が導入されている
  • ControlNetモデルやプリプロセッサが正しくインストールされている

【STEP 1】ControlNetを有効にする

WebUIを開いて、プロンプト入力画面の下部にある「ControlNet」セクションを展開します。

【STEP 2】線画画像を読み込ませる

  1. 「Enable」 にチェックを入れる
  2. 「画像入力欄(Drag and DropまたはSelect Image)」 に、白線+黒背景の線画画像をドラッグ&ドロップ、または選択で読み込ませる

【STEP 3】適切なプリプロセッサとモデルを選択

線画画像を使う場合、以下のように設定することが多いです

項目推奨設定
Preprocessor(プリプロセッサ)none(線画がすでに出来ているため)
Model(モデル)control_sd15_lineart など(線画専用)

※プリプロセッサを「none」にすることで、画像そのものを使って直接制御できます(すでに白黒で整っているなら、前処理不要)。

【STEP 4】生成プロンプトと画像サイズを設定

  • 通常通りプロンプト(テキスト)を入力
  • 出力サイズや他のパラメータも設定
  • 必要なら「Control Weight」(画像の反映度)を調整

【STEP 5】画像を生成

「Generate」ボタンを押して生成開始。

二次生成に活かすテクニック

②線画を**Invert(反転)**して利用

元の線画が「白線×黒背景」の場合、多くのモデルが期待するのは「黒線×白背景」なので、**画像反転(色の反転)**を行ってからControlNetに入力すると、精度が向上する場合があります。

  • 使用ツール:Photoshop、GIMP、オンラインエディタ、またはControlNetの「invert」オプション

線画に「色を塗って」ColorGuidanceとして使用

  • 線画をそのまま使うのではなく、軽くベタ塗りしてからControlNetに渡すと、色指定のガイドとしても活用できます。
  • Paint + ControlNetの組み合わせでは特に有効(例:control_sd15_scribble + scribbleプリプロセッサ)

拡張活用(画像処理+ControlNet)

他のControlNetと組み合わせて使う

  • lineart + depth → 線画と立体感の両方を指定
  • lineart + pose → 線画のキャラにポーズ制御を加える

ControlNetは最大3つまで同時に使えるので、複数の視点から画像をコントロールできます。

創作的活用(生成のための下絵や反復)

線画を生成後、再度別の画像に使い回す

  • ある画像から抽出した線画を保存して、別プロンプトで再利用(例:同じ構図で別キャラを描く)
  • 同じ線画をベースに複数のスタイルを描き分けて、素材展開や差分制作に応用可能

おすすめツールと補足

  • 画像反転
    • Photoshop:Ctrl+I
    • オンライン:PineTools(Invert Imageなど)
  • ControlNetで反転を自動化したいとき
    • invert_input オプション(WebUI拡張内)

ControlNet導入方法(ローカル/RunPod共通)

ローカル環境・RunPod・クラウド共通:ControlNet導入の基本方針

環境によらず、以下の2パターンでControlNetを導入できます

  • ControlNetが入ったテンプレート・UIを最初から使う
  • 手動でControlNet拡張やノードを追加する(AUTOMATIC1111/ComfyUI)

以下に、ローカル・RunPod いずれでも使える手順を紹介します。

AUTOMATIC1111でControlNetを手動で追加する手順

テンプレート、UIがControlNet未対応でも、自分でインストール可能。

手順

  1. Terminalを開く
  2. 以下のコマンドでControlNetを追加
cd stable-diffusion-webui/extensions
git clone https://github.com/Mikubill/sd-webui-controlnet.git
  1. モデルファイル(.safetensors)を以下にアップロード
stable-diffusion-webui/models/ControlNet/
  1. WebUIを再起動すると、「ControlNet」タブが表示されるようになります。

※SDXL対応のControlNetを使う場合は、対応モデル(〜sdxl〜)を用意する必要があります


ComfyUIでControlNetノードを追加する手順

ComfyUIでControlNetノードを後から追加する方法です。

手順

  1. custom_nodes フォルダに以下を追加
cd ComfyUI/custom_nodes
git clone https://github.com/Fannovel16/comfyui_controlnet_aux
  1. models/controlnet/ にモデルをアップロード(例:controlnet-canny-sdxl.safetensors
  2. ComfyUIを再起動すると、ControlNet用ノードが表示されます

RunPodでControlNet入りのテンプレート/UIを使う場合

AUTOMATIC1111

  1. 「Community Templates」 → 「Search Templates」で ControlNet または LoRAComfyUI をキーワード検索
  2. テンプレート名または説明欄に「ControlNet support」などがあるものを確認

テンプレ名例:「Stable Diffusion WebUI – Full」「Automatic1111 + LoRA + ControlNet」「ComfyUI Extended」など

RunPodでControlNetが使えないときの選択肢

方法難易度特徴
ControlNet入りテンプレを探す最も手軽。見つかれば即使える
拡張を自分で追加する★★★時間はかかるがカスタマイズ性高い
ComfyUI + ノード追加★★ノード管理が自由。慣れていれば最も柔軟
InvokeAIを構築する★★〜★★★安定性・機能性高い。SDXL対応も優秀

ControlNetは単独では動かせず、Stable Diffusionと組み合わせて利用する拡張機能です。使用する環境によって導入方法や自由度は異なりますが、正しく設定すれば画像生成の自由度が大きく広がります。特に線画・ポーズなどからの変換を行いたい場合に効果を発揮します。

用途やスキルに応じて、WebUI(A1111)、ComfyUI、Diffusers、Hugging Face Spaces、InvokeAIなどから最適な環境を選んで使います。

  • URLをコピーしました!
目次