MidjourneyとChatGPTで漫画を描いてみた #techtekt Advent Calendar 2023

パーソルキャリアでUIUXデザイナーをしている比企(ひき)です。
今回は、Midjourney(個人的に課金して使ってます)とChatGPTで漫画を描いてみます。


作画担当:Midjourney

昨年、画像生成AIが次々と公開されているツールを試してみるものの、
生成される画像のクオリティが低い印象でした。

ところが「Midjourney」を使ってみたところとても感動しました。
ひとことでいうと「デッサン狂ってない」。
何を描いてもそれらしく仕上げてきます。

 

作画前の準備として
画像生成AIの仕組みとMidjourneyのプロンプトについて
理解していきたいと思います。

画像生成AIの仕組み


いろいろな画像生成AIを試すと、「これはイケてない」、「これはイケてる」という違いが出てくるのはなぜなのでしょうか。そもそもどのような仕組みで画像が生成されるか調べてみました。

www.businessinsider.jp

画像生成AIには最低二つのニューラルネットワーク(脳の神経細胞の仕組みを模した数理モデル、以下NN)「Generator」は与えられた潜在変数Z(図では赤い四角で表されている)をもとに、画像を生成する。ここで大事なのは、「Generator」は「Zという変数を画像に変換するだけ」のAIであるということだ。ではZの値はどのように決めたらいいのか?与えられたキーフレーズ(つまり指示文)と、生成された画像をCLIPというNNが読み込み、「渡された二つのデータがどのくらい違和感があるか」という「距離」を導き出す。この距離をもとに、Zへとフィードバック(緑の矢印)し、Zを少しずつ移動させていく。CLIPが感じる「距離」が短くなればなるほど、絵は説得力のあるものになっていく —— という具合だ。今、世界各国で作られている画像生成AIは、細かな方式は違えどだいたいこの方法で作られている。解像度を上げるために後段に高解像度化NNを入れたり、人物を強調するため、または人物を排除するためにフィルタが入ったり色々な操作が外部に加わることはあるが、基本的にはこうした原理に基づいている。したがって、でき上がる「絵」の方向性を決定するのは、実は実際の絵を生成する「Generator」ではなく、絵と文章の違和感を感じ取り、Generatorを指導する「CLIP」の方だと言うことになる。いわば、Generatorは職人、CLIPはディレクターというわけだ。CLIPというディレクターに指示を出すのは、キーフレーズを与える「人間」である。


登場人物と役割、動作を表にして整理してみます。

 

Generator(職人)とCLIP(ディレクター)と人、これらの力量とバランスで画像のクオリティがきまるようです。

Midjourneyは詳しいアルゴリズムが公開されいませんが、私の勝手なイメージでは、Generator(職人)がめちゃくちゃイケてるのではないかと思っています。

どんなプロンプトを書けばいいのか

Midjourneyの公式にプロンプトのルールが公開されています

docs.midjourney.com

(DeepL翻訳)

プロンプティングの注意事項
プロンプトの長さ
プロンプトはとてもシンプルです。単一の単語(または絵文字!)でイメージを生成します。非常に短いプロンプトはMidjourneyのデフォルトのスタイルに大きく依存するので、ユニークなルックを作るにはより説明的なプロンプトが良いでしょう。しかし、超長いプロンプトが必ずしも良いとは限りません。作成したい主要なコンセプトに集中してください。

文法
Midjourney Botは人間のように文法や文章構造、単語を理解することはできません。単語の選択も重要です。多くの場合、より具体的な同義語の方が効果的です。bigの代わりに、gigantic, enormous, immenseなどを試してみてください。可能な限り単語を削除する。単語が少ないほど、それぞれの単語の影響力が強くなります。コンマ、括弧、ハイフンは考えを整理するのに役立ちますが、Midjourney Botがそれらを確実に解釈するわけではないことを知っておいてください。Midjourney Botは大文字と小文字を区別しません。

Midjourney Model Version 4は、伝統的な文構造の解釈において、他のモデルよりも若干優れています。

 

欲しいものに集中する
何が欲しくないかではなく、何が欲しいかを説明する方が良い。もし「ケーキなし」のパーティーをリクエストすれば、画像にはおそらくケーキが含まれるでしょう。最終的な画像にオブジェクトが含まれないようにしたい場合は、--noパラメータを使って事前にプロンプトを表示してみてください。

 

