1
0

More than 1 year has passed since last update.

Stablediffusionで、表情差分のイラストを作成する。

Last updated at Posted at 2023-04-22

概要

Stable diffusionを活用する方法を考えていたのだが、RPGゲームなどのキャラクタ画像のようなものを作成するのによいのではないかとかんがえた。
Ex:クロックタワーのようなイメージ。
スクリーンショット 2023-04-22 17.09.00.png

スクリーンショット 2023-04-22 17.08.28.png

参考元はこちら。

しかし、普通にプロンプトをうっていくと、微妙に顔や服装が変わってしまう。なんとなく似ているけど、違う人?って思ってしまうような感じ。
以下の2枚の写真は、全く同じプロンプトで生成したものなのだが、微妙に異なるのがお分かりいただけると思う。
00013-3359907649.png
00014-3359907650.png

そこで今回は、全く同じキャラで表情を変えさせるように画像を追求していく。

その1:Seed値の固定

まず、一度生成した画像と全く同じ画像を生成するためには、プロンプトの他に、Seed値を固定させる必要がある。

WebUIから直接DLしたのであれば、pinginfoから情報を得ることが可能。ここで得た情報を、Send to txt2imgなどに送って、再度generateしてみよう。
スクリーンショット 2023-04-22 17.28.29.png

スクリーンショット 2023-04-22 17.31.15.png
スクリーンショット 2023-04-22 17.31.29.png

すると、全く同じ画像が生成される。

ここで出たプロンプトの中に、表情を追加する単語を追加する。追加するプロンプトの参考サイトは以下。

ここから、単語を追加した形の各画像を見ていく。

light smile
00011-2684463263.png

smile(上とほとんど変わらない。)
00014-2684463263.png

laugh(全然笑ってないし、構図が変わっている。失敗?)
00013-2684463263.png

angry
00015-2684463263.png

grin(歯を見せて笑う。構図変わってるけど、表情としては成功)
00016-2684463263.png

scared(全然変わっていない)
00017-2684463263.png

sadも試したのだが、上記の画像とほとんど一緒で変わっていない。

unhappyちょっと困った感じ。
00018-2684463263.png

cryこれは悲しそうな感じはだしているが、泣いてないように見える。絵が悪かったか。
00019-2684463263.png

surprisedこのプロンプトだと、驚くというより困ったor呆れた感じに見える。本来はもっと驚いてくれるはず
00020-2684463263.png

その2 in painting機能を使う。

ここまでの画像を見ていただいてお分かりかとおもいますが、イヤリングとか帽子とか、Seed値を変えても微妙に、もしくは大きくずれたりするのです。これをなんとか解消するために、WebUIのin painting機能を使用します。
この機能は,img to imgで、画像の選択箇所のみを再生成する機能。

in painting機能の使用方法

img to imgの画像を開き、下の方のinpaintを開く。そして、今回変更したい画像をアップロードする。
すると、黒い丸がカーソルで現れる。
スクリーンショット 2023-04-22 18.29.37.png

その後、顔の部分だけを黒丸で隠す。

スクリーンショット 2023-04-22 18.33.05.png

また、txt_to_imgで使用していたプロンプト、ネガティブプロンプトとシード値を入れ込んで画像を生成する。
すると、服装とかをそのままで表情を変えられる。この時、seed値が-1だったり、プロンプトを指定していない場合、画像がおかしな表示になるので忘れずに指定すること。

今回、 grinで生成してみたが、 smileとあまり大差ないかも。
スクリーンショット 2023-04-22 18.38.08.png
スクリーンショット 2023-04-22 18.38.19.png

amazed
スクリーンショット 2023-04-22 18.45.40.png

cryingこれが一番わかりやすい。同じキャラだが、表情が明らかに違う。
00022-2684463263.png

laugh,open mouth いい感じに笑顔
00023-2684463263.png

sweat, surprised, open mouth いい感じに驚いてくれている

00024-2684463263.png

結論

画像の表情のみ変える場合は、以下のように作ればOK

  • プロンプト、ネガティブプロンプト、Seed値などの情報を同じにする
  • inpaint機能を使い、変更したい部分のみ変える。

これだけで、かなり素材として使いやすいものが出来上がる。

参考サイト

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0