ControlNetの使い方がよく分からないから教えて!
ControlNetでは、参照画像からポーズだけを抽出して似たようなポーズで画像生成することが出来ます。
理想とするポーズが生成されるまで何度もガチャを回す必要がなく、すぐに目当てのポーズを生成して仕上げることができるので時間短縮につながります。
他にも、新しく塗り方を変えてクオリティを上げることが出来たり、手を綺麗に修正することが出来るので必須で入れた方がいい拡張機能です。
この記事では、ControlNetの使い方・設定方法について解説します。
ControlNetをまだ導入していない方は、以下の記事で詳しく解説しているので読んでみてください。
Cannyについて
Cannyではアップロードした画像の線画を抽出してから、画風・塗り方を変えて画像生成することが出来ます。
Cannyを使用する場合は、以下の画像のようにControlNetにある「Image」項目内の場所をクリックしてから画像をアップロードするか、画像をドラッグ&ドロップしてください。
「Enable」にチェックマークを入れてからPreprocessorの項目で「canny」を選択します。
Modelの項目をクリックして「canny」を選択してください。
Model項目ではファイル名によって違う場合があるのでcannyと書かれたモデルに合わせてください。
今回の場合は、私が決めたファイル名「control_v11p_sd15_canny…」がcannyのモデルとなっています。
これでCannyが適用されるようになりました。
「Generate」ボタンを押して画像生成すると、真ん中にある線画が抽出された画像と、右側にあるCannyが適用された画像の2枚が生成されます。
以下の画像は、元画像とCannyを比較した結果になります。
真ん中の画像にあるように、元画像から線画だけを抽出してから新しく画像生成しています。
先ほどはアニメ風の画像をアップロードしましたが、次はリアル(実写)の画像をアップロードして試してみます。
以下の画像は、元画像とCannyを使用した時の比較結果になります。
このようにリアル(実写)の元画像の線画を抽出してから、アニメ風のCheckpointモデルを使用することで、アニメのような画風に変更することも出来ます。
逆にアニメ風の元画像から、リアル風(実写)のモデルを使用することによって、リアル寄りな画風にすることも出来ます。
是非参考にして画像生成してみてください。
Cannyの詳しい使い方については以下の記事で解説しているので読んでみてください。
Lineartで画風・塗り方を変える
Lineartは、Cannyと似たように線画の抽出や画風・塗り方を変えたい場合に使用するといいでしょう。
使い方は、ControlNetにある「Single Image」内をクリックしてから画像をアップロードしてください。
そして「Enable」にチェックを入れて有効にしてください。
Preprocessor項目をクリックして「lineart_anime」「lineart_anime_denoise」「lineart_coarse」「lineart_realistic」「lineart_standard」の5つがあるので1つ選択してください。
Modelの設定では「lineart」を選択してください。
以下の画像では、Preprocessorの項目で左上から「lineart_anime」「lineart_anime_denoise」「lineart_coarse」「lineart_realistic」「lineart_standard」の順で生成した比較結果になります。
Checkpointモデルはアニメ風の画像生成に向いているものを使用しています。
以下の画像は、Model項目の設定にある「control_v11psd15_lineart_anime」に変更して、左上から「lineart_anime」「lineart_anime_denoise」「lineart_coarse」「lineart_realistic」「lineart_standard」の順で画像生成した比較になっています。
Model項目にあるlineartの方は全体的にエッジが薄い感じがしますが、lineart_animeの方はくっきりした印象が感じられました。
右下の方は髪型が細かく描かれている感じがあっていいですね。
「Lineart」を使うと、これだけ塗り方を変えることが出来てしまいます。
アップロードした画像をリアル(実写)にした場合は以下のようになります。
Checkpointモデルはアニメ風の画像生成に向いているものを使用しているため、リアルの画像からイラスト風に変わっています。
このようにLineartでは塗り方や画風を変えることが出来るので、上手く活用してクオリティを上げましょう。
「Lineart」のさらに詳しい使い方については以下の記事で解説しています。
OpenPoseで似たポーズを生成する
プロンプトだけでイメージしているポーズを画像生成する時には何度もガチャを回す必要がありますよね。
Openposeを使うことによって、参照画像を元にして同じようなポーズで画像生成してくれるので時間短縮に繋がります。
使い方は、「Single Image」内に参照画像をアップロードしてから「Enable」にチェックを入れて有効にしてください。
Preprocessor項目内で「openpose」を選択して、Model項目内も「openpose」を選択してください。
これで設定は完了です。
画像生成した結果は以下になります。
参照画像から真ん中にあるPreprocessorの画像のようにポーズだけを抽出してから、右側にある似たようなポーズで画像生成をしています。
このように参照画像と同じようなポーズで画像生成することが出来て、プロンプトだけでは出来ないポーズが出来たりして時間短縮につながるので活用してみてください。
「Openpose」のさらに詳しい使い方については以下の記事で解説しています。
Stable Diffusionでポーズを作成してから画像生成することが出来る「Openpose Editor」の使い方については以下の記事を読んでみてください。
Inpaintで目や服装などを修正できる
InpaintはStable Diffusion Web UIにもデフォルトで搭載されていますが、ControlNetでもInpaint機能があり、良い感じに修正して仕上げることが出来るのでおすすめです。
Inpaintは画像を修正したい部分、例えば手の指が崩れて修正をしたい場合に、黒く手を塗りつぶして再度画像生成することによって仕上がりが良くなることがあります。
使い方は「Single Image」に修正したい画像をアップロードしてから「Enable」にチェックを入れましょう。
次にPreprocessorの項目で「inpaint_global_harmonuious」を選択します。
Modelの項目で「inpaint」を選択します。
その後に、修正したい部分を塗っていきます。
今回の例では、目の色を変更したいので目を塗ります。
そして、プロンプト内に「blue eyes」→「green eyes」に変更して緑色にさせるよう指示します。
以下は画像生成した結果になります。
1回目で緑色に修正することができました。
次は顔全体を塗ってから、目の色と表情を修正してみます。
プロンプト内に「yellow eyes , sad」と入力します。
画像生成した結果が以下になります。
黄色の目で悲しい顔をした表情に修正することが出来ました。
このようにInpaintでは、表情や服装などを修正することが出来るので参考にして画像生成してみてください。
Stable Diffusion Web UIにデフォルトで備っている「Inpaint」機能の使い方については以下の記事で解説しています。
Depthで被写体深度から画像生成する
「Depth」では元画像から被写体深度を抽出してから新しく画像生成してくれる機能になっています。
使い方は、画像をアップロードしてから「Enable」をクリックしてControlNetを有効にします。
Preprocessor項目で「depth_leres++」を選択してください。
Mode項目で「depth」を選択します。
以下は画像生成した結果になります。
元画像から真ん中の画像にある被写体深度を抽出したpreprocessorを作成しています。
その後に、preprocessorの被写体深度から新しく画像生成しています。
Depthではシルエットのみ抽出している感じなので、内部の部分を変えることが出来ます。
以下の画像で、左側は私が適当に描いた深度情報になります。
それを画像生成してできた画像が右側になります。
元画像で白いところは近く、黒い場所では遠く描かれています。
また、元画像の白い輪郭に沿って人物も作成することができています。
このようにDepthを使用することで、被写体深度から別の人物にしたり、適当に描いた人物のシルエットだけでクオリティの高い人物を生成したりすることが出来るので上手く活用してみてください。
Depthの詳しい使い方について以下の記事で解説しているので読んでみてください。
Depthを利用して手を修正する方法にDepth Libraryがあります。
Depth Libraryの使い方について以下の記事で解説しています。
Tileで高品質・高解像にさせる
Tileではアップロードした画像を、高画質、高解像にさせることができるのでクオリティを高くすることが出来ます。
使い方は「Single Image」内に画像をアップロードしてから「Enable」にチェックを入れて有効にしてください。
Preprocessor項目をクリックして「tile_colorfix」「tile_colorfix+sharp」「tile_resample」の3つの中から1つ選択してください。
Model項目で「tile」を選択してください。
これで設定は完了です。
以下の画像は、アップロードした元画像と、Preprocessor項目にある「tile_colorfix」「tile_colorfix+sharp」「tile_resample」の3つのtileを生成して比較した結果になります。
塗り方が少し変わっていたり、全体的に少し変わってクオリティに差が出ました。
このように上手くTile機能を活用することでクオリティを高くすることが出来るので参考にしてみてください。
Tileの詳しい使い方については以下の記事で解説しています。
まとめ
以上でControlNetで使える以下の6つの使い方について解説しました。
・Canny
・Lineart
・OpenPose
・Inpaint
・Depth
・Tile
ControlNetでは主に「Lineart」か「OpenPose」を使うことが多いので、この2つは必ず使い方を覚えておいた方がいいでしょう。
是非参考にして画像生成してみてください。