【DALL・E 2】たった1つの文章で、アーティストになれる？！

こんにちは！GRIの1年目の Gery (ゲリー) です。
この記事は[グロースエクスパートナーズ 2022 Advent Calendar ](https://qiita.com/advent-calendar/2022/gxp "GxP 2022 カレンダー")の24日目となります。


今年は、GxPの2023年版年賀状のデザインをお手伝いする機会をいただきました！
しかし、一つ大きな問題がありました。私はアーティストでもデザイナーでもないので、どうしたらチームの実際のデザイナーに競争できるような年賀状を作成できるかという問題です。:thinking:
そこでDALL·E 2を見つけました!!



## DALL·E 2とは
[OpenAIの公式サイト](https://openai.com/dall-e-2/ "OpenAI")によって,
**「DALL·E 2 is a new AI system that can create realistic images and art from a description in natural language」**

日本語に翻訳すると、以下となります。 
**「DALL·E 2は、自然言語による記述からリアルな画像やアートを作成することができる新しいAIシステムです」**

まだイメージが湧きにくいかもしれませんので、簡単な例を見せます！
:point_down::point_down:
例えば...「A photograph of a rabbit looking at the sunrise over mount fuji」 DALL·E 2に投げたら、以下の画像が作成できます！
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986253/7e2e0db3-f261-754b-399a-6ba94387d461.png" alt="見本" width="250px" /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986253/a511790c-eeac-312e-7ce9-001d1b911549.png" alt="見本" width="250px" />
すごいですね...
AIとDeepLearningの力を用いて、DALL-E 2は画像と画像の記述に使用される文章の関係を学習しましたので、私たちは文章を定義するだけで、この新しいAIシステムが、文章の中の組み合わせ概念 (concepts)、属性 (atttributes)、スタイル (style)からリアルな画像とアートを作り出します。


これから、DALL・E 2を使ってより良い画像を作成するためのヒントやコツを紹介したいと思います。

## DALL·E 2の使い方
こんな素晴らしい機能が、誰でも無料で使えるなんてありえない、と思われる方もいるかもしれませんが、Dall・E 2 はクレジット制です。
クレジットはアカウントを作成して時点で50クレジットをもらいます。
1クレジットは4枚分の画像作成が可能です。

クレジットは毎月15枚分はもらえますが、115枚分を **$15 USD**で購入することも可能です。
個人の経験から、最初からもらった50クレジットも全部使いきれないと思いますので、さっそくDALL・E 2を試してみましょう！！:kissing_smiling_eyes:

### 1. アカウントを作る
https://openai.com/dall-e-2/

では、上記のURLでアカウントを作りましょう！<br>アカウントを作る時は、電話番号が必要ですので、お忘れないように :bow: 

### 2. 文章を書く
#### 英語で文章を書く
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986253/11130aa2-45d1-3405-c15f-2b089ff71996.png)
上にある入力バーは、まさにDALL・E 2で使う唯一のインターフェースで、
好きな文章を入力することですぐに使い始められます。
個人的には、明日がクリスマスなので、ゴッホ風に描かれた湖の真ん中にあるクリスマスツリーの絵が見たいのです！
早速「painting of a Christmas tree in a middle of a lake, style van Gogh」を書いてみましょう！！
#### Generateで画像を生成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986253/04207c81-39ba-db29-e3e4-0e2fec6b7018.png)
では、「Generate」をクリックして、20秒ほど待って...
その結果が以下となります :christmas_tree: 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986253/d0b16616-e390-b31e-240d-79d1a1d4894b.png)
現在、文章に基づいて4つの画像が生成され、生成した画像の権利はOpenAI社が保持しますが、制作側による**商用利用は問題ありません！**

:::note warn
しかし、生成元の文章がかぶると、前のユーザーが生成した画像が返されることがあるようです。
著作権に関する詳しい情報は下記のリンクからご覧ください :arrow_down: 
https://openai.com/api/policies/terms/
:::


### 3. 必要であれば、修正する！
もし、生成された画像を編集したかったら、2つの主要な機能が用意されているので、簡単に編集することができます。
私は3番目の画像が好きなので、次の例ではその画像を使います。

#### Variation
この機能は、生成された画像の中で気に入ったものがあるけれど、その画像には何か足りないものがあるような気がして、でもその足りないものが何なのかはっきり言えない、というようなときに使うことが多いです。
「variation」機能を使えば、DALL・E 2は選んだ1枚の画像をベースにして、それに似た画像をさらに4枚生成するように指示します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986253/e85ed012-ae9e-836a-1dbb-fa098ead4dcd.png)

#### Edit
「variation」とは逆に、何をどこに追加するかわかれば、DALL・E 2には「edit」という機能もあります。
そこで、文章や記述を追加することで、元の画像を消したり、編集したり、追加要素を挿入したりすることができます。
今回は、「背景にサンタクロースが飛んでいる」を追加したいので、左上の部分を少し消して、元の文章の真ん中に「with Santa Claus flying in the background」を入れました。
編集結果が気になっている方は是非自分で試してみてください :v:
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986253/b9a418ce-7f9d-3be5-0f9f-cc984105aee7.png)

## DALL·E 2のコツ
AIシステムに思い通りの画像を明確に生成させるには、文章の書き方がとても重要ですので、
DALL・E 2がより良い、より想像に近い画像を生成するためのコツも説明します！
<dl>
  <dt>1. 概念 (concepts) を具体的に定義する</dt>
  <dd>頭の中にあるイメージが明確であっても、DALL・E 2はまだ私たちの心を読み取るほど高度なものではありませんから、具体的な言葉でイメージを表現することが必要です。<br>
具体的に記述すればするほど、DALL・E 2が望む画像を生成してくれる可能性が高まります。<br>
逆に、あまり具体的でない記述をすると、私たちが最初に想像したものとは異なる画像がランダムに生成されるかもしれません。</dd><br>
  <dt>2. 常に属性 (attributes) を追加する</dt>
  <dd>一般的な属性としては、「背景」「特徴」「視点」の3つを追加します。<br>
なぜ属性 (attributes) が重要か、私たちが「ハンバーガー」と書いたとき、トマト入りのビッグマックを想像しているかもしれませんが、DALL・E2はベーコンとチーズ入りのワッパーを考えているかもしれません... :unamused: <br>
なので、「ハンバーガーの写真」よりも「マクドナルドのビッグマックの写真、トマトなし」と書いたほうがいいんです。（もちろん英語で書いてください）</dd><br>
  <dt>3. 具体的な数字を使う</dt>
  <dd>ハンバーガーが1個なら「photo of a hamburger」、2個なら「photo of two hamburger」と書けばいいのです。なぜなら、「hamburgers」と複数形で書くと、DALL・E 2がハンバーガーが2つ以上ある画像を生成してしまう可能性があるからです。</dd><br>
  <dt>4. 画像のスタイル (style) を指定する</dt>
  <dd>そして、最も重要なのは、画像を生成する際のスタイルを定義することです。<br>
ゴッホやウォーホルのような有名画家の画風を使うことができます。<br>
また、「デジタルアート」のようなキーワードを加えて、高品質な画像が欲しいことを指定することもできます。<br>
以下は、DALL・E 2での比較のために、私がよく使うスタイルです。
<table>
  <thead>
    <tr>
      <th>スタイル名</th> <th>画像</th> <th>文章</th>
    </tr>
  </thead>
  <tr>
    <td> digital art </td>
    <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986253/27f1bb72-f045-648f-6f9a-55b5a03e8cc0.png" alt="digital art Christmas tree" width="300" /></td>
    <td> “painting of a Christmas tree in a middle of a lake, digital art” </td>
  </tr>
  <tr>
    <td> lomography </td> 
    <td> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986253/0e9b1134-40cf-f6cc-6f8d-4a87f297e3f4.png" alt="lomography coffee shop" width="300" /></td> 
    <td> "Japanese-style coffee shop in the countryside in a rainy day, lomography" </td>
  </tr>
  <tr>
    <td> UHD 8k </td> 
    <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986253/2e9645e0-ff8f-050b-8b2f-5ca76a9c0006.png" alt="futuristic Hong Kong" width="300" /></td> 
    <td> "UHD 8k render of a futuristic Hong Kong at night" </td>
  </tr>
  <tr>
    <td> van Gogh </td>
    <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986253/b37d501d-5532-449e-5ad3-0fc254e80f0c.png" alt="judgmental cat" width="300" /></td> 
    <td> "a van Gogh painting of a judgmental cat with glasses staring into your soul" </td>
  </tr>
  <tr>
    <td> high-quality photo </td>
    <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2986253/42448f0c-4de2-7c15-564e-8bd9c4aa88c1.png" alt="back shot photo" width="300" /></td> 
    <td> "back shot photo of a person in a Japanese Festival with Japanese food stalls during the night, his pet rabbit is sitting on top of his head, high-quality photo" </td>
  </tr>
</table>
</dd>
</dl>

## 最後に
では、最後までお読みいただきありがとうございます :fireworks:
紹介しきれていない機能がたくさんありますが、
この記事を読んだ後で、是非DALL・E 2を使って、色々な画像を生成してみてください！
皆さんの画像と使った文章もコメント欄に共有することを楽しみに待っています！
メリークリスマス！！