【画像生成その2】anything_v3他モデル 〜ailia SDK×Mac×Pythonで20分実装〜

画像生成の実装には様々な手段がありますが、「アイリアSDK(ailia SDK)」を使えば複数のモデルを数分で、簡単に試すことができます。

この記事は、以下のような方におすすめです:

● 画像生成の各種モデルを実際に試してみたい方
● プログラミング初心者でAIに興味がある方
● 画像生成を自社サービスに組み込みたい方

本記事では、Apple Silicon搭載Macを使い、Pythonで環境構築から画像生成モデルの実践までを約20分で実装する手順を解説します。

1. アイリアSKD(ailia SDK)とは?

AIモデルの実装を簡単に行えるSDKです。以下の特徴があります:

  • 高速な推論エンジンによる、スムーズな実行
  • 画像認識、物体検出、姿勢推定など、370以上の豊富な事前学習済みモデル
  • Mac、Windows、Linux、組み込みボード(Jetson、Raspberry Pi)まで対応したクロスプラットフォーム
  • 多言語対応(Python/C++/Unity(C#)/Java(JNI)/Kotlin/Rust/Flutter)
  • GPU対応(CUDA、Vulkan、Metal)

2. 環境構築(所要時間:約1分)

動作条件

  • Python 3.6 以降

インストール手順

  1. まず、ailia SDKをインストールします:
    pip3 install ailia
  2. サンプルコードをダウンロードして、移動します。:
    git clone <https://github.com/axinc-ai/ailia-models>
    cd ailia-models
  3. 依存ライブラリをインストールします:
    pip3 install -r requirements.txt

3. 概要把握

本記事では、以下の4つのモデルを順に紹介します。ぜひ、様々なプロンプトで出力結果を試してみてください:

  • anything_v3モデル
  • sd-turboモデル
  • sdxl-turboモデル
  • latent-consistency-modelsモデル

注意点:

  • 各モデルの初回起動時には、数GBの関連ファイルがダウンロードされるため、ディスク容量に余裕を持たせ、仮想環境の利用を推奨します。
  • ファイル取得には数分かかる場合があります。
  • 実行中にPCの負荷が高いと感じた場合は、他のモデルへ切り替えて試してください。

4. モデル実装

4.1 anything_v3モデル(所要時間:約5分)

  1. 概要:
    • Anything V3は、アニメやイラスト風の高品質な画像を生成することに特化した深層学習モデルです。「Stable Diffusion」を基盤として開発されており、特に二次元のキャラクターや情景を描き出す能力において高い評価を得ています。このモデルの大きな特徴は、魅力的で繊細なアニメ・イラスト調の画像を生成できる点にあります。
    • また、Anything V3は幅広い表現力も備えており、入力するテキスト次第で、可愛らしいキャラクターからクールなキャラクター、幻想的な風景まで、多様なスタイルのイラストを描き出すことが可能です。このため、オリジナルキャラクターのデザイン補助、小説やゲームの挿絵制作におけるアイデア出し、SNS用のアイコンやヘッダー画像の作成、あるいは個人の趣味としてのイラスト生成など、クリエイティブな活動の様々な場面で活用されています。
  2. 環境準備:
    • ailia-modelsリポジトリ内の該当フォルダに移動し、必要なライブラリを追加します:
      cd diffusion/anything_v3
      pip install onnxruntime
  3. サンプル実行:
    • 以下を実行します。初回実行時は、 onnx ファイルと prototxt ファイルの自動ダウンロードが行われ、多少時間が掛かります
      python3 anything_v3.py --onnx
    • 成功すると、デフォルトで「魔法使いの女性」の画像が生成され、同一フォルダ内に出力されます。
  4. カスタムテキストで試す:
    • まず、下記がフォーマットとなります。
      python3 anything_v3.py --onnx --input TEXT
    • 試しに『クールなアニメ風の男の子』の画像を出力してみましょう。
      python3 anything_v3.py --onnx --input "masterpiece, best quality, highres, 1boy, solo, cool handsome anime boy, short spiky black hair, sharp red eyes, serious expression, wearing a black leather jacket and sunglasses, leaning against a brick wall in a back alley, night, neon lights, cinematic lighting"
    • 下記画像が生成されました。なお、masterpiece, best quality, highres などを先頭に入れると品質が向上しやすいです。同じプロンプトでも毎回少し違う結果が出ますので、単語を変えたり追加したりして、色々試してみてください。

4. 2 SD-Turboモデル(所要時間:約5分)

  1. 概要:
    • Stable Diffusion Turbo(SD-Turbo)は、Stability AIによって開発された、テキストから画像を驚異的な速さで生成するモデルです。最大の特徴は、従来の複数ステップ処理をわずか1ステップに短縮し、ほぼリアルタイムでの画像生成を実現した点にあります。速度を最優先しているため、画像の精細さでは他の高品質モデルに譲る場合もありますが、迅速なアイデア出しには非常に強力です。
  2. 環境準備:
    • まずはailia-modelsリポジトリ内の該当フォルダに移動し、必要なライブラリを追加します:
      cd diffusion/sd-turbo
      pip3 install transformers
  3. サンプル実行:
    • 以下のコマンドを実行します。なお、初回実行時は、 onnx ファイルと prototxt ファイルの自動ダウンロードが行われ、多少時間が掛かります
      python3 sd-turbo.py
    • 無事に実行されれば、下記のグレムリンのような画像を同フォルダ内で確認できるはずです。
  4. カスタムテキストで試す:
    • 下記がフォーマットとなります。
      python3 sd-turbo.py --input PROMPT --savepath SAVE_WAV_PATH

4. 3 SDXL-Turboモデル(所要時間:約5分)

  1. 概要:
    • Stable Diffusion XL Turbo(SDXL-Turbo)は、Stability AIが開発した、テキストから高品質な画像を非常に高速に生成するAIモデルです。高画質で知られるSDXLをベースとし、高速化技術ADDを適用することで、ほぼリアルタイムでの生成を可能にしました。
    • SD-Turboが以前のモデルをベースに速度を最優先していたのに対し、SDXL-TurboはSDXLの高い画質(詳細描写、多様なスタイル)を維持しながら高速化を図っている点が大きな違いです。
  2. 環境準備:
    • まずはailia-modelsリポジトリ内の該当フォルダに移動します。そして、環境を整えます。
      cd diffusion/sdxl-turbo
    • 無事に実行されれば、下記のようなグレムリンの出力画像を同フォルダ内で確認できるはずです。
  3. サンプル実行:
    • 以下のコマンドを実行します。なお、初回実行時は、 onnx ファイルと prototxt ファイルの自動ダウンロードが行われ、多少時間が掛かります
      python3 sdxl-turbo.py
    • 無事に実行されれば、下記のようなグレムリンの出力画像を同フォルダ内で確認できるはずです。
  4. カスタム実行例:
    • まず、下記がフォーマットとなります。
      python3 sdxl-turbo.py --input PROMPT --savepath SAVE_WAV_PATH
    • 生成したい画像のイメージを具体的に伝えたい場合は、–input というオプションの後に、指示を書き加えます。また、生成された画像は通常、決まった名前(例: output.png など)で保存されますが、自分で好きなファイル名を付けたい場合は –savepath オプションを使います。ですので、例えば、「魔法使いの猫」の画像を my_cat_wizard.png という名前で保存したいなら、下記となります。
      python3 sdxl-turbo.py --input "魔法使いの猫" --savepath "my_cat_wizard.png"
    • テキストだけでなく、手持ちの画像を元にして新しい画像を生成することもできます。これを Image-to-image と呼びます。この場合、–init_image で「この画像を元にして」と指定しつつ、–input でテキストの指示を追加することで、「元の画像をこんな感じに変えてほしい」と細かく指定できます。例えば、下記のように。
      python3 sdxl-turbo.py --input "cat wizard, gandalf, lord of the rings, detailed, fantasy, cute, adorable, Pixar, Disney, 8k" --init_image cat.png

4. 4 Latent Consistency Modelsモデル(所要時間:約4分)

  1. 概要:
    • Latent Consistency Models(LCMs)は、テキストから画像を生成する拡散モデルの生成プロセスを劇的に高速化するための技術です。従来の拡散モデルが高品質な画像を生成するために多数の計算ステップを必要としたのに対し、LCMsは事前学習済みの拡散モデルが潜在空間でどのようにノイズを除去していくかを学習します。これにより、**わずか数ステップ(例えば1〜4ステップ程度)**の計算で、元のモデルに近い品質の画像を生成することを可能にします。LCMsの大きな利点は、既存の様々な拡散モデル(Stable Diffusionなど)に後から適用できる点です。
  2. 環境準備:
    • まずはailia-modelsリポジトリ内の該当フォルダに移動します。
      cd diffusion/latent-consistency-models
  3. サンプル実行:
    • 以下のコマンドを実行します。なお、初回実行時は、 onnx ファイルと prototxt ファイルの自動ダウンロードが行われ、多少時間が掛かります
      python3 latent-consistency-models.py
    • 無事に実行されれば、下記のような女の子の出力画像を同フォルダ内で確認できるはずです。ただし、本モデルを実行するには10GB以上のメモリが必要ですので、余裕があれば実行してみましょう。
  4. カスタム実行例:
    • 下記がフォーマットとなります。
      python3 latent-consistency-models.py --input TEXT --savepath SAVE_IMAGE_PATH

5. 実用上の注意点

  • リソース管理
    • 初回実行時のファイルダウンロードには、ストレージの余裕と、安定したインターネット接続が必要です。
    • Macの機種によっては処理が遅くなる可能性があります。
    • メモリ不足の場合は、まずはモデルを切り替えてみてください。
  • プライバシーへの配慮
    • 個人情報を含む画像やテキストを使用する場合は、事前に同意を取得してください。
    • 生成データの保存には、適切な暗号化とアクセス制限を施しましょう。

6. まとめ

わずか20分で、anything_v3を含む4つの画像生成モデルを実装できました!

機械学習の進化により、AIフレームワークは推論の高速化と使いやすさを両立させています。ailia SDKは、この他にも370以上の事前学習済みモデルを活用でき、画像認識、物体検出、自然言語処理など幅広い分野に対応しています。

「高速」「使いやすさ」「豊富なモデル」を特徴とするailia SDKは、AIを実装する際の強力なツールとなるでしょう。ぜひ、ご自身の開発プロジェクトでお試しください。

7. 参考リンク

土橋克寿

証券会社、ビジネス誌副編集長を経て2013年に独立。欧米中印のスタートアップ取材や、各国首脳・テック企業幹部へのインタビューを多数実施。Yahoo!ニュース エキスパートなど国内外メディアで執筆。2018年より株式会社クロフィー代表取締役として、AI開発・PRコンサルティングなどを手掛ける。
https://news.yahoo.co.jp/expert/authors/dobashikatsutoshi
https://x.com/dobatty

SHARE THIS ARTICLE