StableDiffusion試してみたアレコレ

表現について

要素を生成途中で変えるやつ 水でできたリンゴ

プロンプト
best quality, masterpiece, one [transparent light blue apple:clear running water soda bubble:20], table, close up, from side, water droplets,
ネガティブ
EasyNegative, (worst quality:1.4), (low quality:1.4), (monochrome:1.1), lowres,

steps40の出力で20まで水色のリンゴを生成して途中からリンゴの部分を水とか泡の要素に変更した。
ぶっちゃけ記述の仕方が合ってるかは分からないけど狙った効果が出たのでヨシッ

ラフスケッチっぽいの

プロンプト
(((sketch))), 1girl, solo, upper body, wind,
ネガティブ
(worst quality:1.4), (low quality:1.4), (monochrome:1.1),

sketchでラフっぽい感じになる。
当たり前だけどクオリティアップ系のプロンプト盛ってるとあんまり効果が出ない。

プロンプト
(monochrome:1.4), sketch, (line drawing:1.4), 1girl, solo, upper body, wind,
ネガティブ
(worst quality:1.4), (low quality:1.4),

線画だけにしてみたやつ。

水墨画っぽいの

プロンプト
(monochrome:1.4), ink painting, rough drawing, 1girl, solo, white hair, upper body, wind, stain, cloud, fog, water effects, smoky effect, japanese paper,
ネガディブ
EasyNegative, (worst quality:1.4), (low quality:1.4),

三餡馄饨Mixというモデルが水彩画っぽいのを出力できるみたいなので、そこから色を抜いて出力してみました。
水彩画っぽく出力できればどのモデルでも行けるのかな?と思ったけど線が綺麗すぎるとだいぶ変わっちゃいました。

試しにRiga_collectionで出力してみたのがこれ。
線が綺麗すぎる。

プロンプト
(monochrome:1.4), (((Watercolor))), Ink painting, rough drawing, 1girl, solo, white hair, upper body, wind, stain, cloud, fog, water effects, smoky effect, Japanese paper,
ネガティブ
EasyNegative, (worst quality:1.4), (low quality:1.4),

水彩画っぽいの

プロンプト
best quality, illustration, beautiful detailed girl, Ink painting, rough drawing, 1girl, solo, upper body, wind, stain, cloud, fog, water effects, smoky effect, Japanese paper,
ネガティブ
EasyNegative, (worst quality:1.4), (low quality:1.4),

水墨画っぽい出力するために使った三餡馄饨Mixそのままの出力でわりと魅力的。
単体だとこれ以上の色は出ない。
色を拡張したモデルもあるらしいけど、私はまだ使ってないです。

水墨画の方でもやってみたRiga_collectionで水彩画をプロンプト指定した出力。
どれくらい色を付けるかはプロンプトとかネガティブプロンプトで操作してあげる。

プロンプト
monochrome, (((Watercolor))), Ink painting, rough drawing, 1girl, solo, white hair, upper body, wind, stain, cloud, fog, water effects, smoky effect, Japanese paper,
ネガティブ
EasyNegative, (worst quality:1.4), (low quality:1.4),
プロンプト
(((Watercolor))), Ink painting, rough drawing, 1girl, solo, white hair, upper body, wind, stain, cloud, fog, water effects, smoky effect, Japanese paper,
ネガティブ
EasyNegative, (worst quality:1.4), (low quality:1.4),

拡張機能について

プロンプトで動画を生成する Deforum

sd-webui-deforum
ExtensionsタブからInstall from URLへhttps://github.com/deforum-art/sd-webui-deforum.gitを入力してインストールします。

生成した画像を基にフレームごとにちょっとずつ異なる画像を生成して動画にするやつです。
正直まだまだ滑らかな動画にするのは難しいと思うけど試みとしては面白いと思います。

何故かはわからないけど私の環境ではwebuiから導入したらエラー出たので、stablediffusion内のextensionsフォルダの中にdeforumフォルダを用意して直接突っ込んだら動きました。
準備できたらとりあえず1回stablediffusion自体を再起動しておくといいと思います。
起動し直して導入できていればwebuiにdeforumのタブが出てくるので開きます。

deforum内のpromptsタブを開くと画像みたいな感じになります。
“0”: の部分は0フレーム~のプロンプト、とりあえずそれっぽいプロンプト入力して試してみてください。

次はkeyframesのタブから、Max frames で動画全体のフレーム数を指定。
Animation mode は今のところまだ2Dと3Dしか使ってないです。
とりあえず動かすだけなら2Dでズームしたりはできます。
カメラ位置を動かして立体的に回り込むような動かし方をしたいなら3Dの方を使います。

記述は0:の部分で何フレーム目から動かすかを指定して、()の中で動きの大きさを指定する感じです。
例えばズームの動きの基準は1.0で、細かく数値で調整していく感じになると思います。
実際に出力してみて動きを調整していくしかないのかな?
Noiseとかは私もまだよくわかってないので、各々馴れて来たら触ってみてください。

あとはRunタブからStepsや解像度などを指定してGenerateすればとりあえずの出力は完了です。
動画にするために出力する枚数は多いので、それなりに時間がかかると思います。

出力すると連番の画像とMP4形式の動画になります。
勝手にエンコードされるMP4より出力した連番画像から自前で動画にした方が画質向上ができそうです。

背景を削除する rembg

rembg
ExtensionsタブからInstall from URLへ https://github.com/AUTOMATIC1111/stable-diffusion-webui-rembg.gitを入力してインストールします。

出力した画像から背景を削除するやつです。
別に画像編集ソフトで手動で行っても構いませんが、WebUI上でできると何かと便利です。

インストールできたらExtrasタブにSingleImageがあると思います。
ここに背景を削除したい画像を読み込みます。

とりあえず背景を切り抜くだけなら、Remove backgroundの項目をu2netにしてGenerateすれば完了します。
とりあえずシンプルな背景で切り抜いてみました。
複雑な背景でも切り抜き自体はできますが、たまに背景との判別が難しいこともあります。
最初から切り抜き前提ならシンプルな背景にした方が良いと思います。

切り抜きの細かい調整はAlpha mattingにチェックを入れると出てきます。
ある程度はここで調整することで対応できますが、それでも完全に綺麗に切り抜くのは結構難しいです。

ぶっちゃけ完璧に切り抜くなら別途画像編集ソフトでやった方がきれいだと思います。

画像からプロンプトを抽出してみる tagger

tagger
ExtensionsタブからInstall from URLへ https://github.com/toriato/stable-diffusion-webui-wd14-tagger.git と入力してインストールします。
再起動するとタブにtaggerが追加されているので開きます。

Single process にプロンプトを抽出したい画像を読み込みます。
Interrogateで右側のTagsにプロンプトが出力されます。
Thresholdの値でプロンプトをどの程度抽出するか変更できます。
数値が小さいほど細かく、大きくなればおおまかなプロンプトになるはずです。
必要に応じて Send to t2i または Send to i2i を使いましょう。

CFG Scale を強くかけられる拡張機能 sd-dynamic-thresholding

sd-dynamic-thresholding
ExtensionsタブからInstall from URLへ https://github.com/mcmonkeyprojects/sd-dynamic-thresholding.git と入力してインストールします。

Enable Dynamic Thresholding (CFG Scale Fix)があればインストールできています。
使う時はチェックを入れてください。

普通は7前後で使うことが多いと思いますが、導入すればかなり数値を大きくしても構図が維持されます。