ControlNetってどういった時に使うの?
ControlNetは参照画像と同じポーズで画像生成させたり
参照画像から線画を抽出して塗り方を変えた画像生成をすることが出来ます。
低画質で画像生成した作品を高画質に変えてクオリティを高くすることも出来ます。
この記事では、SeaArtでControlNetの使い方について解説します。
ControlNetの使い方
コントロールネットでは、画像生成して欲しいポーズがあった場合に、参照画像アップロードしてからプロンプトなどを入れることで似たポーズで違う人物の画像生成をすることができます。
他にも、画像生成した作品に対して画風・塗り方を変えたりすることも出来ます。
ControlNetを使う方法は2つあります。
ここでは2つのControlNetの使い方について解説します。
1つ目の方法
「コントロールネット」を使う場合は、トップページの上部にある「創作」をクリックしてください。
左側にある「コントロールネット」をクリックしてください。
すると、コントロールネットタイプが選択できます。
この中から例として「canny」を選択してみます。
右側にあるコントロールタイプをクリックすることで変更することができます。
2つ目の方法
2つ目は画像生成した作品に対してコントロールネットを使うときの方法になります。
画像生成した作品の右上にあるサイクルアイコンをクリックしてください。
モデル・プロンプト・ネガティブプロンプトなどが自動で貼り付けられます。
右側にある「コントロールネットに送る」をクリックしてください。
左側にあるコントロールネットに自動で移動します。
中央部をクリックして画像生成した作品をアップロードしてください。
右側にあるコントロールネット項目の「タイプ」を押してから選択することで使用できます。
canny
元画像から線画の輪郭(エッジ)を抽出して、再度新しく画像生成を行う方法になっています。
以下の画像では、元画像と「canny」の比較結果になります。
「canny」では首飾り部分が少し変わっていたり、肩部分で肌が露出していなかったりと少し異なる部分があります。
線画(エッジ)になっているような部分を細かく抽出しているので、ほとんどそのままのポーズで画像生成されています。
このように「canny」では画風・塗りを変えて元画像と同様に質を良くすることが出来ます。
lineart
「lineart」では、「canny」よりも全体的に線画の荒さがなくなって丁寧になっています。
髪型や服装などがほとんど近い状態で仕上がります。
以下の画像は生成した結果になります。
塗りだけ変えたい場合は「canny」よりも「lineart」を使用した方がいいでしょう。
lineart_anime
「lineart_anime」では、線画を抽出してからアニメスタイルの効果を加えて新しく画像生成する方法になります。
以下の画像は生成した結果になります。
外国風な塗り方になっています。
テカテカ感があり、全体的に少しガサついた仕上がりになります。
openpose_full
「openpose_full」では、アップロードした画像のポーズだけを抽出して再度画像生成させる方法になります。
以下の画像のように、ポーズを抽出した時は棒人間になります。
アップロードした画像は一旦棒人間にされてから、新しく似たポーズで別の画像生成がされます。
以下の画像では生成した比較結果になります。
ポーズだけを把握して再度生成しているので背景が変わります。
髪型や服装なども変わっています。
「openpose_full」ではポーズだけを真似して、元画像よりも違った人物や背景にしたい場合などに使用するといいでしょう。
depth
「depth」機能では、被写体深度で抽出してから再度画像生成させる方法になります。
被写体深度はグレースケール画像で輪郭部分だけを抽出するので、輪郭以外の内側と外側が変わりやすいです。
以下の画像ではグレースケールで物体の輪郭を残しているのが分かります。
以下は画像生成した結果になります。
服装が変わっていたり背景が変わっていたりします。
元画像の構図を残して、別の人物や背景にしたいときに使用するといいでしょう。
normal_bae
「normal_bae」では、アップロードした画像に対してモデリングスタイルの前処理画像に変換した後、新しい画像生成をしてくれます。
生成した結果が以下になります。
右の画像では口の広角が広がっていたり、服装が違っていたり、背景の建物が違がったりしています。
「depth」と同じように人物と背景の輪郭部分を残すので、構図を保ったまま違った人物や背景にしたい時に使用するといいでしょう。
segmentation
「segmentation」ではポーズや背景などが大きく変わります。
人物は同じ位置に配置させて、別のポーズなどを取らせて画像生成したい場合に使えそうです。
tile_resample
低画質の画像作品を高画質・高解像にさせて全体的にクオリティを向上させてくれます。
高画質の画像作品に「tile_resample」を行なってもあまり効果が出ないと思います。
mlsd
「mlsd」では、アップロードした画像の直線部分のみを認識してから新しく画像生成をしてくれます。
人物はほとんど直線を描かれている部分はないので同じような描き方はされません。
以下の画像のように、建物はほとんど直線なので、直線部分のみを抽出してから再度新しく画像生成されます。
以下では部屋の画像を生成した結果になります。
ほとんど同じような部屋の雰囲気を保ったまま生成できていることが確認できます。
scribble_hed
「scribble_hed」では、太線である程度の輪郭部分だけを抽出して新しく画像生成されます。
以下は生成した結果になります。
太線で人物や背景を抽出して画像生成しているからなのか、右側の「scribble_hed」の方では人物の身体が崩れており、しっかり人物を認識して画像生成されている感じではありませんでした。
綺麗に画像生成するには工夫する必要がありそうです。
hed_safe
「hed_safe」では、アップロードされた輪郭の特徴を抽出してから新しく質の高い画像生成がされます。
以下の画像は「hed_safe」を使用した時の比較結果になります。
元画像よりも綺麗な仕上がりになっています。
color_grid
「color_grid」では、アップロードした画像の色の特徴を認識して抽出し、再度新しいカラーグリッドで画像生成します。
色の特徴だけを認識しているからか、人物のポーズや背景などが大きく変わっています。
shuffle
画像からさまざまな情報を抽出し、ランダムにそれらを組み合わせて調整してから新しく画像生成させる方法になります。
いろいろごちゃごちゃになっていてよく分かりませんね。
以下の画像では「shuffle」で生成した比較結果になります。
人物・ポーズ・建物などが全て変わっていますので、別の特徴で全てを変更したい方は使える方法となっております。
参考生成
アップロードした画像の人物や建物などを参考にして、似たような特徴で新しい画像生成をします。
顔や髪型、ポーズは少し似ているのですが別の画像に仕上がっていることが確認できます。
画風を変えるおすすめのコントロールネット
コントロールネットを使用する時は、画像生成した作品と同じプロンプト・ネガティブプロンプトで入力しておくことを推奨します。
そこから何か追加したい要素があれば呪文を足していった方がいいです。
コントロールウエイトは「2」にすると質が悪くなります。
画風・塗り方を綺麗に変えるおすすめのコントロールネットタイプは以下になります。
・canny
・lineart
・normal_bae
・tile_resample
・hed_safe
以下に並べましたが全て元画像よりも良い仕上がりになっています。
LoRAモデルを使用して画風を変えることもいいのですが、最終段階の仕上げとしてコントロールネットを追加で行って画像生成するとさらに質が良くなるでしょう。
まとめ
SeaArtのControlNetの使い方について解説しました。
ControlNetを使用することで、塗り方などが変わってさらにクオリティを高めることができます。
参照画像と同じポーズして別の人物にしたい場合などにも使えるので上手く活用しましょう。
ControlNetではなく、他の方法で別の人物や画風を変えて画像生成したいならLoraモデルを使用するといいです。
LoRAモデルでは特定のアニメキャラクターを生成したり、複数使用して別の人物や画風で生成することが出来ます。
以下の記事では、LoRAモデルの使い方について解説しているので興味があれば読んでみてください。