
関連するソリューション

業務改革

AI
エバンジェリスト・フェロー 玉越 元啓
はじめに
今回は、画像を自動生成するAPIの使うプログラムを解説しつつ、実際に生成された画像を見ていただこうと思います。
文章の作成、要約、音声認識などAIは幅広く受け入れられる当たり前の技術となってきました。顔認証でスマホのロック解除する、音声で入力する、など経験があるかたもいらっしゃると思います。画像の自動生成はAIが大きな成果を上げている分野ではありますが、どの程度の実力があるのかは、あまり知られていないと感じています。どの程度の実力か、実感ください。
主な画像生成サービス
主なサービスの一覧
- DALL-E: OpenAIが開発した、自然言語の説明に基づいて画像を生成するAIです。https://openai.com/dall-e/
- GANbreeder: 2つの画像を組み合わせて新しい画像を生成する、GAN(Generative Adversarial Network)を使ったサービスです。https://ganbreeder.app/
- Deep Dream Generator: 画像を変換して幻想的な画像を生成するサービスです。https://deepdreamgenerator.com/
- Artbreeder: 絵画、写真、3Dキャラクターなどのジャンルで、AIによって新しい作品を自動生成するサービスです。https://www.artbreeder.com/
- RunwayML: デザイナーやアーティストが、機械学習によって自動生成された画像を作成することができるプラットフォームです。https://runwayml.com/
- NVIDIA GauGAN: スケッチに基づいて、リアルな風景画像を生成することができるAIです。https://www.nvidia.com/en-us/research/gaugan/
- AI Painter: 人物画像を元に、著名な画家のスタイルで自動的に絵画を生成するサービスです。https://painter.ai/
- Artisto: 動画をフィルタリングして、絵画のような効果を与えることができるアプリです。https://artisto.net/
DALL-Eの例

『白い猫と黒い猫が、屋根の上を、歩いている(A white cat and a black cat are walking on the roof)』と入れて画像を生成してみました。

詳細に説明することで、より希望するイメージに近い画像が生成されるようです。
画像の自動生成プログラム
概要説明
ここでは、OpenAI APIのDALL-Eモデルを使用して画像生成を行います。
DALL-Eは画像生成に特化したモデルであり、より高品質な画像を生成することができます。
なおAPIの利用には課金が必要となり、利用料金はAPIの利用量に応じて計算されます。実際にかかった費用はのちほど。
プログラム全文
import shutil
import time
import requests
form enum import Enum
import openai
openai.api_key = '(APIキーを登録してください)'
class size(Enum):
S = '256x256'
M = '512x512'
L = '1024x1024'
prompt = 'ここに生成したい画像イメージのテキストを入れる'
n = 1
response = response.Image.create(
prompt=prompt,
n=1,
size=size.S.value
)
for data in response['data']:
image_url = data['url']
print(image_url)
image = requests.get(image_url,stream=True)
file_name = time.strftime("%Y%m%d_%H%M%S") + '.png'
with open(file_name, 'wb') as out_file:
shutil.copyfileobj(image.raw, out_file)
image.close()
time.sleep(1)
print('Done.')
コードのポイント解説
class size(Enum):
S = '256x256'
M = '512x512'
L = '1024x1024'
prompt = 'ここに生成したい画像イメージのテキストを入れる'
n=1,
response = response.Image.create(
prompt=prompt,
n=1,
size=size.S.value
)
for data in response['data']:
image_url = data['url']
実行結果
まずは美しい猫の画像です。Prompt='beautiful cat',n=5を指定して実行します。実際にいくつか画像を生成してみました。

立ち耳の猫が多いようですね。趣向を変えてみます。
Prompt='calico cat by impressionism’として、印象派による三毛猫の絵を描かせてみました。

どうでしょうか?個人的には、それっぽく仕上がっていると感じます。もう少し説明を追加し、印象派によって描かれた窓際の三毛猫(Prompt=' A calico cat by the window painted by Impressionists’)の絵を描かせてみます。

既存の画像か調べてみました

類似の画像はなさそうです。
利用料金
Resolution | Price |
---|---|
1024×1024 | $0.020/image |
512×512 | $0.018/image |
256×256 | $0.016/image |

絵心のない私にとって、イメージを伝えるだけで写真や絵・イラストをこの金額で作ってくれるのは十分安価に感じます。
利用シーン
AIでは元々ある画像を加工することも可能です。例えば、アパレルの販促でユーザの画像に色々な衣類を着せた画像をみせる、自分の部屋に色々な家具を置いたイメージをつくって大きさや色を決める、などが考えられますね。
利用時のコツ
- 最初は小さな256x256のサイズで、1枚ずつ、生成
- 希望する画像イメージにあっているか確認しながら、自動生成させるための表現を修正
- 方向性が固まったら、希望するサイズで複数毎生成して、その中からベストな画像を選択
エンジニアの方は、サイズや画像の説明をパラメータとして渡せるようにする、UIを作るなど、使いやすいように改良してみてください。
その他
https://www.amazon.co.jp/dp/B0BWFV85N7/
