SDXLでControlNetのLineartモデルを使用する - Stable Diffusion

SDXLでControlNetのLineartモデルを使用する手順と生成される画像を紹介します。

概要

SDXLのControlNetが利用できるようになり、Lineartのモデルも出始めました。 この記事では、Lineartのモデルを使用して線画をもとに画像を生成する手順を紹介しつつ、どんな画像が生成できるかを確認します。

事前準備

ControlNetをインストールします。手順はこちらの記事を参照してください。

モデルのインストール

SDXL用のControlNetのモデルをインストールします。
(https://huggingface.co/lllyasviel/sd_control_collection)からダウンロードします。
今回は以下のモデルを利用します。
  • t2i-adapter_diffusers_xl_lineart
  • bdsqlsz_controlllite_xl_lineart_anime_denoise

画像

今回は下図の画像を利用します。この画像と同じ形状、ポーズで画像を生成します。


ControlNetの設定

ControlNetの枠を開きます。[ここに画像をドロップ]のエリアに準備した画像をドロップします。


PreprocessorとModelを設定します。Preprocessorには[lineart_standard]、Modelには[t2i-adapter_diffusers_xl_lineart]または、 [bdsqlsz_controlllite_xl_lineart_anime_denoise]を設定します。 設定後、Preprocessorドロップダウンリストボックス右側の[Run preprocessor]ボタンをクリックし、プレビューを作成して、 プレビューイメージが生成できているか確認します。


[Enable]のチェックボックスをクリックしてチェックをつけ、ControlNetを有効にします。

プロンプト、設定

以下のプロンプトを利用します。
Prompt
Prompt: 1girl, tall, full body, standing, white straight long skirt, wearing blue upper jacket ,white shirt, blue hair, small waist pouch, animation shading, illustration, black lightweight waist belt, highres, detailed, vivid color,. white background
Negative prompt: worst quality, Sampler: Euler a
Steps: 20
CFG scale: 7
Size: 1,024 x 1,536
次のプロンプトを指定して画像を生成します。

画像の生成

t2i-adapter_diffusers_xl_lineart

下図の画像が生成されます。生成結果が若干荒い印象です。


ControlNetのEnding Control Stepの値を調整します。


Ending Control Step=0.8 の場合の結果です。

Ending Control Step=0.66 の場合の結果です。

Ending Control Step=0.5 の場合の結果です。

Ending Control Step=0.2 の場合の結果です。

Ending Control Stepの値を下げるほど画像の荒れが減りますが、形状の崩れが発生します。手の形状を見るとわかりやすいです。

bdsqlsz_controlllite_xl_lineart_anime_denoise

bdsqlsz_controlllite_xl_lineart_anime_denoiseでの結果を確認します。
Preprocessorには[lineart_anime_denoise]、Modelには[bdsqlsz_controlllite_xl_lineart_anime_denoise]を設定します。


Ending Control Step=1.0 の場合の結果です。


Ending Control Step=0.8 の場合の結果です。

Ending Control Step=0.66 の場合の結果です。

Ending Control Step=0.5 の場合の結果です。

Ending Control Step=0.2 の場合の結果です。


Ending Control Stepの値を下げるほど画像の荒れが減りますが、形状の崩れが発生します。手の形状を見るとわかりやすいです。

img2imgでControlNet Lineartを利用する

img2imgでControlNetのLineartを利用する例です。

img2imgで用意した画像を元画像として設定します。 Sampling method は"DPM++ 2M SDE Karras"を指定し、Resize by に2を設定し2倍にリサイズします。 ControlNetはPreprocessorに"lineart_standard"を指定し、Modelに"t2i-adapter_diffusers_xl_lineart"を指定します。
Ending Control Step は0.25に設定します。

以下のプロンプトで画像を生成します。下図の結果になります。
Prompt
Prompt: 1girl, tall, full body, standing, white straight long skirt, wearing blue upper jacket ,white shirt, blue hair, small waist pouch, animation shading, illustration, black lightweight waist belt, highres, detailed, vivid color,. white background
Negative prompt:worst quality, low quality, navel

img2img で ControlNetとTile Diffusionを両方利用する例です。

img2imgで用意した画像を元画像として設定します。 Sampling method は"DPM++ 2M SDE Karras"を指定します。 Tiled Diffusionを有効にし、Scale Factorを2に設定し、Upscaler を "SwinIR_4x"を指定します。 [Latent tile width][Latent tile height]は128、[Latent tile overlap]は48を設定します。
ControlNetはPreprocessorに"lineart_standard"を指定し、Modelに"t2i-adapter_diffusers_xl_lineart"を指定します。
Ending Control Step は0.25に設定します。

以下のプロンプトで画像を生成します。下図の結果になります。
Prompt
Prompt: 1girl, tall, full body, standing, white straight long skirt, wearing blue upper jacket ,white shirt, blue hair, small waist pouch, animation shading, illustration, black lightweight waist belt, highres, detailed, vivid color,. white background
Negative prompt:worst quality, low quality, navel

評価・所感

パラメーターの調整がやや難しい場合もありますが、元のイラストの形状を維持して、アップスケールや画像生成ができました。 今回利用した元画像が生成に利用したモデルで作成した画像ではないため、細部まで全く同じ形状でアップスケールすることはできませんでした。
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
掲載日: 2023-08-30
iPentec all rights reserverd.