【Stable Diffusion】HassanBlend1.5の利用方法

【Stable Diffusion】HassanBlend1.5の利用方法 機械学習

「人体を綺麗に描画するモデルを探している」
「アイスクリームをなめる女性の画像を生成したい」

このような場合には、HassanBlend1.5がオススメです。
この記事では、HassanBlend1.5について解説しています。

本記事の内容

  • HassanBlend1.5とは?
  • HassanBlend1.5の利用方法

それでは、上記に沿って解説していきます。

HassanBlend1.5とは?

HassanBlend1.5は、Stable Diffusion v1.5をベースに作成されたモデルです。
NSFWコンテンツの画像を生成するためのモデルになります。

NSFWと言っても、初めから敬遠するのは勿体ないです。
NSFWに強いモデルは、人体を上手く描画することができます。
そして、それは綺麗な女性(男性)を描くことにもつながります。

このモデルの前バージョンについては、次の記事で説明しています。

HassanBlend1.5のサンプル画像は、次のページで確認できます。

HassanBlend1.5 and previous versions | Stable Diffusion Checkpoint | Civitai
https://civitai.com/models/1173/hassanblend-15-and-previous-versions

上記ページには、NSFWコンテンツが表示されています。
そのため、学校や職場でアクセスするのはやめておきましょう。

と言っても、上記ページはログインしないと見れません。

サンプルを確認したい人は、アカウントを作成してログインしてみてください。
モデル自体は、Hugging Faceからも取得可能です。

そのため、ログイン必須というわけではありません。
ただ、サンプルやユーザー投稿にはプロンプトの情報が掲載されています。

それらのプロンプトは、モデルを利用する上では有用です。
例えば、このような画像を作成するのに参考となるプロンプトを確認できます。

このようなアクションを描画できるのは、HassanBlend1.5の特徴です。
それを確認するという意味でも、Civitaiへのアクセスを推奨します。

以上、HassanBlend1.5について説明しました。
次は、HassanBlend1.5の利用方法を説明します。

HassanBlend1.5の利用方法

Stable Diffusionを動かせる環境が、大前提となります。
Google Colabではなくローカル環境で動かす場合は、次の記事が参考になります。

上記記事に従えば、自ずとDiffusersをインストールすることになります。

この記事では、Diffusersでの利用を対象としています。
Stable Diffusion web UI(AUTOMATIC1111版)の場合は、ファイルを設置するだけです。

まずは、モデルのダウンロードから行いましょう。
最も簡単な方法としては、次のページにアクセスします。

hassanblend/HassanBlend1.5 at main
https://huggingface.co/hassanblend/HassanBlend1.5/tree/main

安全性を重視するなら、Safetensor形式をダウンロードしましょう。
一応、両方の形式に対応した方法を載せておきます。

Safetensor形式
HassanBend1.5.safetensorsをダウンロードして、Diffusersモデルに変換する方法です。

Pickle形式
HassanBend1.5.ckptをダウンロードして、Diffusersモデルに変換します。

今回は、Safetensor形式を次のコマンドで変換しました。

python convert_diffusers20_original_sd.py ..\..\ckpt\HassanBend1.5.safetensors  ..\..\model\hd15   --v1 --reference_model runwayml/stable-diffusion-v1-5

変換したモデルを利用するには、モデルのパスを指定します。

from diffusers import StableDiffusionPipeline, EulerAncestralDiscreteScheduler  

model_id = "./model/hd15" 
DEVICE = "cuda"

pipe = StableDiffusionPipeline.from_pretrained(model_id) 
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config) 
pipe = pipe.to(DEVICE)

prompt = "beautiful face 25 yo 1 Woman, with a dress"

image = pipe(
    prompt,
    num_inference_steps=40,
    guidance_scale=7.5,
    width=512,
    height=704
).images[0]

image.save("test.png")

そして、上記コードを実行した結果、次のような画像が生成されます。

ネガティブプロンプトなしで、このレベルの画像が生成されます。

以上、HassanBlend1.5の利用方法を説明しました。

タイトルとURLをコピーしました