Instant-ID を利用する - Stable Diffusion

Instant-IDを利用して、入力した画像の顔の特徴を取得して同じ顔のキャラクターを画像生成する手順を紹介します。

事前準備

Instant-IDのモデルのダウンロードと配置をします。詳細な手順はこちらの記事を参照してください。

手順

Stable Diffusion Web UIを表示します。


下にスクロールし、ControlNetのパネルをクリックして開きます。

ControlNet Unit 0 の設定

[ControlNet Unit 0]のタブに入力画像を設定します。描画したいキャラクターの顔の画像を入力します。


今回は下図の画像を入力画像として利用します。


ワンポイント
入力画像にぼかしがかかっており鮮明な画像でないですが、これは入力画像のPreprocessor処理でエラーにならないための対策です。 詳細はこちらの記事を参照してください。

画像入力後、Preprocessorを"instant_id_face_embedding"に設定します。 設定後、[Run preprocessor]ボタンをクリックしてPreprocessorを実行します。 エラーが発生しなければ、右側のプレビューに同じ画像が表示されます。


Modelには"ip-adapter_instant_id_sdxl" を設定します。
[Enable]のチェックボックスをクリックしてチェックをつけます。

ControlNet Unit 1 の設定

続いて2つめのControlNetを設定します。[ControlNet Unit 1]のタブをクリックして選択します。 下図の画面が表示されます。


入力画像に先ほど[ControlNet Unit 0]タブで入力画像に設定した画像と同じ画像を設定します。


画像入力後、Preprocessorを"instant_id_face_keypoints"に設定します。 設定後、[Run preprocessor]ボタンをクリックしてPreprocessorを実行します。 エラーが発生しなければ、右側のプレビューに顔の位置を示すマークが画像が表示されます。


Modelには"control_instant_id_sdxl" を設定します。
[Enable]のチェックボックスをクリックしてチェックをつけます。

画像の生成

画像を生成します。2つのControlNetが有効になっている状態で、以下のプロンプトで画像を生成します。
Prompt and settings
Prompt: 1girl, masterpiece~ Negative prompt: worst quality, low quality, nsfw, skin
Steps: 20
Sampler: DPM++ 2M
Schedule type: Karras

画像生成結果は下図です。入力画像の顔と同じ絵柄で出力できました。が、やや色が退色気味です。


[ControlNet Unit 0]のControlWeightの値を1.0のままで、[ControlNet Unit 1]のControlWeightの値を0.5に下げて、画像生成を実行します。 色の退色は減りましたが、顔の絵柄は入力画像との違いが大きくなった印象です。


[ControlNet Unit 0]のControlWeightの値を0.5に、[ControlNet Unit 1]のControlWeightの値を1.0に設定した場合の結果です。
やや退色が見られます。


画像を生成します。プロンプトは下記を利用します。
Prompt and settings
Prompt: 1girl, masterpiece
Negative prompt: worst quality, low quality, nsfw, skin
Model: Animagine XL v3.1
Steps: 20
Sampler: DPM++ 2M
Schedule type: Karras

[ControlNet Unit 0]のControlWeightの値を1.0、[ControlNet Unit 1]のControlWeightの値を0.5に設定した場合の結果は下図です。 [ControlNet Unit 0]の入力画像の絵柄で、[ControlNet Unit 1]の入力画像の顔の位置で画像が生成できています。


ステップ数がやや不足気味な印象があったため、Stepsを40に設定し、 [ControlNet Unit 0]のControlWeightの値を1.0、[ControlNet Unit 1]のControlWeightの値を0.5に設定した場合の結果は下図です。大きな変化はありませんでした。


Stepsを40、[ControlNet Unit 0]のControlWeightの値を1.0、[ControlNet Unit 1]のControlWeightの値を0.25に設定した場合の結果は下図です。 入力画像の絵柄の影響が弱まり、モデルの元の絵柄の特徴が出る印象です。また、全体的に緑色に退色する傾向はあります。この色変化はInstant-IDの 入力画像の背景色が影響している可能性がありそうです。


Instant-IDを利用しない場合の生成結果です。生成される画像の絵柄がInstant-IDありの場合と違うことが確認できます。

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