Stable Diffusionがバージョンv1.6.0になって「Refiner」の機能が使えるようになりました!
「Refiner」本来の機能に加えて、応用すればプロンプトで指示することが難しい要素も簡単に反映させることができるようになります。
今回はStable Dissuionの機能「Refiner」の使い方や設定方法について紹介します。
Stable Diffusionの「Refiner」とは?
Stable Diffusion Refinerとは、Stable Diffusionバージョンv1.6.0から導入された新機能で、画像の品質を向上させるための機能です。Stable Diffusionでは基本的にモデルを使用して画像を生成しますが、その生成プロセスの中でRefinerモデルを追加することで細部を改善し、より高品質な作品を作ることができます。
このプロセスは、画像のノイズを減少させたり、細かいディテールを強化したりすることにより、全体的な画像のクオリティを高めることを目的としています。
「Refiner」の導入方法
「Refiner」は、Stable Diffusionの最新バージョンであるv1.6.0以降で使えるようになりました。現在のバージョンに関しては、Stable Diffusionの画面最下部で確認することができます。
バージョンが古い場合は、Stable Diffusionをアップデートして最新のバージョンにしましょう。
Google Colaboratoryを利用してStable Diffusionを起動する場合は、下記のコードをそれぞれ実行すれば最新のバージョンで利用することができます。
!pip install lmdb
!pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2 torchtext==0.15.2+cpu torchdata==0.6.1 –index-url https://download.pytorch.org/whl/cu118
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd /content/stable-diffusion-webui
!wget (モデルURL※1) -O /content/stable-diffusion-webui/models/Stable-diffusion/(任意のファイル名※2).safetensors
!python launch.py –share –xformers –enable-insecure-extension-access
※1:「Civitai」や「 Hugging Face」でダウンロードしたモデルのURLをコピペします。
※2:ここで記載したファイル名が「Stable Diffusion checkpoint」の一覧に表示されます。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
「Refiner」の使い方
Stable Diffusion Refinerの使い方は簡単です。通常通りモデルを選択してからプロンプトを入力します。次に「Refiner」の項目を開き、導入したRefiner用モデルを選択して、「Switch at」の数値を設定したら画像生成を開始します。
パラメータ設定について
この「Refiner」の設定の中に「Switch at」という項目があります。0.01~1まで数値を変更することができ、この数値を小さくするほどRefinerモデルが強く反映されます。
具体的には、数値を0.6にすると60%は通常のモデルを反映し、残りの40%はRefinerモデルを反映するという仕組みです。
モデルの選択方法
「Checkpoint」のリストの中から、使用するRefinerモデルを選択します。Refinerモデルの導入方法に関しては、Stable Diffusionで通常使用するモデルの導入方法と同じです。「Civitai」や「 Hugging Face」でダウンロードしましょう。
「Refiner」の設定値を変えて画像生成した結果!
Stable Diffusion Refinerの設定の一つである「Switch at」の数値を変更すると、生成する画像にどの程度反映されるのかを見比べてみます。
元画像
Switch at:0.7
Switch at:0.3
いかがでしょうか?ぱっと見では分かりにくいですが、わずかな髪の乱れなど、よーく目を凝らしてみると細部が改善されているように見えます。
Refinerだけで劇的にクオリティが上がるわけではありませんが、簡単操作で完結するので使って損はなさそうですね。
【応用編】「Refiner」でモデルを混ぜることもできる!
本来「Refiner」は、生成された画像の品質向上を目的とした補助的な機能ですが、ベースのモデルと異なる種類の追加モデルを使用することで、新しいテイストの画像を生み出すことができます。
ここでは、リアル画像にアニメの要素を追加してみます。
通常のモデルにリアルが得意な「majicMIX realisticV7」を使用し、Refinerのモデルに2Dアニメが得意な「TMND-Mix」を使用して、リアルとアニメをミックスさせます。
Refiner:オフ
Refiner:オン
Switch at:0.7
リアルな女性にアニメの要素が加わりました。「Switch at」の数値をこれより低くすると完全にアニメ化します。似顔絵を作成する目的にも使える機能ですね!
この応用編の使い方をすれば、まったく異なる種類のテイストを簡単にミックスさせることができます。「Switch at」の数値を微調整することで違和感なくミックスすることができるのが優れものです!
まとめ
いかがでしたでしょうか?
今回は画像のクオリティを向上させる機能の一つ「Refiner」について解説してきました。
今回のポイントをまとめると、以下のようになります。
- 「Refiner」は、Stable Diffusionの最新バージョンであるv1.6.0以降で使用することができる
- Refiner機能を利用することで、通常のモデルで生成する画像に、別のモデルの要素を追加で反映させることができる。
「Refiner」は本来、生成する画像の品質を向上させる機能ですが、この記事を執筆している時点では、その使い方はあまりされていないようです。そもそも、その意図のRefinerモデルは「Civitai」や「 Hugging Face」内にほとんど見あたりません。
その一方で、今回の応用編で紹介した使い方にはとても可能性を感じます。プロンプトによる指示が難しいことでも、追加モデルや数値を変更するだけで簡単に反映することができ、テイストを簡単に変更、追加、ミックスすることができます。
Refinerの機能は今回紹介した使い方以外にも有効な活用方法があると思うので、色んなモデルの組み合わせを試してみてはいかがでしょうか。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい