同じキャラにいろんなポーズをさせる方法!

Stable Diffusionを利用していると、
- ポーズを指定したい。
- 同じキャラを出したい。
- 画像の一部を修正したい。
- 画像を高画質化したい。
という悩みに必ず直面します。
その時に利用するのがControlNet(コントロールネット)です!
ControlNetを利用すると上記のような悩みが解決できるので、利用しない手はありません。
ControlNetは拡張機能ですのでまずはインストールする必要があります。
ControlNetはさまざまなサイトで紹介されていますので検索してみてください。たくさんの記事がヒットします。
Youtubeの動画でも紹介されているのでそちらも参考にしてください。
注意点としては、ControlNetをインストールした後に、利用したいモデルを個別にインストールしておくことです。様々なモデルがありますが、自分が利用したいモデルのみインストールすればよいかと思います。
私がよく使うモデルは、
- OpenPose・・・写真や画像からポーズを抽出し、そのポーズで画像を生成
- Reference・・・キャラクター画像の特徴を保ちつつ別の画像を生成
- Inpaint・・・指定した部分の修正した画像を生成(img2imgのInpaintよりも精度が高い)
- Canny・・・画像から線画を抽出して、新たな画像を生成
特に今回のように、「同じキャラ」かつ「指定のポーズ」を実現するには、複数のモデルを元に画像生成できる「Multi ControlNet」という機能を使います。こちらもさまざまなサイトで紹介されているので検索してみてください。
設定ができたら、
「ControlNet Unit 0」にOpenPoseを指定、
「ControlNet Unit 1」にReferencを指定します。
OpenPoseに入れる画像は、ポーズの画像です。フリーの画像サイトのポーズ画像を使うこともできますが、自分が希望するポーズを取ってもらう方法もあります。
それは、3Dキャラクターを使ってポーズを指定する方法です!
3Dキャラクターツールも様々ありますが、私はDazStudioを利用しています。
インストールが必要なソフトウェアですが、細かなポージングができるのが特徴です。
基本無料で利用できますが、キャラクターやポーズを有料で購入することもできます。

DazStudioでなくても、キャラクターをポージングできるツールやアプリがあればそちらで代用できます。
iPhoneやiPadなら「ArtPose」が手軽でよいかと思います。こちらも無料で利用できます。Steam版もありますが有料(1,010円)です。
3Dキャラクターでポーズの指定ができたら画像で保存して、ControlNet Unit 0に指定したOpenPoseに画像を読み込ませます。

ControlNet Unit 1のReferencには、ポーズを指定したいキャラクターの画像を読み込ませます。

この2つの指定ができたら生成してみましょう。
それぞれのUnitの設定をON(Enableにチェック)にすることを忘れないようにしてください。
お気に入りのキャラクターがこちらの指定したポーズを取っている画像が生成されました!

Cannyでも同じようにポーズを取らせることができますが、線画の影響を強く受けるので、服装や髪型が変わってしまいます。

しかしCannyなら、後から服装を変えることができるので使い方次第では活用できるモデルだと思います。
ControlNetを最大限利用することで、AI画像漫画にも活用できますね。
参考になれば幸いです。