IrvineのもっとPC自作日記
ソニーストア
Dynabook Direct
HP Directplus -HP公式オンラインストア-
デル株式会社
本ページはプロモーションが含まれています。
  
 

【ANIMAGINE XL 3.0】アニメ調の静止画生成AIを試してみた

 

スポンサーリンク

 
【ANIMAGINE XL 3.0】アニメ調の静止画生成AIを試してみた
 

画像生成AIの火付け役になったStable Diffusion の派生ソフトウェアの、アニメ調の静止画を作成するAimagine XL 3.0を試してみた。
画像生成AIについてのまとめはこちら。

  
  

Animagine XL 3.0とは

Animagine XL 3.0は静止画を生成するAIブームの火付けになったStable Diffusionをベースに、アニメ調の静止画を生成するAIだ。
動画生成AIほどのリソースを要求しないので、PCにRTX3060を載せたシステムで十分使い物になる。

Stable Diffusion XL同様にプロンプトをインプットとして、期待するような画像を生成してくれる。ただ、思ったような画像にするにはプロンプトに工夫が必要だ。

プロンプトでいろいろな画像ができるが、このAnimagine XL 3.0の特徴は、作品のキャラ名や時代を指定することでそのキャラに似た人物像を描いたり、時代に合わせた作風にできる。

インストール

以前のCALM2と似ているので参考に。

1 Pythonをインストール

すでにインストールしている場合は省略できる。
Pythonのインストール方法は、上述のCALM2の記事を参照。

2 Pythonの仮想環境を作る

どこでもいいのだが、仮想環境はいくつもつくると思うので、今回はこうした。
まずコマンドプロンプトを開く。

C:\にPython フォルダを作成する。

c:
cd \
mkdir python
cd python

以下のコマンドで仮想環境を作る。

python3 -m venv Animaginexl3

「Animaginexl3」の個所はどういう名前でも構わない。

仮想環境ができたので、有効にする。

cd Animaginexl3\Scripts
activate

プロンプトに(Animaginexl3)と仮想環境の名称が先頭につく。

3 pythonライブラリの準備

公式ページの指示に従って、pipコマンドを使ってpythonのライブラリをダウンロードする。

Animagine XL 3.0 画像生成AI

Animagine XL 3.0 画像生成AI 出典:公式

pip install diffusers –upgrade
pip install transformers accelerate safetensors

4 Gitからダウンロード

この辺り試行錯誤したので誤っているかもしれないが、Stable Diffusion XLをインストールしている環境なら追加でダウンロードは不要のようだ。

起動する

CALM2やMagicAnimateのような、アプリを起動したらWEBが表示されてここで操作できるというUIは用意されていない。
先の公式ページにあるのは簡単なプログラムだ。

WEBに書かれているコードをベースに、プロンプトはそのままで作ってみた。最近のアニメのキャラ、Vサインなどがプロンプトに入っている。
プログラムはファイルにセーブする処理が書かれてないので、前回のOPEN DALLEのときと同様に処理を追加した。
import torch
from diffusers import (
StableDiffusionXLPipeline,
EulerAncestralDiscreteScheduler,
AutoencoderKL
)
import datetime

# Load VAE component
vae = AutoencoderKL.from_pretrained(
"madebyollin/sdxl-vae-fp16-fix",
torch_dtype=torch.float16
)

# Configure the pipeline
pipe = StableDiffusionXLPipeline.from_pretrained(
"cagliostrolab/animagine-xl-3.0",
vae=vae,
torch_dtype=torch.float16,
use_safetensors=True,
)
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)
pipe.to('cuda')

# Define prompts and generate image
prompt = "1girl, arima kana, oshi no ko, solo, upper body, v, smile, looking at viewer, outdoors, night"
negative_prompt = "nsfw, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name"
Loop = 20

image = pipe(
prompt,
negative_prompt=negative_prompt,
width=832,
height=1216,
guidance_scale=7,
num_inference_steps=28
).images[0]

for loop in range(Loop) :
image = pipe(prompt,
negative_prompt=negative_prompt,
width=832,
height=1216,
guidance_scale=7,
num_inference_steps=28
).images[0] image.show()

dt_now = datetime.datetime.now()
month = "00"+str(dt_now.month)
day = "00" + str(dt_now.day)
hour = "00" + str(dt_now.hour)
min = "00" + str(dt_now.minute)
sec = "00" + str(dt_now.second)
filename = str(dt_now.year)+month[-2:] + day[-2:] + hour[-2:] + min[-2:] + sec[-2:]

image.save(filename + ".png")
※CSSの設定により段落ごとに字下げになっていますが、コピー&ペーストすれば字下げは反映されないことに注意。

公式ページに掲載のサンプルのプロンプトで作った画像に1つがこれ。

Animagine XL 3.0 画像生成AI

Animagine XL 3.0 画像生成AI

このままではStable Diffusionと同じなのだが、ユニークな機能があるので紹介する。

古い時代

プロンプトに時代を示すキーワードを入れる。キーワードはWEBに書かれている。

Year Tag Year Range
newest 2022 to 2023
late 2019 to 2021
mid 2015 to 2018
early 2011 to 2014
oldest 2005 to 2010

一番古い、oldestとram-chanをプロンプトに入れてみた。
できた絵はこちら。うーん、角があるところかな。鬼というより羊だが。

Animagine XL 3.0 画像生成AI

Animagine XL 3.0 画像生成AI

ロボットはどう?

プロンプトを女の子ではなく、ガンダムあたりにしたらどうだろう。
勇ましいガンダムの絵ができるかと思ったら、女の子がガンダムの鎧を着た、どこかで見たことがあるようなものになった。
そうか。確かにガンダムチックではあるが。

Animagine XL 3.0 画像生成AI

Animagine XL 3.0 画像生成AI

実行中の様子を動画にまとめたのでご参考に。

まとめ

Stable Diffusion XLベースで美少女アニメ調の画像を作る人には向いたものだ。
ちょっと自分の趣味ではなかったかな。この調子でアメコミ調のもの、北斗の拳調のもの、なんかが出てくるのかな。

PR

   
著者プロフィール
irvine
 ソフトウェア設計、ストレージ設計を経てクラウドにかかわる仕事をしている、東京郊外在住のエンジニア。
 仕事でUS,UK,SGなどの国とかかわる。
 自作PC、スマホ、タブレット、AV機器好き。ドラクエウォークはルーチンワーク。Linuxやストレージ、IT業界の動向は興味を持っている。
 新しい機器、サービスに興味あり。年数回のレビュー(自腹購入、ご依頼)と発表されて興味があるものの新製品机上レビューをやっている。
 2022年はJAPANNEXT様のアンバサダーを務めました。
 
 

コメントを残す

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