Stable Diffusionで同じ人物の画像が作れる『Reference Only』を使う方法

Stable Diffusion

Stable Diffusionを利用しているときになかなか狙った画像が生成できなくて、困った経験はありませんか?あるいは、お気に入りのキャラクターができた時に、別の服装に着せ替えしたいと思ったことはありませんか?

そんなあなたを助けてくれる拡張機能があります。

それが『Reference Only』です。

今回は、この機能について紹介していきます。

スポンサーリンク

Stable Diffusionで使える拡張機能『Reference Only』とは

Stable Diffusionの拡張機能『Refernce_only』は、任意の画像を参考にして、新たに画像を生成することができます。

ご自身のお気に入りキャラクターを参考画像とし、かなり似せた画像を生成することが可能です。

Stable Dffusionの拡張機能の代表格、[ControlNet] で使える機能の一つで、ControlNetのバージョン 1.1.153以降で使用可能です。

目的の画像に近づけるためにに「Lora」を使うことがあると思いますが、参考となる画像があれば、それに似た用途で使うことができます。

※1枚の画像だけで「Lora」のようなことを実現しているといえるでしょう。

※「ControlNet」についてさらに詳しく知りたい方は以下の記事を参考にしてください。

※『Lora』についてさらに詳しく知りたい方は以下の記事を参考にしてください。

Stable Diffusionの画像生成を最速で学びたいあなたへ!
  • Stable Diffusionの基礎を2時間でマスター!
  • 高スペックPCがない方向けに徹底解説。
  • ControlNetなど、必須級の拡張機能も網羅。
  • 今話題のSDXL、AI動画生成も。
  • 特典として、大人気「おすすめ拡張機能・モデル解説」「プロンプト大全」つき!
\このボタン限定!70%オフキャンペーン実施中!/
70%オフキャンペーン実施中!/

Stable Diffusion『Reference Only』の設定方法

それでは各設定値の説明からしていきますが、その前にControl Net の導入は済んでいますか?

『Reference Only』の設定方法①Control Netの導入

Reference Onlyを使うには、[Control Net]の使用環境が必要です。もしまだ導入が済んでいない方はこちらの記事を参考に導入してください。

導入が済んでいる方は次に進んでください。

『Reference Only』の設定方法②詳細設定を決める

色々なパラメーターがあります。単に同じ顔のキャラを作りたいだけなら、ほとんどパラメータをいじる必要はありませんが、高度な制作をしたい方はここで各設値定の意味をしっかり覚えてしまいましょう。

  • Enable – 有効化(スイッチです) 使う時は必ずチェックが必要です。
  • low VRAM – VRAMの消費を減らす。ご自身の環境に合わせてお使いください。
  • Pixel Perfect – ピクセルパーフェクトモードをオンにすると、プリプロセッサ(アノテーター)の解像度の設定が自動になります。Reference Onlyには、解像度の設定は不要なので、今回は使いません。
  • Allow Preview – 有効にすると、プレヴュー画面が現れます。
  • Control Type – 機能の選択です。Control Net にはあなたの制作を支えてくれる様々な機能があります。今回はReference Onlyを使っていきます。
  • Preprocessor – 前処理のプログラムを選びます。Reference Onlyの場合は現在は3種類あります。・reference_only – デフォルトの設定です。・reference_adain – 処理の高速化を目的としてしたものです。でも効きが悪いのであまり使いません。 ・reference_adain+attn – 速度と実用性を求めたもの。Control Netがややきつめにかかるので、実写系モデルの場合にreference_only で効果が薄い時には使ってみるのもいいでしょう。
  • Control Weight – 強度の設定です。画像の出来を確認しながら調整するといいでしょう。
  • Starting Control Step / Ending Control Step – Control Netが効く範囲を決めます。0.5 ~1にすると画像生成の半分から終わりまでの範囲でControl Netが効きます。ここも出来を見ながら微調整が要ります。
  • Control Mode – Control Netとプロンプト、どちらを優先するかの設定です。Balanced はデフォルト設定。 My prompt is more important は プロンプト>Control Net 。ControlNet is more important は Control Net. 優勢の設定で、その強さはCFG Scaleの値に比例します。
  • Style Fidelity (only for “Balanced” mode) – 高い(最大1)と、参照画像に忠実な画像を生成します。前述の Control Mode が Balanced の場合だけ選択できます。
  • Resize Mode – 参考画像のリサイズの方法です。・Just Resize – 参考画像を出力画像のサイズに引き伸ばします。 ・Crop and Resize – 参考画像を出力サイズにトリミングします。 ・Resize and Fill – 余白はそのまま参考画像を出力サイズに合わせます。参考画像と出力画像の縦横比が合わない時は、ここをちゃんと指定しないとバランスの悪い仕上がりになります
参考画像

参考画像

