見出し画像

ChatGPTにプロンプトエンジニアリングを教わりながら、Stable Diffusionで4コママンガを描いてみた

こんにちは。メディア研究開発センター(M研)の杉野です。
今回は、少し前に話題となったStable Diffusionと、現在話題沸騰中のChatGPTに手伝ってもらい、素人ながらに4コママンガを描いてみたのでその試みについてお伝えしたいと思います。

どこを手伝ってもらうのか

Stable Diffusionが世に出た時、「これがあれば、絵心がなくてもマンガが自在に描けるのでは?」と考えた人は少なくないかと思います。

上の記事では、Stable Diffusionのファインチューニングによって自分の飼い猫を主人公にした絵を生成する、という試みがなされています。また、ストーリー案もChatGPTを使って作成されています。
このように絵からストーリーまで全部生成することもできそうなのですが、私の場合はつい最近、マンガにしてみたいエピソードができたので(なんてことない日常エピソードです)ストーリーは自作とし、

  • Stable Diffusionに絵の生成を

  • ChatGPTにプロンプトエンジニアリング(思い通りの絵を生成するための入力文作成技術)を

手伝ってもらいたいと思います。

プロンプトエンジニアリングとは

Stable Diffusionが出現してまもないころ「プロンプトエンジニアリングを駆使して絵の生成を思い通りにできる人」の求人が出現し「新しい職業が生まれている!?」と衝撃を受けた記憶がありますが、その重要性についての詳細はこちらの記事を参照ください。

Stable Diffusionにせよ、ChatGPTにせよ、ツールの力を生かして思い通りの結果を得るためには、入力文の質が重要ということになります。Stable Diffusionに触れたことがある方はご存知かと思いますが、テキストで命ずればどんな絵でも生成できるとは言え、イメージ通りのアングル、ポーズ、要素を満たした絵を生成するのは実際のところとても難しいです。入力文に使う呪文(意図する絵の生成を助ける文言)に関する情報も充実してきているようですが、ChatGPTの万能ぶりがあれば、あれこれ調べるよりも手っ取り早く適切なプロンプトを教えてもらえるのでは、と思い至った次第です。

出来上がった4コマはこちら

あまり前置きを長くしてハードルを上げても何なので、まずは出来上がった素人日常4コマ漫画をご覧ください。
ストーリーは自作、ChatGPTにプロンプトを提案してもらいながら意図した絵を生成し、Canva上で吹き出しやテキストの配置を行って作ったものです。

何はさておき、自分の画力ではとても踏み出せなかった「4コママンガの作成」という夢が叶いました。絵のタッチがバラバラなのでシュールな世界になってしまいましたが、これはこれで味がある、としておきたいと思います。

ChatGPTによるプロンプト改善

ここから、ChatGPTがプロンプトエンジニアリングについて何を教えてくれたのかを紹介したいと思います。絵の生成は、本家Stable Diffusionのplayground(デモサイト)で行いました。

まず、1コマ目の「我が家の牛乳をめちゃ飲む子」生成のためのプロンプトを聞きました。

生成結果。しょっぱなから厳しいことに。

冒頭のGenerate..と末尾のusing stable diffusionが不要だったと思われます。その部分を削除して入力したらまあまあの結果に。

しかし、背景や表情など、いろいろとイメージが違うのでChatGPTに文句を言ってみます。文句の言い方が雑すぎるかと思いきや、大事な提案をしてくれました。

アドバイスを踏まえると、かなりイメージに近づきました。

次に、子供の絵を一人ずつ生成ではなく一枚絵で表現しようと思い立ち、人数を変えるオーダーをしました。

これまでのやりとりを踏まえてくれており、いい1コマ目の生成が叶いました。

ChatGPTの教えにより「生成させる人物の外見や特徴/ポーズや背景/線画のスタイルや色」を細かく、箇条書きで指示する、というポイントを学んでからは、意図した生成がしやすくなりました。
また先ほどの人数変更のように「このプロンプトより○○なアングルにしたい」「背景を○○に変更したい」など具体的にフィードバックしていくことでイメージの調整ができ、スムーズに残りのコマを生成していくことができました。
完成した4コマでは、小学生男子の元気な表情、レトロな武士の子どもの味わいなど、素人には出せない表現ができたなーと思います。

カラーの画像でやってみたら?

ここまで、4コママンガのイメージとしてモノクロ線画の生成にこだわってきましたが、Stable Diffusionの表現力をもっと生かすべきでは?と思い、モノクロの線画スタイルを指定する「a black and white line drawing of..」の部分を、カラーのコミックスタイルを指定する「a colorful comic-style illustration of..」に差し替えて生成してみました。

絵のタッチがますますバラバラになり、シュールさが増してしまいました。個人的には3コマ目の虚無の少年が出てきたのが面白すぎましたが、最初のようにモノクロの線画の方がまとまりがあって良さそうです。

4コマを作る上で感じたポイントや課題

生成がうまくいったプロンプトは保存しておく

プロンプトの言い回しによって生成される絵の品質が変わる感覚がありました。またChatGPTが出すプロンプトも、同じ質問をしても違う言い回しが返ってきたりします。絵の生成がうまくいったプロンプトは必ず保存しておいて、適宜変更して使い回すと生成が安定しました(ChatGPTのUI上で履歴も見られますね)。

ストレートにフィードバックする

得られた答えがイマイチの場合は、ChatGPTに率直に伝えましょう。漠然とした要望であっても、今回の場合は思った以上に的確なリアクションをしてくれることがわかりました。

文章より、箇条書き

ChatGPTがアドバイスしてきたように、ひと続きにつながった文よりは、カンマで区切った箇条書き的なプロンプトの方が生成が安定しました。

要素ごとに生成が必要そう

複数の要素を一枚絵で表現するのはかなり難しく、説明的テキストに頼る部分が多くなりました。例えば「こたつにあたってみかんを食べている少年とテレビを見ている母親」など、背景+行動が異なる人物をまとめては出せず「こたつにあたっている2人の男の子」など同じ行動をしている人々の形で出すのが精一杯でした。複雑な描写は、別々で生成して組み合わせるのが現実的かもしれません。下記の記事のような、絵とテキストで生成画像の指示を出せるものありますが、試してみたところ思い通りの生成にはほど遠く、今回の試みにはマッチしませんでした。

日本的モチーフが難しい

侍の子供、など海外でもよく知られたモチーフは大丈夫なのですが、コタツのような地味な日本的アイテムは材料が少ないのか、正確な生成は難しそうでした。

まとめ

「○○について、いい感じにやれる方法を教えてください」と尋ねれば叶ってしまう時代になったんだなーと思いました。様々なツールの使い方をナビゲートしてくれるChatGPT。APIの公開により世の中のあらゆるものに組み込まれ始めていて恐ろしさすらありますが、ともかくAIの力を借りてマンガを描くのは楽しすぎました。やってみたいなーと思っていることがある方は、こんな形でチャレンジしてみてはいかがでしょうか。

この記事のまさかのオチ

ところで、この記事を書き終わって公開準備していたところ、Stable Diffusion用の適切なプロンプトを内部で設計して直接画像を生成するVisual ChatGPTの論文が発表されたという情報が。つまりこの記事で試みていたことは直接できることになりそうです。いやー展開早すぎます…。

(メディア研究開発センター・杉野かおり)


この記事が参加している募集

AIとやってみた