Stable Diffusion 2で高画質画像生成

スポンサーリンク
Stable Diffusion
スポンサーリンク

Stable Diffusion2での画像生成に挑戦してみます。以前のv1に比べて、高解像度の768×768に対応した新しい安定拡散モデルを用いて、高画質の画像生成が可能になっているそうです。

Stable Diffusion2について

Stable Diffusionについてはテキストから簡単に高画質の画像を生成できるAIで、それがオープンソースとなって誰でも使えるようになったことでとても話題になりました。Stable Diffusion2はv1をベースに改良が加えられ、さらに使いやすくなっています。
主な改良点
・LAION-5Bというサブセットで学習した新しいモデルで学習しなおし、少ないステップ数でより高画質な画像(512pxから768pxに進化)を提供できる。
・フィルタによって危険性の低い画像を生成するようになった。(賛否はありますが。。。)
・プロンプトの改善により、有名人や固有のアーティストのインパクトが小さくなった。
・テキストベースで画像を修復するinpaintingが進化した。

全体的に従来モデルで問題となっていた部分を緩和させ、より健全な形に進化したといえます。

前準備

前準備として、GPU搭載のPCを用いて、GPUのPyTorch環境を構築します。GPUのメモリではうまく実行できない可能性があります。もし、そうしたPCがない場合は、Google Colabを使えば、実行できると思います。今回は、ローカル環境で実行してみます。GPUを使ったPyTorchの環境構築については、下のまとめ記事をご参照ください。

GPU環境構築
WindowsへのNVIDIA CUDAのGPU環境構築
WindowsネイティブへのCUDA, PyTorchの環境構築
パソコン選び
生成系AIを使うためのGPU搭載おすすめパソコン

PCの構成(参考)

OS:Windows11HOME(22H2)
CPU:12thGen Intel Core i5-12400F (2.5GHz)
GPU: NVIDIA GeForce RTX 3080(10GB)
RAM: 32GB

diffusers2のインストール

開発者のGithubサイトの説明を参考にインストールしていきます。

PyTorchを導入している環境で、下記のように入力してStable Difuusion2の対応したdiffusersをインストールします。

pip install diffusers[torch]==0.9 transformers
pip install --upgrade scipy

Stable Diffusion2で画像を生成

それでは、上記ページのサンプルコードを参考に画像生成してみます。初回のみモデルの読み込みで時間がかかりますが、数秒で1枚の画像が生成します。

import torch
from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler

repo_id = "stabilityai/stable-diffusion-2"
pipe = DiffusionPipeline.from_pretrained(repo_id, torch_dtype=torch.float16, revision="fp16")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe = pipe.to("cuda")

prompt = "CG artwork of Fantastic Northern Lights and polar bears, very high quality, high detail"

image = pipe(prompt, guidance_scale=7.5, num_inference_steps=50).images[0]
file_name = "polar_bears.png"
image.save(file_name)
> python demo.py

他にも関連記事をあげているので、ぜひご覧ください。わからないことがあれば、投稿フォームからご質問していただければと思います。

関連記事

WindowsネイティブへのCUDA, PyTorchの環境構築
WindowsネイティブへのCUDA、Pytorchの環境構築をまとめます。PyTorchは今機械学習の世界で最も使われているフレームワークの一つです。導入難易度も、TensorFlowよりも低めとのことです。今回はWindowsネイティブへの環境構築を行っていきます。
Stable Diffusion 2で高画質画像生成
Stable Diffusion2での画像生成に挑戦してみます。以前のv1に比べて、高解像度の768x768に対応した新しい安定拡散モデルを用いて、高画質の画像生成が可能になっているそうです。
Stable Diffusionのモデルをローカルに保存
Stable Diffusionのモデルは、デフォルトでは実行時にwebからダウンロードされ、キャッシュに保存されます。2度目以降は、キャッシュから使用されますが、ローカルで安定してStable Diffusionを使用するために、特定の場所に保存する方法をまとめました。
Stable Diffusion Pipelineまとめ(1)text2img
Stable Diffusion Pipelineを公式ページをChatGPTの解説にしてもらいながらかみくだきました。パラメータの意味などをしっかり理解すると生成する画像の意味もよく理解できます。
WindowsでGitとGitHubを使う
WindowsでGitとGit-Hubの基本的な使い方をまとめていきます。Gitは作成したプログラムのソースコードなどの変更履歴を管理するアプリです。Gitでは、それぞれの変更履歴ごとにリポジトリと呼ばれる場所にファイルの状態を保存することによって、バージョンを管理し、複数人での共同作業をやり易くします。一方で、GitHubはGitHub社が提供する世界有数のGitホスティングサービスで、有料の商用プランの他、無料でのリポジトリ環境が提供されている。今回は、GitやGitHubのサービスを利用する上での最低限の知識をまとめてみます。今回は個人でGitとGitHubを使う場合に役立つコマンドを中心にまとめました。
WebUIでStable Diffusion 1からの手順
WebUI(AUTOMATIC1111)でStable Diffusionを動かしてみます。比較的軽い環境で動くので、folk版のStable Difuusionしか動かなくても使える可能性はあります。今回は1から導入の手順をまとめました。

【広告】Stable Diffusionをするなら、GPU搭載のPCがおススメです。自作もよいけど、難しい人はBTOのPCもおすすめです。

パソコン工房GeForce RTX 3070 Ti / 3060 / 3050搭載ノート大幅値下げ! デル株式会社 HP Directplus -HP公式オンラインストア-




コメント

  1. くまいぬ より:

    venvでのPython3.9の仮想環境構築
    venvでPython3.9の仮想環境を作っていきます。今回は「torch_env」という名前で仮想環境を立ち上げます。次いで、よく使うライブラリをインストールします。

    > py -3.9 -m venv ./torch_env
    > cd .\torch_env\
    > .\Scripts\Activate.ps1
    (torch_env) > python -V
    Python 3.9.13
    (torch_env) > python -m pip install -U pip setuptools
    (torch_env) > python -m pip install pandas
    (torch_env) > python -m pip install matplotlib
    (torch_env) > python -m pip install jupyterlab
    PyTorchのインストール

    まったくわかりません・・・・

    • タカ より:

      Stable Diffusionを使うなら、GPU環境じゃないときついから、CUDA Toolkitもあらかじめ入れておく必要があります。
      それができていて、Python3.9を公式ホームページからインストールしていたら、ターミナルでコマンドを入れていけば、PyTorchの環境が作れると思います。
      もし、NVIDEAのGPUを積んでいないPCの場合は、Google Colabでやった方がよいかも。
      絵を出したいだけなら、自分はやったことがないけど、Google Colab+AUTOMATIC1111の環境が楽だと思います。(検索したらノートブックを公開しているページも結構あるみたい)