AIピカソAPIで画像生成!Google Colabで簡単操作

2024年8月21日

イラスト出展:AIピカソ

初めに

今回は、AIピカソAPIで画像生成を行う方法を解説するね

この記事では、AIピカソAPIで画像生成を行う方法をご紹介致します。AIピカソAPIを利用することで、綺麗な景色や可愛い女の子のイラストを作成することが出来ます。AIピカソAPIで生成した画像は商業目的でなければ一般に公開することも出来ます。

AIピカソとは

AIピカソはAI Picasso社が提供する、AIイラストやAIアバターを手軽に生成出来るスマホアプリです。最先端の動画生成AIを使用して、様々な動画を生成することができます。

AIピカソの主な機能

AIダンス

最強の動画生成AIで好きな写真を動かして動画に!画像1枚をアップロードするだけで、AIがオリジナルダンスを生成してくれます

AIイラスト

プロンプトと呼ばれるワードを入力して、無料で画像を生成できます。スタイルを指定することでお好みの画風で画像を生成できます。
AIピカソ AIイラスト

AIアバター

操作は簡単、自分の写真を10-20枚選んで登録するだけ。自分専用のAIが、今までに見たことのない超盛りアバターを作ってくれます。
AIピカソ AIアバター

AIアバタースタンプ

生成した「AIアバター」を活用して、自分の好きなLINEスタンプを作成し、作ったスタンプをLINEで友達や家族、恋人などに簡単に送信出来ます。
AIピカソ AIアバタースタンプ

AIピカソAPIとは

AIピカソAPIの概要

AIピカソAPIは、AIピカソが持つ独自画像生成技術をプログラムから利用するための手段です。
AIピカソを提供するAI Picasso株式会社により無料で提供されています。

AIピカソAPI

AIピカソAPI公開の目的

AI Picasso株式会社がAPIを公開する理由は以下になります。(AI Picasso社の発表内容をそのまま掲載)
『近年、画像生成AIの進化が進む中で、ビジネスにおいて具体的な活用がまだまだ浸透していないことを鑑み、弊社で独自に開発した、違法なデータ収集をしていない非常に高いクオリティの画像生成技術のAPIをリリースすることで、今まで企業が挑戦できなかった新しいアイディアの具現化や新サービス/製品の開発、他には広告素材、雑誌、アニメなどの漫画での利用を通して、画像生成AI業界の健全な発展を実現させることを目的としています。』

AIピカソAPIの提供内容

クリエーターを考慮して、合法的かつ規約を守って収集した画像を学習させたアニメ特化の独自画像生成技術で、広告の画像素材や表紙のイラストなどにも活用できます。APIは画像生成AIオープンソースのStable Diffusionで利用できる形式で提供されています。

一般的にAPIという表現から想定されるREST API形式やPythonライブラリなどではなく、Stable Diffusionから利用するAIモデルの提供となります。うーん、広い意味ではAPIか・・・。「AIピカソ モデル」と表現した方が分かり易い様な・・・。

Stable Diffusionとは

Stable Diffusionは、オープンソースとして提供される、テキストから画像生成を行うAIプラットフォームです。ユーザーがテキストで指示を入力すると、その指示に基づいて画像を生成します。

Stable Diffusion

Stable Diffusionの特徴

  • オープンソース: 誰でも自由に利用、改変、配布が可能です。
  • 高品質な画像生成: 非常に精巧でリアルな画像を生成できます。
  • 柔軟なカスタマイズ: 様々なパラメータやオプションを使用して、画像生成プロセスを細かく調整できます。
  • 多様なスタイル対応: 写真、アート、アニメなど、様々なスタイルの画像を生成できます。
  • 高速処理: 比較的短時間で画像を生成できます。
  • テキストプロンプトによる制御: テキストプロンプトを用いて、画像のテーマ、スタイル、構図などを詳細に指示できます。
  • コミュニティ主導: 活発なコミュニティがあり、様々なモデルやツールが開発されています。

Stable Diffusionの仕組み

Stable Diffusionは、拡散モデルと呼ばれる機械学習手法に基づいています。拡散モデルは、画像データからノイズを加えることでぼかしていく過程と、そのぼかした画像からノイズを除去して元の画像を復元する過程を学習します。この学習過程を通じて、画像を生成する能力を獲得します。

Stable Diffusionの仕組み

AIピカソAPIのライセンスについて

ライセンスについては、Stable Diffusionのライセンス CreativeML Open RAIL++-M License に、『例外を除き商用利用禁止』加えた形となります。例外を除き商用利用が禁止されている理由は創作業界に悪影響を及ぼしかねないという懸念からだそうです。AIピカソAPIは日本にて作成されているので日本の法律が適用されます。AIピカソAPIのモデルの学習は、著作権法第30条の4に基づき合法であると解釈されていますので、趣味の範囲であればAIピカソAPIで生成した画像を公開することも可能です。

