Stable Diffusion のステップ数による画像変化【AIアート】

Stable Diffusion のステップ数による画像変化【AIアート】

Stable DiffusionにはDDIM_STEPSというパラメータがあります。
難しい説明は抜きにして数字が多ければどんどん画像の精度が上がります。
ただ、どこかで頭打ちになるためどの数字が正しいのかわかりません。
今回はDDIM_STEPSの適正値を検証してみます。

実験環境

PC環境

実験を行った我が家のPCのスペックは以下の通りです。

内容 詳細
OS Windows 11 Pro
CPU 12th Gen Intel(R) Core(TM) i5-12400 2.50 GHz
メモリ 32.0 GB (31.8 GB 使用可能)
GPU NVIDIA GeForce RTX 3060 12GB

使用したコマンド

検証のための画像サイズは前回の記事でクオリティが高めの2種類を採用しています。
XXXXには1から順に変化がなくなるところまで数字を増やしていきます。

  • 448×448用コマンド
scripts/txt2img.py --prompt "cat" --plms --n_iter 1 --W 448 --H 448 --seed 1 --ddim_steps XXXX

以下DDIM_STEPS 100の画像

  • 648×320用コマンド
scripts/txt2img.py --prompt "cat" --plms --n_iter 1 --W 640 --H 320 --seed 1 --ddim_steps XXXX

以下DDIM_STEPS 100の画像

結果

448×448のサイズの画像で検証

448×448のサイズの画像で見ていきます。

DDIM_STEPS = 1
画像に問題があるようで陽気なお兄さんでフィルタされています。

DDIM_STEPS = 11
かなり崩れていますね。

DDIM_STEPS = 17
真ん中のネコがDDIM_STEPS=100の時のものと異なります。

DDIM_STEPS = 22
真ん中のネコの顔の向きが少し変わりました。

DDIM_STEPS = 31
一番左のネコの目つきが悪くなりました。
一番右側はすでに安定しています。

DDIM_STEPS = 42
左側のネコの目と真ん中がまだ変化しています。

DDIM_STEPS = 48
左側のネコの目と真ん中がまだ変化しています。

DDIM_STEPS = 60
DDIM_STEPS = 100の画像とほぼ違いがありません。

648×320のサイズの画像で検証

次に648×320を見ていきます。
収束するDDIM_STEPSに違いはあるでしょうか。

DDIM_STEPS = 1
画像に問題があるようで陽気なお兄さんでフィルタされています。

DDIM_STEPS = 11
3種類ともフィルタもかからず一応ネコと認識できるものが生成されました。

DDIM_STEPS = 17
もう完全にネコですね。違和感がないレベルです。

DDIM_STEPS = 22
一番左のネコは安定していますが真ん中と右側の2枚は迷いがあります。

DDIM_STEPS = 31
すでに冒頭で挙げさせていただきましたDDIM_STEPS = 100の時の画像とほぼ変わりません。
一番右のネコの目が少し気になる程度です。

DDIM_STEPS = 42
変化なしですね。

DDIM_STEPS = 48
真ん中の画像がまたネコ3匹になりました。
一番右も違うネコに変わりました。

DDIM_STEPS = 60
また真ん中は2匹に一番右のネコはまた入れ替わっています。

DDIM_STEPS = 72

もうこの辺りからほぼ変わりません。

まとめ

画像サイズで違いがあるかもしれませんが大体60くらいで収束しているように見えます。
ぶっちゃけDDIM_STEPS = 75でもやれば十分だと考えます。

これまで僕は100で回して画質を良くしたい場合に200にしたりしてました。
全くの無意味。時間の無駄。

ステップ数200にしたら画質良くなるかもよ。
なんて言ってた若かりし頃(3日前)の僕。

おわり

AIアート C# DXの設計書 Git GitHub GitHubサーベイ MovingWordpress Python stablediffusion Twapi Visual Studio VSCode Wordpress WPF ソフトウェア開発実演 ツール データサイエンス フォロワーを増やしたい ブログ収益化 ブログ記事整理プロジェクト プログラマーとは プログラミング プロジェクトマネジメント ワードプレスの引っ越し 僕が会社をやめた理由


コメントを残す

メールアドレスが公開されることはありません。