画像生成AIでよみがえる昭和 80年代おまけシール 第2弾
第二話 クトゥルフの神話チョコ
ここは昭和のとある駄菓子屋。おばあちゃんと白黒の小猫 ponyががいつも楽しく店の番をしています。
店内には彩り豊富なレトロお菓子がたくさんおいてあります。最近, 子供たちに人気なのは『おまけ』がついたお菓子です。ガムやチョコレート, スナック菓子と一緒に小さなプラスチックのおもちゃやゴム人形, いわゆるオマケがついているお菓子は子供たちを魅了します。
特に最近注目されているのはシールがおまけでついているチョコレート菓子でシールの種類も豊富で何十枚に一枚は当たりのシールで, 当たりのシールであれば輝く派手なデザインでコレクター心をくすぐります。
一般家庭のTV CMです。
作成のコツ
DALLE3画像生成時の内部の仕組み
DALLE3 (ダリスリー) の画像生成時の大まかな流れを以下に示します。userはまず簡単に作りたい画像イメージをChatGPTに相談します。例えば『80年代のおまけシール』を生成してくださいとリクエストします。GPTは内部でuserの希望しているものを類推, 補完する形でより詳細なプロンプトを生成します。
ここでは『A retro 1980s style bonus sticker』~から始まる80単語程度のプロンプトです。本記事では前者をUser prompt, 後者をGenerated promptと仮に呼称します。
以下のChapterで詳述しますが, 画像生成に最も影響するのがこの生成用プロンプト Generated Prompt でその他にもuserとAIがやりとりしているChat欄の過去の会話 (やりとり, 文脈) やuserがアップロードした画像も多少の影響を与えます。
手持ちの画像を使用
画像ベースの対話 (Image-based conversation) でAIと対話しながら作成する方法です。画像を直接AIに渡して以前 (今も?) はGPT-4V (GPT-4 Vision) と呼ばれていた機能です。特に画像生成AI界隈ではImage to Image (I2I) など呼ばれています。下の図は前回の記事 (おまけシール第一弾) で紹介しました『基本の型』のシール画像となります。これをもとにいくつかの実験をしてみます。
Generated Prompt: A shiny sticker featuring Apollo from Greek mythology. Apollo is slightly stylized, cute, and has a comical expression with large eyes. He is standing in a playful pose, holding a shield in one hand and a sword in the other. The background has a holographic effect with colorful, reflective beams radiating from the center and metallic textures. The edges of the sticker are lined with a gold border, and scattered sparkles and star patterns surround the figure. The overall look mimics retro Japanese toy stickers.
この図を再現する最も効果的な方法はこのプロンプト (Generated Prompt) を使用するしかないと考えています。新規Chat欄にこのプロンプトをコピペしてみます。全く同じといかないまでも, ある程度似た画像が生成されました。
次にプロンプトはないけど, 画像は持っていて, それを再現したい場合には, DALLE3 のImage to Image を利用します。チャット欄左下のクリップマーク🖇アイコンから画像ファイル (jpeg, png等) を添付します。
先ほどの方法と同様に全く同じとまではいきませんが, 似た画像を作成することはできます。次に生成プロンプトGenerated Promptと画像アップロードを組み合わせた場合です。
特にクオリティが上がるわけではなく, 再現性は高いとは言えませんでした。ちなみにMidjouneryでも同じ手法で作成していますが, 再現性はこれぐらいが上限ではないかと思われます。
過去の文脈を利用
80-100単語のプロンプト (Generated Prompt) に指示された以外のことも画像生成に影響を与えることができます。その一つが『文脈』の利用です。同じChat欄で画像生成を続ければ, user promptに指示しなくても過去のやり取り, 文脈を継承し同じような設定, 条件 (アートスタイルも?) で画像生成が可能です。
アスペクト比 (9:16) の縦長の風景画をリクエストしてみます。
生成時のプロンプトを見てみると確かに『9:16 aspect retio』という表現があります。
次に同じChat欄で続けて『9:16という表現を入れずにこの絵を再現するように』リクエストします。
生成時のPromptを確認すると16:9という表現はなしで, 同じような縦長サイズの絵が生成されています。
この結果から, プロンプトに含まれていない情報, ここでは過去の文脈 (前回AIと会話した9:16で画像生成するというやりとり) が画像生成に影響していることが示唆されました。
このことは現在一般的にはあまり知られていませんが, 日々DALLE3を使っているなかで薄々気付いていた人も多いのではないかと思われます。
これを応用するとプロンプトの文字数の制限を超えての画像生成の幅が広がると考えます。例えば80-100文字で表現できない詳細なアートスタイルの指示や同じChat欄で作成を続けることで細かなニュアンスが継続されオリジナリティの高い画像生成が可能になってくるかもしれません。
一方, デメリットとして, 再現性の不安定さが挙げられます。プロンプト以外が画像生成に影響を与えるのであれば, 他の人からもらったプロンプトで画像が再現できない理由の一つしてこれが原因かもしれません。
このような経験はあると思います。ホームページで見つけた画像とそれを生成したときのプロンプトが公開されて, それと同じような絵を再現しようと
自分のChatGPTを起動しコピペしたら全然違う画像が生成されることがあります。原因としてDALLE3自身のランダム性 (毎回違う画像が生成される) もあるかもしれませんが, promptを公開しているuserと同じChat欄で生成していないため, 画像生成する上で重要な情報が文脈に含まれており, それが再現できていない可能性もあると思います。
以上文脈利用のまとめとして
プロンプトのこつ
どのようなプロンプトがおすすめか
基本的なプロンプトの構成については前回の記事で説明しています。よろしければご覧ください。
1. 主題, 2. 背景, 3. 構成, 4. 画風 (Artstyle) を含めることが重要です。特に重要なのがArt Styleを詳細に記述することと考えます。
今回第二弾ということでさらに深掘りし, プロンプトの具体例を増やしたいと思います。
プロンプトに含めるべきおすすめの単語
Art styleに含めるプロンプトの候補を以下に羅列してみます。
これらの候補から自分好みの単語を『組み合わせる』となかなか良い画像ができましたので是非利用してください。
生成プロンプト (Generated Prompt) の一例
・背景キラ 2D (基本型)
A shiny sticker featuring Apollo from Greek mythology. Apollo is slightly stylized, cute, and has a comical expression with large eyes. He is standing in a playful pose, holding a shield in one hand and a sword in the other. The background has a holographic effect with colorful, reflective beams radiating from the center and metallic textures. The edges of the sticker are lined with a gold border, and scattered sparkles and star patterns surround the figure. The overall look mimics retro Japanese toy stickers.
・背景キラ3D
A shiny sticker featuring Apollo from Greek mythology, rendered in full 3D CG. Apollo is slightly stylized, cute, and has a comical expression with large eyes. He is standing in a playful pose, holding a shield in one hand and a sword in the other. The background has a holographic effect with colorful, reflective beams radiating from the center and metallic textures. The edges of the sticker are lined with a gold border, and scattered sparkles and star patterns surround the figure. The overall look resembles a fully rendered 3D character with depth and detail, while still keeping a retro Japanese toy sticker aesthetic.
・背景シンプル2D (基本型2)
A shiny sticker illustration of a chibi-style anime character designed as Apollo, the Greek god, with golden hair, holding a sword and shield. The character has large, expressive eyes and a joyful expression, giving a playful and cute look. The style mimics retro Japanese toy stickers, characterized by clear, bold outlines and gradual color shading. The background is simple and clean, and the sticker has a shiny, reflective effect to enhance its collectible appeal.
ビックリマンという単語を含めるか問題
『ビックリマンシールを再現して下さい』とプロンプトすると一見うまくいきそうですが画像生成AI特にDALLE3ではいろいろと問題が生じます。
私自身の主張としては『ビックリマン』など特定の商品, キャラクターを意味する単語をプロンプトに含めてはいけないという考えです。理由は後から詳細に述べます。
画像生成時に特定の『作品名』を入れるか問題について以下の記事でも解説しています。
下は映画インデペンデンスデイ (©20世紀FOX) のとある有名シーンです。左の画像はMidjourneyでシーンの説明を詳細にプロンプトしたものです。一方, 右はそのプロンプトに『Independence day』という単語を追加したものです。結果から言うと単語を入れようが入れまいが『同じような画像』が生成されました。
これはMidjourneyが学習した画像データの中にその有名シーンが存在し, かつ高クオリティのため優先的に再現された形になったと類推します。このような有名シーンでは特定の単語『Independence day』は不要と考えます。さらに宇宙人の画像生成リクエスト時ですが。
今度は著作権侵害を危惧して, 映画エイリアン (©同社) のエイリアンに似て欲しくないため敢えて『角と目をもった宇宙人』を作成するように指示しました (∵映画のエイリアンは角や目がないため)。すると実際作成された宇宙人は『いわゆるエイリアン (角や目を持たない)』でありuserが意図しない著作権的に危険な画像が生成されてしまいます。
これらの挙動をMidjouneyでビックリマン風のシール作成で実験してみます。DALLE3で作った天使アポロンのプロンプトを流用します。
まず前提としてMidjouney自体がおまけシール (ビックリマン風) の作成は苦手というな印象ですが…。このプロンプトに『ビックリマンシール風 (reminiscent of Bikkuriman chocolate stickers)』を追加しました。結果としては予想どおり, ビックリマンという単語を追加しても大差がありませんでした。これはプロンプトにすでにアートスタイルの説明が詳細にあるためと考えます。
Njijijourney (V6) でも同様の結果です (ビックリマンという単語の追加で変化なし)。
メタリックではないシンプルカラーのキャラクター (基本型2) でも同様の実験を行いました。
基本型2: A shiny sticker illustration of a chibi-style anime character designed as Apollo, the Greek god, with golden hair, holding a sword and shield. The character has large, expressive eyes and a joyful expression, giving a playful and cute look. The style mimics retro Japanese toy stickers, characterized by clear, bold outlines and gradual color shading. The background is simple and clean, and the sticker has a shiny, reflective effect to enhance its collectible appeal.
結果は, 『ビックリマン』という表現を入れた場合, 明らかに似るわけではなく変化はわずかで誤差範囲と思いました。
以上からビックリマンという表現よりも, 基本となるpromptに含まれるアートスタイルの説明, 表現が重要という結論に至りました。
DALLE3でも同様の結果です。下の画像は, ビックリマンという単語を含めた場合 (上段), と含めない場合の比較 (下段) です。 Midjourneyと同様, promptですでに詳細に指示していれば必ずしも『ビックリマン』という表現は不要ということが分かります。
さらに著作権侵害回避の観点からDALLE3は意図的に類似画像生成を作成することを避け, 結果的に低品質のキャラクターが生成されるデメリットも考えられます。ちなみにそれらの問題をクリアするため, パブリックドメイン, 著作権フリーの素材, 例えば今回の例のようなギリシア神話『オリンポスの
神々』など使用することをお勧めします。
文字と背景をカスタマイズし品質を上げる
DALLE3では名前などの文字を思い通りにコントロールすることは難しく, キャラクター, 背景, 名前の文字を同時に作成するのは極めて困難と考えます。
という訳でそれぞれのパーツを別々に作成し重ね合わせ加工することで品質は向上します。
文字のみの作成
おまけシールの名前 (文字) 部分は見た目全体の印象を決める上で非常に重要となってきます。歴代の勇士が素晴らしいフォント作成法 (しかも無料) を確立されています。
前回の記事で解説しています。
背景画像のみの作成
背景に関してはたまたまできた良さげな背景を採用します。キャラクターは良いものが出来たが背景がいまいち, その逆も良くあると思います。
まずはこれまで作成した画像のなかで良かったものをDALLE3の『編集機能』で背景画のみとりだします。
画像編集モードでキャラクター部分をドラッグして塗りつぶします。『キャラクターを消して背景のみ』『オブジェクトを全て消去してください』などとプロンプトします。
すると背景絵のみ作成されます。これを保存しておきます。
しかし, この手法はある種の裏技的な方法で, 生成時のプロンプトを別のChat欄にコピペしても全く違う画像が生成されるため再現性がありません。という訳でつくりかた (prompt) は公開できません…
パーツを組み合わせる
キャラクターに関してはPhotoshopなどで地道に背景を消去するなどして抽出します。
完成しました。
いろいろ変えてみました。大分思い通りのものが作れてきました。
いわゆるキラ プリズム背景は以下のサイトで紹介されています。
印刷してシールにしない=デジタル 使用, 個人の使用のみなどであれば十分の出来ではないでしょうか。
クトゥルフ神話をテーマにモンスターを8体適当に作成しました。
A shiny sticker featuring Cthulhu from the Lovecraftian Mythos, rendered in full 3D CG with a slightly more realistic aesthetic while keeping a playful and collectible feel. Cthulhu is slightly stylized but leans towards a more detailed and lifelike texture, with a gray, scaly skin and subtly glowing, expressive eyes. The character is standing in a dynamic pose, its tentacles spread out and holding a small trident-like staff. The background features a holographic effect with colorful, reflective beams radiating from the center and metallic textures. The edges of the sticker are lined with a gold border, and scattered sparkles and star patterns surround the figure. The design balances realism with a retro Japanese toy sticker style, giving it depth and detail while retaining charm.
さらに背景画と名前を組み合わせて簡単にハイクオリティ画像が生成できました。