![見出し画像](https://assets.st-note.com/production/uploads/images/113328590/rectangle_large_type_2_e7b03be847ba2d819b4496ff5987f474.png?width=1200)
ControlNetのモデルの種類・使い方14つ / Stable Diffusion
ContorolNetのモデルの種類と各々の使い方についてのメモです。
輪郭抽出(線画)でポーズしたい時 / canny
初心者でも使いやすく、一番忠実にポーズ指定ができる。
人物などの輪郭を保ったまま、プロンプトで一部分を変更したい時にもおすすめ。
プリプロセッサ:canny
モデル:control_canny-fp16
![](https://assets.st-note.com/img/1691399287577-SrihTZeQLu.png?width=1200)
ポーズに加えて、顔や髪型・服装も類似して生成しやすい。
抽出された輪郭画像も同時に出力されるため、保存をして画像を再利用できる。
アップロードした画像
![](https://assets.st-note.com/img/1691399355693-TNq6TwwcuK.jpg)
生成された画像(プロンプト無し)
![](https://assets.st-note.com/img/1691399337417-ckAUj21Cmd.png)
生成された輪郭画像
![](https://assets.st-note.com/img/1691399391730-EoXHOmJZRg.png)
骨格検出でポーズ指定したい時 / openpose
元画像から棒人間を抽出し、ポーズ指定できる。
洋服や背景は全く別のものが生成されるため、ポーズだけ反映させたい時に使用する。
プリプロセッサ:openpose_full
モデル:control_openpose-fp16
![](https://assets.st-note.com/img/1691400073738-Z6Q3Sfu3yT.png?width=1200)
骨格の抽出画像も生成されるため、保存をして画像の再利用ができる。
アップロードした画像
![](https://assets.st-note.com/img/1691400210814-pZtRByv11t.jpg)
生成された画像
![](https://assets.st-note.com/img/1691400219431-7uQSgIzQSo.png)
生成された骨格画像
![](https://assets.st-note.com/img/1691400288974-i9J6PTymFO.png)
棒人間でポーズ指定したい時
先ほど生成した棒人間の画像を使って画像を生成するには、プリプロセッサはnoneにして、モデルはopenposeを使用する。
プリプロセッサ:none
モデル:control_openpose-fp16
![](https://assets.st-note.com/img/1691600335695-hd5GA6gGx6.png?width=1200)
アップロードした画像
![](https://assets.st-note.com/img/1691600356848-G5TGUaDmZ7.png)
生成された画像 (プロンプト無し)
![](https://assets.st-note.com/img/1691600369982-dEewyovS0U.png)
一部分だけ編集したい時 / inpaint
一部分だけ編集したい時に使用する。編集したい箇所をwebページ上の黒色のペンで塗りつぶす。
プリプロセッサ:inpaint_only
モデル:control_v11p_sd15_inpaint
![](https://assets.st-note.com/img/1691615623587-bsKkpP7S4Z.png?width=1200)
アップロードした画像
![](https://assets.st-note.com/img/1691615748127-ArwuXSmJh2.jpg)
黒く塗りつぶした画像
![](https://assets.st-note.com/img/1691615767238-Nirdo2GSPp.png)
生成された画像
![](https://assets.st-note.com/img/1691615781911-bQ1HHRmtaO.png)
高画質化したい時 / tile
画像を拡大して高画質化してくれる。拡張機能の『Tile Diffusion』と合わせて使うのがおすすめ。
プリプロセッサ:tile_resample
モデル:control_v11p_sd15_tile
![](https://assets.st-note.com/img/1691622270816-ndC2Q4cqxs.png?width=1200)
tileで512px✖️512pxで生成した画像
![](https://assets.st-note.com/img/1691620940816-E6lqyJVW9X.png)
tileで1024px✖️1024pxで生成した画像
![](https://assets.st-note.com/img/1691622320458-A2nXCSattf.png?width=1200)
同じ顔を引き継いで生成したい時 / reference
アップロードした画像の顔を引き継いで色々な画像を生成できる。
プリプロセッサ:reference_onty
モデル:なし
![](https://assets.st-note.com/img/1691627594358-rJ72996mQq.png?width=1200)
アップロードした画像↓
![](https://assets.st-note.com/img/1691627423672-QtYeiTMVQJ.png)
生成された画像↓
![](https://assets.st-note.com/img/1691627407612-YO2yg0fhTJ.png?width=1200)
イラストの線画から抽出したい時 / Lineart
イラストから抽出した線画をベースに画像を生成する。
線画の画像を使えば、ControlNetで色塗りができる。
▼ Lineartのプリプロセッサの種類
① lineart_anime
② lineart_anime_denoise
③ lineart_coarse
④ lineart_realistic
⑤ lineart_standad(from white bg & black line)
プリプロセッサ:Lineart_Anime
モデル:control_v11p_sd15s2_lineart_anime
アップロードした画像
![](https://assets.st-note.com/img/1691698851424-vTUjWzLC8G.png)
生成された線画の画像
![](https://assets.st-note.com/img/1691698871598-UAf1hGx9rE.png)
生成した線画を利用して、色塗りをし直すやり方
①先ほど生成された線画をアップロード
②プロプロセッサをnone、モデルをcontrol_v11p_sd15s2_lineart_animeにする
③プロンプトを入力して調整する
④元画像をseedで固定している場合は、seed数値も入力するとより忠実に生成できる
![](https://assets.st-note.com/img/1691699593195-iDvGlEf7Qk.jpg?width=1200)
Lineartの比較
![](https://assets.st-note.com/img/1691721685489-8KXy9DMtbd.jpg?width=1200)
![](https://assets.st-note.com/img/1691722010854-jTzWdUpk4s.jpg?width=1200)
線の太さや色味の質感の違いが楽しめる。
線画を忠実に抽出したい時 / Soft Edge
イラストの線画を抽出してくれる。cannyやLineartよりもより細かな細い線を抽出してくれ、より元画像と似せて生成してくれる。
▼ プリプロセッサの種類
softedge_hed:元画像に最も忠実な線画を抽出してくれる
softedge_hedsafe:softedge_hedより抽出精度を下げ、不自然にならないようにしてくれる
softedge_pidinet:softedge_hedより細かく線を抽出してくれる
softedge_pidisafe:softedge_pidinetより精度を下げ、不自然にならないようにしてくれる
モデル:control_v11p_sd15_softedge
![](https://assets.st-note.com/img/1691773469133-wRt5hQnyyB.jpg?width=1200)
![](https://assets.st-note.com/img/1691774509565-HjauKI0eY9.jpg?width=1200)
SoftedgeとLineartの使い分け
・元絵に忠実な線画を再現したい時はsoftedgeがおすすめ
・背景はランダムで生成したい、細かいディテールは必要ない場合はLineartがおすすめ
深度情報からポーズ指定する時 / Depth
奥行きを正確に抽出しやすい。
深度は手前が白色・奥にいくほど黒色で表現される。(深度マップ)
depthの種類
・depth_leres
・depth_leres++
・depth_midas
・depth_zoe
モデル:control_v11f1p_sd15_depth
![](https://assets.st-note.com/img/1691804470368-Ky7wdvlhM6.jpg?width=1200)
![](https://assets.st-note.com/img/1691805809859-IwSJq41JSA.jpg?width=1200)
下記のように、色塗りの調整もできる。
![](https://assets.st-note.com/img/1691805450626-Rcg1jWC762.jpg?width=1200)
元画像のテイストを維持したい時 / Shuffle
元画像のテイストを維持したまま、新しく画像を再構成できる。
1枚の画像をLoRAのように再利用できるイメージ。
プリプロセッサ:shuffle
モデル:control_v11e_sd15_shuffle
![](https://assets.st-note.com/img/1691862269313-93N8yK7npL.jpg?width=1200)
このように、色味のテイストが類似されて生成される。
![](https://assets.st-note.com/img/1691858811822-62bi5QJMkf.jpg?width=1200)
![](https://assets.st-note.com/img/1691859439811-d3x5byQlYu.jpg?width=1200)
ラフ画からイラストを生成したい時 / Scribble
ざっくりしたラフ画からイラストが生成できる。
大まかな構図や配置を指示したい時におすすめ。
プリプロセッサ:Scribble
モデル:control_scribble-fp16
アップロードした画像↓(へたっぴでごめんなさい)
![](https://assets.st-note.com/img/1691873600183-yzFfw1Spt6.jpg)
生成された画像↓
![](https://assets.st-note.com/img/1691873653766-lhucrlwlCG.png?width=1200)
このように、へたっぴでも構図を汲み取ってくれる。
画像を固定して何度も編集したい時 / IP2P (Instruct Pix2Pix)
元画像を固定して、プロンプトの指示により何度も修正ができる。
CFGスケールを7〜9くらいに設定すると綺麗に仕上がる。
プリプロセッサ:none
モデル:control_v11e_sd15_ip2p
![](https://assets.st-note.com/img/1692075975524-L6IlCgWG9w.png?width=1200)
![](https://assets.st-note.com/img/1692075980862-HIk2qaNjm6.png?width=1200)
アップローした画像↓
![](https://assets.st-note.com/img/1692085528322-buldophOoM.png)
プロンプト:Make her cry.
![](https://assets.st-note.com/img/1692085546132-izwGygOCue.png)
プロンプト:Make her angry.
![](https://assets.st-note.com/img/1692085584570-emC8LkKNdl.png)
直線的な背景を生成したい時 / MLSD
直線のみを抽出する機能。
部屋の内装や背景を生成したいときにおすすめ。
プリプロセッサ:mlsd
モデル:control_mlsd-fp16
アップロードした画像↓
![](https://assets.st-note.com/img/1691992984380-IvZQtr3Ni7.png?width=1200)
生成された画像↓
![](https://assets.st-note.com/img/1691993012273-tB0NI94utp.png)
![](https://assets.st-note.com/img/1691993017856-Gy7Pgh7zFz.png)
生成された線画↓
![](https://assets.st-note.com/img/1691993040590-fMJvGWaVL7.png)
抽出された線画を利用すれば、再度画像の調整ができる。
プリプロセッサ:none
モデル:control_mlsd-fp16
アップローした画像↓ (先ほど生成した線画)
![](https://assets.st-note.com/img/1691993319629-21ZYDyKp4W.png)
生成された画像↓
「カラフルで可愛い子供部屋」というプロンプトを入力。
![](https://assets.st-note.com/img/1691993369945-RQpd3Go0TF.png)
![](https://assets.st-note.com/img/1691993375664-392gez5gUN.png)
パーツ分けして生成したい時 / Segmentation
どこに何が描かれているかを自動で検出して、パーツごとに色分けしてくれる。
構図や配置などは忠実に維持しながら、違うテイストの画像生成ができる。
人物を抽出するのは向いておらず、部屋の内装や背景の生成におすすめ。
▼ Segmentationの種類
・seg_ofade20k
・seg_ofcoco
・seg_ufade20k
プリプロセッサ:seg_ofade20k
モデル:control_seg-fp16
アップロードした元画像↓
![](https://assets.st-note.com/img/1692082409294-C5QB93VEP6.png?width=1200)
抽出された画像↓
![](https://assets.st-note.com/img/1692080828722-g5wLosgDd2.png)
抽出された画像を使用して、再度画像を生成してみた↓
プリプロセッサ:none
モデル:control_seg-fp16
![](https://assets.st-note.com/img/1692082419032-dqRimpmuMo.png)
![](https://assets.st-note.com/img/1692082757233-ixqXLnp1ot.png)
このようにパーツ分けされることで、構図や家具などは忠実に再現しながら、色んなテイストの画像生成を楽しめる。
プリプロセッサ:seg_ofcoco
モデル:control_seg-fp16
![](https://assets.st-note.com/img/1692081697923-N0Mny1gzae.png)
上記の抽出画像を利用して再度生成した画像↓
![](https://assets.st-note.com/img/1692082880112-QW5XqNvg7c.png)
プリプロセッサ:seg_ufade20k
モデル:control_seg-fp16
![](https://assets.st-note.com/img/1692081703486-k8tGyQbl0g.png)
上記の抽出画像を利用して再度生成した画像↓
![](https://assets.st-note.com/img/1692085268256-Roe3Vc6N3m.png)
法線マップから生成したい時 / Normal
元画像から法線マップを抽出して画像を生成する。
個人的にはあまり使い道がない。depthやSoft Edgeの方が元画像をより忠実に再現してくれる。
プリプロセッサ:normal_bae
モデル:control_normal-fp16
![](https://assets.st-note.com/img/1692085637201-fUroqcw5bk.jpg?width=1200)
生成された法線マップ↓
![](https://assets.st-note.com/img/1692085637036-uAXfvrMd6u.png)
このように、イラストが少し変わってしまう。
プリプロセッサ:normal_midas
モデル:control_normal-fp16
![](https://assets.st-note.com/img/1692085637310-XGbWWfsmVS.jpg?width=1200)
生成された法線マップ↓
![](https://assets.st-note.com/img/1692085636846-0050p4tuVp.png)
こちらのメモもオススメです↓