Stable Diffusionとは?無料で使える画像生成AIの始め方を紹介


Stable Diffusionとは?無料で使える画像生成AIの始め方を紹介

はじめに:創造性を解き放つ画像生成AIの波

近年、人工知能(AI)の進化は目覚ましいものがありますが、特に私たちの創造性を刺激する分野として注目を集めているのが「画像生成AI」です。テキストで指示を与えるだけで、AIがまったく新しい画像を生成する――まるで魔法のようなこの技術は、イラストレーター、デザイナー、写真家、そして私たち一般ユーザーまで、あらゆる人々に新たな表現の可能性をもたらしています。

かつて、高品質な画像を生成するには専門的なスキルや高価なソフトウェア、多くの時間が必要でした。しかし、画像生成AIの登場により、誰もが気軽にアイデアを形にできるようになっています。SNSではAIが生成した美しい風景、ユニークなキャラクター、抽象的なアートなどが日々共有され、その進化のスピードは私たちを驚かせ続けています。

そんな画像生成AIの中でも、特に多くのユーザーに利用され、急速にコミュニティを拡大しているのが「Stable Diffusion(ステーブル・ディフュージョン)」です。MidjourneyやDALL-Eといった著名な画像生成AIがある中で、なぜStable Diffusionがこれほどまでに支持されているのでしょうか。その最大の理由の一つは、オープンソースであること、そして工夫次第で「無料」から始められる多様な選択肢が提供されている点にあります。

この記事では、Stable Diffusionがどのような技術に基づいているのか、なぜ多くの人に選ばれているのかといった基本的な知識から、実際にあなたが無料でStable Diffusionを使って画像生成を始めるための具体的な方法、基本的な使い方、そしてさらに一歩進んだ活用方法までを、詳細かつ丁寧に解説していきます。

「画像生成AIって難しそう」「特別なパソコンが必要なのでは?」と感じている方もいらっしゃるかもしれません。しかし、この記事を読み終える頃には、あなたもStable Diffusionを使って思い描いた画像を生成できるようになっているはずです。さあ、Stable Diffusionの世界へ、一緒に踏み出してみましょう。

Stable Diffusionとは? – 基礎知識

Stable Diffusionは、Stability AI社とLudwig Maximilian大学ミュンヘンのCompVisグループ、そしてRunwayMLなどが共同で開発し、2022年8月に公開された強力な画像生成AIモデルです。テキストによる指示(プロンプト)に基づいて高品質な画像を生成する能力を持ち、その特徴として「オープンソース」であることが挙げられます。

技術的な背景:潜在拡散モデル(Latent Diffusion Model, LDM)

Stable Diffusionの根幹をなす技術は「潜在拡散モデル(Latent Diffusion Model, LDM)」です。これは、より一般的な「拡散モデル(Diffusion Model)」を改良したものです。

  • 拡散モデル(Diffusion Model):
    拡散モデルは、画像に徐々にノイズを加えていき、最終的に完全にノイズになった状態から、今度は逆にノイズを取り除いて元の画像を復元する、という学習プロセスを経て画像生成を行います。学習時には「画像にノイズを加えるプロセス」と「ノイズから画像を復元するプロセス」の両方を学びます。そして画像生成時には、完全にランダムなノイズの状態からスタートし、「ノイズを取り除くプロセス」を逆向きに何度も繰り返すことで、ノイズの中に埋め込まれた潜在的な情報からクリアな画像を生成します。このノイズ除去のプロセスは、AIモデルが「これは猫の画像だ」「これは風景だ」といった、学習データに含まれるパターンや特徴を段階的に再構築していく作業と言えます。

  • 潜在空間での処理:
    一般的な拡散モデルは、元の画像と同じピクセル空間でノイズの加算・除去を行います。しかし、高解像度の画像を扱う場合、ピクセル数が非常に多いため計算コストが高く、多くのメモリを消費するという課題がありました。Stable Diffusionが採用するLDMは、この問題を解決するために「潜在空間(Latent Space)」と呼ばれる、元の画像よりもはるかに小さい次元の圧縮された空間で拡散プロセスを行います。

    具体的には、まず元の画像を「エンコーダー」というAIモデルを使って、情報量を保ったまま次元の小さな潜在表現に圧縮します。拡散プロセスはこの圧縮された潜在空間で行われ、ノイズの加算・除去が繰り返されます。そして最後に、潜在空間で生成された画像を「デコーダー」という別のAIモデルを使って、元のピクセル空間の画像へと復元します。

    この「潜在空間で拡散プロセスを行う」という手法は、高解像度の画像を扱いながらも計算量を大幅に削減し、比較的少ない計算資源(GPUメモリなど)で高速な画像生成を可能にしました。これが、Stable Diffusionが個人ユーザーのPC環境でも動作しやすい大きな理由の一つです。

  • テキストからの画像生成(Conditioning):
    Stable Diffusionは、テキストの指示(プロンプト)に基づいて画像を生成します。これは「Conditioning」と呼ばれる手法で実現されます。テキストプロンプトは「テキストエンコーダー」というAIモデルによって、AIが理解できる数値ベクトル(潜在表現)に変換されます。このテキストベクトルが、潜在空間でのノイズ除去プロセスに「条件」として与えられます。つまり、AIはノイズを除去して画像を復元する際に、テキストベクトルが示す内容(例:「青い空」「森の中の猫」など)に合致するように処理を進めるのです。

    テキスト以外にも、既存の画像(Image-to-Image)やスケッチ、深度マップなど、様々な情報を条件として与えることで、より多様な生成を行うことができます。

オープンソースであることの重要性

