HOME/ AINOW編集部 /どのようにしてDALL-E 2を使ってOctoSQLのロゴを生成したか
2022.09.09

どのようにしてDALL-E 2を使ってOctoSQLのロゴを生成したか

最終更新日:

著者のJacob Martin氏はポーランド在住のソフトウェアエンジニアで、SQL実行アプリのQctoSQLを開発しています(同氏の詳細は同氏公式サイトを参照)。同氏が自身のサイトで公開したブログ記事『どのようにしてDALL-E 2を使ってOctoSQLのロゴを生成したか』では、QctoSQLのロゴをDALL-E 2で制作した顛末が報告されています。
QctoSQLのロゴを一新したいと以前から思っていたMartin氏は、DALL-E 2のアクセス権が取得できたので同モデルを使ってロゴを制作することにしました。その制作プロセスを簡潔にまとめると、以下のようになります。

DALL-E 2を使ったQctoSQLのロゴの制作プロセス
  • 手順1:ロゴの大まかなイメージをプロンプト入力文で表現して(例えば「データベースに関する図表をジャグリングするタコの赤ちゃん」)、DALL-E 2に渡す。
  • 手順2:出力画像を見て、画像に追加したい要素がある場合、その要素に関するフレーズをプロンプト入力文に追加する。
  • 手順3:出力画像の一部分に対して追加・編集を実行したい場合は、DALL-E 2の編集機能を活用する(この機能の詳細は以下の記事本文を参照)。
  • 手順4:出力画像を大きく変更したい場合は、プロンプト入力文を新規作成する。
  • 手順5:欲しい画像が出力されるまで、手順2~4を繰り返す。

以上のような手順を実行した結果、Martin氏は自分で何らかの絵を描くことなくロゴを完成させました(制作費用は30ドル)。DALL-E 2を使ったロゴ制作を経験して同氏が思ったのは、同モデルの登場によってアーティストが失業することはないものも、stock photoのような画像提供サービスは同モデルに代替される可能性が大いにある、ということでした。

Martin氏が行ったようなユーザが欲しい画像をDALL-E 2に出力させる技術はプロンプトエンジニアリングと呼ばれ、現在急速に研究と整備が進んでいます。近い将来、日本語でプロンプトエンジニアリングを行うノウハウが整備されることでしょう。

なお、以下の翻訳記事本文におけるプロンプト入力文の訳出にあたっては、翻訳文に英語原文を併記しました。英語原文をDALL-E 2に入力すれば、出力を確認できるでしょう。

以下の記事本文はJacob Martin氏に直接コンタクトをとり、翻訳許可を頂いたうえで翻訳したものです。また、翻訳記事の内容は同氏の見解であり、特定の国や地域ならびに組織や団体を代表するものではなく、翻訳者およびAINOW編集部の主義主張を表明したものでもありません。
以下の翻訳記事を作成するにあたっては、日本語の文章として読み易くするために、意訳やコンテクストを明確にするための補足を行っています。

はじめに

誰もが耳にしたことのある最新のクールな話題™、それは「DALL-E 2」(以降、Dall-eと呼ぶ)だ。数ヶ月前、最初のプレビューが始まった時、このAIモデルは基本的に至る所で見られた。数週間前、同モデル利用に関する門戸が開かれ、ウェイティングリストに載っていた多くの人々がアクセスできるようになった(※訳註1)。アクセスできるようになった人々のなかには、私もいた。

(※訳註1)OpenAIは、2022年7月20日公開の公式ブログ記事においてベータ版のDALL-E 2の一般公開を発表した。

Dall-eへのアクセス権を取得した私は、一日かけていくつかの基本(※訳註2)を学び(例えば、フレーズの最後に 「artstation」を追加すると、自動的に出力がずっと良くなるといった事実(※訳註3)…)、たくさんの(そのうちのいくつかは素敵な)画像を生成した。つまり、私はすでに多少のフォームアップを終えたのだ。

(※訳註2)本記事の著者であるJacob Martin氏がDALL-E 2のプロンプト入力文作成方法を学習した資料は、無料で公開されている『DALL-E 2 prompt book』である。同資料では、プロンプトに入力した単語が画像生成に及ぼす影響が図解されている。
(※訳註3)前出のDALL-E 2 prompt bookには、以下のような記述がある。

「もっと良くなって!」という意味が込められた、AI時代における祈りのような「神に幸運を願う」プロンプトフレーズがある。それらには4k、8k、高品質、トレンド、受賞、絶賛される、on artstation(4k, 8k, highquality, trending, award-winning, acclaimed, on artstation)などがある。だが、これらの正確なインパクトは厳密には検証されていない。しかしながら、これらを自由に追加してみよう!

