Instant-ID を利用する
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の作業もする。