詳しくは以下のサイトを参照下さい。
https://huggingface.co/aipicasso/picasso-diffusion-1-1

AIピカソAPIの実行環境

Stable Diffusionの実行にはGPUが必要となります。
CPUだけでも動きますが、画像生成に凄く時間がかかってしまうので、GPUを搭載したPCが実質必須です。

GPUとは

CPUはコンピューターの計算を行う頭脳として良く知れ渡っていますが、GPUは聞きなれない方もいるかと思います。GPU(Graphics Processing Unit、グラフィック処理ユニット)は、もともとコンピューターゲームや動画編集など、グラフィック処理を高速化するために開発されたチップです。しかし、近年ではその並列処理能力の高さから、機械学習やディープラーニングなどの分野でも広く利用されるようになりました。
GPUは結構高額で、安いものだと3万円程度ですが、それなりのスペックを求めると10万円以上の値段になります。

Google Colab

前述の通り、Stable Diffusionの実行には高額のGPUが必要となります。そこでお薦めするのがGoogle Colabです。Google Colab(Google Colaboratory)は、Googleが提供する無料のクラウドベースのJupyter Notebook環境です。ブラウザ上でコードを実行し、機械学習モデルの開発、データ分析、データ可視化など、様々なタスクを行うことができます。

簡単に言うと、Google Colabは機械学習に必要なGPUと、ライブラリが一式揃った無料の環境です。

Google Colab

AIピカソAPIの使い方

環境構築:Google Colabの準備

Google Colabは、Googleアカウントがあれば利用出来ます。
GoogleアカウントにログインしたChromeから以下のURLにアクセスして下さい。

https://colab.research.google.com/

新規ノートブックの作成

  1. https://colab.research.google.com/にアクセスすると以下のプロンプトが出るので、[ノートブックを新規作成]を押下します。
    AIピカソAPIの使い方 新規ノートブックの作成

  2. 新規ノートブックが作成されるので、左上のノートブック名を選択して任意の名前を付けます。
    AIピカソAPIの使い方 新規ノートブックの作成

GPUの選択

新規作成したノートブック環境はCPUを利用する設定になっているのでGPUを設定する設定に変更します。

  1. [ランタイム] → [ランタイムのタイプ変更]を選択します。
    AIピカソAPIの使い方 GPUの選択

  2. ハードウェア アクセラレータから[T4 GPU]を選択します。
    AIピカソAPIの使い方 GPUの選択
    ※ 無料版のGoogle Colabで選択出来るGPUは[T4 GPU]のみになります。もっと性能の良いGPUを利用したい場合は、有料版のGoogle Colabを契約して下さい。

Stable Diffusionのインストール

  1. [コーディングを開始するか、AIで生成します]の欄に以下のコマンドを入力します。

    pip install --upgrade git+https://github.com/huggingface/diffusers.git transformers accelerate scipy

    AIピカソAPIの使い方 Stable Diffusion

  2. Shift+Enterを押下してコードを実行します。
    5分くらい時間がかかります。以下のメッセージが表示されたらStable Diffusionのインストールは成功です。

    Successfully installed accelerate-0.33.0 diffusers-0.30.0.dev0 nvidia-cublas-cu12-12.1.3.1 nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-8.9.2.26 nvidia-cufft-cu12-11.0.2.54 nvidia-curand-cu12-10.3.2.106 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 nvidia-nccl-cu12-2.20.5 nvidia-nvjitlink-cu12-12.5.82 nvidia-nvtx-cu12-12.1.105 scipy-1.14.0 transformers-4.43.3

AI画像の生成

  1. [+コード]ボタンを押下し、新規の[コーディングを開始するか、AIで生成します]の欄に以下のコマンドを入力します。
from diffusers import StableDiffusionPipeline, EulerAncestralDiscreteScheduler
import torch
import datetime

def create_image(prompt, negative_prompt, gen_num):
  model_id = "alfredplpl/picasso-diffusion-1-1"
  scheduler = EulerAncestralDiscreteScheduler.from_pretrained(model_id, subfolder="scheduler")
  pipe = StableDiffusionPipeline.from_pretrained(model_id, scheduler=scheduler, torch_dtype=torch.float16)
  pipe = pipe.to("cuda")

  for i in range(0, gen_num):
    file_name = make_file_name()
    print(f'{i+1}つ目の画像を生成します。ファイル名:{file_name}')
    images = pipe(prompt,negative_prompt=negative_prompt, num_inference_steps=20).images
    images[0].save(file_name)
  print('画像生成が正常終了しました。')

