高性能グラボをお持ちなら正則化画像なしで手軽にキャラ学習のためのwindows環境でのDreamBoothを用いたファインチューニングができるようguiの使い方・方法を解説します。
4~20枚程度の画像さえあれば、現状のモデルで再現できないキャラを自由に登場させることができます。
私はwebUI(1111版)を愛用していますが、1111版の拡張機能DBはまだ試せていないため、DBを簡単に実行できる機能が搭載(v1.6で実装された)NMKD Stable Diffusion GUIを使ってファインチューニングしていきます。
今回はnai.ckptをファインチューニングしていきます。
大まかな手順は次の通り
- NMKD Stable Diffusion GUIをインストール
- 学習させたいキャラの画像を4~20枚集める
- webUI(1111版)の学習事前準備機能を使い512×512サイズにする
- NMKD Stable Diffusion GUIに学習したいモデルを読ませる
- 学習元画像フォルダを指定
- NMKD DreamBooth GUIを実行(まずは6分で結果の分かる簡易版で効果を実感しましょう)
- 学習されたモデルをwebUI(1111版)のモデルフォルダにコピー
- 学習成果を楽しもう!!
記事通りに進めれば何ら迷うことはありません。
なおVRAM24GB以上のNVIDIA製GPUが必要です。
そこまでのVRAMが無い方は、VRAM8GBからできるLoRA(DreamBooth)がおすすめです。
追記:最適な設定値について10パターン程検証しました。
3090を8時間ぶん回して得られた成果をぜひご覧ください!!
0,とりあえず学習成果をお見せする
今回紹介する方法は、正規化画像が不要、つまりとある単語の概念そのものを上書きする方法です。キャラ名などを上書きすることで学習前と使い勝手を変えることなく使用できます。
例として錦木千束(リコリスリコイル)を再現します。
2022年夏アニメのキャラクターのため、学習元データセットが2021年までのNovelAIのモデルでは上手く再現できません。
今回は「nishikigi chisato」という単語の概念を上書きしたのでプロンプトは「nishikigi chisato,」のみとし、ネガティブプロンプトは無しでいきます。
目指すべき姿はこちら(公式キャラ紹介ページの姿)

未学習(ピュアなNovelAI)
ランダムシード512×768で4枚生成します。
まずは学習元となるNAIモデルに生成させてみます。

まあそら再現もクソもないわな。。。
学習6分のお試しコース(Low Quality)
この画像の意味は後で解説します。
NAIを250step、6分だけファインチューニングしました。
プロンプトは相変わらず「nishikigi chisato,」のみ。

かなり特徴が出ています。髪飾り、髪型、髪色、瞳色は言う事ありません。
制服は体の側面の灰色やリボンの青色がまだ学習不足のようですが、赤色ということは教えられたようです。
学習20分のそこそこコース(Medium Quality)

この設定で学習しました。(後で解説します)

制服の青リボンなど、上半身はおよそ問題ありません。
側面の灰色がまだ学習されていないようです。
あと、今回学習元画像を適当に正方形にしたため、頭が見切れる構図で学習されてしまったようです。これは教訓ですね。
たった数枚の学習元画像でいいからこそ、1枚1枚の品質にはこだわりましょう!
High Quality(40min),Very HIgh Quality(80min)はまだ試していません。
頭見切れたまま80分コースしなくてよかった~
1,学習元画像の準備 DreamBoothに必要な枚数は?
段ボールで高品質なキャラの絵を探しましょう。NAIと親和性高そうだし探しやすいですね。
pixivで人気順ソートするのもおすすめです。(無料でできます)
DreamBooth用 学習元画像の選び方
- 枚数は画像は4~20枚
- 量より品質が大事
- キャラ単体が描かれている
- バリエーションあるポーズ
- 多様な背景(白背景ばかりで学習させると、生成される画像も白背景ばかりになる)
次の3点に気をつけて良くない画像を避けましょう。
- 低画質(短辺512px以上ならOK)
- キャラがはっきりしない
- 奇妙なポーズ
要するに、学習元となる複数の画像でキャラだけが共通しており、背景やポーズなどはバラけているのが理想です。
学習元画像を正方形にする方法
今回は厳選した8枚を使うことにしました。モザイクはブログ用掲載用にかけたものです。

webUI(1111版)を起動して、学習タブの「画像の前処理」を選択します。

入力フォルダに画像8枚入ったフォルダを指定し、出力フォルダをわかりやすい名前で指定します。
「前処理開始」を押せば完了!

出力フォルダを見てみると画像サイズが512×512pxになっていることがわかります。
なお、「Auto focal point crop」にチェックを入れると顔中心に切り抜きます。こんな感じに。

これで学習元画像は用意できました。
あとは学習するだけ!
2,DreamBooth GUIの使い方
NMKD Stable Diffusion GUIをインストール


上のリンクより公式サイトにアクセスして、「Download Now」をクリック。

寄付はとりあえずせずにダウンロードしたいので、「No thanks, just take me to the downloads」を選択。

容量が小さなモデルなし版をダウンロードします。
(1GBって書いてあるけど1.7GBくらいある……)


