IP-Adapter と ControlNet を併用して、カラーラフからクリンナップされたイラストを生成する - Stable Diffusion
IP-Adapter と ControlNet を併用して、カラーラフからクリンナップされたイラストを生成する手順を紹介します。
概要
こちらの記事では、ControlNetを利用して、カラーラフから着色されたカラーイラストを生成する手順を紹介しました。
紹介した方式で、カラーのイラスト画像を生成できましたが、色の振れ幅が大きい結果になりました。
この記事では、元のカラーラフの色をより強く反映させるため、IP-Adapterを併用して、色の振れ幅を抑えつつ、クリンナップされた画像を生成する手順を検証します。
今回は以下の複数の方法を利用して検証します。
- txt2img
- ContorlNet CN-anytest_v3-50000_fp16 を利用
- ContorlNet CN-anytest_v4-marged を利用
- ContorlNet dart_v2_sft_img_BlurCN_fp16 を利用
- img2img
- ContorlNet CN-anytest_v3-50000_fp16 を利用
- ContorlNet CN-anytest_v4-marged を利用
- ContorlNet dart_v2_sft_img_BlurCN_fp16 を利用
準備
IP-Adapter
今回はStable Diffusion WebUIを利用します。IP-Adapterを導入します。詳細は
こちらの記事を参照してください。
入力画像
ラフ画像に着色した画像を作成します。下図の画像を用意しました。
txt2img
txt2imgで準備した画像をControlNetの入力に設定します。
[ControlNet unit 0]は "CN-anytest_v3-50000_fp16" "CN-anytest_v4-marged" "dart_v2_sft_img_BlurCN_fp16"のいずれかを設定します。
[ControlNet unit 1]は IP-Adapter の設定をします。Preprocessorには"ip-adapter_clip_sdxl_plus_vith" を Modelに"ip-adapter_sdxl_vit-h" を設定します。
CN-anytest_v3-50000_fp16
CN-anytest_v3-50000_fp16を使用した場合の結果です。
IP-Adapter のWeightが1.0の場合の結果です。形状は入力画像を反映しています。カラーは入力画像と色味は同じですが、若干淡くなる傾向です。色の大きな振れは無くなります。
塗りわけも入力画像と同じになるため、細部はペイントされず、フラットな塗りになります。
IP-Adapter のWeightが0.5の場合の結果です。
IP-Adapter のWeightが0.25の場合の結果です。
IP-Adapterの影響が弱まるため、細部が描画されるようになり、フラット感が弱まりますが、カラーの振れ幅も大きくなります。
CN-anytest_v4-marged
CN-anytest_v4-margedを使用した場合の結果です。
IP-Adapter のWeightが1.0の場合の結果です。CN-anytest_v4-margedの補正力が強いため、元のラフの形状通りではない部分が多く見られます。
IP-Adpterの影響が強いためフラット感のあるペイント結果になります。
IP-Adapter のWeightが0.5の場合の結果です。
IP-Adapter のWeightが0.25の場合の結果です。
IP-Adapterの影響が弱まるため、細部が描画されるようになり、立体感のあるペイント結果になります。
dart_v2_sft_img_BlurCN_fp16
CN-anytest_v4-margedを使用した場合の結果です。全体的にフラット感のある画像の生成結果になります。
IP-Adapter のWeightが1.0の場合の結果です。
IP-Adapter のWeightが0.5の場合の結果です。
IP-Adapter のWeightが0.25の場合の結果です。
img2img
img2imgで画像生成します。入力画像に準備したカラーラフを設定します。
[ControlNet unit 0]は "CN-anytest_v3-50000_fp16" "CN-anytest_v4-marged" "dart_v2_sft_img_BlurCN_fp16"のいずれかを設定します。
[ControlNet unit 1]は IP-Adapter の設定をします。Preprocessorには"ip-adapter_clip_sdxl_plus_vith" を Modelに"ip-adapter_sdxl_vit-h" を設定します。
CN-anytest_v3-50000_fp16
CN-anytest_v3-50000_fp16を使用した場合の結果です。
Denoising strengthが0.75でIP-Adapter のWeightが1.0の場合の結果です。
Denoising strengthが0.75でIP-Adapter のWeightが0.5の場合の結果です。
Denoising strengthが0.75でIP-Adapter のWeightが0.25の場合の結果です。
Denoising strengthが0.9でIP-Adapter のWeightが1.0の場合の結果です。
Denoising strengthが0.9でIP-Adapter のWeightが0.5の場合の結果です。
Denoising strengthが0.9でIP-Adapter のWeightが0.25の場合の結果です。
CN-anytest_v4-marged
CN-anytest_v4-margedを使用した場合の結果です。
Denoising strengthが0.75でIP-Adapter のWeightが1.0の場合の結果です。
Denoising strengthが0.75でIP-Adapter のWeightが0.5の場合の結果です。
Denoising strengthが0.75でIP-Adapter のWeightが0.25の場合の結果です。
Denoising strengthが0.9でIP-Adapter のWeightが1.0の場合の結果です。
Denoising strengthが0.9でIP-Adapter のWeightが0.5の場合の結果です。
Denoising strengthが0.9でIP-Adapter のWeightが0.25の場合の結果です。
dart_v2_sft_img_BlurCN_fp16
CN-anytest_v4-margedを使用した場合の結果です。全体的にフラット感のある画像の生成結果になります。
Denoising strengthが0.75でIP-Adapter のWeightが1.0の場合の結果です。
Denoising strengthが0.75でIP-Adapter のWeightが0.5の場合の結果です。
Denoising strengthが0.75でIP-Adapter のWeightが0.25の場合の結果です。
Denoising strengthが0.9でIP-Adapter のWeightが1.0の場合の結果です。
Denoising strengthが0.9でIP-Adapter のWeightが0.5の場合の結果です。
Denoising strengthが0.9でIP-Adapter のWeightが0.25の場合の結果です。
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。