ComfyUI ControlNet Cannyの使い方|線画から実務パース生成
建築図面やCAD(設計図面を作成する設計ソフト)の出力データから、フォトリアルな完成イメージを自動で生成できたら便利だと思いませんか。ComfyUI(ノードをつないで画像生成AIを動かすツール)のControlNet(コントロールネット)Cannyを活用すれば、画像の輪郭線を正確に抽出して、その構造を保ったまま新しい画像を生成できます。
Canny(エッジ検出)は、ControlNetのプリプロセッサ(前処理モジュール)のなかでも線画や図面との相性がとくに優れた手法です。建築パースの作成やデザインの検討段階で、大きな時間短縮につながります。
この記事では、ComfyUIでCannyエッジ検出を使ったワークフローの構築手順から、閾値パラメータの調整方法、建築図面への実践的な活用法までを解説します。
Cannyエッジ検出とは
CannyエッジはControlNetで使われる代表的なプリプロセッサで、建築分野との相性のよさが特長です。ここでは輪郭線抽出の仕組みから、建築図面・CADと相性がよい理由までを順に整理します。
画像の輪郭線を白黒マップとして抽出する仕組み
Cannyエッジ検出は、画像のなかで明るさが急激に変わる部分を見つけ出し、輪郭線として抽出するアルゴリズムです。1986年にJohn Cannyが提唱した手法で、コンピュータビジョンの分野で広く使われています。建築で言えば、カラーの完成パースから骨組みだけを抜き出してトレーシングペーパーに写し取る作業に近い処理です。
処理の流れは以下のとおりです。
- ノイズ除去: ガウシアンフィルタで画像のノイズを低減する
- 勾配計算: ピクセル間の明るさの変化量と方向を計算する
- 非極大値抑制: エッジの太さを1ピクセルに細くする
- ヒステリシス閾値処理: 2つの閾値で強いエッジと弱いエッジを判定する
最終的に出力されるのは、黒い背景に白い線で輪郭が描かれたマップです。ControlNetはこのマップを「構造の設計図」として読み取り、線の位置関係を維持したまま画像を生成します。つまり「骨格は変えずに素材と光だけ変える」差分編集が1発で実行できる状態になります。
Cannyが建築図面・CADと相性が良い理由
ControlNetにはDepth(深度マップ)、Scribble、OpenPoseなど複数のプリプロセッサがあります。そのなかでCannyが建築分野に最も適しているのはなぜでしょうか。
建築図面やCAD出力は、もともとはっきりした線で構成されています。Cannyは輪郭線の抽出に特化しているため、図面の線をほぼそのまま活用できるのが強みです。壁の位置、窓の配置、柱の間隔といった構造情報を正確に反映した画像生成ができます。
実務では、設計初期段階のCADデータからフォトリアルなパースを素早く作る場面で効果を発揮します。クライアントへの提案資料を短時間で用意したいときに扱いやすい手法です。
ComfyUIでのCannyワークフロー構築手順
ComfyUIでCannyワークフローを組むには、モデルの準備・ノード接続・Flux対応の3つを押さえる必要があります。ここでは最初のモデル準備から順を追って、構築の全体像を見ていきます。
必要なモデルとノードの準備
ComfyUIでCannyを使うには、以下の準備が必要です(2026年4月現在)。3Dソフトでレンダラープラグインと素材ライブラリを揃えるのと似た、事前仕込みの工程です。
ControlNetモデルのダウンロード
使用するベースモデルに合わせて、対応するControlNetモデルを選びます。
- SD1.5向け: control_v11p_sd15_canny.pth
- SDXL(Stable Diffusionの高解像度版)向け: control-lora-canny-rank256.safetensors(VRAM(GPUの作業メモリ)消費が少ない)
- Flux(高品質な新世代画像生成モデル)向け: 3系統あり(次項で詳述)
ダウンロードしたファイルは ComfyUI/models/controlnet/ フォルダに配置してください。Flux系の公式LoRA(軽量な追加学習ファイル)方式は ComfyUI/models/loras/ に配置する点がほかと異なります。
カスタムノードの導入
Canny Edge Preprocessorノードを使うには、comfyui_controlnet_auxパッケージが必要です。ComfyUI Managerから「comfyui_controlnet_aux」を検索してインストールするのが最も手軽な方法です(参考: Fannovel16/comfyui_controlnet_aux、2026年4月現在)。
Canny Edge Preprocessor → Apply ControlNetの接続
標準的なワークフローは、以下8ノードの直列構成です(参考: ComfyUI Wiki: How to Use Canny ControlNet SD1.5、2026年4月現在)。
ステップ1: 画像の読み込み
Load Imageノードを追加して、エッジを抽出したい元画像を読み込みます。建築図面の場合は、線がはっきり写ったPNG形式が適しています。
ステップ2: Cannyプリプロセッサの適用
Canny Edge Preprocessorノードを追加し、Load Imageの出力を接続します。low_thresholdとhigh_thresholdの初期値はそのままで、まず結果を確認しましょう。
ステップ3: ControlNetの適用
Apply ControlNet(Advanced)ノードを追加します。Canny Edge Preprocessorの出力をimage端子に接続し、ControlNetモデルを読み込みます。strengthは0.7から試すと、線を保ちつつ不自然な固さが出にくい範囲に収まります。
ステップ4: プロンプトの設定
CLIP(テキストを数値化する処理)Text Encodeノードでポジティブプロンプトとネガティブプロンプトを設定します。ControlNetのconditioning出力をKSampler(画像生成の中核ノード)に接続してください。
ステップ5: サンプリングと出力
KSamplerノードで生成を実行し、VAE(画像と潜在表現を相互変換する処理)Decodeで画像をデコードします。Save Imageノードで結果を保存すれば完了です。
Flux対応のCannyワークフロー3系統
Flux(FLUX.1)モデルでCannyを利用する場合、2026年4月現在で3系統の選択肢があります。それぞれ方式が異なるため、用途に合わせて選ぶ必要があります。
(a) Flux.1 Canny Dev(Black Forest Labs公式、LoRA方式)
公式の「Flux Tools」として配布されるLoRA形式のCannyです。既存のFLUX.1 Dev本体にLoRAを適用して動作させる仕組みで、従来のControlNet方式とは異なります。ComfyUIではLoadFluxControlNetとApplyFluxControlNetの専用ノードを利用します(参考: ComfyUI公式: Flux.1 ControlNet Examples)。モデル規模は12Bパラメータで、1024×1024の生成に約20秒程度(高性能GPU、2026年4月現在)、最大4MP出力に対応します。
(b) XLabs-AI flux-controlnet-canny-v3(第三者実装)
XLabs AIが公開する従来型のControlNet実装です。建築・プロダクトデザイン用途で線精度の評価が高く、海外の建築系クリエイターに広く使われています(参考: XLabs-AI/flux-controlnet-canny-v3)。
(c) InstantX FLUX.1-dev-Controlnet-Canny-alpha / Union
InstantXによる実装で、CannyやDepthなど複数プリプロセッサを統合したUnion型も選べます。複数の制御を1モデルでまかないたい場合に適します。
建築パース用途で線の忠実度を最優先する場合、海外の事例ではXLabsのv3が選ばれる傾向にあります。公式LoRA方式は既存FLUXワークフローとの親和性が高く、Union型は複数制御を同時に扱いたい場合に扱いやすい選択です。ただし、FluxベースのCannyはVRAM消費と推論時間がSD1.5比で大きい点は共通して留意が必要です。
low_threshold・high_thresholdパラメータの調整
Cannyの仕上がりを左右する重要なパラメータが、2つの閾値(low/high_threshold)です。ここではノード種別によるスケールの違いを押さえたうえで、検出結果への影響と用途別おすすめ設定を順に整理します。
ノード種別と閾値スケールの違い
パラメータ解説の前に、ComfyUIには「Canny」系のノードが2系統あり、閾値のスケールが異なる点を押さえておきましょう(2026年4月現在)。カメラの露出計がカメラごとに違う単位を持つようなもので、同じ数値でも別物になります。
| ノード名 | 配布元 | 閾値スケール | 主なデフォルト |
|---|---|---|---|
| Canny(組み込み) | ComfyUI本体 | 0.01〜0.99(float) | low=0.4 / high=0.8 |
| CannyEdgePreprocessor | comfyui_controlnet_aux | 0〜255(int) | low=100 / high=200 |
同じ「0.4」でも意味がまったく異なります。以下の解説は、建築図面を扱う実装として一般的なCannyEdgePreprocessor(0〜255スケール)を前提にします(参考: Canny – ComfyUI Built-in Node Docs)。
2つの閾値が検出結果に与える影響
Canny Edge Preprocessorには、エッジ検出の感度を制御する2つのパラメータがあります。
- low_threshold(下限閾値): この値より弱い輝度変化はエッジとして認識されません。値を下げるほど細かい線も拾います
- high_threshold(上限閾値): この値を超える輝度変化は、確実にエッジとして検出されます。値を上げるほど強い輪郭線だけが残ります
2つの閾値の間にある中間的な輝度変化は、強いエッジに連結している場合のみ採用されます。孤立した弱エッジはノイズと判定されて捨てられ、強エッジから伸びる弱エッジだけ線として残る挙動になります。これがヒステリシス処理と呼ばれる仕組みで、この概念を理解しておくと閾値調整の勘所がつかみやすくなります。low_thresholdは必ずhigh_thresholdより小さい値に設定してください。
では、用途ごとにどのような値を設定すればよいのでしょうか。
用途別おすすめ設定値
目的に応じた設定の目安をまとめます。
建築図面・CAD出力の場合
図面はコントラストがはっきりしているため、high_thresholdを高めに設定します。low_threshold: 100、high_threshold: 200が出発点として扱いやすい値です。ノイズの少ないクリーンな線画マップが得られます。
写真からエッジを抽出する場合
写真にはグラデーションやテクスチャが多いため、閾値を下げて拾う線を増やします。low_threshold: 50、high_threshold: 150あたりから調整すると、建物の外形だけでなく窓やドアのディテールも拾えます。
ラフスケッチから生成する場合
手描きのスケッチは線のムラが大きいため、low_threshold: 30、high_threshold: 100のように感度を高めに設定します。ただし、ノイズも増えるため、元画像のコントラストを事前に調整しておくと線画マップが安定します。
実務では、まず初期値で生成し、出力画像を確認してから閾値を微調整するのが効率的です。いきなり攻めた設定にせず、デフォルトからの差分で挙動を確認していく進め方が再現性を保ちやすくなります。
建築図面からフォトリアル画像を生成する実践例
建築図面をCannyで処理すれば、フォトリアルな完成イメージへと変換できます。ここではCAD出力の準備からプロンプト設計まで、実際の作業手順に沿って順に解説します。
CAD出力・平面図をCannyで処理する手順
建築図面からフォトリアル画像を生成する具体的な手順を紹介します。
元画像の準備
CADソフト(JW_cadやAutoCADなど)から書き出した図面を、1024×1024ピクセル以上のPNG画像として保存します。線が太すぎると不要なエッジが増えるため、細線(0.25mm程度)の設定で書き出すのがポイントです。
Cannyプリプロセッサの設定
図面は白黒でコントラストが明確なため、デフォルトの閾値設定でも十分機能します。ただし、寸法線や注記文字が含まれている場合は、high_thresholdを220程度まで上げると主要な構造線だけを抽出できます。
生成結果の確認
Cannyマップが正しく構造を捉えているか、プレビューで確認します。壁線が途切れている場合はlow_thresholdを下げ、不要な線が多い場合はhigh_thresholdを上げて再調整してください。
プロンプトとstrengthの調整ポイント
建築図面からの生成では、プロンプトの書き方が仕上がりを大きく左右します。どのようなプロンプトが効果的なのか、具体例を見てみましょう。
プロンプト例
photorealistic architectural rendering, modern house exterior,
white walls, large glass windows, wooden deck, blue sky,
professional photograph, 8k quality
strengthの海外標準値(2026年4月現在)
海外のComfyUI系チュートリアルで提示される用途別strengthの目安は以下のとおりです(参考: ComfyDeploy: FLUX ControlNet、ComfyUI Wiki)。
- 0.9〜1.0: 建築図面・技術図面からの生成。線の完全保持が最優先の用途で採用されます
- 0.7前後: ラフスケッチから完成画像への変換。線は活かしつつAIの自然表現も取り込みます
- 0.5前後: 軽い構図ガイドとしての利用。構図の参考にしつつ自由度を残します
- 0.3〜0.5: 大まかな構成だけを活かし、アイデア出し段階向けの設定になります
実務では、クライアント提案用の図面パースはstrength 0.9〜1.0、社内検討用の初期スタディはstrength 0.5を基準にする運用が扱いやすい選び分けです。目的に合わせて使い分けると試行錯誤の回数が減り、検討時間の短縮につながります。
スケッチからの建築パース生成はComfyUI×建築スケッチで始めるフォトリアルレンダリング変換5手順で詳しく取り上げています。
Canny・Depth・Scribbleの使い分け
Canny・Depth・Scribbleは、いずれもControlNetで使われる代表的なプリプロセッサですが、得意分野が異なります。ここでは3つの特徴を比較したうえで、目的別の選び方へと進みます。
3つのプリプロセッサの特徴比較
ControlNetの主要なプリプロセッサ3種類の特徴を比較します。どれを選ぶかで生成結果が大きく変わるため、それぞれの得意分野を把握しておくことが、現場で使う工具を選ぶのと同じくらい仕上がりを左右します。
| 項目 | Canny | Depth | Scribble |
|---|---|---|---|
| 抽出する情報 | 輪郭線(エッジ) | 奥行き(深度マップ) | 手描き風の線画 |
| 線の細かさ | 高い | なし(面で表現) | 低い |
| 構造の忠実度 | 高い | 中程度 | 低い |
| 建築図面への適性 | 最も高い | やや低い | 低い |
| 自由度 | 低い | 中程度 | 高い |
なお、エッジ系のプリプロセッサはCanny以外にもLineart、SoftEdge(HED)、MLSDなどがあります。とくにMLSDは直線検出に特化しており、建築外観など直線が支配的な被写体では選択肢に入ります。この記事では導入向けの比較として使用頻度の高いCanny / Depth / Scribbleの3種に絞って解説します。
目的別の選び方
それぞれのプリプロセッサが力を発揮する場面は異なります。
Cannyを選ぶ場面
- 建築図面やCADデータから正確に構造を再現したいとき
- 既存の写真を同じ構図でスタイル変換したいとき
- 線画イラストのカラーリングを変えたいとき
Depthを選ぶ場面
- 空間の奥行きや遠近感を制御したいとき
- 室内パースで家具の前後関係を正しく表現したいとき
- テクスチャやディテールはAIに任せたいとき
DepthプリプロセッサはComfyUI ControlNet Depth|深度マップで建築パース制御で詳しく解説しています。
Scribbleを選ぶ場面
- ラフなアイデアスケッチから画像を生成したいとき
- 手描きの線を活かしつつ自由に表現を広げたいとき
- デザインの初期段階でさまざまなバリエーションを試したいとき
建築の実務フローでは、まずScribbleでアイデア出しを行い、方向性が固まったらCannyで精度の高い生成に切り替える流れが扱いやすい進め方です。
複数のControlNetを同時に使いたい場合は、ComfyUI 複数ControlNet併用テクニック|実務の組み合わせ5選でまとめています。
まとめ
ComfyUIのControlNet Cannyは、エッジ検出で画像の輪郭線を抽出し、構造を保ったまま新しい画像を生成する手法です。とくに建築図面やCADデータからフォトリアルなパースを作成する場面で大きな効果を発揮します。
ワークフローの構築はCanny Edge Preprocessorで線画マップを作成し、Apply ControlNetで条件づけするという2ステップが基本です。low_thresholdとhigh_thresholdを調整すれば、細かい線まで拾うか主要な輪郭だけに絞るかを自在にコントロールできます。ノード種別でスケールが異なる点(組み込みCanny=0.01〜0.99 / CannyEdgePreprocessor=0〜255)と、Flux系は公式LoRA / XLabs / InstantXの3系統があることも押さえておきましょう。
Cannyは線の忠実度が高い分、Depthの空間表現やScribbleの自由度とは役割が異なります。目的に応じて最適なプリプロセッサを選ぶことで、画像生成の精度と効率を両立できます。
あわせて読みたい
- ComfyUI ControlNet・構図制御ガイド — ControlNet全体の概要と各プリプロセッサの選び方を押さえたい方へ
- ComfyUI ControlNet Depth|深度マップで建築パース制御 — 奥行きマップによる空間制御の手順を押さえたい方へ
- ComfyUI Scribble/Lineart|スケッチから建築パース生成法 — ラフスケッチから画像生成に進みたい方へ
- ComfyUI×建築スケッチで始めるフォトリアルレンダリング変換5手順 — 手描きスケッチを建築パースへ変換する実践ワークフローを知りたい方へ
- ComfyUI 複数ControlNet併用テクニック|実務の組み合わせ5選 — CannyとDepthなど複数制御を重ねて精度を上げたい方へ




