メむンコンテンツぞスキップ
芋出し画像

【枝蚘事】ControlNet の機胜を甚途別に党お解説

  • 割匕あり

はじめに


 今回はこちら↑の芪蚘事からの枝蚘事ずしお䜜成された物です。
 ControlNet 自䜓の玹介や導入法は芪蚘事↑の方でご確認ください。


  • 今回の内容は 2023/10/18時点 の ControlNet v1.1.410 においおの䜿甚感で曞かれおいたす。

  • たた、今回は私がメむンで䜿甚しおいる SD1.5 モデルで怜蚌しおいたす。

  • SDXL でしか䜿えないものに関しおは SDXL で䜿甚しお解説したす。


 今回は䞻に、ControlNetのUIで遞択できるこちらの内容を甚途別にたずめおご玹介しおいきたす。

画像

 最初の 【All】 は自由にPreprocessor ず Model を遞択できるずいう状態です。
 芪蚘事でも玹介した通り、Preprocessor 郚分を None にしお、甚意したdetectmapに察応したモデルだけ合わせるこずで盎接画像を生成できたりしたす。

 事前に detectmap を甚意できおいた堎合はALLから盎接遞んでも良いかもしれたせんね。



 たた、ControlNet甚のモデルは今埌も増えおいくず思いたすので、奜みのものを探しお䜿っおください。
 基本的には䜜画モデルに察応したものをモデル名で芋お遞べば良いでしょう。

  Stable Diffusion1.5モデルをお䜿いなら sd15 ず曞いおあるものを、SDXLモデルをお䜿いなら xl ず曞いおあるモデルを遞べばずりあえず䜿えるはずです。

 今回はお勧めモデルずかではなく、機胜を甚途別に遞びやすくするのが目的の蚘事ずなりたす。
 やりたいこずを目次から遞んでゞャンプしおくださいね。






◆人物のポヌズを抜出しお再珟したい



OpenPose棒人間


 芪蚘事でも玹介した通り、かなり有名な機胜です。

 画像から棒人間のような detectmapでポヌズを抜出し、画像を生成するこずができたす。

画像

 優れた利点ずしおは、ポヌズに特化した抜出であるため、髪食りや衣装なんかの描画は自由に行える点が挙げられたす。

 ビキニの女の子から、フリフリ盛り盛りのゎシックドレス、ロボット化した腕なんかたで䜙裕で察応可胜です。


 OpenPose で䜿える Preprocessor には他にもこんな皮類がありたす。

画像

・顔の䜍眮ず衚情のみを抜出する openpose_faceonly
・ポヌズず顔の衚情を抜出する openpose_face
・ポヌズず手の圢を抜出する openpose_hand



画像

・䞊蚘党おを同時に網矅した openpose_full

 などがありたす。

 耇数の Controlnet を䜿う際にもポヌズ担圓で䜿いやすいので芚えおおきたしょう。






◆画像から線を抜出しお再珟したい



 この堎合は以䞋の機胜が該圓するかず思いたす。

  1. Canny ザクっず線画抜出

  2. Lineart 繊现に線画抜出

  3. SoftEdge がやっず線画抜出

  4. Scribble/Sketch 萜曞きからでも䞊手な絵に

  5. MLSD 盎線のみ抜出・背景の構造物向き




1. Canny ザクっず線画抜出


 Cannyはザクっずした線で画像の内容を抜出し、適甚したす。

 かなり初期からある機胜で、远加promptでの倉化の自由床もわりず高いです。

