ControlNetで一番手が正確に出やすいモデルを比較検証(SD1.5)
画像生成AIを使っていて、指がうまく出ないという悩みを持っている方は多いのではないでしょうか。
しかしそんなときにStableDiffusionで便利な機能が、ControlNet。コントロールネットはそんな悩みをある程度解消してくれる画期的な機能です。
とはいえコントロールネットを使ってもぱっと指の完璧な画像を生成してくれるわけではありません。
そこで今回は、コントロールネットのどのモデルを使うとどのような結果が得られるのか、簡単に検証してみることにしました。
検証に利用してみた環境は以下のとおりです。
検証環境
生成はローカル環境、stable-diffusion-webui
使用モデルはblazingDrive_V13md
コントロールネットの使用モデルは以下のリンクより
検証したコントロールネットモデルはDepthMap、NormalMap、OpenPose、Segmentationの4つ
使用した画像は以下の4種類
プロンプト:1girl,body shot,sweater,hand focus,best quality, masterpiece
Seed:56731552836482
画像生成結果
デプスマップ
Control Weight1で生成
ウェイト0.7
ウェイト0.5
ウェイト0.3
6枚ずつの生成でこの結果なら、デプスはかなり指の出が良いですね。少なめの生成でいい結果を出したいなら0.5、元のモデルの絵を優先したいなら0.3のウェイトで生成すると良さそうです。
0.7より上だとちょっと元の画像に引っ張られすぎている印象がありますので、基本的には0.5以下で使うのがおすすめでしょう。
ノーマルマップ
同じくウェイトは上から順に、1~0.3で生成しています。
1
0.7
0.5
0.3
ノーマルマップも指の形そのものはそこまで悪くないですが、0.5以上はちょっと元画像の影響が強すぎる印象がありますね。指の正確性もデプスのほうがずっと良さそうです。
デプスは物が複数重なってたりすると弱いですが、人間単体のポーズを元に生成するならデプスマップのほうが良さそうですね。
オープンポーズ
1
0.7
0.5
0.3
オープンポーズは元の画像に引きずられる心配はありませんが、ちょっと複雑な指を出すのには向かなそうですね。
ただ、姿勢は問題なさそうですし服や髪型の影響は抑えられるはずですので、マルチコントロールネットで手はデプスにして姿勢はオープンポーズにする、みたいな使い方はおすすめです。
セグメンテーション
1
0.7
0.5
0.3
セグメンテーションも悪くはないですが、良くもないですね。まあ元々セグメンテーションは人間の姿勢というよりは、インテリアや景色なんかの、色んな物体の位置を指定するのが得意なモデルですので、仕方ないところもあるでしょう。
ただ、セグメンテーションは色分けして人間を複数出すみたいなこともできますので良し悪しでしょう。デプスなんかで複数の人間のポーズを読み取ってもらおうとすると、手足が混ざったりすることもありますので、使い分けが大事そうですね。
検証結果
各モデルの出力結果を見る限り、人間一人をフォーカスした画像を出す際はデプスマップが一番向いていると言ってもいいでしょう。
髪型や服装が元の画像にある程度引きずられるという問題もありますが、これだけ手を正確に出すことができるのなら、かなりおすすめできますね。
次点でノーマルマップでしょうか。ただ、ノーマルマップは手袋を付けたような画像になったりしていますし、ウェイトが0.5以下だと左手がぐちゃぐちゃになっていたりと、ちょっと微妙な気がしますね。
複数の人間や物、建物などを画像に入れるのならまた違ってくるとは思いますが、少なくとも指の正確性に関してはデプスマップに軍配が上がりそうです。
検証に使った画像を作成したツールの紹介
今回の記事で使用した画像は、私自身が作成したツールで作成しました。ツールの概要やダウンロードは以下のページよりどうぞ。
下の画像のように、デプスで手のみを表示して画像を保存することもできますので、手を綺麗に出したいというときにも結構便利だと思います。
検証に使用した画像の配布
この記事が気に入ったらサポートをしてみませんか?