AIワンダーランド

AIエンジニアの個人開発ブログ

【実例付き】Stable Diffusionの「ControlNet」使い方ガイド

更新日:2023年7月9日

 

概要

様々な機能を持つ「ControlNet」とっても便利なので使わないなんてもったいない!!

実例付きで機能をまとめてみましたので、参考にしていただければ幸いです。

 

使い方ガイド

【基本ポイント】

  • PreprocessorとModelの組み合わせで結果が変わる
  • weghtの強さで機能強弱を調整
  • プロンプト有無は状況により使い分ける

 

【元画像】

Stable Diffusion:AnimePastelDream

 

canny

エッジ検出の一種で、画像からエッジ(境界線)を抽出するためのアルゴリズム。

バリエーションを増やす
weghitを弱めてプロンプトで構図や細部を変更する

「ContorlNet」

Preprocessor:canny

Model:canny

 

手書き線画からイラスト生成

手書きの線やスケッチから画像を生成することも得意です。

ノートに描いた落書きを取り込むと・・・

こんな感じに色付けできちゃいます!!!感動。。。

 

depth

画像の深度情報を記憶する。

場所をプロンプトに追加して、背景だけ変えていくのに便利

「ContorlNet」

Preprocessor:depth leres++

Model:depth

depth leres++が一番細かく深度をとれる

 

 

depth library

手や指の修正ができる。

指だけ変でおしい時にこれがあれば修正可能に!!

  1. 「Add backgroud image」で修正したい画像を選択
  2. 「Hands」を選択して「Add」で手オブジェクトを追加
  3. 手オブジェクトをマウス操作で大きさ、角度、適切な位置に合わせる
  4. 「Save PNG」で保存

 

 

手オブジェクト画像が保存できました。

 

次に「txt2img」で元画像生成時と同じモデルとプロンプト、seed値を入力

過去の生成画像は「PNG Info」に画像を入れれば情報を確認できます。

 

「ContorlNet」

Preprocessor:none

Model:depth

 

Weight:弱いと手が反映されない、強いと手じゃなくなる

Step:早いと元画像から変化し過ぎてしまい、遅いと変な修正になる。

ただ、パラメータ調整したのですが今回の画像でピースは難しかったです。。

パーやグーの方が無難なのでしょうか。

 

修正後。指が自然な形に加工できました。

 

mlsd

最小二乗直線検出(Minimum Least Square Line Detection)の略。画像から直線を検出するためのアルゴリズム。

背景抽出、部屋のインテリアや内装の描画

「ContorlNet」

Preprocessor:mlsd

Model:mlsd

 

左側の建造物から、右の直線を検出

直線から背景を生成

 

openpose

人間の体の姿勢を推定するための技術。画像や動画から人間の骨格のキーポイントを検出します。

姿勢やポーズを指定できる

「ContorlNet」

Preprocessor:openpose

Model:openpose

face,faceonly,full,handなど細部に特化したprocessorもあります。

 

棒人間のように抽出してポーズを再現

 

プロンプトを追加することで同構図で異なる世界観を生成してみる。

語りかけている感じがしたので

 

「神々しい雰囲気で、神の使いの美少女が人々に微笑みかけているイラスト」

flat color, flat shading, nsfw, retro style, poor quality, bad face, bad fingers, bad anatomy, missing fingers, low res, cropped, signature, watermark, username, artist name, text

 

「営業をしているビジネスウーマン、何とか説得しようと語り掛けているイラスト」

a businesswoman in the midst of a sales pitch, earnestly engaging and persuading her audience.

 

brav5でやってみるとこんな感じでした。

すごい熱い感じ。説得されてしまいそうです。

 

scribble

イラストの線やスケッチから画像を生成

cannyと似ていますが、こちらはもっとラフな線画として扱うことに適してます。

「ContorlNet」

Preprocessor:scribble hed

Model:scribble

線の細かさ:pidinet < hed < xdogi 

 

