Trinart Stable Diffusionでテキストからイラストを自動生成する

Trinart Stable Diffusionって何?
Stable Diffusionがアニメ/漫画スタイルに調整されたものだよ。

Trinart Stable DiffusionはTwitterのとりんさまAIを改良したモデルでアニメや漫画にチューニングされているようです。

This model is NOT the 19.2M images Characters Model on TrinArt, but an improved version of the original trinsama Twitter bot model. This model is intended to retain the original SD's aesthetics as much as possible while nudging the model to anime/manga style.

TwitterのとりんさまAI@で「お絵かき (お題)」と投げるとお絵かきしてくれるというアカウントです。

Trinart Stable DiffusionはStable Diffusionが元になっているけど、アニメや漫画のイラストが欲しいならこっちの方が特化されているだろうから気になっちゃいますよね。

今回はこのTrinart Stable Diffusionを使ってイラストを生成していきますよ。

Trinart Stable Diffusionでイラストを作ってみよう。

Trinart Stable Diffusionでイラストを生成する

Google Colaboratoryから実行するようにします。naclbit/trinart_stable_diffusion_v2に掲載されているサンプルコードを動かしてみましょう。

ランタイムをGPUに設定する

まずはノートブックを新規作成してランタイムをGPUに設定します。

実行する

必要なモジュールをインストールしたらコードを実行しましょう。

!pip install diffusers==0.3.0
!pip install transformers ftfy
from diffusers import StableDiffusionPipeline

# using the 60,000 steps checkpoint
pipe = StableDiffusionPipeline.from_pretrained("naclbit/trinart_stable_diffusion_v2", revision="diffusers-60k")
pipe.to("cuda")

image = pipe("A magical dragon flying in front of the Himalaya in manga style").images[0]
image

生成には少し時間がかかるけど、少し待ってみると生成されましたね。

おードラゴンが生成されたね。
そうだね、色々文言は変更してみるといいよ。

Trinart Stable Diffusionの別のモデルを使ってイラストを生成する

diffusers経由で使ってみたけど、新しいモデルの場合はそれが使えるかどうかよくわからなかったのでTrinartのモデルをgitcloneして使います。

使うモデルはnaclbit/trinart_characters_19.2m_stable_diffusion_v1です。Google ColaboratoryからGPUを使ってやりましょう。

ランタイムをGPUに変更する

パッケージのインストール

!pip install -e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers
!pip install diffusers omegaconf invisible-watermark einops pytorch_lightning transformers taming-transformers clip kornia

画像の出力先作成

%mkdir outputs

Trinartモデルのインストール

!git lfs install
!git clone https://huggingface.co/naclbit/trinart_characters_19.2m_stable_diffusion_v1

Stable Diffusionのインストール

!git clone https://github.com/CompVis/stable-diffusion.git
%cd stable-diffusion
!pip install -e .

画像を生成する

コマンドを入力してテキストから画像を生成します。promptに生成して欲しい画像をテキストで入力すると作ってくれる。

!python scripts/txt2img.py \
    --ckpt /content/trinart_characters_19.2m_stable_diffusion_v1/trinart_characters_it4_v1.ckpt \
    --outdir /content/outputs \
    --skip_grid \
    --n_iter 1 \
    --n_samples 1 \
    --prompt "kawaii girl wearing white shirt with black hat with blonde hair is playing game in her room"

おおなかなか良い感じじゃん。
そうだね、これも色々コマンドやpromptのテキストによって生成されるものが変わってくるから面白いよ。

Trinart Stable Diffusionを使ってイラストをテキストから生成するっていうことをやってみたけど、やっぱり凄いですね。

こういうのはどんどん進歩していくだろうし、素人でも無料で試すことができてしまうのは恐ろしい。気になった人は使ってみるといいでしょう。