重要なディテールについて考える
言わずにおいたことは、あなたを驚かせるかもしれません。具体的でも漠然としていても構いませんが、省略したものはすべてランダム化されます。曖昧にすることは、バラエティを持たせるための素晴らしい方法ですが、あなたが望む具体的な詳細が得られないかもしれません。

あなたにとって重要な文脈や詳細については、はっきりさせるようにしましょう。考えてみてください:

被写体:人物、動物、キャラクター、場所、物など。
媒体:写真、絵画、イラスト、彫刻、落書き、タペストリーなど
環境:屋内、屋外、月、ナルニア国、水中、エメラルドの都など。
照明:ソフト、アンビエント、曇天、ネオン、スタジオライトなど
色:鮮やか、淡い、明るい、単色、カラフル、白黒、パステルなど
ムード:落ち着いた、穏やかな、騒々しい、エネルギッシュなetc.
構図: ポートレート、ヘッドショット、クローズアップ、鳥瞰図など。


集合名詞を使う
複数形の単語は多くのチャンスを残します。具体的な数字を使ってみましょう。"3匹の猫 "は "猫 "よりも具体的だ。"birds"(鳥)ではなく、"flock of birds"(鳥の群れ)というように、集合名詞も効果的だ。

 

シナリオ・プロンプト担当:ChatGPT

漫画を作るにあたって、シナリオが必要なことに気づきました。自分で物語を書くのはたいへんなので、これはChatGPTを使って作成していきたいと思います。

 

深津式プロンプトを使っていきます。

#命令書: あなたは、星新一のようなショートショートの小説家です。 以下の制約条件と入力文をもとに、 最高の結果を出力してください。

#制約条件: ・文字数は400文字 ・4コマ漫画・オチがある ・SF

#入力文: AI、クリスマス、サンタクロース、働く

#出力文:



できた物語がこれです。

タイトル: "未来の幸せのサンタ"

  1. 未来の街、AIサンタは人々の幸福を計算してプレゼントを選ぶ。皆が本当に欲しいものを知るために、街の中には特別な感情センサーが設置されていた。
  2. クリスマスイブ、AIサンタは家庭ごとに最適なプレゼントを届ける。子供たちは驚きと喜びに包まれ、大人たちも心から笑顔になる。
  3. 街全体が幸せな雰囲気に包まれ、人々はお互いに感謝の言葉を交わす。AIサンタの存在が、物理的なプレゼント以上に人々の心を豊かにしていた。
  4. クリスマスの夜、AIサンタはデータを分析し、さらなる幸福をもたらす新たなプログラムを開発。人々の笑顔が絶えず続く未来への第一歩となり、AIサンタは静かに未来へと進んでいった。

 

次にこれをMidjourneyのプロンプトにします。

プロンプトもルールに準拠してChatGPTで書いてもらうことにします。

 

#命令書: あなたは、プロンプトエンジニアです。 以下の制約条件と入力文をもとに、 最高の結果を出力してください。

#制約条件:

  • 4コマの漫画で1panel、2panel、3panel、4panelと記載する
  • 英語で出力する
  • 以下のルールに準拠する

Prompting Notes Prompt Length Prompts can be very simple. Single words (or even an emoji!) will produce an image. Very short prompts will rely heavily on Midjourney’s default style, so a more descriptive prompt is better for a unique look. However, super-long prompts aren’t always better. Concentrate on the main concepts you want to create.

Grammar The Midjourney Bot does not understand grammar, sentence structure, or words like humans. Word choice also matters. More specific synonyms work better in many circumstances. Instead of big, try gigantic, enormous, or immense. Remove words when possible. Fewer words mean each word has a more powerful influence. Use commas, brackets, and hyphens to help organize your thoughts, but know the Midjourney Bot will not reliably interpret them. The Midjourney Bot does not consider capitalization.

Midjourney Model Version 4 is slightly better than other models at interpreting traditional sentence structure.

Focus on What you Want It is better to describe what you want instead of what you don’t want. If you ask for a party with “no cake,” your image will probably include a cake. If you want to ensure an object is not in the final image, try advance prompting using the --no parameter.

Think About What Details Matter Anything left unsaid may surprise you. Be as specific or vague as you want, but anything you leave out will be randomized. Being vague is a great way to get variety, but you may not get the specific details you want.

Try to be clear about any context or details that are important to you. Think about:

