上級編の続きの記事です。
この記事では、
「独自の意匠を施したオリキャラが登場する画像を生成する」ための
私なりの方法を解説していきます。
以降の作業は、次のモデルと拡張機能、ツールを使用します。
【モデル】
・SweetLuna/Aurora
【拡張機能】
※プロンプトや元画像以外での生成画像コントロール手段(ポーズ情報や輪郭線情報などでのコントロール)を提供する技術がControlNetです。この技術をStable Diffusion web UI(AUTOMATIC1111版)で使えるようにするための拡張機能です。
※ControlNet用のモデル(.pth)と設定ファイル(.yaml)は、事前にダウンロードしておきます。この記事で使用するのは「control_v11p_sd15_canny」のものです。(ダウンロード先:~\stable-diffusion-webui\models\ControlNet)
【ツール】
・VRoid Studio
※3Dキャラクターを直感的に制作できるツールです。
VRoid Studioで制作した3Dキャラクターのポーズ画像を撮り、その画像に生成した背景画像を合成する。
その合成画像から、ControlNetの「Canny」(輪郭線を元に生成画像をコントロールする機能)で、意匠を残したまま再生成する。
①VRoid Studioで3Dキャラクターを制作する。
※制作が難しい場合は、他の方の制作物をお借りすることを検討されるのが良いかと思います。(もちろんライセンスの確認は必須です)
②背景画像を生成する。
【Prompt】
1girl, solo, wide shot, scenery,
indoors, wooden wall, wooden floor, bed, window, curtains, day
【Negative prompt】
KHFB, AuroraNegative, (Worst Quality, Low Quality:1.4), border, grayscale, watermark
③3Dキャラクター画像と背景画像を合成する。
④合成画像からDeepbooruタグを逆生成する。
→合成画像をimg2img画面に置き、Interrogate DeepBooruを押す。
※タグは初期設定だとアンダーバー区切り(例:male_focus)で表示されます。アンダーバーではなくスペースで表示させるには、「Settings >> Interrogate Options >> deepbooru: use spaces in tags」をONにします。
⑤プロンプトを修正した上で、ControlNetのCannyを有効にし、再生成する。
Image:(同じ合成画像)
Enable:ON
Low VRAM:ON ※低スペックPCの場合
Allow Preview:ON
Control Type:Canny
【Prompt】
dark-skinned (otoko no ko:1.4), solo, cat ears, brown eyes, black short hair, black t-shirt, bottomless, (small penis:1.4), testicles, socks,
t-pose, outstretched arms,
wooden wall, wooden floor, window, curtains, door, day
【Negative prompt】
KHFB, AuroraNegative, (Worst Quality, Low Quality:1.4), border, grayscale, watermark
⑥出力された線画をダウンロードし、残したい意匠以外を消す。
↓↓↓
⑦変更した線画をControlNetのImage項目に置き、再度生成をする。
※高解像度化もこのタイミングで行います。
Image:線画(変更後)
Allow Preview:OFF
Preprocessor:none
私の場合は、次の画像が生成されました。
◆生成画像
画像生成AIで同じキャラをプロンプトやLoRAモデルで固定して、連続生成することは可能です。
しかし、プロンプトで表現しきれないような意匠は固定が難しく、そして、得てしてそのような意匠こそがキャラクター特徴と見なされやすいです。
そのキャラクター特徴を残すための手段として、ControlNetで輪郭線を使うタイプの機能(例:Canny)を使用してみました。
この記事では、
5.おまけ編……独自の意匠を施したオリキャラが登場する画像を生成する。
の解説をしました。
以上で入門シリーズは完了です。
参考になったと思いましたら、「いいね」や「フォロー」をお願いします。
(終わり)