前記事の後半で、おもに自然の風景をDALL-E3で作ってもらいました。アイデアの出発点として出してもらったので、ここからブラッシュアップしていく予定です。
で、プロンプトの実験(?)で、ChatGPTの作った長いプロンプトを短くしてLeonardo.Aiで画像生成してみたりするんですが、やっぱりモデルによって出てくる風景が違っていて。面白いなーとおもっちゃうんですよね、、笑
あと、新しくわかったことがあるので先にお知らせします。(詳細は記事内で)

プロンプトの文法を正確にするといい絵ができるかも!

Leonardo.Aiのプロンプトジェネレーションは長文日本語(249文字まで)いけるよ!
で、これも長い記事になりそうですけど、※モデル11個をいくつかのプロンプトで試してみました。フォトリアル以外はアルケミー、プロンプトマジックなしです。
※プルダウンメニューに入ってるやつ+フォトリアル
PhotoReal
Leonardo Diffusion XL
Leonardo Vision XL
AlbedoBase XL
DreamShaper v7
Absolute Reality v1.6
Anime Pastel Dream
3D Animation Style
SDXL 0.9
Stable Diffusion 1.5
Stable Diffusion 2.1
静かな夜の湖畔
プロンプト1:
A tranquil lakeside at night. The moon is floating in the sky, the moonlight reflecting off the lake’s surface. The surrounding trees and are subtly illuminated by the moonlight.
日本語訳1:
静かな夜の湖畔。 空には月が浮かび、月明かりが湖面に反射しています。 周囲の木々が月明かりに淡く照らされます。
※これはChatGPTが以前に作ってくれた長い英文プロンプトを私が適当に削ったものなので、文法的に不要な「and」が残っていました。文全体の意味としては同じですが、このわずかな文法の不正確さはAIがプロンプトの意図を理解する妨げになるのだそうです。実際に「and」が残っているものと残っていないもので画像を生成してみると、明らかに残っていないもののほうが美しい絵になりました。
英文はChatGPTが直してくれました。適当に削ったり足したりしたプロンプトで、画像がなんか変な感じ?と思ったら文法をチェックしてみると解決するかもしれません。
プロンプト2(正しい文法):
A tranquil lakeside at night. The moon is floating in the sky, the moonlight reflecting off the lake’s surface. The surrounding trees are subtly illuminated by the moonlight.
日本語訳2:
静かな夜の湖畔。 空には月が浮かび、月明かりが湖面に反射しています。 周囲の木々が月明かりに優しく照らされています。
先が正しい文法のプロンプトで生成したもの、後が不正確な文法のプロンプトで生成したものです。「なんとなく」のレベルかもしれませんが、後者は出力されるたびに何か変な感じを受けました。
正しい文法の「静かな夜の湖畔」











正しくない文法の「静かな夜の湖畔」











気づいたきっかけ
はじめに不正確な文法のプロンプトで画像を生成していて、なんかヘンだなーと思ったんですよね。で、これDALL-E3だったらどうなるんだろうと思って、「このプロンプトを変更しないで画像を生成してください」として入れてみました。
そしたら……

これは!なんと美しい画像なのでしょうか。もうDALL-E3でいいじゃん。
本当にプロンプト変更されていないのかと見てみたら、わずかに違いがありました。で「あれ、これもしかして、直してくれたのかな?」って思ったんです。私は英語できないので適当に削ってどこかおかしくなっても気づきませんからね。^^;
ChatGPTに2つの文の違いを聞いてみたら、回答はこうでした。

お尋ねの二つの文の違いは、文法的な側面にありますが、意味に大きな差はありません。具体的には:
- “The surrounding trees and are subtly illuminated by the moonlight.”
- この文では「and」の後に続く単語やフレーズが欠けています。これにより、文は不完全で文法的に不正確になります。
- 意味としては、周囲の木々が月光によって微妙に照らされていることを表していますが、文の構造上の誤りのため、少し混乱を招く可能性があります。
- “The surrounding trees are subtly illuminated by the moonlight.”
- この文は文法的に正しく、意味も明確です。
- 「周囲の木々が月光によって微妙に照らされている」という意味がはっきりと伝わります。

要するに、最初の文は文法的な誤りにより少し不明瞭ですが、両者の意味するところはほぼ同じです。最初の文における「and」の誤用が、その文を不完全にしている点が主な違いです。

