既存のイラストを参考にして新しい画像を生成するwebui拡張
これのwebui拡張を実装したので記事にします。
実装にwebuiのPRを通す必要があって、githubの方が英語(DeepL語)になってしまったので、こっちで使い方をあげておきます。あと色々な拡張と組み合わせることができるはずなので、それも試します。
環境構築
https://github.com/laksjdjf/pfg-webuiを他の拡張と同じようにインストールしてください。そんでtensorflow==2.9近辺もしくはonnxruntime(Tensorflowがうまくいかない人用)をインストールしてください。wd-14-taggerを使える環境ならなんとかなるはず...。wd-14-taggerは勝手にリポジトリ直下にダウンロードされます。
Extensionsインストールの説明記事
モデル
stable-diffusion-webui/extensions/pfg-webui/models(人によるとおもうけど)に学習済みのPFGモデルを入れてください。ここに学習済みモデルを公開しています。
(追記)各モデルの説明
pfg-novel-n10.pt:
61万枚の画像を名前を言ってはいけないあのモデルで1エポック学習しました。たぶんSDv1系のモデル全てで使えます。
pfg-wd14-n10.pt:
61万枚の画像をwaifu-diffusionで学習しました。SDv2系のモデルで使えます。下のやつを使った方がいいです。
pfg-wd15beta2-n10.pt:
上のモデルからさらにwaifu-diffusion/wd-1-5-beta2で1エポック学習しました。SDv2系モデルで使えますが、他のモデルに対しての性能は微妙かも
使用法
txt2imgやimg2imgタブの左下にPFGとかいうのが生えているので、クリックするとこんなのがでてきます。
![](https://assets.st-note.com/img/1677225981640-EAeIYu6RC6.png?width=800)
webuiを使えるところまで来ている人なら見ればだいたいわかると思います。pfg scaleで強弱を調整できます。pfg num tokensは使用するpfgのモデルに合わせてください。私があげるモデルは必ず"hoge-n10.pt"という風にしてnum tokensが分かるようにしています。
生成例
普通に使うとこんな感じになります。特徴を表すようなプロンプトの指定なして似た画像を生成できます。この画像は再現できすぎですが。
![](https://assets.st-note.com/img/1678582538792-DH3zjauflg.png?width=800)
スタイル変換
一番左が入力です。スタイルを表すプロンプトを追加するだけでスタイル変換ができます。一番右はplat氏のフィギュア化LoRAを使っています。
![](https://assets.st-note.com/img/1678585140230-XFWNw8JPAC.jpg?width=800)
キャラクター変換
キャラクターを表す単語を追加するだけでそのキャラっぽくなります。これはアストルフォ画像で追加学習したモデルでastolfoをプロンプトに加えただけです。
![](https://assets.st-note.com/img/1678585742648-0KpmIGKX5S.jpg?width=800)
ControlNetと組み合わせる
普通の生成と同様ControlNetで誘導できます。
![](https://assets.st-note.com/img/1678586554059-AIaDYwYiA1.jpg?width=800)
Attention coupleと組み合わせる
プロンプトのようにあつかえるので、Attention coupleと組み合わせられます。ただこの機能は正式実装してません。
![](https://assets.st-note.com/img/1679834492272-n0VSd4cedH.png?width=800)
img2imgとの違い
img2imgと違って完全なノイズからの生成になります。また入力画像もWD14Taggerによる特徴抽出を行ったもので画像としての形は失われています。そのためimg2imgほど画像の構図等を再現できるわけではない・・・と思ったんですがなんかできちゃってますね。ここまでできるとやってることほとんど同じに見えてきました。