もう少し背景を説明すると、私が開発しているオープンソースプロジェクトであるOctoSQLは、1つのSQLクエリで複数のデータベースやファイルフォーマットに問い合わせられるCLIクエリツールである。以前からロゴを一新するべきだと思っていたのだが、Dall-eの登場により、(ロゴを制作するという)楽しさと実用性を両立させられた。

実際にやってみると、シーズン4の「ウエストワールド」で描かれた、ライターがストーリーを作るプロセスに少し似ていることがわかるだろう(以下の本文はウエストワールドのネタバレではないのでご安心を、しかしこのドラマシリーズを未見の方には視聴をおすすめします)。

というわけで、最終的に出来上がったロゴがこちらである。

この記事の続きでは、私がどこから始め、何を経験し、何を学んだか、そして最終的に選ばれたイメージにどのようにゆっくりと進化していったかをご覧頂ける。以下では、かなり満足できた道のりだけをお見せする。つまり、まあまあ良かった画像だけを紹介する(残りの70%以上はひどかったので処分した)。

その前に、DALL-E 2の仕組みについて簡単に説明する。まずユーザは無料のクレジットのセットを入手して、さらに購入もできる(※訳註4)。1つのクレジットで、以下のいずれかを行える。

  • 生成:指定されたフレーズに対して、4つの画像を生成する。
  • 編集:(ユーザがDALL-E 2の入力として渡した)オリジナル画像の透明にマークされた領域に関して、与えられたフレーズにしたがい3つの画像を生成する(※訳註5)(画像編集ソフト、あるいは内蔵の透明化描画ツールを使用できる)。
  • バリエーション:与えられた画像にもとづいて、フレーズの指定なしで3つのバリエーションを生成する。つまり、「画像の実体は同じままでxyz(xyzは何らかのフレーズ)して」というようなことは、残念ながらできない。ただし、ポイント2で言及した透明にマークした領域に対して、バリエーションを生成できる。
(※訳註4)オープンベータ版のDALL-E 2のアクセス権を取得すると、まず50クレジットが支給される。1回の画像生成につき、1クレジットを消費する。同モデル利用初月以降は、毎月15クレジットが支給される。また、15USドルで115クレジットを購入できる。同モデルのクレジット利用体系については、AINOW翻訳記事『このAI画像を作るのに15ドル分のDALL-E 2のクレジットを費やしてわかったこと』も参照のこと。
(※訳註5)DALL-E 2における画像の一部を対象にした編集に関しては、前出のDALL-E 2 prompt bookに図解がある。例えば、以下の左側の画像における左側の男性の顔を編集したい場合、この男性の顔を透明化マークで塗りつぶす。そして、新しく生成したい男性の顔に関するプロンプト文を入力する。例えば「オレンジ色の工事用ベストを着た男性、意図的な表情、顔のアップ、眼球の反射、眉毛をひそめた(A man in an orange construction vest, intent expression, close-up on face, ocular reflections, furrowed eyebrow)」と入力すると、右側の画像が出力される。


ロゴの生成

私は、ロゴに関してかなり具体的なアイデアを持っていた(と思っていたのだが、どうやらそのアイデアをうまく言葉で表せなかった)。OctoSQL という名前は、タコとSQLに由来している(※訳註6)。というのも、タコは多くの腕を持ち、同時に多くのエンティティ(実体)を操作できるが、OctoSQLも同時に多くのデータソースを操作できるという考えにもとづいているからである。

(※訳註6)タコを意味する英単語は「Octopus」である。

そんなわけではじめに実現したかったのは、たくさんのデータベース(あるいはデータベースを表すエンティティ、実際のデータベースのロゴは使わないと決めていた)を操る、漫画のようなかわいいタコであった。

それでは、わかりやすいフレーズから始めよう。早速入力した以下のワードは、「方向性を示す」サフィックス(接頭辞)となるようなキーワードを使っているのがわかるだろう。

データベースに関する図表をジャグリングするタコの赤ちゃん、デジタルアート、漫画、線描(A baby octopus juggling diagrams of databases, digital art, cartoon, drawing)

最初のもの(左側の画像)は、実にとてもクールに見える。そんなわけで、いくつかバリエーションを出力してみよう。


なかなかいい!もう少し奥行きがあったほうがいいとはいえ、漫画調に見える。しかし、いちばんの問題はこの「octopi(タコ)」(「Octopus」の美しい複数形)がチャートを持っていることだ。OctoSQLはチャートを扱っているのではなく、データを扱っている。これらの画像では OctoSQL で何が可能かについて、誤った期待を持たせてしまうかも知れない。