なるほど。この2つの文で画像を生成してみたら、1はなんとなく変な印象になり、2は美しい画像になりました。 AIに対してだと、このわずかな文法が絵の仕上がりに影響するのですね。

はい、おっしゃる通りです。AIが画像を生成する際、使用されるテキストの正確性や明確さが、生成される画像の品質や内容に影響を及ぼすことがあります。テキストが不明瞭または文法的に不正確な場合、AIは意図されたシーンを適切に理解し、再現するのが難しくなることがあります。

特に、DALL-Eのようなテキストから画像を生成するAIモデルでは、プロンプトの具体性や文法的な正確性が重要です。明確で詳細な説明がある場合、AIはより正確にその指示に従って画像を生成できる傾向にあります。逆に、曖昧な表現や文法の誤りが含まれている場合、AIは予測不可能な結果をもたらすことがあります。

このため、AIを用いて特定の画像を生成する際は、プロンプトをできるだけ明確にし、文法的に正確にすることが望ましいです。

さっき私が入力したプロンプトはandが入っていたものでしたが、画像を生成してくださるときに正確な文になおしてくださったのですね。どうもありがとう!
静かな森の小道
プロンプトジェネレーションを使ってみた
今度はLeonardo.Aiのプロンプトジェネレーションを使ってプロンプトをふたつ作ってみました。ある程度長い文章を日本語で入れても大丈夫みたいです。
入力した日本語文:
静かな森の小道、日光と深い影の美しいコントラスト、日光が葉を通してこぼれ、小道に斑点の影を作り出す。(50文字)
Leonardo.Aiが作ったプロンプト1:
A serene forest trail, with the interplay of sunlight and deep shadows creating a stunning contrast. The dappled sunlight filters through the leaves, casting intricate patterns on the path. Rendered in a bold, graphic style with vibrant colors.
日本語訳1:
穏やかな森の小道があり、日光と深い影が交錯して見事なコントラストを生み出しています。斑点状の日光が葉を通してこぼれ、道に複雑な模様を映し出しています。鮮やかな色彩で描かれた大胆なグラフィックスタイルで表現されています。

この英文はどうですか?

この英文はとてもうまく書かれています。情景が鮮明に伝わり、文法的にも正確です。スタイルに関する説明も効果的に使われており、具体的なビジュアルイメージを想起させます。特に修正する必要はありません。

入力した日本語の意味を保ちつつスタイルが追加されている感じで、英文もカンペキ。プロンプトジェネレーションを使うのは良い選択かもですね。
プロンプトジェネレーションで作ったもうひとつ。
Leonardo.Aiが作ったプロンプト2:
A peaceful forest path, where the sunlight and deep shadows create a beautiful contrast. The sunlight filters through the leaves, creating speckled shadows on the path. Rendered in a soft, impressionistic style.
日本語訳2:
日本語訳:陽光と深い影のコントラストが美しい、静かな林道。 木漏れ日が木道に斑点状の影を作ります。 柔らかく印象的なスタイルで表現されています。
描くものは同じで、違うスタイルの提案がされています。こんな感じで作ってくれるんですね。ためしに画像生成してみました。柔らかく印象的です、たしかに。

この後の「鮮やかな色彩で描かれた大胆なグラフィックスタイルで表現」と比べると柔らかさがよくわかります。
静かな森の小道、生成画像
「鮮やかな色彩で描かれた」のところが各モデルの個性にあらわれているように思います。トークン節約のためサンプル数を2枚に減らしました。(フォトリアルだけは2枚で16、4枚で20とあまり違いがなかったので4枚生成してみました。2枚でも個性の確認には十分でした)











