Stable Diffusion Web UI における色の指定についていろいろ試してみた
最近、画像生成AIにハマっていて、いろいろと画像を作成して遊んでいます。
が、なかなか思いお通りにはなってくれません。特に色が指定していない部分にまで影響しているように感じたので、いろいろと試してみることにします。
今回のテストでは、モデルは "Counterfeit V3.0" を使用しました。
プロンプトごとの結果
単純なプロンプト
まず、単純に "portrait of a cute girl" と入れてみました。
結果は以下の通り。まずはこれが基準になるかと思います。
唇を赤にしてみる
"red lipstick" を加えてみました。
髪や瞳にも赤が影響しているようです。唇だけ指定したつもりでも、色のキーワードは全体に何らか影響してしまうようですね。これが色をプロンプトに指定するときの難しいところです。
茶髪にしてみる
"red lipstick" から "brown hair" に変えました。
これも同様に髪と瞳に適用されました。さすがに唇が茶色になるようなことはないようですが。
髪、瞳、唇に色を指定
では、ということで、髪と瞳と唇にそれぞれ異なる色を指定してみました。
一応塗り分けたようですが、服や背景などが赤となっています。赤って影響力が強いんでしょうか?
さらに服、背景に色を指定
さらに、それでは、ということで、服や背景も指定してみました。
背景は割りとプロンプト通りですが、服に関してはどうしても赤が影響してしまうようです。
赤い唇の指定をはずす
あちこちに影響している "red lipstick" を外してみました。
一応、プロンプト通りのように思います。
推測するに "girl" が "red lipstick" なのが自然ではないため、他に影響していったように思います。
少女から女性に変えてみる
では、"red lipstick" でもおかしくない "beautiful woman" だとどうなのでしょう?
髪については4つのうち3つに影響していますが、瞳への影響は少ないように思います。やはり、"red lipstick" については "girl" より "woman" の方が自然ということなのでしょう。
唇の色をピンクにしてみる
唇の色をピンクにしてみました。
やはり指定していない部分(特に髪)には影響するようです。
自然な色と指定する
自然な色という表現でいろいろ指定してみました。
髪の色と瞳の色は何も指定しないときと同じなので、これがこのモデルの "自然" な色なのでしょう。
まとめ
以上のことから
どこかに色を指定すると指定していない箇所などに影響する
不自然なものだと特におもわぬところに影響する
いろいろ指定しても色は影響し合うようで、なかなか思い通りにはいかない
ということでしょうか。
細かく部分的に色をつけたい場合は Inpaint を使うなどした方が良いように思います。
例えば、
上記画像を ControlNet (canny) に指定した上で、プロンプト "make her hair brown" と指定
上記画像を img2img(inpaint) に転送。唇部分をマスクして、プロンプトに "red lipstick" を指定
細かく色を指定したい場合は、こうして手間をかけるしかないようです。
でも、やはり画像生成AIでいろいろと画像を生成するのは楽しいです。これからもいろいろ作っていこうかな?と思います。