pidinet 大まかな構図くらいしか拾えていない

hed

xdogi 背景もとれる。それでもcannyと比べたらだいぶラフ線ですね

 

inpaint

画像の欠損部分を元の画像の情報を利用して補完する技術。

欠けている部分を自然に補完修復する
部分的に変更する

「ContorlNet」

Preprocessor:inpaint_global_harmonious

Model:control_v11p_sd15_inpaint_fp16

 

左目を塗りつぶして、プロンプトは元々使っていたプロンプトの眼の色を青から赤に変更しておく。


オッドアイ完成

 

lineart

詳細な色や影を含まず線画で再現。cannyと同じようですが、線画が手書きのように柔らかいのが特徴です。

柔らかい線画でイラストを再現

「ContorlNet」

Preprocessor:lineart_

Model:control_v11p_sd15_lineart

プロンプトなし

https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

 

standard:濃淡が強めで印象を変えれる

anime:鉛筆のような細い線、量は少なめ

course:細い線も拾う

realistic:courseよりも細かな線を拾うので再現度が高い

 

normalbae

3Dモデルの表面の向きを表すノーマルマップを生成する技術。

x,y,z方向を赤・緑・青で凹凸を表現して立体感を再現

立体的な構図を活かす

「ContorlNet」

Preprocessor:normal_bae

Model:control_v11p_sd15_normalbae

 

Segmentation

画像を意味のある領域に分割する技術。各ピクセルがどの物体に属するかを識別します。

パーツごとに分割して活用

「ContorlNet」

Preprocessor:seg_ofcoco

Model:control_v11p_sd15_seg

 

softedge

エッジ(境界線)を滑らかにする技術。画像のエッジを自然に見せるために使用されます。

イラストをより柔らかい印象にする

「ContorlNet」

Preprocessor:softedge_hed

Model:control_v11p_sd15_softedge

 

reference

参照画像のこと。元の画風とキャラクターを活かすことができる。

画風やキャラを維持して複製

「ContorlNet」

Preprocessor:reference_adain

 

tile

タイルとは、小さな画像やパターンのこと。元画像のキャラや背景を変えずに高画質化ができる。img2imgの方で利用します。

イラストの高画質化

「img2img」

Denoising strength:0.75

「Tiled Diffusion」

Medthod:Mixture of Diffusers

Latent tile overlap:8

Upscaler:R-ESRGAN 4x+Anime6B

Enable Noise Inversion:on

Renoise strength:0

「ContorlNet」

Preprocessor:tile_resample

Model:control_v11f1e_sd15_tile

Down Sampling Rate:2

おーーいいですね!!少し高画質になった感があります。

ちなみに「Down Sampling Rate:4」だと逆にぼやけてしまっていました。

 

線画比較

左上:canny 右上:scribble_xdogi

左下:lineart_realistic 右下:softedge_hed

 

個人的には「lineart_realistic」での高画質化が「tile」より便利に感じました。

ControlNetだけでもまだまだ勉強することが多いです。いいですね。

 

 

以上、【実例付き】Stable DiffusionのControlNet使い方ガイド でした。

ではまた。

 

 

====================================

【おすすめ書籍】

2023年7月発売

鋭い洞察と深みのある言葉がささります。

読み物としてお勧め。なので電子版でもいいです。

 

2023年10月発売

AI、データ活用が必須の時代に。

豊富な企業事例で自社や自分を俯瞰できると思います。

 

【お勧めアイテム】

肩こりに悩むエンジニアの皆様へ!!!

 

私も慢性的な重度の肩こりプログラマですが

数年間いろいろな枕を買っては捨ててを繰り返してきまして

やーーーーっといい枕に出会いました。

朝起きて首が痛くない!すばらしい

横向けでも仰向けでもいい感じに寝ることができています。

 

ので肩こりが多いエンジニアの皆様にお勧めします。

高価ですが、整体2回分と考えたら安いものですね笑

====================================