気に入ったキャラクターが出来たから、同じキャラクターでポーズだけ変えたい。
でもimg2imgだと同じポーズでの服装を変えるのは上手くいくけど、違うポーズにすると微妙に別人になったり…
Lora学習使えばいいのかもしれませんが、良くわからないし難しそう…
なんて困ったことはありませんか?
そんなあなたを助けてくれるのがControl.Netの機能である「Reference Only」です。
今回はそんなReference Onlyを使用して、Lora学習などを使用せずに同じキャラクターで別ポーズを出力する方法を説明します。
結果
・1枚絵からLora学習と同じように、同キャラクターを出力することができる
・服装やポーズ、表情なども簡単に変更することができる
・アングルを変えても同キャラクターが生成されるため、様々な情景の絵を描くことができる
この記事を読むと
キャラクターはそのまま、服装やポーズを変えた画像を生成することが出来るようになります。
※記事内に広告が含まれています。
キャラクターはそのまま、服装やポーズを変える方法
「Reference only」を利用することで、LoRA等の学習無しで同じ顔を出力することができます。
Stable Diffusionで同キャラクターを描く場合は、髪の色や髪型、身体的特徴などはプロンプトを変えずに、服装やポーズ、構図だけを変更して出力すると思います。
一枚絵の中からキャラクター生成に必要な情報を抜き出して再利用するため、同じ顔=同じキャラクターが出力できます。
一枚絵から「Lora」のようなことを行う便利な機能ですが、特徴抽出した結果をまとめた「Lora学習」には及ばないため、どうしても完全に同じキャラクターを生成したい場合には、Lora学習を使うようにしましょう。
img2imgとの違い
img2imgでも元画像と似た画像を生成することはできますが、画像全体に対してある程度均一に再現していくため、キャラクターに対する再現性が低くなってしまいます。
ControlNetを使うことでキャラクターの特徴をより正確に保持することができ、img2imgよりも正確に同キャラクターを描くことが出来ます。
下記の画像は元画像のセーラー服を和服にした時の比較です。
Reference Onlyは同キャラと言えますが、img2imgは微妙に違うキャラクターが生成されました。
img2img
基準画像
Reference Only
「Reference Only」のインストール
ControlNetがインストールされていれば、その中にすでに含まれています。
ただしControlNetのバージョン が1.1.153以降でのみ使用可能なため、古いVerをインストールしている場合にはアップグレードをしてください。
ControlNetの機能というとモデルのダウンロードが必要になることが多いですが、ControlNet Referenceについてはモデルのダウンロードは不要です。
【検証】実際にReference Onlyを使用して、ポーズを変えてみた
今回は女の子のキャラクターに対して、同じ顔のまま服装や構図を変えていきたいと思います。
基準画像の生成
下記のような女の子の画像を出力して、変化を確認してみます。
使用するプロンプトはこちらを使用しました。
プロンプト
(best quality, masterpiece:1.2), upper body, create a blank space above the head,
beautifully painted, girl, young,20 years old, short hair, bob cut,
(beautiful dark brown hair:1.1), blonde eyes,
light smile, white skin, school uniform, sailor suits
ネガティブプロンプト
flat color, flat shading, nsfw, retro style, poor quality, bad face, big breast,
big chest, bad fingers, bad anatomy, missing fingers, low res, cropped, signature,
watermark
下記のような女の子が生成されましたので、ここから調整していきます。
準備
ControlNetの中で、下記の画像の通りに設定していきます。
1.「Enable」にチェックを入れる。
2.「Pixel Perfect」にチェックを入れる。 ←画像サイズを変更する場合はチェックを入れてください。(今回は同じサイズなので外しています。)
3.「image」に元となる絵をドラック&ドロップで挿入する。
4.「ControlType」を「Reference」にチェックを入れる。
5.「Preprocessor」がReference_onlyになっていることを確認する。
6.各パラメータを設定する(以降の記事を参考にしてみてください。
出力結果
服装の変更
下記のように変更してみます。
服装 | プロンプト | |
基準 | セーラー服 | school uniform, sailor suits |
パターン1 | 和服&着物 | wahuku, kimono |
パターン2 | フリルドレス | Frill dress |
パターン3 | 魔術師 | wizard, wizard robe, wizard cloak, witch hat |
結果:同じキャラクターで服装を変更することが出来ました。
魔術師は元服装から大きく画像が異なりますが、顔が変わることなく抽出することが出来ました。
基準:セーラー服
パターン2:フリルドレス
パターン1:和服&着物
パターン3:魔術師
構図の変更
下記のように変更してみます。
ポーズ | プロンプト | |
基準 | 正面 | – |
パターン1 | 後ろから | from behind, looking back |
パターン2 | 上から | from above |
パターン3 | 全身映るように | (full body:1.2) |
結果:同じキャラクターで構図を変更することが出来ました。
後ろからなど、元の絵からは大きく変わった絵でも上手く描くことが出来ました。
ただし全身等、顔が小さく描かれるものでは少し顔が変わってしまいます。
そういう場合は画像サイズを大きくして、顔の解像度を変えないようにすることで解消することが出来ます。
基準:正面
パターン2:上から
パターン1:後ろから
パターン3:全身映るように
ポーズの変更
下記のように変更してみます。
ポーズ | プロンプト | |
基準 | 立つ | – |
パターン1 | 歩く | walk,waliking girl |
パターン2 | 座る | sitting, crossed legs |
パターン3 | ジャンプ | (jumping:1.3), flying |
結果:同じキャラクターでポーズを変更することが出来ました。
様々な動きに対応していることが分かります。
基準:立つ
パターン2:座る
パターン1:歩く
パターン3:ジャンプ
表情の変更
下記のように変更してみます。
ポーズ | プロンプト | |
基準 | 笑顔 | – |
パターン1 | 泣き顔 | cry, tearful, sad |
パターン2 | 怒り顔 | angry, furious, rage |
パターン3 | 驚いた顔 | surprised, shocked, flabbergasted |
結果:同じキャラクターで表情を変更することが出来ました。
違和感なく表情差分を描くことが出来ています。
基準:笑顔
パターン2:怒り顔
パターン1:泣き顔
パターン3:驚いた顔
背景の変更
下記のように変更してみます。
ポーズ | プロンプト | |
基準 | シンプルな壁 | – |
パターン1 | 街中 | cityscape, residential street, in Tokyo City |
パターン2 | 海 | Blue sea and expansive sky in the distanc |
パターン3 | 星空 | surprised, shocked, flabbergasted |
結果:同じキャラクターで背景を変更することが出来ました。
様々な場所で描かれていますが、特に違和感なく描くことが出来ました。
基準:シンプルな壁
パターン2:海
パターン1:街中
パターン3:星空
まとめ
今回は『Reference Only』を使用して、絵を変更しないまま、色を変更する方法について紹介しました。
改めて3行でまとめると…
・1枚絵からLora学習と同じように、同キャラクターを出力することができる
・服装やポーズ、表情なども簡単に変更することができる
・アングルを変えても同キャラクターが生成されるため、様々な情景の絵を描くことができる
同じキャラクターを生成する=Lora学習を行う必要がある。と思っている人は多いのではないでしょうか。
特にアニメ絵などはちょっとした特徴の違いで別人に見えてしまうので、プロンプトだけで同キャラクターの生成を諦めていた人も多いと思います。
しかし「Reference Only」を使用することでその悩みを解決し、同じキャラクターを生成出来るようになりました。
この機能を使用して、是非自分の好きなキャラクターを色んなポーズで描いてみてください!
StableDiffusionにお勧めのグラボ
ここまでの記事を読んでStableDiffusionを始めてみたいと思ったけど、どれを買ったか良いか分からない人向けに私の使っているグラボを紹介します。
私が使用しているグラボはNVIDIA GeForce RTX3060 搭載 グラフィックボード GDDR6 12GBになります。
StableDiffusionで絵を生成するときは、PCのCPUやメモリよりもグラボの性能が重要です。
StableDiffusionではVRAMが12GB以上であることが推奨されていますが、普通のゲーム用のグラボでは8GBのものが多いです。
経験上、一回のプロンプトで一発で望みの絵が出ることは少なく、10枚ぐらい出力してそこから近づけていく作業をします。
しかしVRAMが低いと1枚を生成する時間が長くなってしまいます(完全にVRAM依存ではないですが)
1枚の生成する時間が長いと、最終的なゴールまでの時間も多くかかってしまうので、推奨要領である12GBのグラボを買うことをお勧めします。
VRAMが低い=一度に計算できる数が少ない=生成速度が遅い
そのため解像度の高い絵を生成するのに時間がかかるだけでなく、生成できない可能性もあります(2GBや4GBなど)
Controlnet等、拡張機能を複数使用する場合やLora等の学習を行う場合は、より顕著にVRAMの差が出ます。
そのため単純にAIで出力してみたい。というだけでなく、その一歩先で色々やってみたい方は是非12GB以上を購入してみてください。
ちょっと試すだけなら、下記のような無料AI画像生成サービスを使うのも良いです。
コメント
Hey There. I found your blog using msn. This is an extremely well written article.
I’ll make sure to bookmark it and return to read more
of your useful information. Thanks for the post. I’ll definitely comeback.
Hi there colleagues, its enormous piece of writing
regarding cultureand fully defined, keep it
up all the time.