chatGPTマスターを目指して vol.3 お絵かきスキルを向上させるには?

chatGPTに絵を書いてもらうためのコツを探るべく、いろいろな方法を試してみました。奥の深い世界なようです。

  

chatGPTにできることは多々ありますが、そのうちのひとつ、かつ多くの人に活用されている機能として「お絵かき」機能があります。

機械学習の分野としては画像生成に当たります。

言語処理と並び、その出力がとても分かりやすいためか、多くの人の注目を集め、そして活用されています。

 

もちろん、どんなサービスを作るためであっても、魅力的なアイキャッチ画像は欠かせません。

そこで今回はchatGPTを使ったお絵かきスキルを向上させるべく、様々な条件下で試してみました。

 

始めに画像生成した際の説明文と、その生成画像がこちらです。

・剣と魔法の世界に紛れ込んだ女の子

・草原に一人立っている

・遠くには火山が見える

・天気は晴れ

・冒険者のような服装をしている

個人的には、まずまずの仕上がりでした。

しかし最初に思い描いていた絵とはいくつか食い違う部分があります。

例えば

・剣はもっと簡素なものが良い

・火山の存在感はそれほどなくていい

・遠くの方に街が見えていてほしい

・少し遠いところに、モンスターがいるとなおよい

 

これらの要求を踏まえ、先ほどの指示に追加する形で以下の依頼を出してみました。

・時間帯はお昼

・空には雲がいくつかある

・火山はメインではなく、橋の方にある

・数キロ先に街が見える

・数百メートル先にオオカミのようなモンスターがいる

・女の子の剣はもっと初心者用の簡単なもの

…むしろ希望よりかけ離れてしまいました。

絵のタッチも、最初の方が好きでした。

一方で、遠くに街が見えたり、右の方にオオカミがいたりと、新しい指示を反映してくれたことはわかります。

 

その後もいろいろと指示を出しながら、希望の絵に近づけるように指示を出し続けたのですが、どうもうまくいきません。

例えば

・絵のタッチは最初の方が好きです

・服装も最初の絵のようにしてください

・火山は消してください

と伝えても、生成された画像は以下の通りです。

火山の位置はおおよそ希望通りですが、なぜ「消してください」と頼んだのにも関わらず残っているかは不明です。

加えて、女の子が振り向いてくれたはいいのですが、目のあたりに少し違和感があります。

さらに、これは機械学習による画像生成の弱みのひとつなのですが、顔の描写や手先の描写に不自然さが残ることがあります。

 

なればこそ。

chatGPTで絵を書く方法は一つではありません。

自分で下書きを書き。そしてそれを元に記述してもらえばいいのです。

こちらの下書きをもとに、記述してもらった画像がこちらです。

下書き(クオリティはご容赦ください。)

生成された画像

…。

当たらずとも遠からずといったところでしょうか。

相変わらず火山がど真ん中で存在感を放っていることに加え、謎の電信柱が左右下の方に登場してしまいました。

書いていない部分についてのイメージを共有することは難しいようです。

 

実は、言語から画像生成をする分野において以下のことが言われています。

「人間からの指示は暗黙のルールの下で記載されている場合が多く、暗黙のルールを共有できない機械相手では必ずしもいい結果が得られるとは限らない」

つまり、むしろchatGPTに絵の説明文を書いてもらい、それに従って生成したならば、よりイメージ通りの画像が生成できるのではないでしょうか。

 

早速試してみました。

最初の画像を元に、説明文を書いてくださいと頼んだところ、出力された文章がこちらです。

(日本語で頼んだにもかかわらず、英語で出力されました。)

“A young girl, seemingly misplaced in a world woven with the enchantment of swords and sorcery, stands solitary amidst a sprawling grassland. The lush blades sway gently around her, whispering secrets of the land unknown. Her gaze is cast towards the horizon, where the silhouette of a majestic volcano etches itself against the sky, serving as a beacon of her unforeseen adventure. The sun, high and radiant, showers the scene with a cascade of golden light, declaring the clarity of the day. It’s a world that promises both wonder and peril. Draped in the garb of an adventurer—her outfit practical yet unfamiliar to her former life—she holds the aura of someone both vulnerable and undeniably brave. Her hand rests upon the hilt of a sword, simple and unadorned, suggesting it’s her first foray into a role she’s yet to fully understand. Every element, from the distant volcano to the sunlit grass, frames her as the protagonist of a story yet untold, a narrative waiting to unfold under the wide, expectant sky.”

始めに私が書いたたった五行の依頼文に比べ、格段に情報量が増えたことがわかります。

例えばただ単に「草原」とだけ書いていたにもかかわらず、女の子の周りの草の様子までもが記述されています。

 

そしてこの文章を元に画像を生成してもらえば、きっと最初の絵にそっくりなものが出るに違いない!

そう考え、こちらの説明文を利用して生成した画像がこちらです。

かなり、ずれてしまいました。

草が彼女を取り囲んで、という文章が強調されてしまったようにも思います。

 

ここまで実際に動かして思い出したのですが、実は最近の機械学習において、画像生成モデルに入力する文章(スクリプト)についても機械学習が出力する、という研究が多数なされています。

つまり、人間にわかりやすい文章と、画像生成を行うモデルにとってわかりやすい文章は違う、ということなのだと思われます。

 

思った通りの絵を出力するには、まだまだ研鑽が必要なようです。。。

 

 

 

P.S.

↓メルマガの新規登録はこちらから↓

https://48auto.biz/keieijinji/touroku/sp/scenario13.htm

(スマートフォンよりご登録いただけます)

 

 

Who is writing

大学にてデータサイエンスを学ぶ傍ら、多くの人にデータ分析の面白さを伝えたいと日々奮闘中。