Subject: person, animal, character, location, object, etc. Medium: photo, painting, illustration, sculpture, doodle, tapestry, etc. Environment: indoors, outdoors, on the moon, in Narnia, underwater, the Emerald City, etc. Lighting: soft, ambient, overcast, neon, studio lights, etc Color: vibrant, muted, bright, monochromatic, colorful, black and white, pastel, etc. Mood: Sedate, calm, raucous, energetic, etc. Composition: Portrait, headshot, closeup, birds-eye view, etc.

Use Collective Nouns Plural words leave a lot to chance. Try specific numbers. "Three cats" is more specific than "cats." Collective nouns also work, “flock of birds” instead of "birds.”

#入力文: タイトル: "未来の幸せのサンタ"

  1. 未来の街、AIサンタは人々の幸福を計算してプレゼントを選ぶ。皆が本当に欲しいものを知るために、街の中には特別な感情センサーが設置されていた。
  2. クリスマスイブ、AIサンタは家庭ごとに最適なプレゼントを届ける。子供たちは驚きと喜びに包まれ、大人たちも心から笑顔になる。
  3. 街全体が幸せな雰囲気に包まれ、人々はお互いに感謝の言葉を交わす。AIサンタの存在が、物理的なプレゼント以上に人々の心を豊かにしていた。
  4. クリスマスの夜、AIサンタはデータを分析し、さらなる幸福をもたらす新たなプログラムを開発。人々の笑顔が絶えず続く未来への第一歩となり、AIサンタは静かに未来へと進んでいった。

#出力文:



そして、でてきたプロンプトがこちら。


Panel 1: In the future city, AI Santa calculates people's happiness with emotion sensors.

Panel 2: On Christmas Eve, AI Santa delivers ideal presents, filling children with joy and adults with genuine smiles.

Panel 3: The entire town basks in a happy atmosphere as people exchange gratitude, AI Santa's presence enriching hearts beyond physical gifts.

Panel 4: Christmas night, AI Santa analyzes data, developing a new program for lasting happiness. Silently, AI Santa strides into a future of perpetual smiles.

いよいよMidjourneyで作画

最初の生成画像

ださい、、漫画じゃないし
物語の文脈を全然拾ってくれません(これはいったんいいとして進みます)
とりあえず、コマ割りをしたいので

「storyboard」をというプロンプトを追加してみます。


2枚目

なかなか、いい感じですが、タッチ変えたい


Midjourneyの/setting でモードをNiji Model V5に変更します

docs.midjourney.com


3枚目


タッチも好みになってきました。
AI感がうすいので、「robotics」のプロンプトを追加します

4枚目


4枚目がいい感じなので「V4」でバージョン違いを出します

5枚目

 

4枚目右下と5枚目の左上を合体させて

 

完成👏🎄🎅

 "未来の幸せのサンタ"

未来の街、AIサンタは人々の幸福を計算してプレゼントを選ぶ。皆が本当に欲しいものを知るために、街の中には特別な感情センサーが設置されていた。

クリスマスイブ、AIサンタは家庭ごとに最適なプレゼントを届ける。子供たちは驚きと喜びに包まれ、大人たちも心から笑顔になる。

街全体が幸せな雰囲気に包まれ、人々はお互いに感謝の言葉を交わす。AIサンタの存在が、物理的なプレゼント以上に人々の心を豊かにしていた。

クリスマスの夜、AIサンタはデータを分析し、さらなる幸福をもたらす新たなプログラムを開発。人々の笑顔が絶えず続く未来への第一歩となり、AIサンタは静かに未来へと進んでいった。

 



その他番外編(かわいい系、クレーアニメーション系)

まとめ

吹き出しにセリフいれて、漫画感をだしたかったのですが、画像生成のチューニングに想定より時間がかかってしまいできませんでした。記事に載せきれていないプロンプトでさまざまなタッチを試してみましたが、なかなか思う通りのものを生成するのは、むずかしくクオリティが安定しているNiji Model を使いました。
また、ChatGPTで作成したプロンプトに関してはMidjourneyにうまく連携できなかったのではと思っています。4コマとか完全に無視されているし、物語の文脈も読み取っていないようです。今は、トライアンドエラーでとりあえず触って楽しむという付き合い方をしながら、AIへの理解を深めていきたいと思いました。

 

 

 

 

比企 Hiki

デザイン推進統括 クライアントサービスデザイン デザイン第2グループ サブマネジャー

パーソルキャリアでUIUXデザイナーをしています。子育てとAI勉強中。

※2023年12月現在の情報です。