前々回の記事で少しだけ触った「Counterfeit-V2.5」について、今回は見ていこうと思います。
前の記事では風景画がメインだったのであまり触れませんでしたが、2D絵としては一つ抜けてる印象だったのがこのモデル。
なので、2Dキャラ絵を使う時にメインで使っていこうかと思って色々触っていたら、ちょっとショックなことが発覚したので、その記事になります。
Counterfeitとは?
Stable Diffusion web uiのモデルの一つで、2Dの少女イラストに特化しています。
promptさえ決まれば、こんな絵がたくさん生まれるんだからすごいですよね。
上のpromptに関しては自分が作ったものではなく、LoRA[Tifa_meenow_v2]に投稿されたものをそのまま使っただけなので載せませんが調べれば見つかると思います。
LoRA(Low-Rank Adaptation)というのは、他の方の学習結果をトリガーワードをpromptに入れることで自分の環境でも再現できるツールのことです。
「Stable Diffusion web UI」では公式で設定できるので簡易に導入できます。
導入することで、「特定のキャラに似せた画像」「特定の姿勢の画像」「特定の背景の画像」に特化した画像を作れますので、promptだけで行うよりも想定通りの画像が作りやすくなります。
上の画像はとあるキャラのLoRA(ファイル名でバレると思いますが)ですが、(LoRAが)想定しているmodelではないため似ていません。
Counterfeitの得手不得手を調べる
ある程度はpromptで調整できますが、モデルによってはかなり苦手な部分もあるので調べてみましょう。
顔(face)部分に関しては、Counterfeitを使う理由そのものなので調査対象とはしていません。
問題は動きで、思った通り動いてくれるのかが焦点になります。
まぁ、わざわざ記事にしてるくらいなので問題があったわけですが。
前提要件
使用model:CounterfeitV25
VAE:kl-f8-anime2.ckpt
sampling method:Euler a
Hires. fix(SwinIR 4x)を使用 ※全身像の場合はハイレゾを使わないと顔が崩れます。
Sampling steps:20
解像度:512×512
seed:973585633~973585636(固定4種)
prompt
girl,solo,cargo shorts,high angle full body shot,dramatic angle
ネガティブprompt
EasyNegative,nsfw
EasyNegativeはイイカンジのネガティブprompt詰め合わせで、とりあえず入れておいて問題のないネガティブpromptだと言われています。Counterfeitで特に効果があるとされています。
使用するには、配布サイト(Hugging Face)のEasyNegative.safetensorsをダウンロードして、stable-diffusion-webuiインストールフォルダ直下のembeddingsフォルダに置けば自動的に利用できるようになりますので、「EasyNegative」とネガティブprompt欄に記入しましょう。
その他のプロンプトに関しては、今回は検証の為できるだけ最小限にしました。
high angle full body shot(全身像)は、今回は動きの検証なので。
cargo shorts(半ズボン)はスカートだと事故が発生する可能性があるので。
dramatic angleは好みで入れてるだけです。最小限とは…
nsfwは職場で見れるようなおまじない(過信禁物)
調査方法
ベースに対し、1つのワード群を末尾に追加することでの変化を調査。
4つのシードで最も意図にあった構図を採用。
ベース4種
左上(973585633)、右上(973585634)、左下(973585635)、右下(973585636)
特別な設定をしてるわけではないですが、Counterfeitがかなり優秀なmodelであることが分かります。
あるく(walking)
973585634(右上)の派生。
問題なし。
走る(running)
973585633(左上)の派生。
問題なし。
飛ぶ(jumping)
この辺りから怪しくなってきます。
973585636(右下)の派生。
実は4枚中1枚しか飛びませんでした。
他にもいろいろ調整があるのに、飛ぶだけの時点で75%が振り落とされるのは厳しい…
宙を飛ぶ(jumping on air)
ならもう少し具体的な指示をしてみましょう。
973585633(左上)の派生。
ここまで指示をすれば大丈夫そうです。
ただ、飛ぶだけでただ3トークン使っています。
※「Stable Diffusion web UI」のpromptでは、75トークンより後はかなり効きが弱くなると言われています。
swimming(泳ぐ)
973585636(右下)の派生。
一番マシなのでこれです。
まったく動く気が感じられません。
海でクロールさせる(swimming crawl in the sea)
今回ももう少し具体的に指示してみます。
973585633(左上)の派生。もちろん、これが一番いいやつです。
表情はなぜか恥ずかしそうにしてるけど、ソコジャナイ(笑)
このあたりで、「Counterfeit-V2.5」は顔を見せるためのモデルであって、動きを見せるためのモデルではないと気づきました。
かなりpromptを頑張れば、再現できないわけではなさそうですが、無駄にトークン数がかさむし、それでも満足できる動きになるかは怪しいですね。
海中で泳ぐ(swimming under the sea)
あまり動かないことは分かったので、発想を変えて「泳ぐ」というより「浮かす」イメージに。
973585633(左上)の派生。
いきなり良い出来になりました(指は見ないこと)。
「floating」も試してみたのですが、今回は「swimming」の方が良い画像になりました、泳いではないけれど。
動かないことを前提として、キャラを配置するイメージで使えば割と思うような絵になりそうです。
テスト用の少ないpromptですが、この絵は結構気に入っています。
この辺りで、他のモデルに移ろうかと思ったのですが、もう少しだけ見てみます。
キャラの周りにモノを配置する((float [個数] [浮かべるもの] spread evenly))
動きが苦手なのであれば、周りでサポートする案もあります。
「spread evenly」は「均等に広げる」という意味で、なくても上手くいくケースもあります。
強調はなくてもいいですが、今回に限っては対象物の指定は先頭に持ってきてください。
「Counterfeit-V2.5」は女の子を描くためのモデルなので、後に置くとかなり存在感のない表現になってしまいます。
「many」に関しては強調した場合を見てみると
強調しても、あまり意味はなさそう?
では、明示的に数を指定してみるとどうなるか見てみましょう。
数が増えているかと言われると疑問もありますが、なんとなくゴージャスに変化してる気がします。
キャラクター自体に動きを出すのは難しいモデルなので、周りでサポートすると絵が映えるのでオススメです。
横道にそれますが、生き物をfloatで浮かべる場合は、明示的にin the airも書いた方が無難です。
じゃないと勝手に水を引っ張ってきて浮かんだりします。
でも、ほとんどの場合キャラにも反映されてしまうので、使わないほうが無難かもしれません(笑)。
猫耳少女が好きなだけかと思いましたが、birdsでも羽が生えたんで根本的に別の書き方にしないとダメそうです。
“猫”と”普通の少女”を描く方法は分かりませんでした…
結局、Counterfeit-V2.5は使えるモデルなの?
動きが苦手なこと、それをわかっていればCounterfeit-V2.5はかなり使えるモデルだと思います。
動きは苦手なのでキャラは「置く」イメージです。
なんといっても、ラノベ流行している日本において馴染みのある画風なので受け入れられやすいと思います。
自分もこの特性を考えて、今後も使っていきたいと思います。
ただ、構図や動きで拘りたい場合は、おそらく別のモデルを使うと思います。
ラノベ等の2Dイラストレーターをしてる人からすると、一番の仮想敵のモデルと言えるかもしれません。
自分がテストでさらっと書いた簡易promptで、品質系promptほぼ使わずとももこれだけのものですからね。
「動きのあるイラスト」に関してはまだまだ発展途上です。
あと、当然ですが「手」や「複数被写体」が映った構図なども苦手分野。
なので、イラストレーターを目指す方はこの辺りにこだわって技術を磨くといいかもしれません。
この辺りも克服したらいよいよ「デトロイト ビカム ヒューマン」の世界ですね。
コメント