では、図面(というより言い回し)描きに戻ろう。タコが持つべき抽象的な図形を追加しよう。

データベースに関する図表をジャグリングするタコの赤ちゃん、1つの立方体に巻きついた腕、デジタルアート、漫画、線描(A baby octopus juggling diagrams of databases, arm wrapped around one cube, digital art, cartoon, drawing)

私が本当に欲しいものではないが、それでもかなりクールな感じだ。しかし、(以上の画像を使って)描画スタイルを実験できるのではないだろうか。

データベースを表す3D図形をジャグリングするタコの赤ちゃん、1つの立方体に巻きつく腕、立方体を通過するデータの流れ、デジタルアート、漫画、線描、ロゴ、シンプルな図形(A baby octopus juggling 3d shapes representing databases, arm wrapped around one cube, streams of data passing through the cubes, digital art, cartoon, drawing, logo, simple shapes)

以上の出力画像は、単純な図形なので失格。

もう少し試してみよう。

(翻訳者注記)上段左の画像のキャプションは「水彩」、中央は「ベクターアート」、右は「詳細な」。
下段左は「鉛筆によるスケッチ」、右は「鉛筆によるスケッチ+水彩」。

さて、元のアプローチに戻れるが、もっと単純化できないだろうか。データベースの代わりに図形を使い、品質を向上させるタグを追加してみよう。

立方体や球体などの3D図形をジャグリングするタコの赤ちゃん、デジタルアート、漫画、artstation(A baby octopus juggling 3d shapes like cubes and spheres, digital art, cartoon, artstation)

以上の画像の品質はどうだろうか。悪くない。ロゴとしてはどうだろうか。そんなに良くもない。

それではもう1度、鉛筆によるスケッチに挑戦してみよう。

データベース、データレコード、立方体や球などの3D図形のダイアグラムで遊ぶタコの赤ちゃん、デジタルアート、漫画、線描、鉛筆によるスケッチ(A baby octopus playing with diagrams of databases, data records, and 3d shapes like cubes and spheres, digital art, cartoon, drawing, pencil sketch)


いい感じだ!しかし、このバリエーションは息を吞むようなものを生み出しているわけではない。

もっと抽象的なものを使ってみるのはどうだろう。データの流れとか。そして、「ロゴ(logo)」を入力に加えるのはどうだろうか。

データの流れで遊ぶタコの赤ちゃん、ロゴ、デジタルアート、線描(Baby octopus playing with streams of data, logo, digital art, drawing)

以上の画像は面白いので、生成した価値はあった。しかし、ロゴとして使うには具合が良くない。もしかして、Dall-eに求めすぎなのか。データビットに関する描写のないシンプルなタコを試してみよう。

タコの赤ちゃん、ロゴ、デジタルアート、線描(Baby octopus, logo, digital art, drawing)

以上の画像はなかなかに魅力的だ!これらを編集して、その腕にいろいろと追加してみよう!例えばデータストリーム、データレコード、3D図形、そして、ちょうど名前を知ったばかりのいろんな設計図で見たことがある青いデータストレージのシリンダ(※訳註7)を加えよう。

(翻訳者注記)上段左の画像のキャプションは「データの流れ」、中央は「立方体や球体のような3D図形」、右は「青いデータストレージのシリンダ」。
下段画像のキャプションは「…そして、最後の仕上げとしてパイロットゴーグルを装着」(「googles」はスペルミスで正しくは「goggles」と思われる)

(※訳註7)シリンダとは、IT用語辞典 e-Wordsによると「円筒、円柱という意味の英単語。磁気ディスク記憶装置の記録単位の一つで、複数のディスクの同じトラックをまとめた領域」である。図解すると、以下の画像のようになる。

ハードディスクにおけるシリンダの図解図:画像出典「@IT IT総合検索 Insider’s Computer Dictionary『シリンダ』」より

画像を生成する度にその一部を置換するための(透明化)マークをつけたうえで、Dall-eに処理を任せた。

以上の画像は悪くなかったが、もう一回、余計な修飾的な言葉を入力せずに「ロゴ(logo)」タグだけを追加して出力してみることにした。

タコの赤ちゃん、ロゴ、デジタルアート、線描(Baby octopus, logo, digital art, drawing)

以上のように入力したことで、ひらめいたことがあった。ロゴマークには背景があることが多い。この暗い背景の円は、まさに私が必要としていたものだったのだ。また、Dall-eの出力はこの円の中に収まるよう強制されることもわかった(つまり、(円の外側の)空いたスペース全部に描かないようにできるのだ)。