Stable Diffusionのもう一つの極めて重要な特徴は、そのモデルやコードが広く公開されている(オープンソースである)という点です。これはMidjourneyのようなクローズドなサービスと比較して、以下のような大きな違いと利点をもたらします。

  1. 高いカスタマイズ性: ユーザーはStable Diffusionのモデルをダウンロードし、自分の環境で実行できます。さらに、基本モデルに追加学習を施したり(ファインチューニング)、特定の画風や被写体に特化した小さなモデル(Checkpointモデル、LoRAなど)を開発したりすることが可能です。これにより、非常に多様なスタイルの画像を生成したり、特定の用途に特化したモデルを作成したりできます。
  2. 活発なコミュニティによる発展: 世界中の開発者やアーティストがStable Diffusionのコードや技術を基盤として、様々なツール(Web UIなど)や追加モデル、拡張機能を開発し、共有しています。これにより、Stable Diffusionを取り巻くエコシステムは非常に急速に拡大・発展しており、新しい機能や改善が次々と生まれています。
  3. 透明性: モデルのアーキテクチャや学習プロセスの一部が公開されているため、技術的な理解を深めやすく、研究開発が進みやすい環境です。
  4. 自由な利用: 基本的なモデルはCreativeML OpenRAIL-Mライセンスの下で提供されており、特定の制限(違法、非倫理的なコンテンツ生成の禁止など)はありますが、基本的には個人利用から商用利用まで、比較的自由に行うことができます(ただし、派生モデルのライセンスには注意が必要です)。
  5. プライバシーとコントロール: 自分のPCなどのローカル環境でStable Diffusionを実行できるため、生成プロセスがインターネット上のサーバーを経由せず、プライバシーをより確保できます。また、環境や設定を完全に自分のコントロール下に置けます。

このようなオープンソースの性質が、Stable Diffusionを単なる画像生成ツールに留まらず、無限の可能性を秘めたプラットフォームへと押し上げています。

他の画像生成AIとの比較

Stable Diffusion以外にも、高性能な画像生成AIは存在します。代表的なものに、MidjourneyやDALL-E(OpenAI開発)があります。それぞれの特徴を簡単に比較してみましょう。

  • Midjourney:
    Discord上でコマンドを入力して操作するのが主な方法です。非常に美しい、芸術性の高い画像を生成することに長けており、特にファンタジーアートやコンセプトアートなどで高い評価を得ています。ユーザーインターフェースは比較的シンプルで、プロンプトの書き方にも独特の文化があります。ただし、基本的には有料サービスであり、オープンソースではありません。手軽に高品質なアート画像を生成したい場合に適しています。
  • DALL-E:
    OpenAIが開発した画像生成AIで、現在はDALL-E 2やDALL-E 3が提供されています。WebインターフェースやAPIを通じて利用できます。非常に多様なスタイルやコンセプトに対応でき、特に「現実にはありえない状況」を描写する能力に優れています。また、DALL-E 3はChatGPTなどの他のOpenAIサービスと連携しやすいのも特徴です。こちらも基本的には有料サービスであり、クローズドなシステムです。
  • Stable Diffusion:
    前述の通り、オープンソースでカスタマイズ性が非常に高いのが特徴です。ローカル環境での実行や、Webサービス、クラウド環境など、様々な利用方法があります。多様なモデルや拡張機能が存在するため、特定の画風を追求したり、高度な編集機能(Img2img, Inpainting, ControlNetなど)を活用したりするのに適しています。無料から始められる選択肢が多いのも魅力です。ただし、意図通りの画像を生成するにはプロンプトエンジニアリングや各種設定にある程度習熟する必要があります。

どの画像生成AIが優れている、というよりは、それぞれに得意なことや利用形態に違いがあります。Stable Diffusionは、特に「自分の環境でじっくり画像生成に取り組みたい」「様々なカスタマイズを試したい」「無料で始めたい」といったユーザーにとって、非常に魅力的な選択肢と言えるでしょう。

Stable Diffusionのメリットとデメリット

オープンソースであるStable Diffusionは、その特性ゆえに他の画像生成AIにはない多くのメリットを持つ一方で、いくつかのデメリットも存在します。

メリット

  1. 高品質な画像生成能力: 最新のStable Diffusionモデルは非常に高品質な画像を生成できます。写真のようなリアルなものから、イラスト、アニメ、油絵風など、様々なスタイルに対応可能です。
  2. 圧倒的なカスタマイズ性: これがStable Diffusionの最大の強みかもしれません。基本モデルに加え、特定の画風やキャラクターに特化したCheckpointモデル、LoRA、Embedding(Textual Inversion)など、無数の追加モデルが存在し、自由に組み合わせて使用できます。これにより、他のAIでは難しい、非常に細かくコントロールされた画像を生成したり、特定の「推し」キャラクターを生成したりといったことが可能になります。
  3. ローカル環境での実行: 自分のPCにStable Diffusionを実行環境を構築すれば、インターネット接続なしで画像生成ができます。これにより、サーバーの混雑や利用制限を気にせず、生成枚数や生成時間を気にせずに利用できます。また、生成した画像や入力したプロンプトが外部に送信されないため、プライバシーの面でも安心です。
  4. コスト効率: ローカル環境で実行する場合、初期のPCパーツ購入費用(特にGPU)はかかりますが、一度環境を構築してしまえば、電気代以外のランニングコストは基本的にかかりません。無料または非常に安価に利用できるWebサービスやクラウドサービスも複数提供されています。
  5. 豊富な機能: テキストからの画像生成(Text-to-Image)だけでなく、既存の画像を編集・変換するImg2img、画像の一部を編集するInpainting、画像の周囲を拡張するOutpainting、画像の構図や人物のポーズなどを細かく制御できるControlNetなど、高度な編集・制御機能が豊富に用意されています。
  6. 商用利用の可能性: Stable Diffusionの基本モデル(CreativeML OpenRAIL-Mライセンス)で生成された画像は、原則として商用利用が可能です。ただし、使用する追加モデルや学習データによってはライセンスが異なる場合があるため、各モデルの利用規約を確認する必要があります。