512 x 512 サイズ

360 x 640 にリサイズすると、以下のようになります。

このように参考画像がリサイズされます。やたらバランスの悪い人物が生成された時はここの設定が間違っています。修正しましょう。

  • [Loopback] Automatically send generated images to this ControlNet unit – フォルダ内にある画像をまとめてControl Netに入れることができます。フォルダのパスを入力すると、そのフォルダのすべての画像が送られます。

『Reference Only』の設定方法③txt2imgで画像生成

それでは早速使ってみましょう。txt2imgのタグを開いて以下のように設定しました。

呪文(プロンプト)は

girl
ネガティブプロンプト : EasyNegative

他の設定値はデフォルトのままです。参考画像は

画像をドロップして、Enable とReference Only を選択

Generateすると

Reference Onlyを効かせて生成した画像

明らかに元画像に寄った画像が生成されました。もっとそっくりに生成したい場合は髪型や服装などをプロンプトで寄せていってください。

romptn Q&Aで画像生成の悩みを解決しよう!
  • Stable Diffusionのエラーが解決しない
  • 画像生成がうまくできない
  • おすすめのモデルが知りたい
など、AIに関するお悩みがあれば投稿してみてください。
詳しい人が解決してくれるかもしれません。

Stable Diffusion『Reference Only』の使い方

では、もう少し具体的な使い方を見ていきましょう。

『Reference Only』の使い方①背景を変更する

背景を変化させてみましょう。

プロンプトに背景を指定するものを入れてみます。

girl, sunset

その他の設定はすべて同じです。結果は・・・

背景を夕暮れに

キャラクターを参考にしたまま、背景が夕暮れになりました。

『Reference Only』の使い方②服装を変更する

では次は衣装を変えてみましょう。

プロンプトは以下の通りにしました。

girl,kigurumi

他はすべて同じ設定です。

さあ、どんな結果になったでしょうか?

着ぐるみを着せる

ちゃんと元絵の影響を受けつつ、キャラの衣装が変わりました。ただ、謎のキャラが出現してしまいましたね。

『Reference Only』の使い方③img2imgで操作(実写化など)

最後にイラスト参考画像から実写モデルで画像を生成してみましょう。

これはimg2imgで行います。img2imgは元絵をどの程度変化させるかを決めるパラメータ、Denoising strengthが設定できます。この値をmaxの1に設定し、元のイラスト系の絵を最大限変化させながら、Reference Onlyで参考イメージを送って作画します。

さらにこれはReference Onlyだけでは上手くいきませんので、各パラメーターも微調整が必要です。

色々と各パラメータを調整した結果、以下のようになりました。

プロンプト:girl, pink hair, hair ribbon
Negative prompt: EasyNegative
Steps: 25, Sampler: DPM++ 2M Karras, CFG scale: 4, Face restoration: CodeFormer, Size: 512×512, Model hash: bc2f30f4ad, Model: beautifulRealistic_v60, Denoising strength: 1

Control Netの設定は以下の通りです。

ControlNet 0: “Module: reference_adain+attn, Model: None, Weight: 1, Resize Mode: Crop and Resize, Low Vram: False, Threshold A: 0.75, Guidance Start: 0.3, Guidance End: 0.51, Pixel Perfect: False, Control Mode: My prompt is more important”, Version: v1.3.2

いかがでしょうか?元画像から瞳の青みがぎりぎり引き継げているのでこれでOKにしましょう。

参考画像と使用するモデルによって、各パラメーターの調整は違ってくるので、この値を参考にして皆さんも一度チャレンジしてみてください。

アニメキャラの実写化を謳った動画などが流行っていますが、Reference Onlyを使いこなすことができれば、そのような画像を生成することも可能です。

またここでは説明しませんが、Control Netをマルチ化してReference OnlyとSegmentationやOpenPoseを重ねがけして作画する方法などもあります。

どうやれば上手く作画できるか、皆さんも色々と試してみてください。

まとめ

いかがでしたでしょうか?

Stable Diffusionで同じ人物の画像が作れる『Reference Only』を使う方法についてご紹介してきました。

今回のポイントをまとめると、以下のようになります。

  • 『Reference Only』を使うと任意の画像を参考にして新たに画像を生成できる
  • 似たキャラクターの画像を生成したり、背景や服装を変えることができる
  • 使いこなすとアニメキャラの実写化も可能

Stable Diffuisonには様々な拡張機能があります。

それを使いこなすことで、制作の幅が広がります。

皆さんもぜひお試しください。

romptn Q&Aで画像生成の悩みを解決しよう!
  • Stable Diffusionのエラーが解決しない
  • 画像生成がうまくできない
  • おすすめのモデルが知りたい
など、AIに関するお悩みがあれば投稿してみてください。
詳しい人が解決してくれるかもしれません。