【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の解像度にしています。
元画像と生成される画像
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モデル各種
この記事が気に入ったらサポートをしてみませんか?