7z形式で圧縮されているので7zipで展開します。
適当なフォルダにファイル一式を移動して「StableDiffusionGui.exe」を起動するのみ!!
NMKD Stable Diffusion GUIは、既にPythonがインストールされている場合追加インストール作業は不要です。

このようにインストールを促す文言が出たらとりあえず「OK」を押してください。

そしてインストーラーが起動したら右上のバツで閉じて下さい。
インストーラーを閉じると、このようになります。

起動してみて「Welcome!」って言ってもらえたら無事インストールできています。
モデルのセット(NovelAI モデルを使用)
「C:\中略\SD-GUI-1.6.0\Data\models」に学習させたモデル(.ckptファイル)を配置します。

その後、NMKD Stable Diffusion GUIを起動して学習メニューを選択します。

プルダウンメニューが出現するので、「Train DreamBooth Model」をクリックしてください。

このように「VRAMが24GB搭載されていることを確認しました。他のVRAM消費するソフト開いてるなら閉じてください!」と警告されますので「OK」をクリック。

ちなみに画面出力にオンボードグラフィックスを使えばVRAM24GBをフルに使用できます。
買ってて良かったF無しIntel
学習させたいモデル・強度と精度の設定
学習元モデルや学習モードを選択します。

クリックしてみるとプルダウンメニューが出てきて選べるので各々設定します。
- Base Model : 学習元モデル
- Training Preset : とりまLow Qualityで試す
- Training Images Folder : 先程の学習元画像フォルダを指定
- Class Token : 上書きしたい単語(トークン)を書く
- Learing Rate : Nomalにする。 x2とかにすると過学習しやすい
はい、セット完了!

あとは左下「Start Training」をクリックして待ちます。
2.5,ハードウェアへの負荷

学習中のグラボの様子は、このようにVRAMが余すことなく使い切られていることがわかります。
だから他のソフトを閉じるorオンボードグラフィックスを利用する必要があったんですね。

ちなみに温度は90度くらいで消費電力は350W。
パワーリミットをかけずにこれだからギリギリセーフでしょう。
なお、RAMもかなり食います。。。

Pythonを使う他のソフトは切っているので、事実上DreamBoothに20GB以上のRAMが必要なことがわかります。

他のソフトも使う場合は、32GB以上搭載しておきましょう。
速度は重要でないので容量重視で選べばOKです。
3,学習済みモデルを使ってみる
学習が終わると、「C:\中略\SD-GUI-1.6.0\Data\models」に学習済みモデル(.ckptファイル)があるはずです。

low:250step
medium:1000stepのようです。
それをコピーして、webUIモデルフォルダへペーストしましょう。
フォルダパスは「C:\中略\stable-diffusion-webui\models\Stable-diffusion」です。

あとはいつもと同じようにwebUIを起動して、左上のモデル選択欄から学習済みのものを選びます。

そして上書きしたトークンを入力してみて、効果を実感しましょう!!
いい感じに出力できた方はお疲れ様でした!
イマイチと感じた方は学習元画像をより厳選し、より多くのstepで学習させてみましょう!
まとめ windowsローカルでDreamBoothして数枚の画像からキャラ再現させる方法
- NMKD Stable Diffusion GUIをインストール
- 学習させたいキャラの画像を4~20枚集める
- webUIの学習事前準備機能を使い512×512サイズにする
- NMKD Stable Diffusion GUIに学習したいモデルを読ませる
- 学習元画像フォルダを指定
- DreamBoothを実行(まずは5分で結果の分かる簡易版で効果を実感しましょう)
- 学習されたモデルをwebUI(1111版)のモデルフォルダにコピー
- 学習成果を楽しもう!!
プロンプトなどをこのようにしてみて成果を示します。
nishikigi chisato,standing, classroom,
Steps: 20, Sampler: Euler a, CFG scale: 7,
Seed: 2179968969, Size: 576×768,
Model hash: 250stepと1000stepのやつ
ご自宅にRTX3090~がある方は、6分の学習でこの程度↓

20分もあればこれくらい↓は再現できるまでに学習できます。

ネガティブプロンプトなしでなかなか良い指を描くじゃあないか!
何気に指も改善してる?!まさに夢の技術ですね!!!
Google画像検索エンジンでも無事千束扱いされました☆

まだmedium qualityなのにこれとは、high /very high qualityを使った日にはどうなっちまうんだ。。。(戦慄)
追記:全Qualityをlearning rate2通りで10パターン検証しました。
3090を8時間使った成果をご覧あれ!
3090~がない方は、まず無料でNAIに慣れてから3090買うか迷うのがおすすめです。
AI関連記事まとめ
グラボをまだ持っていない、買い替えたいが選ぶ基準がわからない!という時はこちらをご覧ください。
グラボをお持ちならコチラのパワーリミット値の最適設定を探った記事もおすすめです。
わかりにくいwebUI(1111版)のアップデート手順を丁寧に解説した記事もごらんください
ツールやtips,モデルがまとまっているページを探す
モデルの配布先と解説まとめ記事です。
有用なリンク集・備忘録です。
声優を学習した音声読み上げAI MoeGoe GUI(Windows向け)
GUIで手軽に導入でき、どんな台詞も好きなキャラに読み上げて貰えます。
GPT2日本語生成モデルをWindowsで試す
その他AI関連記事