139文字(長文)の日本語を入れるとどうなるか
ちなみに、
入力した日本語文:
水彩画風に描かれた静かな森の小道。日光と深い影の美しいコントラストが特徴で、主要な色は青の様々な色合いです。小道は背の高い木々と茂った葉に囲まれ、穏やかで落ち着いた雰囲気を作り出しています。日光が葉を通してこぼれ、小道に斑点の影を作り出し、森の平和で神秘的な感じを高めています。(139文字)
これくらい長いのを入れてみてもエラーにはなりませんでした(249文字までOKみたいです)が、出てきたのは同じような内容の英文でした。
Leonardo.Aiが作ったプロンプト1:
A peaceful forest path depicted in a watercolor style. The sunlight and deep shadows create a beautiful contrast, with various shades of blue as the main colors. The path is surrounded by tall trees and lush foliage, exuding a serene and tranquil atmosphere. The sunlight filters through the leaves, creating speckled shadows on the path and enhancing the peaceful and mystical feel of the forest.
Leonardo.Aiが作ったプロンプト2:
Imagine a quiet forest path painted in a watercolor style. The interplay of sunlight and shadows creates a stunning contrast, with shades of blue dominating the scene. The path is enveloped by towering trees and dense foliage, evoking a sense of calm and tranquility. As the sunlight filters through the leaves, it casts dappled shadows on the path, adding to the peaceful and mysterious ambiance of the forest.
Google翻訳だと
日本語訳1:
水彩風に描かれたのどかな森の小道。 様々な色合いのブルーをメインカラーに、太陽の光と深い影が美しいコントラストを生み出します。 参道は高い木々や緑豊かな紅葉に囲まれており、静かで静かな雰囲気が漂っています。 木漏れ日が道に斑点の影を作り、森の穏やかで神秘的な雰囲気を高めます。
日本語訳2:
水彩風に描かれた静かな森の小道を想像してみてください。 太陽光と影の相互作用により、青の色合いがシーンを支配し、驚くほどのコントラストが生まれます。 道はそびえ立つ木々や鬱蒼とした葉に包まれ、静けさと静けさを感じさせます。 木漏れ日が道にまだらな影を落とし、森の穏やかで神秘的な雰囲気を醸し出します。
だいたい同じことを言ってます。画像も生成してみましたが、だいたい同じような感じです。こちらで詳しく書きすぎると、生成されるプロンプトの内容に変化がみられなくなりますね。
ただ、Leonardo.Aiが画像を生成しやすい文章に直してくれるようなので、Leonardo.Aiで画像を作る場合はChatGPTより直接こちらを使ったほうが有効かもしれません。
ChatGPTの評価。

両方の英文は、文法的にも正確で、意味も明確に伝わっています。これらの記述は、穏やかな森の小道を描写しており、その美しさや雰囲気を効果的に伝えています。使われている表現は、読者に具体的なイメージを思い浮かべさせるのに十分です。
最初の文では、「水彩画風の平和な森の小道」が描かれ、青色の様々な色合いが強調されています。木々や茂みに囲まれた小道が、静けさと穏やかさを醸し出しています。
二つ目の文も同様に、「水彩画風の静かな森の小道」を想像させ、日光と影の対比が強調されています。こちらでは、青色の影が印象的で、小道が大きな木々と濃い緑に囲まれた神秘的な雰囲気を作り出しています。
どちらの文も非常によく書かれており、読者に心地よい自然の景色を想像させることができます。
2つの文の違いを説明してくれました。(生成画像にはそれほど違いが見られませんでした。文の意味の違いは大きくないようですね)


このプロンプト、もとはChatGPTに描いてもらった絵のプロンプトです。

A tranquil forest path depicted in a watercolor style. The scene features a beautiful contrast of sunlight and deep shadows, with the predominant color being various shades of blue. The path is surrounded by tall trees and lush foliage, creating a serene and calming atmosphere. The sunlight filters through the leaves, casting dappled shadows on the path, enhancing the peaceful and mystical feel of the forest.

入力した日本語文(139文字)が日本語訳ね。
同じモデルで生成してみましたが、大きな違いはみられませんでした。若干、色が薄いかな?

静かな夜の湖畔、ふたたび

こうなると、いちばんはじめのプロンプトも、Leonardo.Aiのジェネレーションにかけてみたくなるね。
冒頭に登場した正しい文法の「静かな夜の湖畔」プロンプト:
A tranquil lakeside at night. The moon is floating in the sky, the moonlight reflecting off the lake’s surface. The surrounding trees are subtly illuminated by the moonlight.(174文字)
日本語訳:
静かな夜の湖畔。 空には月が浮かび、月明かりが湖面に反射しています。 周囲の木々が月明かりに優しく照らされています。
174文字の英文をプロンプトジェネレーションに入力、あらたなプロンプトをふたつ作ってもらいました。
新しいプロンプト
あらたなプロンプト1:
A serene lakeside at night, with the moon hanging low in the sky, casting a soft glow over the still waters. The trees surrounding the lake are bathed in a gentle silver light, creating a peaceful and ethereal atmosphere.
あらたなプロンプト2:
As the moon rises high in the sky, the tranquil lakeside comes to life with a magical aura. The moonlight dances on the rippling surface of the water, while the trees stand tall and proud, their branches reaching towards the sky. A truly enchanting sight to behold.
日本語訳1:
夜の静かな湖畔。空には月が低く垂れ下がり、静かな水面に柔らかな光を投げかけています。 湖を囲む木々が優しい銀色の光に照らされ、静かで幻想的な雰囲気を醸し出しています。
日本語訳2:
月が空高く昇ると、静かな湖畔が幻想的な雰囲気に包まれます。 波打つ水面に月の光が舞い、木々は高くそびえ立ち、枝を天に向かって伸ばしています。 本当に魅惑的な光景です。