デメリット

  1. 実行環境の要求スペック: 高速に高品質な画像を生成するためには、高性能なGPU(グラフィックボード)を搭載したPCが必要です。特に、より高解像度な画像を生成したり、計算量の多い機能(ControlNetなど)を利用したりする場合には、多くのVRAM(GPUメモリ)が必要となります。無料のクラウドサービスなどを利用すればPCスペックは不要ですが、利用時間に制限があったり、有料プランが必要になったりします。
  2. 環境構築の複雑さ: ローカル環境でStable Diffusionを実行するための環境構築は、ある程度のコンピュータに関する知識が必要です。OS、Python、必要なライブラリのインストール、Web UIの導入など、初心者にとってはハードルに感じられる場合があります。
  3. プロンプトエンジニアリングの習得: 意図通りの画像を生成するには、効果的なプロンプト(呪文)の書き方を学ぶ必要があります。様々なキーワードやその重み付け、ネガティブプロンプト(生成してほしくない要素を指定)などを工夫することで、生成される画像は大きく変わります。これは創造的な作業であると同時に、試行錯誤が必要なプロセスでもあります。
  4. 倫理的な問題と悪用リスク: 高い画像生成能力は、著作権を侵害する可能性のある画像を生成したり、フェイク画像(ディープフェイクなど)を作成したりといった悪用リスクも伴います。利用者は倫理的な観点や法的な側面にも配慮する必要があります。
  5. 学習データの偏り: Stable Diffusionはインターネット上の画像データセットで学習されています。この学習データに偏りがある場合、生成される画像にも偏りが出たり、意図しないステレオタイプな表現が生成されたりする可能性があります。

これらのメリット・デメリットを踏まえると、Stable Diffusionは「ある程度のPCスペックや技術的な知識があり、時間をかけてカスタマイズや詳細な設定を学びたい人」や、「無料で始めたい人」にとって非常に魅力的な選択肢と言えます。一方で、「手軽にサクッと綺麗な画像を生成したい」「技術的なことは苦手」という場合は、Midjourneyのようなサービスの方が使いやすいと感じるかもしれません。しかし、後述する無料の利用方法を使えば、PCスペックや複雑な環境構築の知識がなくても、Stable Diffusionの強力な機能を体験することが可能です。

無料でStable Diffusionを始める方法

Stable Diffusionを無料で利用する方法はいくつかあります。ローカル環境に構築するにはPCスペックが必要ですが、クラウドサービスやWebサービスを利用すれば、高性能なPCを持っていなくても気軽に始めることができます。ここでは代表的な無料の始め方を紹介します。

1. DreamStudio (Stability AI 公式)

