ControlNet NormalMapは、2次元の素材画像から立体構造情報を抽出して新たに画像を生成する拡張機能です。
Stable Diffusionでは、プロンプトを使用して細かい凹凸や質感を再現するのが難しいとされています。そのような場合に利用できるのが法線マップ「Normal Map」です。
この記事では、ControlNetのNormalMapの機能と使い方を解説します。
ControlNet NormalMapとは?

ControlNet NormalMapは、3D CG描画において使用される技術の一つであり、物体の表面の細かい凹凸や質感を再現するために利用されるテクスチャデータを指します。
NormalMapを利用することによって、複雑な形状やディテールを持つモデルが低解像度でリアルに見えます。
ControlNet NormalMapの特徴
Normal Mapを使用することで、AIが生成する画像において、細かな表面のディテールを正確に再現できます。
- NormalMapは、R(赤)・G(緑)・B(青)の各チャンネルが、法線ベクトルのX、Y、Z成分に対応し、RGBカラー画像として保存される
- Stable Diffusionでは、写真や画像をベースにControlNetのツールを使用して法線マップを作成できる
- 3Dモデルを構成するための計算負荷を抑えつつ、視覚的な複雑さをマップで表現できる
ControlNet NormalMapによる画像処理
ControlNet NormalMapによる画像処理には、以下のような利用方法があります。
- キャラクターや背景オブジェクトでリアルな質感を再現しつつ、3D画像として生成する
- 光と陰影を効果的にコントロールすることで、視覚的な品質を向上させる
- 建物の表面の凹凸(レンガ、石材など)をリアルに表現する

ControlNet NormalMapのインストール

NormalMapは、ControlNet内にインストールされているので、Stable Diffusion内にControlNetを実装すれば導入は完了します。
ControlNetのインストール方法はこちらで詳しく紹介しています。

ControlNet NormalMapのモデルデータ設定
Stable DiffusionにControlNetのインストールが完了したら、NormalMapに使用するモデルデータを必要に応じてダウンロードします。
Hugging Face内にControlNetに関するモデルファイルの一覧があります。その中からNormalMapのモデルファイルをダウンロードしましょう。
ControlNetモデルデータ
SD1.5、SD2.1、SDXLを使う場合、それぞれのControlNetモデルデータが異なります。利用するStable Diffusionのモデルに合わせてダウンロードしましょう。
SD1.5用ControlNetモデルデータ
https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/tree/main
SD2.1用ControlNetモデルデータ
https://huggingface.co/thibaud/controlnet-sd21/tree/main
SDXL用ControlNetモデルデータ
https://huggingface.co/lllyasviel/sd_control_collection/tree/main
- SD1.5のCheckpointで利用するNormalMapのモデルファイル
-
- control_v11p_sd15_normalbae_fp16.safetensors
- SD1XLのCheckpointで利用するNormalMapのモデルファイル
-
- bdsqlsz_controlllite_xl_normal
- bdsqlsz_controlllite_xl_normal_dsine
ダウンロード後は、Stable Diffusion Web UIを「
models」>「 ControlNet」の順で開き、ダウンロードしたファイルを配置すれば完了です。
ControlNet NormalMapの使い方

ここからは、実際に元画像から法線マップ(Normal Map)を抽出し、新たな画像を生成する方法を解説していきます。
あらかじめ、ControlNetのインストールとNormalMapに使用するモデルデータのダウンロードを済ませておきましょう。
ControlNetのインストールが完了すると、Stable DiffusionにControlNetのパネルが表示されます。
「◀マーク」をクリックしてControlNetパネルを開き、法線マップを抽出したい画像のドラッグ&ドロップで読み込みます。

「有効化」、「Pixel Perfect」、「Allow Preview」、「NormalMap」にチェックを入れましょう。
プリプロセッサに「normal_bae」、モデルに「control_v11p_sd15_normalbae」を選択します。
モデルはSD1.5とSDXLで使い分けます。
プリプロセッサとモデルの間にある「💥ボタン」をクリックして法線マップを抽出します。右側に作成されたネガの画像が表示されれば抽出完了です。

法線マップに書き加えたい内容をプロンプトに入力します。
プリプロセッサごとに生成結果を比較してみます。
pastel yellow hair,after school background,sunset
- normal_bae
光の反射や陰影がはっきり再現されます。

- normal_midas
キャラクター表面の凹凸や質感をよりリアルに再現します。

- normal_dsine
特定のシーンに合った最適な結果が得られます。


ControlNet NormalMapのよくあるエラー

ControlNet NormalMapを利用している時に起きるエラーを事例とともに紹介していきます。
SDXLモデルではNormalMapの生成結果が反映されにくい
SDXLモデルでNormalMapが利用できるモデルは下記の2つですが、Checkpointによっては生成結果が得られない場合があります。
- bdsqlsz_controlllite_xl_normal
- bdsqlsz_controlllite_xl_normal_dsine
他のモデルに切り替えて生成を試してみましょう。
深度が検知されない
アニメイラストや平面要素が強い素材画像は、NormalMapの法線が検知されないこともあります。
深度(立体感)が強い素材画像に切り替えて利用しましょう。


Stable DiffusionでControlNetのNormalMapをうまく使いこなそう

Stable DiffusionでControlNetのNormalMapを使いこなすには、高いスペックのPCと数多くの生成回数が必要です。
効率的に深度の抽出画像を生成するには、16GB以上のVRAMが搭載されたパソコンの利用がおすすめです。
しかし、高性能なパソコンの多くが30万円以上と高額になります。
そのような時は、PICSOROBANがおすすめです。
コストを抑えたい方へ:今のパソコンのまま使える「PICSOROBAN」
ピクソロのメリット
- すぐ使える:高額PC不要で、ブラウザからすぐに利用可能。必要な分だけポイントを購入できます。
- リーズナブル:30分約60円で利用可能。さらに今なら約2時間分が無料。
- 無制限作成:時間内であれば、何枚でも画像生成可能。短時間で多くの作品を生成できます。

PICSOROBANは、インストールの必要なくブラウザで簡単にStable Diffusionを利用できます。
さらに、今ならリリースキャンペーンとして無料会員登録するだけで、2,000ポイント貰えます!
詳しい使い方は下記の記事で紹介しています。
\約2時間無料で使える!/
Stable Diffusionが快適に使えるおすすめのパソコンやグラボに関しては下記の記事で紹介しています。