テキストから瞬時に画像生成してくれるジェネレーティブAIも、好きなポーズを正確に描くことは意外と苦手です。
プロンプトに“full body shot”と書いても、顔のアップが生成されてしまうという方も多いのではないでしょうか。
そこで登場したのがControlNet 。入力した画像から思い通りのポーズを簡単に生成できて、Leonardo.Ai ユーザーであれば、面倒なセットアップなしで、この便利機能をすぐに利用可能です。
ということで今回は、好きなポーズ、思い通りの構図でAIイラストを生成する方法についてお話しします。
ControlNet とは
従来のImage to Imageが元画像の全体的な色調から画像を生成するのに対して、ControlNet はポーズ、輪郭、深度情報、などの要素を抽出して、AIイラストに反映させます。
サイドバーにある ControlNet ボタンは通常グレーアウトしていますが、サイドバー下部にあるimg2img用のドロップエリアに写真素材等を登録することで選択可能になります。
Image to Image 機能
ControlNetを使う前に、まずは従来のimg2imgで出力した画像を確認してみたいと思います。
元となる写真は、Leonardo.Aiで生成したものや、Community feed内の画像も指定できますが、今回は EnvatoElement という素材サイトからダウンロードした写真を使います。
元画像は使用する生成モデルに合わせてあらかじめサイズ変更しておきます。異なるサイズでも生成可能ですが、結果に大きく影響するので前もってリサイズすることをおすすめします。今回は RPG4.0という生成モデルを使用するので、あらかじめ640×832のサイズに合わせた写真をPhotoshopで用意しました。
画面左下のドロップエリアに写真素材を登録し、プロンプトを記入して、Generate を押します。
ちなみに写真下部に表示される Init Strength は、元画像をどれだけ結果に反映させるかの初期強度をあらわしています。
元画像のイメージを上手く反映していますが、よく見ると手足の角度や全体のバランスは大きく異なっているのがわかります。背景に描かれた「地面の角度」も元の写真とはかなり異なっています。
ControlNet 機能
次に ControlNet 機能を使った場合です。
Pose to Image/Edge to Image/Depth to Image の3つのモードを選択することができます。また、影響の強さを表す ControlNet Weight は最大値の1のまま変更せずに進めます。
Pose to Image
まずは Pose to Image を選択した状態で画像生成してみました。
バイクの位置や構図は多少異なるものの、元画像の「ポーズ」がしっかりと結果に反映されていることが分かります。Pose to Image を使うことで、人物のポーズ以外はプロンプトによって自由に生成することが可能です。
Edge to Image
今度は写真の輪郭のみを反映した場合です。洋服と肌の境界線や、手の位置は先程よりも再現度が高いです。
Edge to Image は輪郭を抽出してくれるので、手書きのラフスケッチをAIに仕上げてもらうという使い方に向いています。
Depth to Image
こちらは元画像から生成した「深度マップ」を使って生成されたイメージです。3つのモードのうち、元写真の位置関係を最も忠実に再現しているのがこれかなと思います。背景に移る地面の角度もほぼ一致しています。個人的に、今回試した中では Depth to Image が最も好印象な結果となりました。
続いて、元画像がヒゲのおじさんだった場合についてです。
Depth to Image は「全体の構図を忠実に再現する」という視点で見ればよい結果を出してくれますが、一方で体のラインなども正確に反映されるので、かなり男前な短髪イラストが出来上がってしまいます。
このように元写真のポーズ以外はいらないというケースでは、Pose to Image を使ったほうが良い結果が得られます。
写真から思い通りのポーズのイラストを誰でも簡単に生成できる ControlNet。画像生成の可能性を広げてくれる便利な機能ですので是非お試しください。
今回は以上です、最後までお読みいただきありがとうございました。
コメント
大変ありがたいご説明をありがとうございました。
いろいろわからないことが解説されていてすごくためになりました。
Leonald AIを試しているのですが、Content modulation filter というエラーが出るときがあります。これはおわかりになりますでしょうか。
ご質問ありがとうございます。
Content modulation filterと表示された場合、生成した画像に不適切なコンテンツが含まれていると判断された可能性があります。
不適切と思われるプロンプトを他の言葉に置き換えてから再度生成してみてください。
このたびは早々のご返信ありがとうございました。
思い当たるプロンプトがありましたので除外して作ってみたところ、問題なく生成できました。ありがとうございます。
Leonald AIに関する記事、これからも楽しみにしています。
がんばってください。