Stable Diffusionの開発元であるStability AIが提供する公式のWebサービスです。ブラウザ上で簡単にText-to-ImageやImg2imgなどの機能を利用できます。

  • メリット:
    • 開発元公式なので安心感がある。
    • Web UIが分かりやすく、直感的に操作できる。
    • 最新のStable Diffusionモデルをすぐに利用できる場合が多い。
    • 特別な環境構築は一切不要、Webブラウザがあれば利用可能。
  • デメリット:
    • 無料利用枠は限定的(クレジット制)。一定枚数を生成すると追加でクレジットを購入する必要がある。
    • カスタマイズ性(モデルの種類など)は、ローカル環境や後述のColabに比べて限定的。
  • 始め方:
    1. DreamStudioのウェブサイト(https://beta.dreamstudio.ai/)にアクセスします。
    2. Googleアカウントなどでログインします。
    3. アカウント作成時や定期的に配布される無料クレジットが付与されているのを確認します。
    4. 画面左側でプロンプトや各種設定を行い、右側の「Dream」ボタンをクリックすると画像が生成されます。生成枚数や解像度に応じてクレジットが消費されます。

2. Hugging Face Spaces (Gradio Demo)

AIモデルやデータセットの共有プラットフォームであるHugging Faceでは、Stable Diffusionのデモ版が「Spaces」として公開されています。Gradioというライブラリを使って構築されたWeb UIで、多くの人が無料で利用できます。

  • メリット:
    • 完全に無料で利用できる。
    • 環境構築不要、Webブラウザがあれば利用可能。
    • 様々なバリエーションのデモが公開されている場合がある。
  • デメリット:
    • 多数のユーザーが同時に利用するため、非常に混雑しやすく、応答速度が遅くなったり、利用できなかったりすることが頻繁にある。
    • 利用できるモデルや機能はデモによって異なる。
    • 長時間の利用や大量生成には向かない。
  • 始め方:
    1. Hugging Faceのウェブサイト(https://huggingface.co/spaces)にアクセスします。
    2. 検索窓で「Stable Diffusion」などと検索し、公式または有名なデモ(例: stabilityai/stable-diffusion や、AUTOMATIC1111版Web UIのデモなど)を探します。
    3. 目的のデモページにアクセスすると、Web UIが表示されます。
    4. プロンプトなどを入力して画像を生成します。

3. Google Colaboratory (Google Colab)

Googleが提供するクラウドベースのJupyter Notebook環境です。Pythonコードの実行環境として提供されており、無料枠でGPUを利用できるため、Stable Diffusionの実行環境として非常に人気があります。

  • メリット:
    • 高性能なGPUを無料で利用できる(無料枠には制限あり)。
    • PythonのコードやNotebookを共有しやすいため、多くのユーザーがStable Diffusionを実行するためのNotebookを公開している。
    • ローカルPCのスペックに依存しない。
    • Web UI(AUTOMATIC1111版など)をクラウド上で実行し、それをローカルのブラウザから操作できる。
  • デメリット:
    • 無料枠には利用時間の制限がある(セッションの切断、1日の総利用時間など)。
    • 無料枠で利用できるGPUの種類が限定される場合がある(利用状況によって変動)。
    • 利用できるGPUメモリ(VRAM)に制限があるため、高解像度な画像生成には向かない場合がある。
    • 環境構築済みのNotebookを使うにしても、Notebookの実行や設定にある程度の理解が必要。
    • 長期間ファイルを保存するのには向かない(セッションが切れるとファイルが消える場合がある)。
  • 始め方(後述のAUTOMATIC1111版Web UI利用を前提とした概要):
    1. Googleアカウントが必要です。
    2. Google Colabのウェブサイト(https://colab.research.google.com/)にアクセスします。
    3. Stable Diffusionの実行用に作成されたColab Notebook(多くのユーザーや開発者がGitHubなどで公開しています。「stable diffusion web ui colab」などで検索すると見つかります)をColabで開きます。
    4. Notebookの内容を確認し、順番にコードセルを実行していきます。これにより、Stable Diffusionの環境がColabの仮想マシン上に構築されます。
    5. Notebookの最後に表示されるURL(多くの場合、「Public URL」または「Gradio link」といった名前)をクリックすると、ローカルPCのブラウザからColab上で実行されているWeb UIにアクセスできます。
    6. Web UI上でプロンプトなどを入力して画像を生成します。

どの方法から始めるべきか?

  • とにかく手軽に試したい、数枚だけ生成してみたい: DreamStudio または Hugging Face Spaces が最も簡単です。DreamStudioの方が安定しており、Hugging Face Spacesは混雑が激しいです。
  • 無料で、かつ Stable Diffusionの機能をある程度本格的に試したい、Web UIに慣れたい: Google Colab を利用するのがおすすめです。特に、広く利用されている AUTOMATIC1111版Web UI を Colab 上で実行する Notebook が多数公開されており、ローカル環境構築の練習にもなります。この記事でも、以降の「基本的な使い方」ではこの Colab + AUTOMATIC1111版Web UI を前提として解説を進めます。

まずはGoogle Colabを使った方法で、Stable Diffusionの強力な機能を体験してみるのが良いでしょう。

Stable Diffusionの基本的な使い方(無料サービス/Colabを中心)

ここでは、Google Colab上でAUTOMATIC1111版Web UIを使ってStable Diffusionを操作する基本的な流れを解説します。このWeb UIは機能が豊富で、ローカル環境でStable Diffusionを使う場合にも広く利用されているため、使い方を覚えておくと非常に役立ちます。

前提:
* Google ColabでAUTOMATIC1111版Web UIを起動するためのNotebookを用意し、実行してWeb UIにアクセスできる状態になっていると仮定します。Notebookの探し方や実行方法は割愛しますが、「stable diffusion web ui colab」などで検索して公開されているNotebookを参考にしてください。
* Web UIのバージョンやNotebookによっては、画面レイアウトや設定項目名が若干異なる場合があります。

Google ColabでWeb UIを起動する(概要)

  1. Colabで該当のNotebookを開きます。
  2. ランタイム設定でハードウェアアクセラレータが「GPU」になっていることを確認します。(メニューバーの「ランタイム」>「ランタイムのタイプを変更」)
  3. Notebookのコードセルを上から順番に実行していきます。通常、必要なライブラリのインストール、Stable Diffusion Web UIのクローン、モデルファイルのダウンロード、Web UIの起動といったステップが含まれています。
  4. すべてのセルがエラーなく実行されると、最後にWeb UIにアクセスするためのURLが表示されます。このURLは「Public URL」や「Gradio link」といった名前で表示され、https://xxxxx.gradio.app のような形式になっています。
  5. 表示されたURLをクリックすると、新しいタブでStable Diffusion Web UIが開きます。

Stable Diffusion Web UIの基本的な画面構成(Text to Imageタブ)

Web UIを開くと、多くのタブが表示されていますが、まずは「txt2img」(Text to Image)タブを使います。このタブが、テキストプロンプトから画像を生成するためのメイン画面です。

画面には主に以下のような要素があります。

  • モデル選択(Checkpoint): 生成に使用するStable Diffusionモデルを選択します。ドロップダウンリストで、ダウンロード済みのモデル(基本モデルや追加で導入したモデル)を切り替えることができます。
  • プロンプト入力欄:
    • Positive Prompt: 生成したい画像の要素やスタイル、雰囲気などをテキストで入力する欄です。「Masterpiece, best quality, an apple on the table」のように具体的に記述します。
    • Negative Prompt: 生成してほしくない要素や、よく生成されがちな不要な要素をテキストで入力する欄です。「Low quality, ugly, distorted, watermark」のように記述します。
  • 生成ボタン: 設定したプロンプトとパラメータで画像生成を開始します。
  • 設定項目エリア: サンプリングメソッド、ステップ数、解像度、CFG Scaleなど、画像生成のパラメータを設定するエリアです。
  • シード値 (Seed): 画像生成に使われる乱数の種を指定します。-1に設定すると毎回異なるシード値(ランダムな画像)で生成されます。特定のシード値を指定すると、同じプロンプトと設定で全く同じ画像を再現できます。
  • 生成枚数関連:
    • Batch count: 何回生成処理を行うか(例: 4にすると、設定されたBatch sizeの画像セットを4回生成)。
    • Batch size: 1回の生成処理で何枚の画像を同時に生成するか(例: 4にすると、一度に4枚の画像が表示される)。多くのVRAMを消費するため、PCスペックによっては設定できない場合があります。Colab無料枠では小さく設定するのが無難です。
  • 生成画像表示エリア: 生成された画像が表示されます。

プロンプトの入力方法:良い「呪文」を書くために

Stable Diffusionで意図通りの画像を生成するためには、プロンプト(しばしば「呪文」と呼ばれます)の質が非常に重要です。

  • 具体的に書く: 抽象的な言葉だけでなく、具体的な描写を心がけましょう。「美しい風景」ではなく、「夕焼け空に浮かぶ雲、手前には緑豊かな森、遠くには雪山」のように、見たままを詳細に描写するイメージです。被写体、場所、時間帯、天気、雰囲気などを具体的に指定します。
  • スタイルを指定する: 写真(photorealistic)、イラスト(illustration)、アニメ(anime)、油絵(oil painting)、水彩画(watercolor)、サイバーパンク(cyberpunk style)など、生成したい画像のスタイルを明示的に指定します。
  • 品質向上ワードを入れる: 高品質な画像を生成するために、一般的に効果的とされるキーワードがあります。「Masterpiece」「best quality」「ultra detailed」「high resolution」「٨k」などをプロンプトの冒頭や末尾に加えることが多いです。
  • アーティスト名を指定する: 特定のアーティストの画風を模倣したい場合、そのアーティスト名(例: 「by Van Gogh」「by Studio Ghibli」)をプロンプトに含めることで、その画風に寄せた画像を生成できることがあります。ただし、著作権には十分注意が必要です。
  • 単語の重み付け: Web UIによっては、プロンプト内の特定の単語に重み付けをして、その要素がより強く反映されるように指示できます。例えば (apple:1.2) のように記述すると、「apple」が通常よりも1.2倍強く反映されるようになります。逆に (apple:0.8) とすると弱くなります。丸括弧 () はデフォルトで1.1倍の重み、角括弧 [] はデフォルトで0.9倍の重みを持つことが多いです。
  • ネガティブプロンプトの活用: 生成してほしくない要素は必ずネガティブプロンプトに入力しましょう。特に、指が多い・少ない、顔が崩れている、低解像度、ウォーターマーク、といった、AIが苦手とする描写や望ましくない要素はネガティブプロンプトに記述することで改善されることが多いです。

プロンプト例:

  • Positive Prompt: (Masterpiece), best quality, (ultra detailed), photorealistic, a majestic cat sitting on a windowsill, looking out at a rainy cityscape, cozy indoor lighting, volumetric lighting, high resolution
    (最高品質、非常に詳細、写真のようにリアル、窓辺に座って雨の都市景観を見つめる威厳のある猫、居心地の良い室内の照明、ボリュームメトリックライティング、高解像度)
  • Negative Prompt: low quality, ugly, distorted, blurry, watermark, text, mutated, extra fingers, too many limbs
    (低品質、醜い、歪んでいる、ぼやけている、ウォーターマーク、テキスト、変形した、指が多すぎる、手足が多すぎる)

最初は簡単なプロンプトから始め、徐々に単語を増やしたり、重み付けを調整したりして試行錯誤を繰り返すのが上達の近道です。Civitaiなどの画像共有サイトで公開されている他のユーザーのプロンプトを参考にするのも非常に有効です。

主要な設定項目の解説

  • Sampling method (サンプリングメソッド): ノイズから画像を生成する際のノイズ除去の計算方法です。様々なアルゴリズムがあり、それぞれ生成される画像の雰囲気や計算速度が異なります。代表的なものには Euler a, Euler, DPM++ 2M Karras, DDIM, LMS などがあります。最初は Euler aDPM++ 2M Karras など、一般的に推奨されるものから試してみるのが良いでしょう。
    • Euler a: 比較的シンプルな手法で、生成速度が速い傾向があります。同じプロンプト・設定でも、ステップ数を変えると画像が変化する性質があります。
    • DPM++ 2M Karras: 高品質な画像を生成しやすいとされており、現在主流の手法の一つです。ステップ数を増やしても画像が大きく変化しにくく、安定した結果が得られやすいです。
  • Sampling steps (ステップ数): ノイズ除去のプロセスを何回繰り返すか、という数値です。ステップ数が多いほど、一般的に画像は詳細になり、プロンプトに忠実になりますが、生成に時間がかかります。少なすぎるとノイズが残ったり、不自然な画像になったりします。モデルやサンプリングメソッドにもよりますが、通常20〜30ステップ程度で十分な品質が得られることが多いです。
  • Width / Height (解像度): 生成する画像の幅と高さです。Stable Diffusionの基本モデルは512×512ピクセルで学習されていることが多いため、このサイズ付近で最も安定した品質が得られやすいです。無料のColabなどVRAMが限られている環境では、512×512や512×768、768×512といったサイズから始めるのがおすすめです。高解像度にするほど多くのVRAMと計算時間が必要になります。
  • CFG Scale (Classifier Free Guidance Scale): プロンプトへの忠実度をどの程度高くするかを調整するパラメータです。値が大きいほどプロンプトの内容を強く反映しようとしますが、高すぎると画像が不自然になったり歪んだりすることがあります。通常、7〜12程度の値がよく使われます。初めて試す際は7が良いでしょう。
  • Seed (シード値): 前述の通り、乱数の種です。特定のシード値を入力することで、同じ設定で画像を再現できます。気に入った画像が生成されたら、そのシード値を控えておくと、後で微調整する際に便利です。-1に設定するとランダムになります。

画像生成の実行と確認

プロンプトと各種設定が完了したら、「Generate」(または生成ボタン)をクリックします。Colabの場合、ColabのNotebook画面に戻ると、実行中のセルの下にプログレスバーが表示され、画像生成の進捗を確認できます。Web UIの画面には、生成中の画像がリアルタイムまたはステップごとに表示される場合もあります。

生成が完了すると、Web UIの生成画像表示エリアに画像が表示されます。Batch sizeを複数にしている場合は、複数の画像が表示されます。気に入った画像があれば、右クリックなどで画像を保存できます。

また、生成された画像の下や、画像右クリックメニューの「Save image with parameters」などで、その画像を生成した際の詳細なプロンプトや設定(パラメータ)を確認・保存できます。他の人が生成した素晴らしい画像を見つけた際に、その画像情報からプロンプトや設定を読み取る機能(後述のPNG Info)もあり、参考にすることで自分の生成スキル向上に役立ちます。

さらに活用するための機能(基本編)

基本的な画像生成ができるようになったら、以下の機能を使ってさらにStable Diffusionを便利に使いこなしましょう。

Seed値を固定・変更して試す

特定のシード値を入力欄に入力することで、同じ設定で何度でも全く同じ画像を生成できます。これは、プロンプトや設定を少しだけ変えて、その変化を確認したい場合に非常に便利です。

  • 同じシード値でプロンプトや設定を変えてみる: 例えば、シード値を固定したまま、プロンプトに新しい単語を追加したり、CFG Scaleを変えたりすることで、どのような変化が起こるか実験できます。
  • 近くのシード値を試す: 特定のシード値で気に入った画像が生成された場合、そのシード値の前後(例: シード値が12345だったら、12344や12346など)を試してみると、似ているけれど少し違うバリエーションが生成されることがあります。

Prompt内の単語の強調・重み付け

前述の通り、()[] を使って単語の重み付けを行うことができます。

  • (): 強調(デフォルト約1.1倍) 例: a (big) dog
  • []: 弱化(デフォルト約0.9倍) 例: a [small] house
  • () with weight: 明示的に重みを指定 例: a (big:1.5) dog, a (small:0.7) house
  • [] with weight: [word:weight] の形式は多くのWeb UIでサポートされていますが、これも重み付けの一種です。
  • {}: さらに強調(より強い重み) ※Web UIによっては別の記法の場合もあります。

これらの記法を使うことで、「空の色は青くしたいけど、雲はあまり強調したくない」「特定のキャラクターの髪の色だけを確実に反映させたい」といった細かい調整が可能になります。

生成パラメータの確認

Web UIで生成された画像の下には、その画像を生成した際のプロンプトや設定がテキストとして表示されることがあります。これをコピーして保存しておけば、後で同じ設定を再現したり、他の人と共有したりできます。

また、多くのWeb UIでは、生成した画像ファイル自体にこれらのパラメータ情報がPNGのメタデータとして埋め込まれます。

PNG Infoで他人の生成画像を分析

Web UIには「PNG Info」というタブ(または同様の機能)があります。これを使うと、Stable Diffusionで生成され、パラメータ情報が埋め込まれているPNG画像をアップロードするだけで、使用されたプロンプト、ネガティブプロンプト、サンプリングメソッド、ステップ数、CFG Scale、シード値、使用モデルなどの情報を読み取ることができます。

これは、SNSなどで見かけた素晴らしい画像がどのような「呪文」や設定で生成されたのかを解析し、自分の画像生成に活かすための強力なツールです。積極的に活用して、プロンプトエンジニアリングのテクニックを学びましょう。

Stable Diffusionをより深く楽しむための知識(応用編の触り)

Stable Diffusionの魅力は、基本的なText-to-Imageだけにとどまりません。ここでは、さらに表現の幅を広げるための応用的な機能や、追加モデルの概念を紹介します。これらを使いこなすことで、あなたの画像生成は格段にレベルアップします。Colab環境でも利用できる機能が多いので、ぜひ挑戦してみてください。

img2img (Image to Image)

Text-to-Imageがゼロから画像を生成するのに対し、Img2imgは既存の画像を基に、プロンプトに従って画像を変換または編集する機能です。Web UIの「img2img」タブで利用できます。

  • 使い方:

    1. 「img2img」タブを開きます。
    2. 変換したい画像をアップロードエリアにドラッグ&ドロップまたは選択してアップロードします。
    3. Text-to-Imageと同様に、プロンプト(変換後の画像に含めたい要素)やネガティブプロンプトを入力します。
    4. 重要な設定項目として Denoising strength があります。
      • Denoising strength (0.0~1.0): 元の画像をどの程度ノイズ化してから再生成するか、つまり元の画像の情報をどの程度残しつつプロンプトを反映させるかを指定します。
        • 0.0に近いほど元の画像に忠実で変化が少ない。
        • 1.0に近いほど元の画像の面影がなくなり、ほぼText-to-Imageのような結果になる。
        • 通常、0.5〜0.8程度の値で、元の画像の構図や色合いを残しつつ、プロンプトによる変化を与えるのに使われます。
    5. 他の設定項目(サンプリングメソッド、ステップ数など)も適宜調整し、生成します。
  • 活用例:

    • スケッチや線画を基に、プロンプトで指定したスタイル(アニメ風、水彩画風など)で着色や仕上げを行う。
    • 写真の画風を油絵風やアニメ風に変換する。
    • 生成したAI画像の雰囲気を少し変えたい場合に、Img2imgにかけて再生成する。
    • アップロードした写真に、プロンプトで指定した要素(例: 「猫耳」「ファンタジーな翼」)を付け加える。
    • 画像の解像度を上げる(後述のUpscalerと組み合わせたり、タイル処理を行ったりする機能もあります)。

Inpainting / Outpainting

  • Inpainting (領域内編集): 画像の一部をマスク(塗りつぶし)し、そのマスクした領域をプロンプトに従って再生成する機能です。Web UIの「img2img」タブ内のサブタブとして提供されていることが多いです。
    • 活用例: 画像内の人物の服装を変える、不要な物体を消す、壊れている部分を修復する、顔だけ描き直す、など。
  • Outpainting (領域外拡張): 画像の周囲に新しい領域を生成し、画像を拡張する機能です。
    • 活用例: 写真の画角を広げる、イラストの背景を付け加える、など。

これらの機能を使うことで、単に画像を生成するだけでなく、生成した画像を編集したり、既存の画像をベースに作業を進めたりすることが可能になります。

Checkpointモデルの導入:生成する画像の「画風」を変更

Stable Diffusionの基本モデルは、様々な種類の画像で学習されています。しかし、特定のジャンル(例えばアニメ、写実的なポートレート、特定のアーティストの画風など)に特化した画像を生成したい場合、そのジャンルの画像を追加学習させたCheckpointモデル(または単に「モデル」)を利用するのが一般的です。

  • Checkpointモデルとは: Stable Diffusionモデル全体を特定のデータセットでファインチューニング(追加学習)したものです。モデルファイルは比較的サイズが大きく(数GB程度)、.ckpt または .safetensors という拡張子を持つことが多いです。.safetensors はセキュリティリスクを低減した新しい形式です。
  • モデルの入手方法:
    • Stable Diffusionの公式モデル(SD1.5, SD2.1など)
    • ユーザーが独自に学習させて公開しているモデル:Civitai (https://civitai.com/) というサイトが最も有名で、アニメ系、実写系、ファンタジー系など、様々な画風のモデルが共有されています。
  • Web UIでの使い方:
    1. 使用したいモデルファイルをダウンロードします。
    2. ダウンロードしたモデルファイルを、Web UIのインストールディレクトリ内の models/Stable-diffusion フォルダに配置します(Colabの場合は、ColabのNotebookで指定されたパスにアップロードまたはダウンロードします)。
    3. Web UIのモデル選択ドロップダウンリストの横にある更新ボタンをクリックするか、Web UIを再起動すると、新しいモデルがリストに表示されます。
    4. リストから使用したいモデルを選択すると、そのモデルで画像が生成されるようになります。

Checkpointモデルを切り替えるだけで、生成される画像の雰囲気や得意な表現が全く異なるものになります。Civitaiなどで色々なモデルを探して試してみるのが、Stable Diffusionの楽しみ方の一つです。

LoRA (Low-Rank Adaptation):特定のスタイルやキャラクターを追加学習

Checkpointモデルがモデル全体を追加学習するのに対し、LoRAはモデルのごく一部(低ランクの行列)だけを追加学習させる技術です。これにより、特定のキャラクター、特定の服装、特定の画風など、ピンポイントな要素やスタイルを追加学習させることができます。

  • LoRAの特徴:
    • ファイルサイズが非常に小さい(数十MB~数百MB程度)。Checkpointモデルのように数GBのファイルをダウンロードする必要がない。
    • 複数のLoRAを組み合わせて使用できる。
    • 自分で特定の画像セットを使って簡単に学習させることが可能(ただし、学習環境の構築は別途必要)。
  • LoRAの入手方法: Checkpointモデルと同様に、Civitaiなどのサイトで多数のLoRAが公開されています。
  • Web UIでの使い方:
    1. 使用したいLoRAファイルをダウンロードします。
    2. ダウンロードしたLoRAファイルを、Web UIのインストールディレクトリ内の models/lora フォルダに配置します(Colabの場合は指定されたパスに配置)。
    3. Web UIのプロンプト入力欄の下などにある、LoRAを呼び出すためのボタン(Web UIのバージョンによって場所が異なります。多くの場合、プロンプト欄の下にある生成ボタン横のマークから選択します)をクリックします。
    4. 表示されるリストから使用したいLoRAを選択すると、プロンプト入力欄に <lora:file_name:weight> のようなタグが自動的に挿入されます。
      • file_name: LoRAファイルの名前
      • weight: LoRAの適用強度(0.0~1.0程度が一般的。1.0が最も強く適用)
    5. Text-to-ImageやImg2imgのプロンプトと組み合わせて画像を生成します。

例えば、特定のキャラクターのLoRAと、特定の画風のLoRAを組み合わせて、そのキャラクターをその画風で生成するといったことが可能です。LoRAは非常に多様なものが開発されており、Stable Diffusionの表現力を飛躍的に高める重要な要素です。

Embedding (Textual Inversion):特定の概念を短いキーワードで表現

Embedding (または Textual Inversion) は、特定の概念(特定の顔、特定のスタイル、特定の物体など)を学習させ、それを短いキーワード(トークン)で呼び出せるようにする技術です。LoRAよりもさらにファイルサイズが小さく(数百KB〜数MB)、より抽象的な概念や特定の単語のニュアンスを学習させるのに使われることがあります。

  • Embeddingの特徴: ファイルサイズが小さい。特定の単語やフレーズに関連する視覚的特徴を学習させる。
  • Embeddingの入手方法: Civitaiなどで公開されています。ファイル拡張子は .pt または .safetensors です。
  • Web UIでの使い方:
    1. 使用したいEmbeddingファイルをダウンロードします。
    2. ダウンロードしたEmbeddingファイルを、Web UIのインストールディレクトリ内の embeddings フォルダに配置します(Colabの場合は指定されたパスに配置)。
    3. Web UIのプロンプト入力欄に、Embeddingファイルのファイル名(拡張子なし)をキーワードとして入力します。例えば、ファイル名が easynegative.pt なら、ネガティブプロンプトに easynegative と入力します。
    4. キーワードを入力するだけで、そのEmbeddingで学習された概念がプロンプトに反映されます。

特に、多くのネガティブプロンプトを一つにまとめたEmbedding(例: easynegative)は非常に便利で、これ一つをネガティブプロンプトに入れるだけで、よくある生成崩れを抑制する効果が期待できます。

ControlNet:構図やポーズを細かく制御

ControlNetは、Stable Diffusionの生成プロセスに追加の条件を与えることで、生成される画像の構図、ポーズ、形状、奥行き、線画などを非常に細かく制御できる強力な拡張機能です。

  • ControlNetの仕組み: 元画像から、線画、深度マップ、人物の骨格(オープンポーズ)、セグメンテーションマップなどの「条件マップ」を抽出し、その条件マップが画像生成の際にAIに指示として与えられます。これにより、プロンプトの内容に関わらず、元画像の構図やポーズなどを維持したまま、プロンプトに従った画像を生成できます。
  • ControlNetの利用方法: Web UIにControlNet拡張機能と対応するモデルをインストール・導入することで利用可能になります。Web UIのタブに「ControlNet」セクションが追加されます。

    1. ControlNet拡張機能とControlNetモデルファイルをダウンロードし、Web UIの指定されたフォルダに配置します。
    2. ControlNetセクションで「Enable」にチェックを入れます。
    3. 条件マップとして使用したい画像をアップロードします。
    4. 元画像からどのような条件マップを抽出するか(Preprocessor)、そしてどのようなControlNetモデルを使用するかを選択します(例: Canny(線画)、Depth(深度)、OpenPose(人物の骨格)など)。
    5. Text-to-Imageタブと同様にプロンプトや設定を行い、生成します。
  • 活用例:

    • 描いたラフスケッチや線画を基に、詳細なイラストや写真のような画像を生成する。
    • 人物写真のポーズをそのままに、服装や顔、背景などをプロンプトで変更する。
    • 写真の奥行き情報を利用して、同じ構図でまったく異なる風景を生成する。
    • 特定の物体や領域の形状を固定して画像を生成する。

ControlNetは、プロンプトだけでは難しかった構図やポーズの制御を可能にし、AI画像生成の自由度を飛躍的に向上させました。プロのクリエイターもデザインのアイデア出しやベース画像の生成に利用するなど、その応用範囲は非常に広いです。Colab環境でも利用可能なNotebookが公開されています。

注意点と倫理について

Stable Diffusionを含む画像生成AIの利用にあたっては、いくつかの重要な注意点と倫理的な問題について理解しておく必要があります。

著作権の問題

  • 学習データ: Stable Diffusionは、インターネット上の膨大な画像データセットを学習して画像を生成します。この学習データに著作権で保護された画像が含まれている可能性があり、それが生成される画像に影響を与える可能性が指摘されています。学習データに関する著作権の扱いは、法的にまだ明確な結論が出ていない部分が多く、議論が続いています。
  • 生成された画像の著作権: AIが生成した画像は、原則として「人間の創作的寄与」がない限り著作権が発生しない、あるいは非常に限定的であると解釈されることが多いです。ただし、プロンプトの工夫、パラメータ調整、Img2imgやInpaintingによる編集など、人間が創造的な意図を持ってAIを操作し、その結果生まれた画像には、人間の寄与の度合いに応じて著作権が発生する可能性があります。この点も法的な判断はケースバイケースであり、今後の議論や判例の蓄積が待たれるところです。
  • 特定のアーティストの画風やキャラクターの模倣: プロンプトに特定のアーティスト名を入れたり、キャラクターのLoRAやEmbeddingを使用したりすることで、その画風やキャラクターに似た画像を生成できます。しかし、これは既存の著作権や肖像権を侵害するリスクがあります。特に商用利用を行う場合は、権利者の許諾を得るか、権利を侵害しないような配慮(例: 特定のアーティストやキャラクターに酷似させすぎない、既存の作品と見間違えるような生成を避ける)が必要です。

公序良俗に反するコンテンツの生成・利用

Stable Diffusionは強力な画像生成能力を持つため、不適切なコンテンツ(例: 性的、暴力的、ヘイトスピーチ、他者の肖像権を侵害する画像など)を生成・拡散するために悪用されるリスクがあります。Stable Diffusionの基本モデル(CreativeML OpenRAIL-Mライセンス)では、このような不適切なコンテンツの生成は明確に禁止されています。

利用者は、社会的な規範や倫理観、そして各モデルのライセンス規約を遵守し、責任ある利用を心がける必要があります。不適切なコンテンツの生成や共有は、法的な問題に発展するだけでなく、AI技術全体の健全な発展を妨げる行為でもあります。

情報リテラシーの重要性

AIが生成した画像は、非常にリアルに見えることがあります。これにより、フェイクニュースや誤情報の拡散に悪用される可能性があります。AI生成画像であることを明記するなどの配慮や、インターネット上の画像を鵜呑みにせず、情報源を確認するといった情報リテラシーの重要性が増しています。

モデルごとのライセンス確認

Stable Diffusionの基本モデルはCreativeML OpenRAIL-Mライセンスですが、ユーザーが独自に学習・公開したCheckpointモデルやLoRAなどは、それぞれ異なるライセンスや利用規約が設定されている場合があります。商用利用を考えている場合や、特定の目的で利用する場合は、必ず使用するモデルの配布元サイトなどでライセンス情報を確認し、規約を遵守するようにしてください。

Stable Diffusionは強力なツールであり、その利用には常に責任が伴います。技術の可能性を追求する一方で、倫理的・法的な側面にも十分な注意を払い、安全で建設的な方法で活用していくことが求められます。

まとめと今後の展望

Stable Diffusionは、テキストから高品質な画像を生成できる画期的なAI技術です。オープンソースであることによる圧倒的なカスタマイズ性、そしてGoogle Colabなどを利用すれば無料で始められる手軽さが、世界中のクリエイターやAIユーザーを魅了しています。

潜在拡散モデルという技術基盤の上に成り立っているStable Diffusionは、単なる画像生成だけでなく、既存の画像を編集するImg2img、部分的な修正を行うInpainting、構図を細かく制御するControlNetなど、多様な機能を備えています。さらに、CheckpointモデルやLoRAといった追加モデルを導入することで、生成できる画像の画風や内容を自在に変化させることができます。

この記事では、Stable Diffusionの基本的な仕組みから、DreamStudio、Hugging Face Spaces、Google Colabといった無料での始め方、そしてWeb UIを使った基本的な操作方法、プロンプトの書き方、主要な設定項目、さらにはImg2imgやCheckpoint/LoRA/ControlNetといった応用的な概念までを解説しました。

もちろん、Stable Diffusionの機能はここに書ききれないほど多岐にわたります。また、技術は日々進化しており、新しいモデルやツール、機能が次々と登場しています。しかし、この記事で紹介した基本的な知識と操作方法を習得すれば、あなたはStable Diffusionの世界へしっかりと足を踏み入れることができるでしょう。

画像生成AIは、私たちの創造的なプロセスを大きく変えつつあります。ゼロからアイデアを形にする、既存の作品に新しい命を吹き込む、あるいは単に楽しみとしてユニークな画像を生成するなど、その活用方法は無限大です。Stable Diffusionはその中でも特に自由度が高く、自分の手でAIを「調教」し、理想の画像に近づけていく面白さがあります。

まずは無料で利用できる環境から、この記事を参考にプロンプトを書いて画像を生成してみてください。最初は意図通りの画像が生成されないこともあるかもしれませんが、試行錯誤を繰り返すうちに、きっとあなたの思い描くイメージが形になる瞬間が訪れるはずです。

Stable Diffusionは、個人の創造性を解き放つ強力なツールです。技術的な側面だけでなく、倫理や著作権といった側面にも注意を払いながら、この新しい時代の創造性を存分に楽しんでいきましょう。あなたの素晴らしいAI画像生成ライフが始まることを願っています。

免責事項

この記事の内容は、Stable Diffusionおよび関連技術に関する筆者の執筆時点(2023年末〜2024年初頭にかけての状況を主に想定)での理解に基づいています。Stable Diffusionおよび関連技術は非常に速いペースで進化しており、新しいモデルやツールが登場したり、既存のサービスの仕様や利用規約が変更されたり、法的な解釈が進展したりする可能性があります。

この記事の情報が、その後の変化によって古くなったり、正確でなくなったりする可能性があることをご承知おきください。特に、各種サービスの無料利用枠の条件、Colab環境の仕様、モデルのライセンス、著作権に関する法的な解釈などは、将来的に変更される可能性が高い点です。

Stable Diffusionの利用にあたっては、常に最新情報を確認し、ご自身の判断と責任において行ってください。また、利用規約やライセンスに違反しないよう十分ご注意ください。


コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール