KNOWLEDGE - COLUMN ナレッジ - コラム

AIによる画像生成の実力に迫る

コラムイメージ

関連するソリューション

業務改革

AI


エバンジェリスト・フェロー 玉越 元啓 玉越写真_100x150 

はじめに

AIによる画像生成を使ってみました!
今回は、画像を自動生成するAPIの使うプログラムを解説しつつ、実際に生成された画像を見ていただこうと思います。
文章の作成、要約、音声認識などAIは幅広く受け入れられる当たり前の技術となってきました。顔認証でスマホのロック解除する、音声で入力する、など経験があるかたもいらっしゃると思います。画像の自動生成はAIが大きな成果を上げている分野ではありますが、どの程度の実力があるのかは、あまり知られていないと感じています。どの程度の実力か、実感ください。

主な画像生成サービス

主なサービスの一覧

  1. DALL-E: OpenAIが開発した、自然言語の説明に基づいて画像を生成するAIです。https://openai.com/dall-e/
  2. GANbreeder: 2つの画像を組み合わせて新しい画像を生成する、GAN(Generative Adversarial Network)を使ったサービスです。https://ganbreeder.app/
  3. Deep Dream Generator: 画像を変換して幻想的な画像を生成するサービスです。https://deepdreamgenerator.com/
  4. Artbreeder: 絵画、写真、3Dキャラクターなどのジャンルで、AIによって新しい作品を自動生成するサービスです。https://www.artbreeder.com/
  5. RunwayML: デザイナーやアーティストが、機械学習によって自動生成された画像を作成することができるプラットフォームです。https://runwayml.com/  
  6. NVIDIA GauGAN: スケッチに基づいて、リアルな風景画像を生成することができるAIです。https://www.nvidia.com/en-us/research/gaugan/
  7. AI Painter: 人物画像を元に、著名な画家のスタイルで自動的に絵画を生成するサービスです。https://painter.ai/
  8. Artisto: 動画をフィルタリングして、絵画のような効果を与えることができるアプリです。https://artisto.net/

DALL-Eの例

下は絵を描くサービスの画面です。赤い枠中に生成したい絵の概要を文章で入力し、Generateボタンを押します。

サンプル画像

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



詳細に説明することで、より希望するイメージに近い画像が生成されるようです。

画像の自動生成プログラム

概要説明

画像を自動生成するAPIを利用するためのプログラム(python)です。画像をつくって見たレポートはよく見かけるのですが使い方の解説はあまりないようです。画像生成を試すにあたり、折角なのでつくってみました。
ここでは、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'
出来上がる画像の大きさは3種類用意されています。APIをコールするときに作りたい画像のサイズを指定する必要があります。

prompt = 'ここに生成したい画像イメージのテキストを入れる'
promptに生成したい画像の説明を入れます。後ほどテキストと実際に生成した画像イメージを載せるので参考にしてください。

n=1,
n は生成する画像の数です。1だと1枚、5だと10枚作成されます。

response = response.Image.create(
    prompt=prompt,
    n=1,
    size=size.S.value
)
APIをコールしている部分です。今回はopenAIのAPIを利用していますが、他のAPIを利用する際も同じような書き方で利用できると思います。

for data in response['data']:
    image_url = data['url']
画像の生成結果がjson形式で返されます。それをresponseで受け取りひとつずつ画像をダウンロードします。保存先、ファイル名などお好みで変更してください。

実行結果

実際にいくつか画像を生成してみました。
 
まずは美しい猫の画像です。Prompt='beautiful cat',n=5を指定して実行します。実際にいくつか画像を生成してみました。

美しい猫の画像

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



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


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

これらの画像は本当に自動生成されたものでしょうか?画像検索して類似の画像がないか調べてみました。



類似の画像はなさそうです。

利用料金

利用料金は、こちらのページ(https://openai.com/pricing )記載されています。画像生成の料金は下のとおりです(2023/3/1 0:00時点)。
Resolution Price
1024×1024 $0.020/image
512×512 $0.018/image
256×256 $0.016/image
今回は大小あわせて16枚の画像を生成し、$0.26(約35円)となりました。



絵心のない私にとって、イメージを伝えるだけで写真や絵・イラストをこの金額で作ってくれるのは十分安価に感じます。

利用シーン

小説や文の挿絵の生成は既にチャレンジされているようです。既に場面を詳細に説明するテキストがあるため、希望の画像を自動生成させる条件はそろっています。
AIでは元々ある画像を加工することも可能です。例えば、アパレルの販促でユーザの画像に色々な衣類を着せた画像をみせる、自分の部屋に色々な家具を置いたイメージをつくって大きさや色を決める、などが考えられますね。

利用時のコツ

自動生成させるときは、
  1. 最初は小さな256x256のサイズで、1枚ずつ、生成
  2. 希望する画像イメージにあっているか確認しながら、自動生成させるための表現を修正
  3. 方向性が固まったら、希望するサイズで複数毎生成して、その中からベストな画像を選択
するのがよさそうです。
エンジニアの方は、サイズや画像の説明をパラメータとして渡せるようにする、UIを作るなど、使いやすいように改良してみてください。

その他

並行してAIをつかってシステム開発をどこまでできるかチャレンジ中です。次回コラムで成果をお知らせできると思います。下の書籍が参考になります。
 
https://www.amazon.co.jp/dp/B0BWFV85N7/


当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。

エバンジェリストによるコラムやIDグループからのお知らせなどを
メルマガでお届けしています。

メルマガ登録ボタン


玉越 元啓

株式会社インフォメーション・ディベロプメント フェロー

この執筆者の記事一覧

関連するソリューション

業務改革

AI

関連するナレッジ・コラム

エンジニアとしての質を上げるためのAI利用法

宇宙産業~技術と経済、日常生活への統合について~

今話題のVector Storeを解説