見出し画像

【ComfyUI】絵をラインアートに変換してAnimagineXLで塗り直す【SDXL】

SDXLベースのモデルであるAnimagine XLではLineArtなどのControl NetモデルもSDXL用のモノを使う必要があります。

SDXL用のLineArtモデルのダウンロード

SDXL用のLineArtモデルが配布されています。

この中からt2i-adapter_diffusers_xl_lineart.safetensorsをダウンロードして使用します。

ComfyUIの起動スクリプトにモデルダウンロードを追加

ComfyUIの起動用のjupyter notebookにモデルダウンロードを追加します

!wget -c https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/t2i-adapter_diffusers_xl_lineart.safetensors -P ./models/controlnet/a

ワークフロー

このワークフロー、全体の構成としてはSDXLでControlNetを1個使う典型的な構造ですが、Animate LineArtで512x512の解像度で線画にしているのがポイント。
線画化する元画像は1024x1024解像度です。そのまま1024x1024解像度で線画化すると、細かすぎるのか塗り直しがキレイにできませんでした。
その対策で512x512の解像度にしています。

元画像と生成される画像

元画像 1024x1024


元画像から生成したLineArt 512x512
塗り直した画像 1024x1024
プロンプトで髪、目の色を赤に変更
Prompt: 1girl, solo, red eyes, long hair, smile, pointy ears, shirt, bow, jacket, skirt, looking at viewer, red hair, school uniform, white shirt, bowtie, blush, collared shirt, red bow, indoors, bangs, grin, long sleeves, plaid skirt, elf, hair between eyes, breasts, red bowtie, window, open clothes, pleated skirt, open jacket, index finger raised, black jacket, teeth, blazer, finger to mouth, plaid, dress shirt, very long hair, blue skirt, hand up cowboy shot,window,(illustration:1.05),

SDXL系の画像生成モデルでSD1.5系のControlNetを使うとエラーが出る

Load CheckpointでSDXL系モデルのAnimagineXLV3。
Load ControlNet ModelでSD1.5系コントロールネットモデルのcontrol_v11p_sd15s2_lineart_anime.pthを指定するとエラーが出ます。

Error occurred when executing KSampler:

mat1 and mat2 shapes cannot be multiplied (308x2048 and 768x320)

詳しいことはよくわかりませんが、マトリックス(行列)のサイズ違いで計算(掛け算)が出来ないようです。
数理的なサイズが違うんですね。

参考

SDXLのControlNetモデル各種

この記事が気に入ったらサポートをしてみませんか?