なんか表現がとてもきれい……。
新しいプロンプト1を画像にしてみた
「夜の静かな湖畔。空には月が低く垂れ下がり、静かな水面に柔らかな光を投げかけています。 湖を囲む木々が優しい銀色の光に照らされ、静かで幻想的な雰囲気を醸し出しています。」です。





新しいプロンプト2も画像にしてみた
「月が空高く昇ると、静かな湖畔が幻想的な雰囲気に包まれます。 波打つ水面に月の光が舞い、木々は高くそびえ立ち、枝を天に向かって伸ばしています。 本当に魅惑的な光景です。」です。





あら、なんかヘン。ちょっと抽象的な文章だという感じはしたんだけど、英文プロンプトをChatGPTでチェックしてみよう。
新しいプロンプト2を手直ししてみる

文法が正しいとしても、文から浮かぶイメージがあいまいになりそうな箇所がもしあれば教えて下さい。

この英文は文法的には正しく、また美しいイメージを描写していますが、いくつかの表現をさらに具体化することで、より鮮明なイメージを読者に提供できるかもしれません。
- 月の位置と影響 – 「As the moon rises high in the sky」は月が高く昇っている様子を示していますが、その月光がどのように景色に影響を与えているのかを具体的に説明すると、さらにイメージが豊かになります。例えば、月光が湖面を照らし、周囲を静かに照らす様子などです。
- 木々の描写 – 「trees stand tall and proud, their branches reaching towards the sky」は木々の堂々とした様子を描いていますが、これらの木々が月光によってどのように見えるのか、その葉や枝のシルエットなど、もう少し詳細に描写すると、場面がさらに鮮明になるでしょう。

全体としては、この文は静寂で魔法のような湖畔の夜景をうまく表現していますが、これらの点を追加することで、より具体的で感動的なイメージを作り出すことができます。

具体化した表現を追加してみてくれますか?日本語訳も添えてくださるとうれしいです。

もちろんです。以下に、より具体的な表現を加えた英文とその日本語訳を示します。
改訂された英文:
“As the moon climbs high, casting its silvery glow, the tranquil lakeside awakens to a magical aura. The moonlight shimmers across the water’s rippling surface, creating a tapestry of light and shadow. Tall trees stand as silent guardians, their branches etched against the moonlit sky like intricate lacework. Each leaf is delicately outlined, adding to the serene and enchanting spectacle. A truly mesmerizing sight to behold.”
日本語訳:
「月が高く昇り、その銀色の輝きを放つと、静かな湖畔は魔法のようなオーラで目覚めます。月光は水面の波紋を通してきらめき、光と影のタペストリーを作り出しています。高い木々が静かな守護者として立ち、その枝々は月光に照らされた空に対して複雑なレースのように映し出されています。一枚一枚の葉が繊細に輪郭を描き出し、その静けさと魅惑的な光景を一層引き立てています。本当に魅力的な光景です。」

この改訂により、文中のイメージがより鮮明で詳細になり、読者に強い印象を与えることができます。

んんん~。とても文学的な美しい表現だけど、タペストリーとかレースとかをAIが勘違いしないだろうか。とりあえず画像にしてみよう。


やっぱり妙なの出てきた!

人が読む文章として非常に美しいと思います。が、画像生成AIに対するプロンプトだった場合、AIが混乱しそうな要素があるように思えます。プロンプトとして書き直すとどうなるのでしょうか。

画像生成AIに対するプロンプトとして書く場合、より具体的で直接的なビジュアル要素を強調する必要があります。抽象的な表現や比喩はAIには解釈が難しいため、具体的な物体、色、形状、配置などを明確にすることが重要です。以下にそのような書き直しを示します。
改訂されたプロンプト:
“A serene lakeside scene at night under a high, bright moon. The moon’s silver light is reflected on the rippling surface of the lake, creating patterns of light and dark. Tall trees with clearly defined branches and leaves are silhouetted against the moonlit sky. The leaves are detailed, and the branches form intricate patterns against the sky. The overall atmosphere is peaceful and enchanting, with a focus on the interplay of moonlight and shadows on the water and trees.”

