![見出し画像](https://assets.st-note.com/production/uploads/images/132064104/rectangle_large_type_2_f9258cf10629ced8629e85a1c4a29d0e.png?width=1200)
続キリンを描く - SDXLとGPTs Prompter編
これまで、キリンをAIで描画することに情熱を傾けてきました。今回は、SDXLを使って描画してみます。前回試したDALL-E3と良い勝負できています。
そして、画像生成のプロンプトを作成するのには、ChatGPTの有料版で使えるGPTs「Stable Diffusion Prompter」を使ってみました。「Stable Diffusion Prompter」は、なかなかツボを押さえていて良い感じでした。
戦いの歴史
なお、今回の作品を紹介する前に、これまでの歴史を振り返ってみます。DALL-E3で描くキリンは、とにかく芸術的で美しかったです。かなり満足でした。
以下、Stable Diffusion2.1とオリジナルのChatGPTのプロンプトで頑張って描いたものです。これは、それほどうまくいったとは言えませんでした。。。
今回、美しいキリンの描画に成功した例
そして、今回の作品紹介です!!まずは成功したいくつかの例を!
「雪とキリン」というプロプントで生成したキリンの絵です。
![](https://assets.st-note.com/img/1708865001974-jsiZtK2xai.png?width=1200)
![](https://assets.st-note.com/img/1708865045234-Xt6XvIYp9H.png?width=1200)
組合せで勝負
「キリンと富士山」と指定してプロンプトを作ってみました。
![](https://assets.st-note.com/img/1708865076361-WujCjmyyPL.png?width=1200)
続けて、「SFの世界で、近未来の施設とキリン」で作ってみました。
![](https://assets.st-note.com/img/1708865102088-kfNcQbdwjF.png?width=1200)
次は「遺跡とキリン」です。
![](https://assets.st-note.com/img/1708865147926-XoMPgPL8pP.png?width=1200)
![](https://assets.st-note.com/img/1708865483790-2RjXjiR9vj.png?width=1200)
「迷宮の中のキリン。遺跡」で描いてもらいました。
![](https://assets.st-note.com/img/1708865539632-Zb2Wzd6EvH.png?width=1200)
学校と美少女とキリン
「アニメ風で、学校の中のキリン。美少女と一緒に。」で描いてもらいました。なんか、良い雰囲気です。
![](https://assets.st-note.com/img/1708865816326-TxmawR8o8s.png?width=1200)
良かったのでもう一枚!
![](https://assets.st-note.com/img/1708865875389-lnYMoLkuKg.png?width=1200)
変わり種
次に、少し変わり種で。「美女とキリン。南国の海で。」で描いてもらいました。
![](https://assets.st-note.com/img/1708865979343-Iz8BoaEFGy.png?width=1200)
幻想的な景色
次に「輝く海の中にいるキリン。」で描いてみました。
![](https://assets.st-note.com/img/1708866371400-woLftuzUxT.png?width=1200)
図書館にいる美しいキリン。
![](https://assets.st-note.com/img/1708871844227-QmW03kJA6z.png?width=1200)
以上、もっとたくさん画像を作ったのですが、気に入ったものだけ上記に貼り付けてみました。まだまだ、アイデア次第で美しいキリンを描画できそうです。しかし、SDXLが描画するキリン、かなり良いですね!
時間があったら、もっと描かせて楽しみたいです。
(memo) ColabでGoogleドライブに作った動画をどんどん保存
以下画像を保存するのに便利な関数gen()を作ったのでメモしておきます。Colabのセルに貼り付けて実行します。
# Google Driveに接続
from google.colab import drive
drive.mount('/content/drive')
# 保存先のフォルダを指定(あらかじめ作っておいてください)⭐
SAVE_DIR = "/content/drive/MyDrive/images"
!pip install diffusers --upgrade
!pip install invisible_watermark transformers accelerate safetensors
from diffusers import DiffusionPipeline
import torch
base = DiffusionPipeline.from_pretrained(
"stabilityai/stable-diffusion-xl-base-1.0",
torch_dtype=torch.float16,
variant="fp16",
use_safetensors=True
)
base.to("cuda")
refiner = DiffusionPipeline.from_pretrained(
"stabilityai/stable-diffusion-xl-refiner-1.0",
text_encoder_2=base.text_encoder_2,
vae=base.vae,
torch_dtype=torch.float16,
use_safetensors=True,
variant="fp16",
)
refiner.enable_model_cpu_offload()
# ここで関数を定義
from IPython.display import Image,display_png
import datetime
def gen(head, prompt, n=3, n_steps=50, high_noise_frac=0.8):
datekey = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
for i in range(n):
image = base(
prompt=prompt,
num_inference_steps=n_steps,
denoising_end=high_noise_frac,
output_type="latent",
).images
image = refiner(
prompt=prompt,
num_inference_steps=n_steps,
denoising_start=high_noise_frac,
image=image,
).images[0]
image.save(f'{SAVE_DIR}/{head}_{datekey}_{i}.png')
display_png(image)
そして、以下のようにプロンプトを指定して画像を生成して保存します。基本的に、3枚ずつ生成して指定したGoogle Driveのパスに保存します。
gen(
"キリン", # ファイル保存用
"Impressionism of a giraffe amidst a snowy landscape, with gentle snowflakes falling around and a soft, winter sun setting in the background, by Claude Monet and Camille Pissarro, cinematic composition, trending on Artstation."
)
参考
以下を参考に、Colabで使ってみたものです。