AI画像生成は、ClipStudio->フィルター->Stable Diffusion->{fine art,kawaii}になるまで待ってたのですが、ナンかモメてCELSISが「『懸念のある機能』をCLIPSTUDIOに搭載しません」とアナウンスしたので先になりそうだなと思ってStable Diffusion webuiをWindowsにインストールして使ってみました。体験記をメモします。2023年5月記す。
やってみたら、いろんな便利なとこあるなー、なんですが、2023年05月の段階では設定が面倒でした。早くClipStudio->Stable Diffusion->{fine art,kawaii}的なのになって欲しいです。
また、次に書く体験記は、「中古PC+中古グラフィックボードを3万円で買ってStableDiffusionweb uiをインストールする」です。6月中に書きます。
中古グラフィックボードは買ったのですが、面倒でまだ設定していないです。Bingで画像生成も出来るし、楽ちんで正常進化だし、体験記の記述を保留します。
グラフィックボード持ってなかったので最初CPUでやってみて、それで遅かったのでグラフィックボードをパーソナルコンピューターに増設しました。
買ったのは色々なWEBサイトで勧められていたNVIDIA GeForce RTX3060。49000円台で、グラフィックボードのメモリーが12GBなので勧められているのでしょう。
玄人志向 NVIDIA GeForce RTX3060 GDDR6 12GBメモリ搭載 GALAKURO GAMINGシリーズ GG-RTX3060-E12GB/OC/DF
漫画家のI先生はTwitterで8GBでStable Diffusionを使っている、とツイートされていたので、8GBでもStableDiffusionは動くのではないでしょうか。
StableDiffusion webuiのWEBサイトには、「グラフィックボードのメモリー4GBサポート、2GBでも動作報告あり」と書かれていました。
「AMD RADEONのグラフィックボードでの動作はおすすめしない」の情報もWEBで見たのと、後は使っているパーソナルコンピューターのCPUがIntelだったのでNVIDIAのグラフィックボードを買いました。見たら、Stable Diffusion webuiのWEBサイトにはAMD GPUでStable Diffusion webuiを動作させる方法が書いてあるので、Ryzen+RADEONだと苦労するのと、後は性能は出なさそうですが、やれば出来るんだと思います。
使っているパーソナルコンピューターの電源が400W、RTX3060の消費ワット数が189Wと、半分グラフィックボードで使うのはおっかなかったので電源を替えました。面倒でした。
で、グラフィックボード増設。PCIeスロットの長い方に増設。
補助電源接続。6pin + 2pin。
最初間違えて4pin + 4pinを使って、パーソナルコンピューターが上がらなくて3時間悩みました。電源間違えるとグラフィックボードつぶしてしまうかも知れなかったので、おっかないですね。4pin + 4pinの端子ではなかったです。
6pinの端子しか電源から出ていなくても、
グラフィックボードのマニュアルには6pinの場合は出力コネクター方に寄せて接続、と書いてあるので6binの接続で動くでしょう。
グラフィックボードを差して電源繋げてパーソナルコンピューターを起動、「NVIDIA ドライバー」で検索してグラフィックボードのドライバーをダウンロード、インストールしました。
検索して引っかかった、StableDiffusion webuiのインストールの解説ページを見てインストールしました。
AUTOMATIC1111のトラブルシューティングには、Python3.10.6で動作確認している、と書いてあったのでPythonは3.10.6をインストール、Gitは最新のを使いました。DOSプロンプトから使うので、インストール時に「PATHに追加」をチェックしました。
gitでAUTOMATIC1111をダウンロードして、webui-user.batを起動。CUDAとかTorchのダウンロードが始まったので放置。
途中、pipのバージョンが古い、のエラーが出て止まったので、エラー画面に出ている、
python -m pip install --upgrade pip
を実行して再度webui-user.batを起動。Stable Diffusion webuiが起動しました。webui-user.batのCOMMANDLINE_ARGSに--listenを追記して他のパーソナルコンピューターからアクセス出来るようにしました。
また、webui-user.batのショートカットをデスクトップに作成して、楽にStable Diffusion webuiを起動できるようにしました。
どこで知ったんだか忘れましたが、ネガティブプロンプトにはEasyNegativeが楽ちんだと知ったので、「EasyNegative」の導入とその使い方【Stable Diffusion web UI】的なページを見て導入。stable-diffusion-webui\embeddingsにEasyNegativeを格納。今回の試し出力のモデルにはSukiAni-Mixを使用。
モデルの導入方法は、stable-diffusion-webui\models\Stable-diffusionにモデルファイルを格納してstable-diffusion-webuiを再起動。
プロンプトに「a school girl」、ネガティブプロンプトに「EasyNegative」を入力して「Generate」を押下。
生成されました。
線画から着色を試したかったのでControlNetを導入。初めからインストールされていないです。面倒です。webUIのControlNetv1.1(コントロールネット)の導入方法を解説!などの、「Stable Diffusion ControlNet 導入 方法」で検索に引っかかるページを参考に導入。
ControlNetのインストール時に「拡張のセキュリティーが保証されていない」とエラーが出たので、webui-user.batのCOMMANDLINE_ARGSに「--enable-insecure-extension-access」を追記してStable Diffusion webuiを再起動。
extensions押下、Install from URL押下、URL for extension's git repositoryに「https://github.com/Mikubill/sd-webui-controlnet」を入力してinstallを押下。Reload UIを押下。
https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/mainからモデルファイルをダウンロードして、Controlnetのextension導入後に作成されるstable-diffusion-webui\models\ControlNetに格納し、Stable Diffusion webuiを再起動。
Controlnet1.1が導入されました。
モデルは、ACertainModelを使用しました。
線画。
「ここに画像をドロップ or クリックしてアップロード」に線画を指定。
Enable押下、Pixel Perfect押下、Preprocessorにinvertを選択、modelにlineartを選択。
そういうキャラクターなので、プロンプトに「green eye,silver hair,yellow ribbon,beauty sky」や「green eye,silver hair,exposed shoulders,flying yellow ribbon,beauty sky,wind」を指定してGenerateを押下。
キャラクターが着色されました。自分で書くより見栄えのする絵でした。
LORAのanimeoutlineを導入する方法でやってみました。MultiControlNetでも出来そうです。Anime Lineart / Manga-likeからLORAファイルをダウンロード、stable-diffusion-webui\models\Loraに格納、Stable Diffusion webuiを再起動。
今回は3Dモデルに、公開されているProject PLATEAUを使用してみました。任意の場所で3Dモデルを止め、スクリーンショットを取りました。渋谷のモデルを使って、多分これは109のとこだろうなのところのスクリーンショットを取りました。
ControlNetに3Dモデルを読ませ、Enable, Preprocessor depth_leles, Model control_depthを指定。
プロンプトにtownを指定、Generateボタン下花札アイコンを押下、Loraを押下、animeoutlineアイコンを押下しanimeoutlineを指定し、Generateを押下。
save->[ファイル名]->Downloadを押下して生成された線画を端末に保存し、保存したファイルをControlnetに指定。
プロンプトに、「beauty sky, morning」を指定し、Generate押下。
背景画像が生成されました。
MultiControlNetを導入します。Settings押下、ControlNet押下、MultiControlNetの数値を2に。ApplySettings押下、ReloadUI押下。
ControlnetのUnitが2つになったのを確認します。10個並べる人も出てきそうです。
絵柄指定画像とラフ画像を用意。
ControlNet Unit 0に絵柄指定画像を指定。Enable, Preprocessor reference_only, Control Mode ControlNet is more importantを選択。
ControlNet Unit 1にラフ絵を指定。Enable, Preprocessor invert, Model lineart, ControlMode Balancedを選択。
キャラクターと背景に合わせ、プロンプトに「green eye,silver hair,gray dress,white ribbon on the head,brown door,brown floor,tea cup」を指定してGenerateを押下。
ラフ画像から自分の絵柄で絵が生成されました。が、俺はこんなに上手く服の影をつけられないのでゲタ履いてます。また、私より絵が上手い人はより見栄えのする絵が生成できます。
おまけ。ControlNet Unit 0 Control Mode Balanced, Style Fidelity 0.7。
自分の絵より見栄えのする絵になりましたが、他人の絵です。
キャラクター画像。
キャラクター画像をControlNetに指定。Enable, Preprocessor reference_adain, Balancedは今回は例えば0.7にしました。
プロンプトに「lighting sea,beautiful sky,flying lighting petals」を指定。Generate押下。背景画像が生成されました。
背景画像とキャラクター画像を重ねました。いまいち馴染んでいないのは私の絵が下手で色が薄いためです。
色調操作しましたが、大して変わんなかったです。元のキャラ絵が野暮ったいので背景に合わないだけでした。
随分前に買った、加工可の許諾の背景素材を用意しました。
横800pixelに画像サイズを変更。
生成画像のサイズを素材ファイルサイズに合わせて変更し、Controlnetに画像を指定、Enable, Pixel Perfect, Preprocessor invert, Model lineart, ControlMode Controlnet is more importantを指定。
プロンプトにcastle, night, lightを指定してGenerate押下。
背景画像が生成されました。例えば生成したキャラクターと合わせてみます。
パースが合っていないのでギャルゲ立ち。
ナンかよく知りませんが、生成中にinterruptで止めて、生成中の画像をControlnetやimage2imageに使って効果画像にするトリッキーな使い方をTwitterで見ました。
なんかこんなん。
reference_adain+attn。
invert, line_art
生成した画像がこちら。明かりが赤くなってゴシックですが、redlightのプロンプトでも行けねえかなあ、程度。
キャラクターに似たようなことした時、こちらが書いたキャラ勝手に変えずに、効果だけ反映させてくれればいいなーと漠然と思っていますが、まだやり方分かんないです。そのうち出てくるでしょう。おまけ。
以上、2023年05月の段階ではまだ設定と操作が面倒です。早くClipStudio->フィルター->Generate->{fine art,kawaii}になって欲しいです。
次の体験記は、「中古PCを買ってDebianで3万円で始めるStableDiffusion webui」です。
中古グラフィックボードは買ったのですが、面倒で設定していないです。次の体験記の記述を保留します。