このプロンプトでは、AIに必要な具体的な情報(夜の湖畔、高い明るい月、銀色の月光、水面の波紋、詳細な木々、月光に照らされた葉、影のパターンなど)を提供しています。これにより、AIは要求されたシーンをより正確に生成することができます。

なるほどなるほど、ちょうぐたいてきだわ。
Google日本語訳:
高く明るい月の下、静かな湖畔の夜景。 月の銀色の光が湖面のさざ波に反射し、明暗の模様を生み出します。 月明かりに照らされた空に、枝葉がはっきりとした背の高い木々のシルエットが浮かび上がります。 葉は細かく、枝は空に複雑な模様を描きます。 全体的な雰囲気は穏やかで魅惑的で、月の光と水と木々の影の相互作用に焦点を当てています。






うん、だいたい同じもの描いてるね。
Leonardo Vision XLがいきなり違うテイスト出してびっくりしたけど、あれもなかなか良いね。

それにしてもLeonardo.Aiは月をふたつ描いちゃうから困るなー
この点について、

画像生成AI、特にDALL-Eのようなモデルで正確なイメージを生成するためには、プロンプトを非常に明確かつ具体的にすることが重要です。月が一つだけであるようなシーンを描く際には、以下のようなポイントをプロンプトに含めると良いでしょう:
- 明確な指定:「空には一つの月のみ」といったように、特定の要素が一つだけ存在することを明確に指摘します。
- 排他的な表現:「唯一の光源は月」といった表現を用いて、他の光源が存在しないことを強調します。
- 矛盾の排除:「他の天体や人工の光源はない」といったように、望まない要素が含まれないことを明示的に述べることも有効です。
- 具体的なシーンの描写:景色の詳細を具体的に描写し、AIが想像する余地を最小限に抑えます。例えば、「静かな湖畔、背後には暗い山脈」といった具体的なシーンの描写です。

これらのポイントを踏まえて、プロンプトを作成することで、望むシーンに近い結果を得る可能性が高まります。また、もし生成された画像に不満がある場合は、プロンプトにさらに詳細を加えて再試行すると良いでしょう。
だそうです。
文法チェックもプロンプトジェネレーションも有効だけど、その前に自分がちゃんとイメージ固める必要があるよね。そのあとでプロンプトだよね……
って思いました。文法チェック、ジェネレーション、具体的&直接的。自分の描きたいイメージはっきりさせる。
ちなみにDALL-E3がさっきのプロンプトで作った画像は・・・

ぎゃーお!!迫力ありすぎる。ChatGPTのプロンプトが言いたいことはこれだったんか…?じゃープロンプト作り直さにゃ、、
まとめ
何度もモデル比較をしてるのは、自分はどのモデルを主に使おうかというのを決めたいからなんですが、、
XLつきのと他のものは明らかに画風が分かれるし、フォトリアルはそもそも他のものとまったく違う。好みでいえばXLつきだけど。Leonardo Vision XLはいろんなテイスト出してくる傾向あるかも。
さらに好みでいえば、3Dは外していいかな、、あとStable Diffusion 1.5とStable Diffusion 2.1も外して、、。DreamShaper v7とAbsolute Reality v1.6の特徴がつかみにくいけど、比べるとDreamShaperのほうが色がクリアかなー。
Anime Pastel Dreamの個性は嫌いではない、使いどころはありそう、可能性ありそう。な感じです。
猫や人物のときはプロンプトが短すぎたのか、そもそも描く対象がまるで違うからなのか、あまり使えないと思っていたSDXL 0.9がわりといい絵を生成してくれて意外でした。
*
それからプロンプトについて。
プロンプトの文法の正確性が絵に影響するというのは初めて知りましたし、プロンプトジェネレーションの本来の使い方(?)が見えたような気もしています。
画像生成しながらでもいいけど、最終的に描きたいイメージを自分でわかっている必要があるね。ふらふら作っててもトークン消費するだけだしブラッシュアップもできないしね……。

あと、水彩は好きだけど、水彩画と限定するともったいないかも。
以上、長くなる前に閉店でーす。またのお越しを。
コメント