Pony Diffusion公式おすすめのプロンプトの書き方を読む
(本文長いので、結論だけを見たい方は「まとめ」をご覧ください)
Pony Diffusion系列のモデルは色々と有用なので、Pony Diffusion For Animeをはじめたくさんの派生も作られていて利用者も多いだろうと思いますが、プロンプトの書き方が少し独特というか今までの常識と違う面があるっぽいので、これを機に公式の説明を少し読んでみることにしました。
英語なので全然読んでなかったんですよね…。よくわからんけどPNGInfoでメタデータ読んで使いまわせば良し!って思ってました。
というわけで公式サイトの重要事項の説明から読み取れる部分を以下に並べてみます。V6 XLの話なのでご覧の時期によっては変わっている可能性があるのでご注意ください。
(1) Clip Stepを2に設定しないと生成画像の品質が悪くなる
まず、以下のように太字で書いてあります。
「clip skip 2(もしくはソフトによっては-2)にしないと低品質な画像になってしまうだろう」と書いてあります。you would be gettingではなくyou will be gettingと書いてあるので、設定しない限りまずそうなるだろうというニュアンスのようです。
clip skipの設定方法については、以下のサイトの説明が大変分かりやすかったのでご紹介します。
(2) プロンプトのおすすめの書き方
書き方のテンプレート
「このモデルは様々なスタイルや美学で(プロンプトを)書けますが、ネガティブプロンプト無しかつデフォルト設定で高品質な生成画像を得るためのプロンプトテンプレートをご提供します。」と書いてあります。
というわけで書き方のテンプレートはこちら。
その次の文に「以前はscore_9だけでよかったけど、今回のはちょっと問題があってテンプレート全文書かないと効果が薄いよ」って書いてありましたので、score_4_upまでをきっちり書いてからお好きなプロンプトを書いていくのが良いのでしょう。
scoreタグについては下のほうのセクションに詳細説明を入れています。
また、hdだったりmasterpieceみたいな品質を指定するプロンプトは不要と言っています。ネガティブプロンプトにも必須なものはありません。
他にもこのような特別なタグがあります。
source_pony ponyスタイルの画像
source_furry furryスタイルの画像
source_cartoon cartoonスタイルの画像
source_anime animeスタイルの画像
rating_safe 安全なコンテンツ
rating_questionable ちょっと怪しいコンテンツ
rating_explicit 露骨なコンテンツ
これも作者が振り分けており、sourceとratingの中にある細かいカテゴリはそれぞれ1:1ぐらいに分類されているようです。
例えばscore_8_up, rating_explicitと指定した場合には品質が(作者主観の)80%以上でなおかつその中の露骨なコンテンツを利用するという意味になるかと思います。
プロンプトには自然言語を指定しても大抵大丈夫だけど、必要ならこれらのタグを付け加えてブーストさせても良いよと言っています。
自然言語というのは「にぎわいのある街の中で男性が犬と会話している」みたいな文章ですね。勿論英語じゃないと理解してくれないですが。
scoreタグについて
scoreっていうのはどうやらPonyの作者が手動で2万枚の画像に1つずつスコア(=品質ランク)をつけたもののようで、それらのデータをもとにこのモデルが作られています。何週間もこもって一人でスコアつけたわーって言ってます。
ちなみにscore_8は学習データの品質が80%~90%を目指して生成するよう指示するタグで、score_8_upは品質80%以上(つまり80~100%)の生成を指示するタグになります。
(作者目線での品質ということに注意してください。つまり「Ponyを作った人から見たら、これが上位20%のランクに分類される」ものが作られるということです。あなたにとってはそうではないかもしれません)
じゃあこんなにズラっと並べなくても、score_8_upなどのupつきのタグだけ1つ書けば良いじゃないのかと思われるかもしれませんが、作者は「そうなるはずだったけど(V6では)問題があった」と言っています。
どうもこれらテンプレート全文そのものが品質の良い画像と関連付けられてしまったようです。そのため、全文を書かないと品質の良いものを使ってくれなくなってしまったそうです。
V7には直すと言っているので、もしV7が出たらこのプロンプトのテンプレートは変わってscore_8_upだけで良くなったりするのでしょう。
というわけで全部書きましょう。
ただ、「それぞれのscoreには当然バイアスがあるので、画風やloraにあわなければ外してもいいよ」とも言っています。
ちなみにネガティブプロンプトにscore_4とかscore_5を入れて品質上げようと思われるかもしれませんが、それはあまり効果無いよとも言っています。訓練データに使ったのは(訓練に金かかるんで)score_4からの画像なので、そもそも1から3の悪い品質のものはモデルに入っていないからです。
Euler aで25ステップ、1024pxの画像がおすすめ
公式ではサンプリングメソッドとしてEuler aを使用し、ステップ数は25を推奨しています。
またモデルはSDXLの解像度をサポートしてはいるけど、1024pxの解像度がおすすめだよと書いています。
最後に、「ネガティブプロンプトにsignature(署名とかサイン)を指定してもそれっぽいのが出ちゃうことがあるんだけど、それは問題として認識してるんでいつか直します。」と言っています。それまではV5.5を使うかinpaintで修正してねとのことです。
(3) まとめ
プロンプト
これ全部書いておかないと品質落ちる。
ソースを限定したいときは好みに応じて source_pony, source_furry, source_cartoon, source_anime が使える
レーティングを限定したい時は rating_safe, rating_questionable, rating_explicit が使える
ネガティブプロンプト
基本的に書かなくてOK