基本的なフレーズを試すと、すぐに素敵なロゴが出来上がった。

タコの赤ちゃん、ロゴ、デジタルアート、線描、背景として暗い円の中(Baby octopus, logo, digital art, drawing, in a dark circle as the background)

…しかも、タコは中央のスペースにきれいに収まっているので、ロゴとしては非常に便利だ。

あとは、タコが遊べるようなエンティティを追加してみるのもいいかも知れない。

(翻訳者注記)左の画像のキャプションは「データレコード」、中央は「立方体」、右は「…再び立方体」

しかし、以上の画像は危険そうなタコの群れになってしまった。かわいい画像にするために、すでに「赤ちゃん(baby)」というワードを使ってしまっていた。

そこで、(「赤ちゃん」とは異なる)よりかわいくなる要素を加えてみよう。

立方体で遊ぶかわいいタコの赤ちゃん、ロゴ、デジタルアート、線描、背景として暗い円形(Cute baby octopus playing with cubes, logo, digital art, drawing, in a dark circle as the background)


ずっといい! もっとかわいい要素を増やせないだろうか。そうすべきではないか!

立方体で遊ぶかわいいタコの赤ちゃん、ロゴ、デジタルアート、線描、背景として暗い円形、活気、陽気、泡(Cute baby octopus playing with cubes, logo, digital art, drawing, in a dark circle as the background, vibrant, cheerful, bubbles)

以上のプロンプト入力文を元にバリエーションを連鎖させていくと、素敵なタコとヤバいタコ、それからたくさんのアプリアイコンが出来上がった。


以上の出力は、まだ本当に素晴らしい方向には向かっていない。ならばオリジナルの入力文を編集して、私たちのニーズに合うようにできるかも知れない。今のところ、出力画像はとても遊び心がある。しかし、OctoSQLは本格的にデータを処理するためのものであり、ロゴはそうしたアプリの機能を反映したものであるべきだ。そして白状してしまうと、黄色の安全ヘルメット以上に信頼を抱かせるものが思いつかなかったので(正直なところ、ヘルメットは明らかにロゴとして使いやすい)、それを加えてみよう。

タコの頭頂部に透明ブラシをドラッグして、次のようなフレーズを与えた。

黄色の安全ヘルメットをかぶって立方体で遊ぶかわいいタコの赤ちゃん、ロゴ、デジタルアート、線描、背景として暗い円形、活気、陽気、泡(Cute baby octopus playing with cubes wearing a yellow safety helmet, logo, digital art, drawing, in a dark circle as the background, vibrant, cheerful, bubbles)

いい結果が出そうだ!

以上の出力画像は、実にいい感じだ。

ここでちょっと遠回りをして、ヘルメット付きのタコ(とそれを元にしたバリエーション)を色々と生成してみた。その結果、何の役にも立たなかったが、出来上がったタコのかわいらしさにほっこりしたので、読者諸氏に楽しんでもらうためにここに残しておく。こうしたわけで、さらに立方体で遊んでいるプレーンなタコたちが出来上がった。これらはロゴ作りには使わなかったが、とてもいい感じだ。


以上に生成した立方体やデータレコード、データベース、青いデータ保存用シリンダは、タコが遊び慣れないものなのかも知れない、とふと私は思った。もっと自然なもの、例えばムラサキガイはどうだろうか。

ムラサキガイで遊ぶ可愛いタコの赤ちゃん、ロゴ、デジタルアート、線描、背景として暗い円形、鮮やか、陽気、泡(Cute baby octopus playing with mussels, logo, digital art, drawing, in a dark circle as the background, vibrant, cheerful, bubbles)

この出力には本当に心打たれた。サイズもいいし、かわいいし、実際のタコにほとんど近いし(人工物はあまりない)、ムラサキガイもいい感じだ。

そこでヘルメットを追加し、さらにヘルメットの側面を編集してアーティファクト(画像のノイズ)を修正した。

黄色の安全ヘルメットをかぶってムラサキガイで遊ぶかわいいタコの赤ちゃん、ロゴ、デジタルアート、ドローイング、背景として暗い円形、活気、陽気、泡(Cute baby octopus playing with mussels wearing a yellow safety helmet, logo, digital art, drawing, in a dark circle as the background, vibrant, cheerful, bubbles)

(翻訳者注記)左の画像のキャプションは「アーティファクト付きのヘルメット」、右は「修正されたアーティファクト」

