よくわかんねえけどとりあえずやってみたい!
- Dezgo
https://dezgo.com/ (txt2img:呪文から画像生成)
https://dezgo.com/image2image (img2img:画像をもとに画像生成)
- Stable DiffusionのWebで遊べるデモ版
https://huggingface.co/spaces/stabilityai/stable-diffusion (txt2img:呪文から画像生成)
https://huggingface.co/spaces/huggingface/diffuse-the-rest (img2img:画像をもとに画像生成)
- Waifu DiffusionのWebで遊べるデモ版
https://huggingface.co/spaces/hakurei/waifu-diffusion-demo (txt2img:呪文から画像生成)
- ERNIE-ViLG
中華製の画像生成AI
https://huggingface.co/spaces/PaddlePaddle/ERNIE-ViLG
- Craiyon
SDが出る前からあるAI。顔を描くのは苦手だがそれなりに遊べる
https://www.craiyon.com/
ぶっちゃけどれがどう何が違うのかよくわからない!
一言で簡単に言うと…
- PCにいいグラボを積んでいる 今風からヴィクトリアンまで様々な画風や人物画風景画やエロなどカスタムして遊びたい →Stable Diffusion web UI
- いいグラボはないけどカスタムして遊びたい →google colab上でStable Diffusionなどを動かす*1
- 有料サイトに登録してそこそこ整った絵柄でエロが作りたい →Novel AI
- 有料サイトに登録して幅広い版権キャラの可愛い絵が作りたい →とりんさま
1111は…なんかこうつかいやすくなる
Waifuは…なんかこう2次エロが出やすくなる
・ツール
SD web UI (AUTOMATIC1111) | グラボ・PC性能が十分ならこれ 多機能な上に熱心に更新・改善されていてありがたい… ネガティブプロンプトを使えて最新版では通常プロンプトが無制限、他にもいっぱい機能がある*2 [難点]導入までちょっと手間がかかったり全部英語でとっつきづらい。 導入はPhythonとGitをインストールして1111をzipから解凍*3して起動するだけ あとはモデルファイルを入れる ついに公式で日本語対応したぞ! 導入・機能のより詳しいことは個別ページとかで |
NMKD | 入れるだけで簡単 LowRAMは多分こっちの方がメモリ自体は少なくて済む [難点] LowRAMだと実行速度が低下し、ネガティブプロンプト含めて色々機能制限される |
・モデル
Stable Diffusion (SD) | 元祖 三次と風景背景に強い 二次エロは怪物量産 |
Waifu Diffusion | SDをベースに二次絵向けに学習させたモデル 最新v1.3で二次エロに特化 (SDやWaifuv1.2と比べ)三次や写実表現が弱く:イラスト的な画風が基本スタイルで二次エロに強い ※最新v1.3と前v1.2はそこそこ別物*4。※現在Waifuの配布場所にv1.2はない 写実的なヴィクトリアンデカパイなどはv1.2を使うと簡単に作れる |
TrinArtSD | Stable Diffusionをベースに二次元キャラから西洋画風まで描けるように強化されたもの ローカル環境で動くモデルが配布されている TrinArtおよびキャラクターズとは別物なので注意 |
TrinArt Characters model v1 | 従来のTrinArtに搭載されていた旧バージョンのキャラクターズモデル TrinArtで使われるキャラクターズモデルのバージョンが上がった事に従って配布された |
Hentai Diffusion | WaifuをベースにRule34とGelbooruとから収集した画像 15 万枚を追加学習させたモデル Waifu で出すのが難しいポーズや手の改善を目的として作成された |
Lewd Diffusion | Waifuベースにエロ画像を追加学習している Torrentで配布されているので注意 |
Yiffy、Furry、Zack3D | ケモ強化モデル ケモナー系サイトe621のデータから学習している 基本的にはケモ絵向けだが、海外特有のこってりしたエロ絵も学習している 特にYiffyはチン○が上手いとか エロ構図の強化を目的にWaifuなど他のモデルとブレンドして使う場合もある |
その他キャラ特化モデル | 特定のキャラクターの画像だけを大量に学習させて、そのキャラを描くことだけを目的としたモデル エヴァのアスカモデル、リゼロのレムモデル、ナナチモデル等々いろいろある |
・有料サイト
TrinArt | とりんさま出 二次に強いがエロは出ない(工夫すれば出せなくもないという話も) 日本のソシャゲ絵から00年代の絵までは作りやすい 版権にも強く、特にキャラクターズではNovelAIでは出せないキャラまで網羅されている |
NovelAI | Waifuとは別アプローチによる二次元特化モデル 有料会員制サービスであり利用には課金必須 二次元イラストの描画に抜群の安定性を持つが、一方で絵柄が画一的だったり構図が限られる面がある |
・モデルのマージ(Merge)について
沼
複数のモデルを混ぜ合わせた特殊なブレンドモデルを制作することができる技術 AUTOMATIC1111版のWebUIやNMKDにはデフォルトで搭載されている
イラスト系同士で合わせてイラストの幅を広げたり、イラスト系と元祖SDで写実タッチを濃くしたりといった芸当ができるほか、バージョン違い(Waifuのv1.2とv1.3など)を合わせてバランスを取る例もある
※合算ではなく割合で混合する。割合は自分で調節することができる
Steps?Scale?って何をどうすればいいの?
デモ版などではだいたい簡単な呪文の受付だけしかしていない
ちゃんと動かす環境を用意すれば細かいパラメータを調節することができる
※指定方法や使うパラメータはツールによっても違いがあったりする
「良い画像と同じ呪文を使ったのに全然いいのが出てこない…」のは単にモデルが違う以外にも生成の設定が違う場合もある
あとimg2imgで出した画像なら元の画像が無いと当然違うものになる
主な生成設定項目
(現在主流のStable Diffusion系を前提に並べてます)
- Prompt=プロンプト、呪文 token=呪文の要素、トークン
- Negative Prompt=ネガティブプロンプト、抑制呪文
- Steps=サンプリング回数、AI描画をかける回数
- Sampler、Sampling method=サンプリングアルゴリズム、構成の手法、サンプラー
- Scale、CFG Scale=呪文の強制度
- Height、Width=出力画像サイズ(※基本は512x512)
- Seed=ランダムの種
- Batch count、Batch size=バッチ生成回数、生成枚数
prompt:プロンプト、呪文
生成させる画像の元
とりあえず研究してる人の呪文を参考にして生成させてみると良い
※記述された呪文の要素を認識してどう出力するかは使うモデル(学習データ)によって変わる
使うツールによって呪文の強調などの記述法が異なるため異なるツールから呪文を流用するには呪文の調整が必要になる
また使えるトークン・要素の上限も異なり長すぎる呪文は認識してもらえないこともある
主な記述法の違い(分かる方編集お願いします)
- SD web UI(AUTOMATIC1111)
- トークン上限無制限
- (強調) (重みづけ:倍率)*5 [控えめ] [条件前:条件後:step条件] [条件後:step条件]
強調は重みが1.1倍強く、控えめは重みが1.1倍弱くなる - ネガティブは別枠で指定
- NMKD
- 重みづけ:割合 <強調> [控えめ] 強調は1.5倍、控えめは0.5倍相当?
- 1.5からネガティブが使えるようになったとのこと?
- TrinArt
- 重みづけ::倍率 {強調} [控えめ] 強調は1.1倍、控えめは0.9倍
- 呪文<!>ネガティブ指定
- NovelAI
- {強調} [控えめ] 強調は1.05乗算、控えめは1.05除算
- Undesired Contentがネガティブ指定
※同じ強調でも1111版の「()」とTrinArt,NovelAIの「{}」は別々の記号が使われている
Negative prompt:ネガティブプロンプト
ごく初期には存在しなかった機能だが今のツールではだいたい備わっている
ネガティブ指定では「なるべく生成させたくないもの」を指定できる
書き方はpromptとだいたい同じで強調を使えることもあり prompt同様必ず生成されなくなるわけではない
より的確な生成を目指すならネガティブ指定も非常に重要になる
例えば指定したpromptで混ざりやすい要素を外してもらうために使ったり
汎用的に悪いパターン(bad handsなど)をネガティブ指定することで品質の底上げを狙うというおまじないもある*6
Steps:サンプリング回数、AI描画をかける回数
「何回画像を綺麗にするか」の設定
細かくはサンプラーにも左右されるが大体の目安として
- Steps:30前後:簡単に形を出す
- Steps:50~60ほど:簡単に仕上げる
- Steps:80~100くらい:作り込む
※Stepが進んでいく中で構図が変わることも多い
あとは生成速度と仕上がりとを考えて適当に調整しよう
Step1~10辺りはだいたい形になっていないがStep20~40くらいでもう基本的な形ができてそこからstepを重ねて綺麗にするが極端に多いStepsは逆に汚くなる
※ただ途中で構図が変わることも多く、綺麗にするだけならstepsを増やすよりimg2imgする方が良いかも?
※サンプラーによっては早いstepで形ができて綺麗にして汚くなるタイミングも早くなる
Sampling method、Sampler:サンプリングアルゴリズム、サンプラー
サンプラーによって出力の傾向、出てくる画像が違ってくる
- てきとうに出力させて楽しむなら→Euler a
- 呪文を詰めてstepsを多めに出力させるなら→Eulerなど、○○ a以外
細かい違いは…説明しにくい!
Scaleの適性やStepsの適性、その他細かい条件でも変わってくるので実際に確かめて!
特に目立つ違いを挙げておくと
Euler aは大味で分かりやすい 他より大きな変化が起きやすい、かも?
EulerはEuler aとはほぼ別物になる 1stepの変化小さめで丁寧に出力 steps多めにしたい
Euler/LMS/Heun/DPM2/LMS Karras/DPM2 Karras/DDIM/PLMS*7 これらはやや似やすい※ScaleやStepsによっては違いが大きくなる | ||||||||
やや大味← おおよその傾向 →やや細密 | ||||||||
Euler | PLMS | LMS | DDIM | Heun DPM2 | DPM2 Karras | LMS Karras | ||
処理軽め | 処理重め | 処理軽め |
※このほかにもDPM++〇〇といったサンプラーもある
※LMS Karras/DMP2 Karrasは細密に描写しようとするあまり外れた構図になることも
細密なサンプラーは細かすぎる描画をしてしまうこともある他、汚くなってくるStepのタイミングも早めになりやすい
Euler/Euler a同様にDPM2/DPM2 KarrasとDPM2 a/DPM2 a Karrasはかなり違いaは大味
CFG Scale:呪文の強制度
Scaleは小さいほど勝手に良い雰囲気の出力をしてくれるけど呪文から遠くなりがち
Scaleを高めるとより呪文通りに描こうとするけど雰囲気がバキバキになってくる
小さい時の出力はおおむね写実的な雰囲気に寄りやすいみたい?
イラストっぽい雰囲気を出すなら高めが良さそう
Height、Width:出力画像サイズ(※基本は512x512)
学習データが512x512規格で特に512x512を超えると変な形で出てくる なので基本は512x512
より大きなサイズで出力したい時は対応しているツール・設定を使おう 調整機能があれば違和感を抑えて出力できる
例えば1111には「Highres. fix(高解像度 fix)」というこの違和感を抑えるオプションがある
ただし512x512を超えると無理矢理大きなサイズを出力しているのは変わりないので変えるとしても縦横比を変えたい時に片方を512のまま片方のサイズを変える程度にした方が負荷は軽くなるかも? 画像を大きくするのは後からでもできる
もちろんより細かい描画を求める場合は512x512を超えるサイズで一気に出力させたい
Seed:ランダムの種
玄人向けの要素
通常はランダムなseed値を使うので生成の度に違う画像を出すが同じseed値を使うと同じパターンの画像を出すことができる
そしてAI環境・モデル・呪文・その他設定とseed全てが同一なら全く同じ画像が出力される
seed値を固定することで呪文がどのように働いているか確認して呪文を煮詰めたり 出力させた画像の要素を少しだけ変更して調整したりと出力を煮詰めたりできる
Batch:バッチ生成回数、生成枚数
Batch count=バッチ生成回数は「何回生成処理を行うか」の設定
Batch size=バッチごとの生成枚数は「1回の処理で何枚同時に生成するか」の設定
一度に行われる最終的な生成枚数は「バッチ生成回数×生成枚数」となる
バッチ生成の命令ごとにわずかに時間がかかっているため基本的にはバッチサイズを増やす方が処理にかかる時間はわずかに減る
ただし処理能力が低すぎる場合バッチサイズを増やしすぎると不安定になるかもしれないのでグラボ性能と相談しながら回数×枚数の設定するのがいいかも