一気にかけるだけ書いちゃおうの巻(?)
さて、前回はセットアップ〜起動、そしてテスト生成までを行いました。
Stable Diffusion(以後はSDと書きます)を制御するのは「プロンプト」(呪文、と言いましたね?覚えていますか?)です。今回の記事はプロンプトに焦点を当てます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
・プロンプトとはなんぞや
・書き方、書き順はあるの?
・エロ絵でてこねーんだけど!?
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
前回もお話したとおり、プロンプトはすべて英単語で記述する必要があります。ものによっては日本語でもいけるところはあるようですが、こいつは無理です。諦めましょう。
英単語がわからなくたって、Google翻訳なんかで十分通用します。
(実際の画面)
プロンプトの書き方の例として、前回は上で示したような内容を入力しました。
出力結果が、黒髪、黒い瞳の男性で、白いTシャツとジーンズをはいていて、笑顔であれば成功です!
(Stable Diffusionで生成)
プロンプトを書いて、オレンジのでかいボタンを押すと1分足らず結果がわかります。ただ、思ったのと違う・・・なんてこともこれからたくさん遭遇するでしょう。
では、下の画像を見てください。
(Stable Diffusionで生成。失敗作1)
上の画像、なにが失敗かわかりますか?
「ああ、そういやこの人ショタコンだったよなー」
「パッと見ちゃんとできてんじゃん・・・?」
色々考えたと思います。
実はこれ、以前フォロワーさんとAIについて盛り上がっていたときに出力したものなんですが、「3次元」で出力したかったんです。
これが、「プロンプトの罠」なんです!
AIの話をしていて、リアルショタ出力したい!って話題になったとき、僕は「SDならいけるんじゃねぇかな」と思って、プロンプトにこう書きました。
「photo,」
どこが間違っているかもうわかったでしょう?w
構図は正解だし、画像の子が着衣射精してるのも正解なんです。
でもSDくんに伝わらなかったようで、あの画像になった、というわけです。
プロンプト一つにしても、ざっくりとした単語で指示をするとこういうことが起こります。そして、この記事を読んでいるということはこれから始める方でしょう。あなたが飽きるまで、AIの誤解(?)と戦う必要がありますw
プロンプトを記述するうえで大事なことは、たしかに正しい英単語を指定すればいいのですが、それを「AIが理解するか否か」にかかっているのです。
(Stable Diffusionで生成。失敗作2)
ではこの画像を例にしましょうか。これも大失敗したんです。
何が失敗かわかるかな?わかんないだろうなw
このプロンプトのこってないので・・・、せっかくだからある機能を紹介します。
(実際の画面をトリミングしています)
SDを起動していれば、上の画像と同じところをクリックです。
(実際の画面です)
これ便利機能なのでぜひ使ってほしいです。何をするのか画像付きでお話します。
(実際の画面です)
画像を貼り付けたら少し待ちましょう。すると・・・。
(実際の画面です)
使用したプロンプトが表示されます。
(実際の画面です)
1boy,age 15,Very slim, anime,anime colors,Schoolyard, daytime, heavily soiled dark blue Under Armour, heavily soiled baseball pants, kneeling on ground, bulge, masturbation, crying,
NSFW,yaoi,masterpiece, best quality, amazing quality,
上記が抽出した当時のプロンプトです。分かる人はもう分かるでしょうw
(雑な合成)
プロンプトから分かる通り、彼は15歳の野球部員です。
野球部少年といえばあの、上着のピチピチ!!
エロいですよねあれw あれを着てほしくて、どう伝えたらいいかわからずダイレクトに商品名(ブランド名?)を書きましたw
その結果、鎧を着てしまったのですw
濃紺のピチピチを着てほしかったのに、AIくんに伝えられなかった結果、濃紺の「鎧(アーマー)」を着てしまった、というわけです・・・w
プロンプトを考えるうえで大事なことは、こういうミスを起こさないために、
☆シンプルな言葉
を意識します。商品名とかそういうのはほぼ理解されません。
プロンプトとは、妄想を形にする僕らの「呪文」ですから、詠唱に失敗するとああなるわけです。
結論から言うと、ありますけどない・・・ようなもんですw
絶対にこの順じゃなきゃだめ!!っていうわけではなく、あくまで「AIが理解しやすくするため」の書き順です。
大事な構成要素は以下のとおりです。
・被写体
・被写体の状態または状況
・背景
・雰囲気
・構図
・スタイル
・品質
・ネガティブプロンプト
これらの基本構成で生成されるのがAIイラストなのです。
(Stable Diffusionで生成)
どれだけ細かくポーズや状況を指定しても、AIにだってできることとできないことがあります。ただそれが、「本当にできない」のか、「意図が伝わっていないのか」のどちらかだということです。
せっかく考えたプロンプトも、AIが理解できなきゃただの英単語です。いくつかの要素が抜け落ちても、最終的に生成を指示する僕らが満足すればそれでいいのですが、可能な限り理想に近く、クオリティの高いものがいいですよね!
そのために書き方、書き順が考えやすくなるように、テンプレートを作りました!まだ生成AIを触り始めて間もないでしょうから、どうすればいいかわからないことも多いと思います。そこでぜひこれを使ってください。
(主要な被写体), (被写体の詳細), (背景), (環境・雰囲気), (ライティング), (カメラアングル・構図), (スタイル), (品質)
必ずしも生成物の品質を保証することはできません。でもこれを使って単語を当てはめていけば、近いものは絶対に出てくるはずです!
では、前回皆さんが生成した白Tくんの画像を見てください。んなもんとっくに消したよって人は、僕の白Tくんを見ながら考えてみましょう。
(Stable Diffusionで生成。安心便利な白Tくん)
では、上のテンプレートに沿って、この画像を「分解」します。プロンプトに含んでいない要素についても今回は取り扱います。
(主要な被写体), (被写体の詳細), (背景), (環境・雰囲気), (ライティング), (カメラアングル・構図), (スタイル), (品質)
・主要な被写体「黒髪、黒い目、男性、」
・被写体の詳細「白いTシャツ、ジーンズ、微笑んでいる、」
・背景「シンプルな背景(未指定部分なので見たままを書く)」
・環境・雰囲気「ポジティブなムード(未指定部分なので見たままを書く)」
・ライティング「自然光(未指定部分なので見たままを書く)」
・カメラアングル・構図「正面から(未指定なので見たままを書く)」
・スタイル「アニメ風(未指定なので見たままを書く)」
・品質「最高傑作(未指定なので見たままを書く)」
・ネガティブプロンプト「解剖学的な間違い」
以上、画像を「文字に分解」しました。これが「プロンプト(指示文)」です。
(この白Tくんが「最高傑作」かっていわれりゃ違いますが・・・w)
描きたい人物、服装、場所や時刻、天気、そういったものをテンプレートに従って当てはめてみましょう。あなたの作りたいものが見えてくるはずです。
ここまでの説明で、プロンプトとは何か、書き方や書き順について、ふわっとでもいいですから理解できたでしょうか? では次に、分解したものを英単語で組み立てていきます。つまり、こうなります。
・主要な被写体「black hear,black eyes,male,」
・被写体の詳細「White T-shirt, jeans, smiling,」
・背景「Simple Background,」
・環境・雰囲気「Positive mood,」
・ライティング「Natural Light,」
・カメラアングル・構図「front view,」
・スタイル「anime style,」
・品質「masterpiece,」
・ネガティブプロンプト「Bad Anatomy,」
つなげると・・・。
black hear,black eyes,male,White T-shirt, jeans, smiling,Simple Background,Positive mood,Natural Light,front view,anime style,masterpiece,
では、実際にこれをSDのプロンプトに入力して結果を見てみます。その際、白Tくんがひとりだけが出現するように、文頭には「solo,」(または 1boy, )を指定します。
さあ、呪文を作りますよ。
solo,black hear,black eyes,male,White T-shirt, jeans, smiling,Simple Background,Positive mood,Natural Light,front view,anime style,masterpiece,
(実際の画面)
さあ、準備ができたらオレンジ色のボタンを押して詠唱します!!結果は・・・!?
(Stable Diffusionで生成)
う、うんw 概ねよしとしましょうw
たしかに、白いTシャツ、ジーンズ姿の「男性」がでてきてますw
サンプルとして出力した画像のプロンプトでは、アニメスタイル、だとかいれてなかったので絵柄なんかはがらっと変わりましたが、大事な構成要素の一つである、「白いTシャツとジーンズ姿の男性が笑っている」をクリアできたのでよしとします!w
あの白Tくんに近づける場合は、別途年齢を指定するなどすれば近しい風体になります。このように、プロンプトを微調整しながら理想に一番近いものを目指すのです。
(Stable Diffusionで生成。特に調整せず3回目で近い印象になった)
ある意味「お待ちかね」の話題かもしれませんw
そう、僕のこれを読んでいるならば、あなたはヒーローフェチを持っているはずで、そしてヒーローがエロい目に遭うのがいいんですよね? たぶんw
でも、うまく出てきてくれなかったりするはず。そんなとき、一撃でドスケベにする呪文があります。ずばり、「NSFW」です。これは、職場で見るには不適切、の英語の略称らしいです。
たしかに、
(Stable Diffusionで生成)
こんなの見られた日にゃ色々終わりますよねwwww
では、白Tくんをエロくしてみましょう。
できるだけ同じポーズ、絵柄を保ってほしいので・・・
(実際の画面)
下へスクロールすると、見慣れないアイコンがいくつかあります。その中の、
(実際の画面。トリミングしています)
リサイクルマークのアイコンを押しましょう。
これを押すと、「シード値」を固定できます。
そうすることによって、好みの絵柄、好みの姿勢を損ないづらくなり、調整したプロンプトを新たに反映させたりできます。
もし新しい白Tくんを召喚したい場合は押さなくてもいいです。
呪文を調整しましょう。ここでは、「好みの年頃」「好みの体型」「好みの下着」「着衣勃起」「エロいムード」「NSFW」に追加または変更します。したがってプロンプトは、「solo,age 15,Slim fighter's build,black hear,black eyes,male, red boxer briefs,Penis under clothes, testicles under clothes,smiling,Simple Background,Erotic mood,Natural Light,front view,anime style,masterpiece,nsfw,」
となります。あくまで僕の趣味ですwww
ちなみに、着衣勃起を描きたいとき、日本語ではこのように記述します。
(実際の画面)
そう、衣服の下のペニス(または勃起)、衣服の下の睾丸、で着衣勃起と金玉が生えてきますw
準備ができたら詠唱です!! いでよエロい白T三世!!
(Stable Diffusionで生成)
みなさんはどうですか? 全身でてきました?
もし僕と同じものになったら、新たな呪文を一つ追加します。
full body,
こいつを、front view,の前か後ろにくっつけてやりましょう。
再☆召☆喚
(Stable Diffusionで生成)
うーん、エロいようなエロくないようなwwww
指定通り目的は達成できました!!
さて、プロンプトについて、簡単ではありますが解説は以上です。もっともっと奥深くて、知れば知るほど沼が広がるのも生成AIの魅力だと言えるでしょう。
そのAIを制御するのがプロンプトであり、プロンプトとはすなわち、作りたいイラストの言語化である、と言えます。
次回はプロンプトにまつわるお話をしつつ、「ベースモデル」と「LORA」を見ていきましょう。僕が使っているベースモデルと戦隊LORAをご紹介します!!
☆ここからはおまけ☆
〜あまりにも白Tくんがエロくならなかったのでエロくしようと悪あがき編〜
いつものネガティブプロンプトをてんこ盛りにします。
(実際の画面)
(Stable Diffusionで生成)
(Stable Diffusionで生成)
ちくしょう、おぼえてやがれ〜!!!
次回に続くぅ!!!