前回は、yayoi_mix(ヤヨイミックス)を使ってリアル系日本人の着物美女を生成しました。
また、CIVITAIのサイトに掲載のプロンプトと設定を同じにして、同じ出力が得られるのかを試しましたが、同じ結果を得ることはできませんでした。これは、今後の課題として残しておきます。
今回は、yayoi_mix(ヤヨイミックス)と同じモデル製作者の「kisaragiMix(キサラギミックス)」を使ってみたいと思います。
モデル「kisaragiMix」とは
今回kisaragiMix(キサラギミックス)を選んだ理由としては、CIVITAIのkisaragiMixのページにyayoi_mix(ヤヨイミックス)と類似した着物女性の生成画像とプロンプトがあったので、比較には良いと思いました。
製作者からkisaragiMix(キサラギミックス)で以下のように説明があります。
リアル系マージモデルです。日本人を始めとするアジア系の再現ができるように調整しています。特にjapanese doll likenessとの親和性を意識しています。
Hugging Faceの方はこちら👇
Stable Diffusion web ui の設定
CIVITAIのkisaragiMixの着物女性のページにあるプロンプトや設定値と同じ値を入れていきます。
不明なパラメータ
前回と同様ですが、Clip Skipや画像サイズは、ページ内に記載は無かったです。
前回Clip Skipは1~3の3パターンを試し、画像サイズは画像をダウンロードして縦横比を計算して入力しました。そしてプロンプトや、Seed値は1つずつコピペしていましたので結構面倒な作業でした。
今回は、「PNG Info」 という良いツールを覚えましたので、違ったアプローチで設定していきます。
PNG Infoとは
Stable Diffusionの機能で、インストールすると「PNG Info」というタブがでます。
「Souce」に画像をドラッグ&ドロップすると・・・

自動で処理が走り、画像右側のテキストボックスにプロンプトや設定の情報が入ります。

更に、出力されたプロンプトの下にボタンがあり「Send to txt2img」をクリックすると、何と!txt2imgのタブに情報が送られます。超便利ですね。

PNG Infoを使うと、画像サイズも設定されますし、情報が無いと言っていた「Clip Skip」の値も設定されます。一気に色んな事が解決できました。

でも、何故このような情報が得られるの??

生成画像内に情報が保存されているからです
Stable Diffusionで生成された画像には、自動で生成に使ったメタ情報が埋め込まれるようです。

スマホで撮影した写真に位置情報や、
画質の情報が入るのと同じですね
PNG Infoで取得した設定のまま生成
そのままやると以下のようなエラーとなり、解決策の提案通りSettingを変更しましたが、それでもエラーは解消しませんでした。
NansException: A tensor with all NaNs was produced in Unet. This could be either because there’s not enough precision to represent the picture, or because your video card does not support half type. Try setting the “Upcast cross attention layer to float32” option in Settings > Stable Diffusion or using the –no-half commandline argument to fix this. Use –disable-nan-check commandline argument to disable this check.
(日本語訳)NansException: UnetでNaNばかりのテンソルが生成されました。これは、画像を表現するのに十分な精度がないか、ビデオカードがハーフタイプをサポートしていない可能性があります。この問題を解決するには、設定 > Stable Diffusionで “Upcast cross attention layer to float32 “オプションを設定するか、–no-halfコマンドライン引数を使用してみてください。このチェックを無効にするには、–disable-nan-check コマンドライン引数を使用します。
画像サイズを、縦横比を維持して小さくしたところエラーは解消しました。
結果の差異
kisaragiMixで生成した画像は、プロンプトや設定が全く同じではありますが結果が一致しません。着物の色が大きく違い、被写体の向きも違います。プロンプトには「kimono」としか記載していないのでどのような色や柄かは

kisaragiMix画像生成の傾向を確認
それではパラメータを変えて、kisaragiMix画像生成の傾向を確認したいと思います。
Clip Skipのみ1~3に変化させた結果です。

プロンプトは同じで、Clip Skipを1~3と変化させSeed=-1(ランダム)で出力した結果です。
Clip Skip:1
左下の画像はサンプルと着物、向きが近い印象です。

Clip Skip:2
少し大人びた印象です。

Clip Skip:3
着物が地味になっている印象です。

プロンプト(呪文)を微調整
着物に「気品高い」を追加したいと思います。prompt(プロンプト)の「kimono」の部分を「noble kimono」に変更しました。正座の女性も出現しました。

少し、お顔立ちも変えてみます。年齢層の指定はなくgirlのみでしたので、「20yo」と年齢の指定を入れてみます。「20yo」と「20 Years Old」は結果が同じかは少し気になります。

まとめ
今回はkisaragiMix(キサラギミックス)で着物美女を出力してみました。設定を同じにしても、同じ結果が得られないのは前回と同様でした。kisaragiMix(キサラギミックス)自体は品質の高い良いモデルだと感じました。早く、適材適所でモデルを使い分けて、思い通りの画像生成ができるようになりたいと思います。
今回、顔立ちを好みに近づけたいと思って色々やってみましたが、中々うまくいきませんでした。というより、やり方が分かっていないと言った方が正しいかもしれません。今後の課題の1つに入れておきます。