【Stable Diffusion】同じ顔を再現できる『reference-only』の使い方!
- ※当ブログはアフィリエイト・アドセンスによる収益で運営されています。
こういったお悩みにお答えします。
Stable Diffusionで同じキャラクターのイラストを生成するのは大変ですよね。LoRAを作ろうにも、元になる素材が少ないとクオリティが低くなってしまいます。
この記事では
- 【Stable Diffusion】同じ顔を再現できる『reference-only』の特徴とは?
- reference-onlyの導入方法
- reference-onlyの使い方
- もっとスムーズにイラストを生成したいなら…
- 生成した大量のイラストを簡単に管理する方法
これらについて解説していくので、最後まで読むとreference-onlyを使ってお気に入りのキャラクター・画風を再現する方法がわかります。
この記事ではControlNetの『reference-only』というPreprocessorについて解説していますが、ControlNet全体や他のモデルについて知りたい方は以下の記事も合わせてお読みください。
>>【Stable Diffusion】拡張機能ControlNetの使い方を解説!
【Stable Diffusion】同じ顔を再現できる『reference-only』の特徴とは?
reference-onlyはControlNetで使えるPreprocessorの一つ。元となる画像の画風・スタイルを再現することができます。
その名のとおり、元画像をreference(参照)しつつ新しいイラストを生成してくれるイメージ。
描かれるキャラクターの姿が(ある程度)固定されるため、ストーリー仕立てのイラストも生成しやすくなるでしょう。
『キャラクターが同じ顔にならない』という悩みを抱えているユーザーは多いと思いますが、解決策の一つになってくれるのではないでしょうか。
少ない画像からLoRAを自作するときも
- reference-onlyでキャラを維持したまま複数のイラストを生成する
- それらを教師データとして使用する
という流れで役立てることもできるでしょう。
reference-onlyの導入方法
reference-onlyを導入するには、前提としてControlNetという拡張機能の導入が必須です。
ControlNet未導入の方は以下の記事を参考にインストールしておいてください。
>>【Stable Diffusion】拡張機能ControlNetの使い方を解説!
reference-onlyはopenposeやcannyと異なり、追加のモデルをダウンロードする必要はありません。
Preprocessorの選択時に『reference-only』を選ぶだけです。
reference-onlyが見当たらない場合はControlNetを更新しよう
Preprocessorの一覧に『reference-only』が表示されない場合は、ControlNetのバージョンが古いかもしれません。
ControlNetなど拡張機能の更新は
『Extensions』タブ → 『Check for updates』ボタンをクリックしましょう。
バージョンが古い拡張機能があれば『behind』と表示されます。最新版に更新するには
チェックをつけたままの状態で『Apply and restart UI』を押せばOK。
ControlNetは頻繁に更新されるので、バージョンの確認・アップデートもこまめに行いましょう。
reference-onlyの使い方
今回は、この水着イラストを元にreference-onlyを使っていきます。
元となる画像をControlNetパネルに入れ
- Enableにチェックを入れる
- Preprocessor:reference-only
- 他の項目:そのまま
この状態で『Generate』を押して生成してみましょう。
このように、元イラストの画風を維持したイラストが生成されます。
img2imgのように『元画像を同じものを作る』わけではなく、あくまでもreference(参照)して描くのが特徴。元画像のキャラクター・スタイルを維持した状態で、いろいろな表情・ポーズのイラストを手に入れることができるのは面白いですね。
今までは『特定の画風・スタイルを再現する』というのはLoRAの役割だったのですが、reference-onlyを使えば追加学習が不要に。自分のオリジナルキャラなど、元となる画像が用意しづらい場合に重宝しそうです。
1枚の画像を手に入れる → reference-onlyで複数枚に増やす → LoRAを作る、ってかなり強力そうだけどどうなんでしょうね。今度試してみたいと思います。
なお、reference-onlyでのイラスト生成時にはプロンプトの影響も受けるので
キャラクターを維持したまま服装や背景だけを変えることも可能です。
デフォルトはreference-only+Style Fidelity:0.5
元画像をreferenceして新たなイラストを生成するPreprocessorは
- reference-adain
- reference-adain+attn
- reference-only
これら3つが備わっています。
また、設定画面には『Style Fidelity(スタイルへの忠実度)』という見慣れない項目も。
Style Fidelityはどれだけ元画像に忠実なイラストを生成するかという指標です。『0』だと元のイラストを無視し『1』だと忠実に再現する、というイメージですね。
値が高いほど良さそうに感じますが、製作者の方によると
- デフォルトとして「reference_only + Style Fidelity=0.5」を使用することをおすすめします(日本語訳)
出典元:Github
とのことなので、まずはこの設定からはじめましょう。
慣れてきたら『reference-adain+attnだとどうなるのか』とか『Style Fidelityの値でどう変わるのか』などを試してみてください。
もっと詳しく知りたい方はGithubをお読みいただければと思います。
reference-onlyを使うときの注意点
reference-onlyで生成されたイラストは色彩がおかしくなってしまうことがあります。
こちらのリアル系イラストを例に解説していきます。デフォルトの設定(Style Fidelity:0.5)のままreference-onlyでイラストを生成すると
やたら暗いイラストや明るすぎるイラストが…。特にリアル系モデルでは、色彩がおかしいイラストが生成されやすいように感じます。
このように思いどおりの結果にならないときは、他の設定項目をいじってみましょう。
今回の例だと
Preprocessorをreference-adainに変更することで色彩が正常になりましたし(再現度は低くなりますが)
Control Weightの値を下げることでも解決できました。
解決方法はケースバイケースなので、いろいろと試してみてくださいね。
もっとスムーズにイラストを生成したいなら…
もしあなたがもっと快適にAIイラストを生成したいなら、グラボを見直してみるのがおすすめです。
グラボはAIイラストを生成するうえで最も重要なパーツ。いくらCPUやメモリが高性能でもグラボがしょぼかったら致命的です。
本格的に取り組んでいくのなら、グラボにはケチらず投資しましょう。最低でも12GBのVRAMは確保しておきたいところ。VRAMが2GB・4GBくらいしかない古いグラボだと高解像度化や学習に大きな支障が出てしまいます。
コスパを重視する方・予算が5万円以下の方はRTX 3060一択と言っていいでしょう。
もう少し予算が確保できて、さらにハイスペックなグラボに興味がある方は以下の記事もお読みください。きっとあなたに合ったグラボが見つかりますよ。
>>【コスパ重視】Stable Diffusionにおすすめのグラボ3選!
PCごと買い替えを検討している方は以下の記事をお読みください。快適にStable Diffusionを使えるマシン3選を紹介しています。
>>Stable Diffusionにおすすめのパソコン3選と推奨スペックを解説!
生成した大量のイラストを簡単に管理する方法
Stable Diffusionで生成した大量のイラストを効率的に管理するなら『Eagle』というツールがおすすめ。
イラストを生成するとメタデータが自動でEagleに送られ、タグやメモとして保存されます。このタグを使うことで検索や管理がとても楽ちん。
例えば『a dog』というタグで検索すると、そのプロンプトで生成されたイラストだけを表示することができます。『あのイラストどんなプロンプトで生成したっけ?』『LoRAのトリガーワード忘れた』なんて迷わずに済みますよ。
Eagleは本来『約4,000円・買い切り型』の有料ツールですが、30日間の無料体験ができるので、とりあえず試してみてください。
『【Stable Diffusion】同じ顔を再現できる『reference-only』の使い方!』のまとめ
- reference-onlyはControlNet用のPreprocessor
- 元画像の画風・スタイルを再現できる
- キャラクターを固定していろいろなイラストを生成してみよう
ここまでお読みいただきありがとうございました!
他にもわからないことがあったら以下の記事をお読みください。初心者向けにStable Diffusionの使い方を一から解説しています。