【OpenAI】DALL-Eを使ってテスト用の画像データを生成してみた

2023.03.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

新規事業統括部Passregiチームの山本です。

最近、特に3月1日ChatGPTのAPIが公開されてから、AIを使ったチャットボットに関する話題が増えています。今回はOpenAIが公開しているサービスの1つであり、言葉から画像を生成することのできるDALL·E(DALL-E 2)を使ってみたいと思います。

DALL-Eについて

DALL-Eは、OpenAIが提供している、会話で使うような自然言語の説明から画像を生成できるAIシステムです。詳しくはホームページをご覧ください。

https://openai.com/product/dall-e-2

テスト用データセットを作成してみる

今回は、試してみる一環として、現在私達が取り組んでいる骨格検出モデルをテストするようのデータ画像を生成してみたいと思います。私達が取り組んでいる骨格検出モデルでは、天井から撮影した画像に写っている人物の骨格を検出するように学習させているので、このような視点の画像を生成してみようと思います。特に、現状のデータセットには、スーツを着ている人物の画像がないので、このような服装の画像を生成できると嬉しいところです。

まずクエリを変えながら画像を生成してみる

まずいくつかクエリしてみました。各クエリに対して4つの画像を生成してくれます。

「人物が映っている画像」:少しクエリの具体性が低いようで、色々な画像が生成されました。

「top view of human image in convenience store」:それっぽくなりました。商品棚に身体が突っ込んでいる人がいたりしますが、コンビニっぽい感じの背景です。

「top view of human image in convenience store, reaching hand to items」:さらにほしい画像に近づきました。手が少しおかしい感じもしますが、だいぶ写真に近いスタイルで良い感じです。

「top view of human image in convenience store, reaching hand to items, human is wearing a suit」:こちらも意図通り、スーツを着ている人物の画像が生成されました。

「top view of human image in convenience store, reaching hand to items, human is wearing a suit, multi humans, whole body」:アニメーション調の画像も生成されました。

他にもいくつかクエリを試しましたが、おおよそ同じような感じでした。

画像を編集する

DALL-Eには画像を生成するだけでなく、画像を編集する「Edit」と、似たような画像を生成する「Variation」という機能があります。UIとしては、生成された画像の中から1つを選択し、右上に表示される、ボタンでそれらの機能を利用できます。

今回は、この画像が良さそう(棚がよく見えていて多様な種類の商品が並んでいる、写真に近いスタイル、スーツを着ている)と思ったので、これをベースの画像として使ってみました。

まず、Editを使ってみます。「Edit」ボタンを押すと、以下のように表示が変わります。

今回は右から2番目のボタンで、DALL-Eので「outpainting」と呼ばれている機能を利用してみました。

https://openai.com/blog/dall-e-introducing-outpainting

画像を生成する範囲を指定するための四角が表示されるので、上図のように少し画像に範囲が重なるようにして配置しました(重ならないで配置すると、全く関係無い画像がそこに生成されてしましまいました)。クエリに先程同じ「top view of human image in convenience store, reaching hand to items, human is wearing a suit」と入力して、「Generate」しました。

拡張された画像が表示されるのですが、これも4つ生成されており、画像下の左右の矢印で変えながら確認できます。気に入らなければ、「Cancel」を押し再度「Generate」することができます。

Acceptすると拡張した画像でさらにEditが続けられます。今回は更に下にも拡張しました。(数回生成し直しました)

一旦画像をダウンロードし再度アップロードして、「Variation」を実行してみると、以下のように画像が得られました。少し変な画像もありますが、概ねほしい画像が得られました。

補足

GPT-4自体は画像に対応していますが、現在(3/16)サービスとして提供はされていないようです。

https://help.openai.com/en/articles/7127995-how-can-i-use-gpt-4-with-images

利用に関しては、以下のように定められています。「コンテンツ ポリシー条件に従い、画像が無料または有料のクレジットで生成したかに関係なく、DALL·Eで作成した画像は再版・販売・商品化する権利を含めて、お客様に帰属します」(意訳、3/16現在)

https://help.openai.com/en/articles/6425277-can-i-sell-images-i-create-with-dall-e

DALL-E自体は2022年から利用可能なサービスです。

https://openai.com/blog/dall-e-now-available-without-waitlist

まとめ

自然な言葉から画像を生成できるDALL-Eを試しました。クエリを考えながら良さそうな画像を生成し、画像の生成範囲を広げられるEditや、似たような画像を生成できるVariationを利用することで、意図通りの画像を多数生成できました。

変わった状況や特定の状況のデータセット画像を簡単に作れることができ、便利だと思いました。