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

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

「Stable DiffusionでNSFWな画像を生成したい」
「美人な日本人を画像で表現したい」

このような場合には、HassanBlend1.4がオススメです。
この記事では、Stable DiffusionでHassanBlend1.4を利用する方法を解説しています。

本記事の内容

  • HassanBlend1.4とは?
  • HassanBlend1.4の利用方法
  • HassanBlend1.4の動作検証

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

HassanBlend1.4とは?

HassanBlend1.4は、Stable Diffusion v1.5をベースに作成されたモデルです。
NSFW(アダルト)な画像を生成するためのモデルになります。

HassanBlend1.4の公式ページ
https://rentry.org/sdhassan

上記ページは、NSFWなページです。
学校や職場では気軽に開かないように注意してください。

以前からこのモデルの存在は知っていました。
ただ、紹介するのは避けていました。

胡散臭い場所からのダウンロードを紹介するのは、気が引けますからね。
しかし、最近になってHugging Faceに登録されているのを知りました。

Hugging Faceに登録されていれば、少しは安心感が出ます。
それに、Diffusersでも簡単に利用が可能となっています。

あと、プロンプトに関する情報が少ないという状況でした。
これも、以前よりは改善されています。

Twitterで「HassanBlend1.4」を検索すると、日本語でもヒットするようになりました。
そのため、HassanBlend1.4は以前よりは使いやすくなっていると思います。

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

HassanBlend1.4の利用方法

Stable Diffusionを動かせる環境が、大前提となります。
Google Colabではなくローカル環境で動かす方法は、次の記事で説明しています。

Stable Diffusionが動くなら、次のコードでHassanBlend1.4を利用できます。
ただし、Diffusersが最新版であることが前提です。

利用するコードは、以下となります。

from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler

model_id = "hassanblend/hassanblend1.4"

pipe = StableDiffusionPipeline.from_pretrained(model_id)
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe = pipe.to("cuda")

prompt = "a cat"

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

image.save("test.png")

初めてHassanBlend1.4を利用する場合は、モデルのダウンロードが開始されます。
そのファイル容量が、全部で5.1GBほどです。

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

test.png

プロンプトが「a cat」であるため、猫が出て当然です。
とりあえず、これでHassanBlend1.4が利用できることを確認できました。

以上、HassanBlend1.4の利用方法を説明しました。
次は、HassanBlend1.4の動作検証を説明します。

HassanBlend1.4の動作検証

猫の画像であれば、HassanBlend1.4を使う必要はありません。
やはり、HassanBlend1.4らしい画像を生成したいですね。

そのためのプロンプトは、次のページで確認できます。
https://rentry.org/sdhassan

ただし、上記ページを開くのは注意が必要です。(2回目)
NSFWの画像が、普通に出てきます。

それこそ、学校や職場で開くのはNGと言っておきます。
それ以外で参考になるのは、次のツイートになります。

このツイートにおいて、プロンプトが公開されています。
HassanBlend1.4で日本人を描画するプロンプトとしては、貴重なツイートだと思います。

上記を参考にして、試行錯誤しました。
その結果、日本人の顔でHassanBlend1.4らしさがある画像を生成することができました。

ここで言う日本人の顔とは、欧米人が考える日本人の顔ではないということです。
この微妙な感覚が伝わりますかね?

とにかく、次の画像をご覧ください。

これらの美女の画像は、HassanBlend1.4を使って生成しました。
そして、日本人が見た場合の日本人の顔と言えます。
台湾人のような感じもしますけど・・・

なお、これらの画像はここで公開できるように「with dress」をプロンプトに含んでいます。
「with dress」をつけないと、当たり前のようにNSFWの画像が生成されてしまいます。

「with dress」をつけた場合でも、NSFWの画像が生成されることもありえます。
NSFWフィルターを回避する方法は、次の記事で説明しています。

上記画像を生成したプロンプトは、以下。
ステップ数やサンプラーは、上記のコードで用いたモノを利用しています。

プロンプト

(beautiful face 25 yo 1 Woman ), (beautiful Japanese junior Idol sweet ), (Hyper realistic full face and full body), wearing dress, single,(Portrait photo:1.3)

ネガティブプロンプト

anime, cartoon, fake, drawing, illustration, boring, 3d render, long neck, out of frame, extra fingers, mutated hands, monochrome, ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), ((ugly)), blurry, ((bad anatomy)), (((bad proportions))), ((extra limbs)), cloned face, glitchy, bokeh, (((long neck))), (child), (childlike), 3D, 3DCG, cgstation, ((flat chested)), red eyes, multiple subjects, extra heads, close up, man asian, text ,watermarks, logo

以上、HassanBlend1.4の動作検証を説明しました。

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