よくある質問とか

Last-modified: 2023-03-25 (土) 23:01:53

よくわかんねえけどとりあえずやってみたい!

ぶっちゃけどれがどう何が違うのかよくわからない!

一言で簡単に言うと…

  • 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して起動するだけ あとはモデルファイルを入れる
UIは一部のとしあきが翻訳をしようとしてるみたいです、としちゃん頑張ってんな…
ついに公式で日本語対応したぞ!
導入・機能のより詳しいことは個別ページとかで
NMKD入れるだけで簡単 LowRAMは多分こっちの方がメモリ自体は少なくて済む
[難点]ネガティブプロンプトがなくて難しい1.5からネガティブプロンプト追加されました
LowRAMだと実行速度が低下し、ネガティブプロンプト含めて色々機能制限される
 

・モデル

Stable Diffusion (SD)元祖 三次と風景背景に強い 二次エロは怪物量産
Waifu DiffusionSDをベースに二次絵向けに学習させたモデル 最新v1.3で二次エロに特化
(SDやWaifuv1.2と比べ)三次や写実表現が弱く:イラスト的な画風が基本スタイルで二次エロに強い
※最新v1.3と前v1.2はそこそこ別物*4。※現在Waifuの配布場所にv1.2はない
写実的なヴィクトリアンデカパイなどはv1.2を使うと簡単に作れる
TrinArtSDStable Diffusionをベースに二次元キャラから西洋画風まで描けるように強化されたもの
ローカル環境で動くモデルが配布されている TrinArtおよびキャラクターズとは別物なので注意
TrinArt Characters model v1従来のTrinArtに搭載されていた旧バージョンのキャラクターズモデル
TrinArtで使われるキャラクターズモデルのバージョンが上がった事に従って配布された
Hentai DiffusionWaifuをベースにRule34とGelbooruとから収集した画像 15 万枚を追加学習させたモデル
Waifu で出すのが難しいポーズや手の改善を目的として作成された
Lewd DiffusionWaifuベースにエロ画像を追加学習している Torrentで配布されているので注意
Yiffy、Furry、Zack3Dケモ強化モデル ケモナー系サイトe621のデータから学習している
基本的にはケモ絵向けだが、海外特有のこってりしたエロ絵も学習している 特にYiffyはチン○が上手いとか
エロ構図の強化を目的にWaifuなど他のモデルとブレンドして使う場合もある
その他キャラ特化モデル特定のキャラクターの画像だけを大量に学習させて、そのキャラを描くことだけを目的としたモデル
エヴァのアスカモデル、リゼロのレムモデル、ナナチモデル等々いろいろある
 

・有料サイト

TrinArtとりんさま出 二次に強いがエロは出ない(工夫すれば出せなくもないという話も)
日本のソシャゲ絵から00年代の絵までは作りやすい 版権にも強く、特にキャラクターズではNovelAIでは出せないキャラまで網羅されている
NovelAIWaifuとは別アプローチによる二次元特化モデル 有料会員制サービスであり利用には課金必須
二次元イラストの描画に抜群の安定性を持つが、一方で絵柄が画一的だったり構図が限られる面がある
 

・モデルのマージ(Merge)について

複数のモデルを混ぜ合わせた特殊なブレンドモデルを制作することができる技術 AUTOMATIC1111版のWebUIやNMKDにはデフォルトで搭載されている
イラスト系同士で合わせてイラストの幅を広げたり、イラスト系と元祖SDで写実タッチを濃くしたりといった芸当ができるほか、バージョン違い(Waifuのv1.2とv1.3など)を合わせてバランスを取る例もある
※合算ではなく割合で混合する。割合は自分で調節することができる

 

 

Steps?Scale?って何をどうすればいいの?

デモ版などではだいたい簡単な呪文の受付だけしかしていない
ちゃんと動かす環境を用意すれば細かいパラメータを調節することができる
※指定方法や使うパラメータはツールによっても違いがあったりする

「良い画像と同じ呪文を使ったのに全然いいのが出てこない…」のは単にモデルが違う以外にも生成の設定が違う場合もある
あとimg2imgで出した画像なら元の画像が無いと当然違うものになる

主な生成設定項目

(現在主流のStable Diffusion系を前提に並べてます)

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によっては違いが大きくなる
やや大味← おおよその傾向 →やや細密
EulerPLMSLMSDDIMHeun
DPM2
DPM2 KarrasLMS 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回の処理で何枚同時に生成するか」の設定
一度に行われる最終的な生成枚数は「バッチ生成回数×生成枚数」となる

バッチ生成の命令ごとにわずかに時間がかかっているため基本的にはバッチサイズを増やす方が処理にかかる時間はわずかに減る
ただし処理能力が低すぎる場合バッチサイズを増やしすぎると不安定になるかもしれないのでグラボ性能と相談しながら回数×枚数の設定するのがいいかも

 

*1 colabは無料の範囲でも制限はあるが多少使える。また有志がgoogle colab上でStable Diffusion web UIやDreamboothなど各種ツールを稼働させる方法を開発提供しているのでそれらも使える※ただしgoogleのサービス上で扱うことになるためNFSW、特にロリ物の扱いには要注意かもしれない
*2 1111ではimg2imgは基本としてimg2imgで一部だけ書き換えさせるinpainting機能があったり、異なる設定での出力の比較画像生成、複数モデルのブレンド(merge)、本体上でTI学習をさせるなどの機能まである
*3 1111はgit cloneで入れてもいい。詳しい説明は個別ページ
*4 Waifu v1.2はベースのSDの要素も濃く残り三次と二次が混在していて三次エロや絵画的表現なども得意だった。Waifu v1.3はイラスト特化でイラスト系の画風以外は指定すれば多少可能だがやや不得意。エロ単語への対応はおおむね新しいv1.3の方が広い
*5 1111版では強調に「()」を用いるためpromptで「()」の含まれる文字列を指定する際は「(」と「)」の手前にそれぞれ「\」を入れ「\(ward\)」のように指定する
*6 品質向上用の呪文はどこまで有効かよく分からず「おまじない」のように使われるものも多い
*7 サンプラーの名前はツールによって使える種類が違ったり表記が少々ブレていたりするかも