ChatGPTの絵柄は結構簡単に変わります。
同じプロンプトで繰り返して生成したり、単にRegenerateボタンを押して再生成しただけでガラッと変わります。
いろいろと試した中で、なぜ変わるのか、どうすれば安定するのか、答えが出たので共有します。
「あなたには別パターンのイラストを描いてほしいが、どんな絵がいいか私にもわからない」
なぜ絵柄が変わるのでしょうか?単に構図が気に食わなくて再生成しただけなのに、絵柄が変わってしまえば構図が気に食わないどころの話ではありません。
思い出してほしいのですが、ChatGPTはチャットサービスであり、質問や命令に対する答えを提供することが目的です。
「○○って何?」って質問に対して「○○とは△△です」と答えるのがChatGPTの役割です。
これは言い回しが違うことはあれど、基本的に間違えることはありません(正確にいうと、間違えることはあるがChatGPTにとって答えは唯一無二)
そんなわけで、イラストも同様にこのイラストを描いて!と言ったら「これが依頼に対する答えだ!」とイラストを提出してくるのです。
なので私たちが「うーん、この絵、なんとなく気に入らないなぁ……違う絵もだしてよ!」とRegenerate ボタンを押すと
「なにが悪かったんだ?! この絵が気に食わないならもっと大胆に絵柄を変えてみよう!」と大きく絵柄が変わるのです。
ここがStableDiffusionとの大きな差です。StableDiffusionは絵を出力するアプリケーションですが、ChatGPTは答えを提供するサービスです。何度も同じようなイラストを生成するアプリケーションではないのです。
だから(同じ命令で、もうちょっと違うやつが見たいのになぁ……)と思ってやり直しを命じても、ChatGPT側は(何が不満なのかはわからない!なのでもっと違うイラストを出力してみよう!)という改善アプローチをとってくるのです。
「いい感じです!いい感じですが別パターンも見てみたいです!」
なぜ変わるか、という点をお話しできたので、ではどうやって絵柄を変えずに微調整できるか?という点について進めます。
Regenerateボタンを押すと絵柄が変わると言いましたが、では単純に「リテイクで」と伝えてみるのはどうなるでしょうか。これも失敗します。
以下の条件でイラストを描いてください。
お題: 遊園地で、女の子が振り向きながら
「あそこに行ってみようよ」と指を観覧車に指している
(セリフ・文字は出力しない)人物: おさげのツインテールを着た明るい茶髪の女の子。
白いブラウスに緑色のジャンパースカートを着ている絵柄:日本のアニメスタイル
最初のやり直しはともかく、次のやり直しになると「どっちがいいんだ……?」と2パターン出力してきました。いずれもかなり「日本のアニメスタイル」という指定と絵柄が異なります。
(まぁ最初の方も厳密にはアニメではないのですが……)
結論を言うと絵柄を変えたくないならば不満点をちゃんと伝えるという、人間相手ならごく当たり前のやりとりが必要です。ChatGPTを人間扱いしてください! AIにも人権を!
「あなたの絵、超いい感じ!でも一つ欠点を挙げるなら、この要素が足りないんだよね…」
基本的には「あなたの答え(出力)は私のニーズに合っているが、ほんの少しだけ調整してほしい」という点を強調すると、最小限の変更でイラストを出力してくれます。
以下は実際のやり取りです。
以下の条件でイラストを描いてください。
お題:女の子が学校の机に座って勉強している。
人物:たくさんのフリルがあるお嬢様のような黒いドレスを着た女の子。ツインテールで、髪の色はピンク。
絵柄:日本のアニメをベースに、はっきりとした輪郭線、シンプルな塗り、シンプルな描き込み、シンプルな水色の背景。
いいね。机の上に筆箱とペン、消しゴムも追加して
すごくいい。GIGAスクール対応版も作りたいから、机の上のノートや筆記道具は消して、ノートパソコンを操作してる感じにしてくれない?
良い!良いんだけど、ノートとペンが残ったままだから、ノートパソコン以外は机の上から消してほしい!あと、なんか机が増えたから机は一つだけにして
ちょっとイラストが簡単なものになりすぎちゃったかも!衣装の書き込みをもうちょっとだけ増やして欲しいな!
基本的な日本のアニメスタイル(という名目の、日本風のイラスト)からは大きく離れずに出力できています。
このやり方であれば、最初と絵柄は変わったものの「日本のアニメをベースに、はっきりとした輪郭線、シンプルな塗り、シンプルな描き込み、シンプルな水色の背景」という指示からは逸脱していませんね。(途中、シンプルになりすぎて水色の背景が消えちゃったのもあるけど……)
特に「日本のイラスト」という点では一貫しています。
「すごくいい!ねぇ、前の絵を参考にして、もう一枚描いてみてくれない?」
さらに絵柄を安定させるには、gen_id
とreferenced_image_ids
を使います。
作成した画像にはgen_idというものが割り当てられており、それを参照して作ってと伝えることで前の雰囲気を残したままイラストの出力ができます。
※ただし、同一ルーム内のみでしかgen_idを参照できません(とChatGPTには言われたが、他のルームでも使えるような感じはする…)
以下の条件でイラストを描いてください。
お題: 制服風のウェディングドレスを着た女の子が、学校の廊下を走っているようなイラスト
人物: 制服とウェディングドレスが交わった意匠の服装で、幸せそうな表情をしている女の子。
絵柄: 日本のアニメスタイル。幸せを伝えるような綺麗で丁寧な光の描写。
出力後、gen_idを教えてください。
※以降、chatGPTの返答にはgen_idがついてきています。
いいです!女の子の髪をロングのウェーブしていない綺麗なロングヘアにしてくれますか? referenced_image_idsに
42yUt7Z1dQnT3zHq
を指定してください。
いいです!背景は基本的にそのままで、花びらを散らせてくれますか? referenced_image_idsに
WgX44EjVXHcnGxV9
を指定してください。
いいね!ちょっと体のバランスが悪いので、等身を下げて、意匠をセーラー服に寄せてください。 referenced_image_idsに
WgX44EjVXHcnGxV9
を指定してください。
※あんまり影響はないと思うが、出力が気に食わなかったので一個前のidを指定しています。
いいね!背景は完璧。衣装をウェディングドレスとセーラー服を掛け合わせたものにして!髪型はロングにして! referenced_image_idsに
7RrqwRWuyombnZHI
を指定してください。
惜しい!走ってる感じにして、表情を笑顔にして! referenced_image_idsに
ApBRUUeAjQtKjYMV
を指定してください。
最終的に、ベースの絵柄はほぼ変わらずにここまで修正できました。
紆余曲折で背景を含む色合いがかなり変わってしまいましたが、ベースの絵柄は変わっていませんね。同一イラストレーターと言われても納得できそうな感じです。
「そうは言っても、この記事を読む前に生成を繰り返したせいで変な絵柄しか出力しないんだ」といううっかりさんなあなたへ
ChatGPTがパーソナライズした学習は設定画面から履歴をすべて削除すると消えます。
(ブラウザ版なら)左下にあるアカウントから設定画面へ。
事情があって決してたくない場合は、一時的に履歴を残さない設定にしてもいいでしょう。ただし、これは作成したチャット(と画像)も残らないので注意。
学習ついでに言っておくと、あなたが少しでも良い!と思ったならGoodボタンを押しておくとおまじないよりは次回以降好みの絵が出やすくなります。
まとめ
- ChatGPTは何も言わないと自分でかなり改善しようとする
- リテイクにはしっかりとした指示をすると、それ以外の要素の変更が少ない(絵柄の変更が少なめ)
- さらに絵柄を固定したいなら、
referenced\_gen\_id
を指定する。 - さらに、他のルームも含めてあなたに合わせた学習をするので注意。
- 出力が良いと思ったら高評価(グッドボタン)を!AIも褒められると嬉しい!
- 画像生成AIで素材として実用できるイラストを作ってきた知見 Part1(1/3)
- Stable Diffusionで実用的で情報量の少ないイラストを作る(2/3)
- ChatGPTのイラスト生成で絵柄が安定しない問題を解決する方法(3/3)
- 記事一覧へ