def make_file_name():
  t_delta = datetime.timedelta(hours=9)
  JST = datetime.timezone(t_delta, 'JST')
  now = datetime.datetime.now(JST)
  return f"ai_picasso_{now.strftime('%Y%m%d%H%M%S')}.png"

create_image(
  "anime, masterpiece, a portrait of a girl, good pupil, 4k, detailed, ponytail,from below,looking at viewer,double eyelid eyes,smile,ponytail,school uniform,medium breasts",
  "deformed, blurry, bad anatomy, bad pupil, disfigured, poorly drawn face, mutation, mutated, extra limb, ugly, poorly drawn hands, bad hands, fused fingers, messy drawing, broken legs censor, low quality, mutated hands and fingers, long body, mutation, poorly drawn, bad eyes, ui, error, missing fingers, fused fingers, one hand with more than 5 fingers, one hand with less than 5 fingers, one hand with more than 5 digit, one hand with less than 5 digit, extra digit, fewer digits, fused digit, missing digit, bad digit, liquid digit, long body, uncoordinated body, unnatural body, lowres, jpeg artifacts, 3d, cg, text, japanese kanji",
  10
)

AIピカソAPIの使い方 AI画像の生成

  1. Shift+Enterを押下してコードを実行します。
    10分くらい時間がかかります。「画像生成が正常終了しました。」のメッセージが出力されれば画像生成は成功です。
    AIピカソAPIの使い方 AI画像の生成

生成された画像の確認

  1. 画面左のフォルダアイコンを選択すると生成されたファイルが表示されます。
    AIピカソAPIの使い方 生成された画像の確認

  2. ファイルをダブルクリックすると生成された画像を確認出来ます
    AIピカソAPIの使い方 生成された画像の確認

繰り返し画像を生成する方法

画像を再度作成したい場合は、以下のコマンドを実行して下さい。
1回目はライブラリのインストールが発生するので画像生成に時間がかかりますが、2回目以降の画像生成は1画像あたり5秒くらいで生成されます。

create_image(
  "anime, masterpiece, a portrait of a girl, good pupil, 4k, detailed, ponytail,from below,looking at viewer,double eyelid eyes,smile,ponytail,school uniform,medium breasts",
  "deformed, blurry, bad anatomy, bad pupil, disfigured, poorly drawn face, mutation, mutated, extra limb, ugly, poorly drawn hands, bad hands, fused fingers, messy drawing, broken legs censor, low quality, mutated hands and fingers, long body, mutation, poorly drawn, bad eyes, ui, error, missing fingers, fused fingers, one hand with more than 5 fingers, one hand with less than 5 fingers, one hand with more than 5 digit, one hand with less than 5 digit, extra digit, fewer digits, fused digit, missing digit, bad digit, liquid digit, long body, uncoordinated body, unnatural body, lowres, jpeg artifacts, 3d, cg, text, japanese kanji",
  10
)

コマンドの意味

パラメタ1 : 画像生成の呪文
パラメタ2 : 画像生成の呪文(否定的なプロンプト)
パラメタ3 : 画像生成数

画像生成の呪文

画像生成の呪文は色々なサイトで紹介されているので、自分なりの呪文を見つけて下さい。
【画像生成呪文の参考サイト】
https://aimania2024.com/ai-illust-prompt/
https://ai-illust-kouryaku.com/?p=8447

生成された画像

上記プログラムで生成された画像は以下となります。
手の位置とか変な子がたまにいますが、概ね良い感じの画像が生成されました。
AIピカソAPIで生成された画像

AIピカソAPIの画像の注意点

利用可能時間

無料版のGoogle Colabのセッション利用時間は12時間です。
それ以上利用する場合は、セッションを新たに作成してStable Diffusionのインストールから必要です。

保存出来る画像数

Google Colabのディスク領域は100G程度です。また、Google Colabのディスク領域は消える可能性があるので、生成した画像はローカルPCやGoogle Driveにダウンロードして保存して下さい。

著作権の遵守

以下のことには利用しないでください。

  • 商用のサービスとして直接提供すること
  • 創作業界に悪影響を及ぼすこと
  • デジタル贋作 (Digital Forgery)
    特に既存のキャラクターは公開しないでください
  • 他人の作品を無断でImage-to-Imageすること
  • わいせつ物を頒布すること
  • 事実に基づかないことを事実のように語ること

最後に

この記事が皆さまのお役に少しでも立てたら幸いです。
ルールを守って楽しくAI画像生成をお楽しみください。

ルールを守ってAI画像生成を楽しもう♡