Stable Diffusionで同じ顔のグラビア画像を複製する reference-only の使い方

フルタニ

こんにちは、フルタニです。放送局で番組作りをしてました。 reference-only を書きます。

Stable Diffusionで生成したキャラクターが複製できなくて困ったことありませんか。

なぜなら、画像生成AIがつくる画像は気まぐれだから。

同じ絵を忠実に複製するのが超苦手です。

しかしControlNetの新機能が登場したことで、生成した画像に極めて近い画像を何枚でも生成することができるようになりました。

同じ顔が複製できると動画やアニメーションを作るとき超役立ちます。

Stable Diffusionの新機能「reference-only」を紹介します。

reference-only とは

reference-only とは雰囲気の似た画像を生成してくれるツールのこと。

動画生成AIから「気まぐれに画像をつくる癖」は取り除けません。

なので、最初の絵に限りなく似た絵を真似て作らせることができれば合格ラインのアニメーションを作ることができます。

そのツールがStable Diffusion web UIの拡張機能「reference-only」です。

Stable Diffusionを使ったことのある人なら、簡単にインストールして使えるようになります。

Stable Diffusionを起動する

はじめに、画像生成ツールStable Diffusionを起動します。

初心者なのでStable Diffusionのインストールがわからないとという方は、下記の記事を参照しながらStable Diffusionの設定を済ませておいてください。

Stable Diffusion

初心者にはGoogleColabを使う方法をお勧めします。自分のPCに組み込んで使い倒したい人はAUTOMATIC1111を参照ください。

Stable Diffusionの設定が終わったら、reference-onlyの設定に移ります。

reference-onlyを設定する

reference-onlyは単独のソフトではありません。

Stable Diffusionで使う「ControlNet」と呼ばれるサービスのひとつにあたります。

いわば道具の詰め合わせのようなもので、必要に応じて必要な機能を使います。

ControlNetには、Stable Diffusionで使える機能がいくつもあります。
・画像を修正する
・画像をシャッフル
・画像の一部を修正する
・落書きからリアルな画像を生成する
・高解像度の画像を生成する
などで、拡張機能の一覧から必要に応じて利用できます。

ControlNetは最新版を使う必要があるのでlllyasviel/ControlNet-v1-1 at mainから最新版のものをダウンロードします。

すでに旧バージョンをインストール済みの場合は、Stable Diffusion web UIの拡張機能タブから「ControlNet v1.1.170」以降にアップデートします。

GPUの容量が少ない場合は軽量版をcomfyanonymous/ControlNet-v1-1_fp16_safetensors at mainからダウンロードします。

ダウンロードしたら、Stable Diffusion web UIに拡張機能をインストールします。

やり方は簡単です。Stable Diffusion web UIを起動したら[拡張機能][拡張機能リスト]と進み、読込ボタンを押して拡張機能の一覧を表示します。

一覧の中から「sd-webui-controlnet」を探して右側のインストールボタンを押すだけです。

すると、ダウンロードしたControlNetから「scribble」モデルがフォルダに格納されます。

インストールが済んだらStable Diffusion web UIを再起動します。

再起動したページにあるtxt2img・img2img画面の左下にControlNetの設定欄が出現すれば設定終了です。

ControlNetの基本的な使い方

ControlNetの準備が終わったら、Preprocessorの項目の中身を確認します。

[Preprocessor]の中に[reference_only]があれば設定完了です。

一覧から「reference_only」を選択します。

すると、Reference-onlyを利用できるようになりました。

PreprocessorはModelと関連づけて使われるのが普通です。しかし、Reference-onlyの場合は、自らを複製するのでModelの選択はおこなわれません。

Reference-onlyは、最初に生成した画像を「参照のみ」して画像生成を行うしくみです。

「参照のみ」とは、お手本を見ながら新たに書き起こすようなもの。写経のような作業です。

結果は似たようなものになりますが、よく見るとどこか違います。なのでコピペではありません。

次にtxt2img

「Preprocessor」を確認します。

「txt2img」タブを開き、ControlNetを開いて、複製をとりたい画像をアップロードします。

このとき、[Single Image]の中にある[Enable]と[Pixel Perfect]にチェックを入れます

[Sampling Mehod]は[Euler a]として[Generate]ボタンを押します。

すると似たような画像が生成できます。

一枚だけだと分かりにくい場合は[Batch Count]を1から複数に変えて[Generate]ボタンを押します。

ばらつきが気になる場合は、[Control]モードから[My Prompt is more inportant ]を押すことで背景イメージなどが統一され類似した画像が多く生成されるようになります。

チュートリアル動画

【ControlNet】1枚の画像でスタイル転送可能なReference-only | ジコログ

まとめ

AI生成グラビアで同じ顔を複製するには

  • Stable Diffusion web UIを起動
  • lllyasviel/ControlNet-v1-1 at mainから最新版のControlNetをダウンロード
  • sd-webui-controlnet」をインストール
  • Stable Diffusion web UIを再起動
  • Stable Diffusion web UIを再起動
  • [Preprocessor]の中から[reference_only]を選択
  • 「txt2img」タブを開き、ControlNetを開いて、複製をとりたい画像を選択
  • [Single Image]の中にある[Enable]と[Pixel Perfect]にチェックを入れてアップロード
  • [Sampling Mehod]は[Euler a]として[Generate]ボタンを押す

以上の流れです。

キャラを複製するには、これまでは[inpaint]を使って姿形や動作だけ変える方法しかありませんでした。

しかし、reference-onlyを使うことで同じ人物やキャラクターを保ちながら、それ以外の部分を好みの画像に生成することができます。

作業の負担が軽くなったことで、アニメ制作などで補助的ツールとして利用する人も増え始めています。

AI生成画像を上手に使うことで時短に繋げられればいいですね。

reference-onlyに関するよくある質問

キャラクターを維持したままイメージチェンジはできますか
[Single Image]の中にある[Enable]と[Pixel Perfect]にチェックを入れ、[Preprocessor]の中から[reference_only]を選択した上で、人物なら衣類や髪の色など、プロンプトのテキストを変えていきます。バッチ数を増やしてGenerateすると複数の候補が生成されるのでその中から好みの画像が選べます。
常に同じ顔を出力したい場合、reference-onlyの方法はありますか
loraを自作して使う方法が最善策です。