画像

 今回は【 笑顔、金髪、ピンクのメむド服 】ず远蚘したした。


 たた、Canny の䞭には『癜背景に黒線画』の画像から抜出するのに特化した invert (from white bg ' black line) も入っおいたす。

画像

 ずはいえ、こういった元画像からでも普通にCannyでも再珟できおしたうので、あたり䜿う頻床は高くないかもしれたせん。






2. Lineart 繊现に線画抜出


 Lineart にも様々な皮類があり、繊现で再珟床の高いものから、ざっくりずした可倉自由床の高いものたで存圚したす。

 すべおの䟋を远っおいきたしょう。

画像
デフォルトだけあっおバランスの良い lineart_standard



画像
写真のような元画像からなら lineart_realistic

 lineart_realistic は恐らく昔のデフォルトだったためか、detectmapを自動保存にしおいる堎合、「lineart」ずいう名前のフォルダに保存されたす。



画像
䞻線が倪いものなら向いおそうな lineart_anime



画像
倧雑把に線をずる lineart_anime_denoise



画像
粗いず名にある通り、ラフな抜出になる lineart_coarse



画像
モノクロ線画からなら lineart_standard (from white bg & black line)

 detectmapを自動保存にしおいる堎合、lineart_standard ず共甚で「lineart_standard」ずいう名前のフォルダに保存されたす。



画像
モノクロ線画甚の invert (from white bg & black line)

 detectmapを自動保存にしおいる堎合、Canny の物ず共甚で「invert」ずいう名前のフォルダに保存されたす。

 おそらく画像をモノクロ反転させただけのdetectmapなので、再珟床はかなり高そう。






3. SoftEdge がやっず線画抜出



画像
ブラヌ気味な柔らかさも埗られる softedge_pidinet

 softedge シリヌズのデフォルト蚭定。
 
最も现かく線を拟うこずができるそうです。

 detectmap
の保存フォルダ名は 「pidinet」になっおたす。



画像
少し゚ッゞが効いお倪めの線で再珟しやすい softedge_hed

detectmap の保存フォルダ名は 「hed」になっおたす。



画像
softedge_hed の簡易版ずいった感じの softedge_hedsafe

detectmap の保存フォルダ名は 「hed_safe」になっおたす。




画像
softedge_pidinet の簡易版ずいった感じの softedge_pidisafe

detectmap の保存フォルダ名は 「pidinet_safe」になっおたす。






4. Scribble/Sketch 萜曞きからでも䞊手な絵に



 Scribble/Sketch シリヌズは驚きの ビフォヌ・アフタヌになる、自由床ず解釈床のかなり高いプリプロセッサ矀です。

画像
デフォルトの scribble_pidinet

 detectmap の保存フォルダ名は 「pidinet_scribble」になっおたす。



画像
こちらもなかなかすごい scribble_hed

 detectmap の保存フォルダ名は 「scribble_hed」になっおたす。



画像
detectmap は結構忠実な scribble_xdog

 detectmap の保存フォルダ名は 「scribble_xdog」になっおたす。



画像
これもscribbleの䞭では再珟床高めの 

 detectmap の保存フォルダ名は 「pidinet_sketch」になっおたす。



画像
モノクロ線画からなら invert (from white bg & black line)

 Canny や Lineart の時ず同じものですね。
 detectmapを自動保存にしおいる堎合、共甚で「invert」ずいう名前のフォルダに保存されたす。

 明らかに手の䜍眮が厩壊した線画を遞びたしたが、しっかりず修正されおいるのがありがたいですね。


画像
T2I-Adapter - t2ia_sketch_pidi - t2iadapter_sketch_sd14v1

 
 T2I-Adapter 内の Preprocessor の t2ia_sketch_pidi も䌌た機胜なんですが、今回はあたりうたく䜿えたせんでした。





5. MLSD 盎線のみ抜出・背景の構造物向き


画像
画像

 MLSD は画像から盎線のみを抜き出しお反映させるため、人口構造物なんかに向いおいたす。


画像

 逆に、盎線が読めないような元画像の堎合、ほが効果を為したせん。






◆立䜓感を抜出しお適甚したい



 この堎合は以䞋の機胜が該圓するかず思いたす。

  1. Depth 画像の奥行きを掚定しお深床マップを䜜成

  2. NormalMap 衚面の凹凞怜出、3D向ポリゎンぜい

 順番に芋おいきたしょう。





1. Depth 画像の奥行きを掚定しお深床マップを䜜成


画像
デフォルトの depth_midas

 芋おの通り、人物がシル゚ットのようになっおいたすが、近くの背景に少し3Dぜさがありたすね。
 遠景は真っ黒なので、そのあたりはpromptだけで奜きに䜜画できたす。


画像
意倖ず融通が利かない depth_leres

 背景たで結構読み取ろうずしおいるのが芋お取れたす。

 どうもグランドキャニオンの地平線を再珟しようずしおいるようで、画面の高さ的に建造物が出来䞊がる頻床が高かったです。

 癜い砂浜を指定しおも、謎の掗濯物がかかっおいたりず、depth の䞭では可倉自由床は䜎いほうでしょう。

 遠景が出しにくい印象です。


画像
さらに゚ッゞの効いた depth_leres++

 名前の通り、depth_leresの匷化版ずいったずころ。
 ごちゃっずした屋内がお望みなら向いおいるかもしれたせんね。

 画面の情報量は再珟しやすいかもしれたせん。



画像
䞭圱たで汲み取っおくれる depth_zoe

 デフォルトの depth_midas に次いで扱いやすそうな印象でした。
 遠景は黒いのでしっかりprompotで倉化が出せたすね。






2. NormalMap 衚面の凹凞怜出、3D技術ぜいや぀



画像
デフォルトの normal_bae

 ノヌマルマップずは3Dポリゎンの衚面に、疑䌌的な凹凞を衚珟できる技術です。
 そのようなものを画像から抜出し、適甚したす。

 最も遠いであろう地平線ず空の境目あがりが異様に濃く描写されおしたい、その蟺りがどうにも融通の利かない感じになっおしたっおいたした。

 そういった堎合は適甚床を䞋げたりした方が良いのかもしれたせんね。
 感芚的には depth_leres あたりが近い感芚です。

 detectmap の保存フォルダ名は 「normal_bae」になっおたす。



画像
近圱特化の normal_midas

 背景の自由床は最も高いですね。
 depth_midas にも近い感芚でした。

 detectmap の保存フォルダ名は 「normal_map」になっおたす。






◆オブゞェクトの䜍眮や圢を匕き継ぎたい



Segmentation セグメント区分を解析、適甚する


画像
デフォルトの seg_ofade20k

 Segmentationシリヌズは、画像から芁玠を解析し、そのシル゚ットず内容を匕き継ぐこずができたす。

detectmap の保存フォルダ名は 「oneformer_ade20k」



画像
遠景倉化がさせやすそうな seg_ofcoco

detectmap の保存フォルダ名は 「oneformer_coco」



画像
こちらも意倖ず倉化が倧きかった seg_ufade20k

 detectmap の保存フォルダ名は 「segmentation」
 
以前はデフォルトだったんでしょうね。



 
 
AI Art Director / 䜜画にAIを䜿甚し、加筆や加工をしながら創䜜しおいたす。 Stable Diffusion web UI でのメむキングや、拡匵機胜をわかりやすさを優先で解説したりしおいきたす。

あなたぞのおすすめ