複数のキャラクターに同じデザインの衣装を着せる - IP-Adapter Plus を利用する - Stable Diffusion

複数のキャラクターに同じデザインの衣装を着せる方法を紹介します。

概要

学校の制服など複数のキャラクターに同じデザインの衣装を着せたい場合があります。
この記事では、IP-Adapter Plusを利用して、同じデザインの衣装で画像を生成する手順を紹介します。
補足
元デザインに対して完全に同じデザインで出力するには、さらに検証が必要な状況です。 この記事で紹介する方法では、ある程度似たデザインでの出力となっています。

SDXLを利用します。

事前準備

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

手順

衣装の元デザイン画像の作成

衣装のデザイン画像を作成します。今回は下図の画像とします。

プロンプトの作成

衣装のデザインとある程度似た画像を生成できるプロンプトを探します。
今回は以下のプロンプトを作成しました。
Prompt
Prompt: 1girl, standing, full body, yellow hair, red necktie, black stocking,blue skirt,one piece skirt, white shirt, standing collar, (blue corset:0.6), white background, adult girl
Negative prompt: worst quality, low quality, lowres

上記プロンプトのみで生成した画像が下図です。

IP-Adapter Plusの設定

ControlNetのパネルを開き、IP-Adapterの設定をします。入力画像には先に用意した衣装のデザイン画を設定します。
[Preprocessor]には"ip-adapter_clip_sdxl_plus_vith"を設定し、[Model]には"ip-adapter-plus+sdxl_vit-h"を設定します。
[Control Weight]は"0.5" 、[Ending Control Step] を"0.5" に設定します。Control Weight, Ending Control Step は画像の生成状況を見ながら値を変更します。 [Enable]チェックボックスをクリックしてチェックをつけ、IP-Adpterを有効にします。

画像の生成

画像を生成します。下図の画像が生成できました。
元のデザイン画と違う部分もありますが、そこそこ似たデザインの衣装で出力できました。
Prompt:キャラクター1
Prompt: 1girl, standing, full body, yellow hair, red necktie, black stocking,blue skirt,one piece skirt, white shirt, standing collar, (blue corset:0.6), white background, adult girl
Negative prompt: worst quality, low quality, lowres

プロンプトを変更し別のキャラクターに変えて画像を生成します。
Prompt:キャラクター2
Prompt: 1girl, standing, full body, black long hair, (tall image:1.2), red necktie, black stocking,blue skirt,one piece skirt, white shirt, standing collar, (blue corset:0.6), white background, adult girl
Negative prompt: worst quality, low quality, lowres

Prompt:キャラクター3
Prompt: 1girl, standing, full body, red short hair, (big breast:1.1), red necktie, black stocking,blue skirt,one piece skirt, white shirt, standing collar, (blue corset:0.6), white background, adult girl
Negative prompt: worst quality, low quality, lowres

Prompt:キャラクター4
Prompt: 1girl, standing, full body, green hair, ponytail, (flat chest:1.2), red necktie, black stocking,blue skirt,one piece skirt, white shirt, standing collar, (blue corset:0.6), white background, adult girl
Negative prompt: worst quality, low quality, lowres

Prompt:キャラクター5
Prompt: 1girl, standing, full body, purple hair, braided hair, (tall:1.2),beautiful propotion, slender, (flat chest:1.2), red necktie, black stocking,blue skirt,one piece skirt, white shirt, standing collar, (blue corset:0.6), white background, adult girl
Negative prompt: worst quality, low quality, lowres

作成した画像の中から、選定します。今回はこちらの5キャラ5枚を選定しました。
プロンプトだけでは体形の違いがあまり出せませんでした。プロンプトや出力サイズをもう少し工夫したほうがよさそうです。





アップスケール

Tiled DiffusionのMulti Diffusionでアップスケールします。
選定した画像をimg2imgの入力に設定します。プロンプトは以下とします。
Prompt
Prompt: (各キャラの画像生成時のプロンプト), anime shading
Negative prompt: worst quality, low quality, lowres, sketch

Denoising strengthをデフォルトの値より下げ 0.33に設定します。


[Enable Tiled Diffusion]のチェックをつけます。[Latent tile width],[Latent tile height] の値を128に変更します。[Scale Factor]の値は2とします。


アップスケール後の画像は下図です。






顔の大きさを合わせてサイズ調整にして並べた画像の完成図が下図です。

著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
掲載日: 2023-10-28
iPentec all rights reserverd.