【盲点】Stable Diffusion プロンプトが反映されない一番の原因 AI画像生成

ナカ(マスター)
ナカ(マスター)

これまでプロンプトがなぜか効かないことに
目をつぶってきたが終止符を打とうと思う☆

かな(見習い)
かな(見習い)

まあプロンプト効かないのは仕方ないか、
ってのがある種常識ですからね!

そこに終止符なんて打てるんですか!?

ナカ(マスター)
ナカ(マスター)

打てなかったらまた考える、
とにかくなんでプロンプトが効かないやつが
あるかは、これで説明できるぞ☆

プロンプトは効くのと効かないのが何故か存在する

Stable DiffuionでAI画像生成をしていると
プロンプトの指示通りに全然反映されない
ケースに多数遭遇します。

1.プロンプトが英語

2.AIが言葉をどう理解しているかが謎

このような複雑な要素によって、

「まあ仕方ないか」

ってなっている状況でした。

できることとすれば、英語の表現の方法を
変えてみたり、

うまく反映されているプロンプトがないか
探しにいくくらいの対策しかありませんでした。

まあそんなもんじゃないの、でどうすればいいの?

今回は「2」の部分のAIが
言語をどう理解しているかの部分
に切り込んで、

プロンプトを反映させる方法になります。

英語で考える必要性が薄まり、

「AIはこういうのをこの単語で認識している」

みたいな理解ができるので、
今よりやりやすくなるかと思います。

プロンプトが反映されない場合の対策

Danbooruというサイトがあるんですけど、

このサイトの「Tags」タブに入っている単語をStable Diffusionの
学習に使っているみたいです。

https://danbooru.donmai.us/tags

なのでサイトの「Tags」タブで検索をかけて、

検索に引っかかる=Stable Diffusionも認識する可能性が高い

検索に引っかからない=認識しない可能性が高い

このようにいえます。


例えば「look」で検索してみると候補にこのように出てきます。

右側の数字は学習された画像数で多いほどプロンプトが
反映される確率が高いです。

余談ですが、
Mはミリオンで100万倍すると変換できるので、
一番上の2.7Mは270万になります。

Kは1000倍すると変換できるので2番目の243Kは
24万3千になります。

多い順に並んでいるので、上記の変換は覚えなくても
問題ないです。

活用例

例えば「city」で検索してみると候補にこのように
出ます。

「city」は一番上に来ているのでStable Diffusionに
認識されているのがわかります。

5番目より下の「tokyo city」,「liver city」などは
数がガクッと下がっているのでプロンプトが効かない
可能性があります。

なのでこのようなプロンプトを使おうとしている
もしくは使っていて反映されない場合は、

別の表現で認識されているのがないか検索してみたり、

image2やコントロールネットなどのプロンプト以外の
方法で反映させるようにもっていったりする流れになります。

まとめ:深く知れば分かり合える

Stable Diffusionでプロンプトが反映されない現象の
原因と対策について紹介しました。

Stable Diffusionは預かり知れないものではなく、
一定の原理に忠実に動いているだけなので、

そこを理解してあげてよりよい関係を築いていきましょう。