タコの左目も崩れていた。左目だけを透明化ブラシで修正して、入力フレーズは同じままにした。こうすることで、Dall-eは目だけを再生成する。

修正完了!それでは、ムラサキガイに戻ろう。かわいく見えるけど、遠くから見ると多すぎるし、小さすぎる。しかも、これでは(SQL実行アプリのロゴという)本来のメッセージが伝わらない。そこで、触手を描き足したうえで「3D図形で遊ぶ」を追加し、ムラサキガイを何らかの「3D図形」に置き換えてみることにしよう。


最初のものはとても気に入ったが、一番右の球体が大きすぎる。それに、球体とは別の図形を追加できるのではなかろうか。そんなわけで、この球体にペイントして「立方体や球体などの3次元図形」のような素敵なものを得られるかどうか試してみよう。


こうして記事冒頭で見たようた中央の画像が採用された。立方体の中に球体が入っているのは面白いし、タコはいくつかの物体を操っているし、ロゴマークっぽいし、なかなかかわいいし、(何らかの)信頼感を抱かせるし、小さい要素がないから遠目で見てもいい感じだ。

ロゴ画像を出力した後、Procreateで背景を透明にしてから画像を少し小さくして、タコを囲んでいる泡が画面全体を占めるようにすると、このような(すでにお見せしている)ロゴ画像となった。

最後に念のため、(同じようなロゴがないかどうか)Googleで逆画像検索を何度もしてみた。

正直なところ、複雑な図形がないもう少しシンプルな画像の方が良かったのだが、Dall-eを説得してそのように作ってもらうことは出来なかった。そうは言っても、私はこのロゴにとても満足している。

まとめ

全体として、Dall-eを使ったロゴ作りは楽しい旅だった。最終的な結果は理想的ではなかったが、私はとても満足している。Dall-eに関しては、今はまだほとんどの部分で「最初の反復」の段階だと思っている(主な例外は鉛筆によるスケッチで、これは驚くほど良くできている)。私の意見では、アーティストが今のところ心配することはない(GitHub Copilotと同じようなものだ)。その一方で、stock photoのウェブサイトはDall-eの台頭を大いに懸念すべきだろう…

鉛筆によるスケッチについての私の主張を証明するために、以下の入力文とその出力画像を見てほしい。

ホワイトボード上で他のマウスにデータビジュアライゼーションを教えるマウス、デジタルアート、鉛筆によるスケッチ、かわいい(A mouse teaching other mice data visualization on a whiteboard, digital art, pencil sketch, cute)

以上はまさにプレゼンテーションや記事、あるいは書籍の挿絵として理想的な内容で、他のタグを使った場合よりもずっと安定した結果が得られる。

今回のロゴ制作を金銭面から見ると、全部で30ドルを費やした(最終的には1分間に2~3回の画像の編集・バリエーションを行っていた)。つまり、制作費用はそれほど高くはなかった。

私が思うにDall-eが10倍から100倍安く(速く)なったときが、本当のブレイクスルーとなるだろう。その時は、次のような仕事の進め方をイメージしている(実際には、私が実行したことをさらに最適化しただけのことだが)。

  1. フレーズを書く。
  2. そのフレーズに対する100枚の画像が提示される。それらは、非常にさまざまな領域に属する潜在空間から生成されたものである。
  3. あなたが欲しい画像と一致するものを選ぶ。
  4. 手順2に戻って画像生成を4〜5回繰り返して、その都度良い結果を得る。
  5. そして、変更(編集)したい部分のフレーズを書けば、元画像が基準として使われることになる。満足するまで2に戻ってより良い元画像を選ぶ。

お読み頂きありがとうございます!


原文
『How I Used DALL·E 2 to Generate The Logo for OctoSQL』

著者
Jacob Martin

翻訳
吉本幸記(フリーライター、JDLA Deep Learning for GENERAL 2019 #1取得)

編集
おざけん

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する

あなたにおすすめの記事

動画生成AI『Sora』とは|映像業界にとどまらないインパクトを解説

基調講演だけではない。OpenAI、Microsoft、Metaもビジョンを語ったGTC2024セッションまとめ

ChatGPTもGeminiも忘れて、これらの(信じられない)次世代AIツールをチェックしてみよう!

あなたにおすすめの記事

動画生成AI『Sora』とは|映像業界にとどまらないインパクトを解説

基調講演だけではない。OpenAI、Microsoft、Metaもビジョンを語ったGTC2024セッションまとめ

ChatGPTもGeminiも忘れて、これらの(信じられない)次世代AIツールをチェックしてみよう!