【Stable Diffusion】Hentai Diffusion 19の利用方法

【Stable Diffusion】Hentai Diffusion 19の利用方法 機械学習

「Hentai Diffusion 18と19の違いがわからない・・・」
「Hentai Diffusion 19はどこがどう変わったの?」

このような場合には、この記事の内容が参考になります。
この記事では、Hentai Diffusion 19を利用する方法を解説しています。

本記事の内容

  • Hentai Diffusion 19とは?
  • Hentai Diffusion 19の利用方法
  • Hentai Diffusion 19の動作検証

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

Hentai Diffusion 19とは?

Hentai Diffusion 19が、2023年1月初旬に公開されました。
2022年12月末にHentai Diffusion 18が公開されています。

そこから、半月も経たずに新たなバージョンが公開という流れです。
生成される画像に関しては、明らかな変更があります。
詳細は、動作検証で説明します。

まずは、Hentai Diffusionプロジェクトに関する変化を確認しましょう。
以前のバージョンまでは、次のページが唯一と言える公式ページでした。

GitHub – Delcos/Hentai-Diffusion: The official place for the best A.I.
https://github.com/Delcos/Hentai-Diffusion

しかし、現状では次のページがあるだけです。

「We’ve Moved Click Here」をクリックすると、専用の公式ページに移動します。

モデルの説明や今後の方向性などが、記載されています。
その中でも、個人的には次の2点に大きな変化を感じました。

  • 寄付の募集
  • キャラクターの追加依頼

寄付の募集については、Unstable Diffusionの件が有名ですね。
Hentai Diffusionも同じように、サイト上で寄付が可能になっています。

AIアートモデルは、クラウドファンディングにおいて出禁状態です。
今後は、公式サイト上での寄付を募るプロジェクトも増えてくるでしょうね。

そして、Hentai Diffusionでは寄付を行うとリターンがあります。

5ドル以上を寄付した場合、学習データに希望のキャラクターを指定できるようです。
これは、なかなか面白いビジネスモデルですね。

Stable Diffusionでは、DreamBoothなどを使って自分で追加学習が可能です。

しかし、それを行うにはマシンスペックがある程度必要になります。
それに、モデル開発のプロに任せた方が良いモノができると思います。

その意味では、5ドルの寄付は全然安いと感じます。
なお、今後もモデルは無償で公開していくと記載されています。

以上、Hentai Diffusion 19について説明しました。
次は、Hentai Diffusion 19の利用方法を説明します。

Hentai Diffusion 19の利用方法

公式サイト上には、次のような表示があります。

でも、これらはすべてHugging Face上のファイルにリンクしているだけです。
https://huggingface.co/Deltaadams/HentaiDiffusion/tree/main

したがって、今後もHugging Faceのこのページからファイルをダウンロードします。
Hentai Diffusion 19であれば、HD-19.ckptを選択しましょう。

Stable Diffusion web UI(AUTOMATIC1111版)を利用しているなら、このファイルを指定のディレクトリに配置します。
Diffusersを利用している場合は、一工夫が必要となります。

その一工夫は、次の記事で解説しています。

今回は、次のコマンドで変換を行いました。

python convert_diffusers20_original_sd.py ..\..\ckpt\HD-19.ckpt  ..\..\model\HD-19  --v1 --reference_model runwayml/stable-diffusion-v1-5

変換までできたら、次のコードを実行します。

from diffusers import StableDiffusionPipeline, EulerAncestralDiscreteScheduler
import torch

MODEL_ID = "./model/HD-19"
DEVICE = "cuda"
SEED = 1089107484

pipe = StableDiffusionPipeline.from_pretrained(MODEL_ID, custom_pipeline="lpw_stable_diffusion")
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)
pipe = pipe.to(DEVICE)

prompt = "best quality, {{{nsfw}}}, {{{masterpiece}}}, 1girl, monika \(doki doki literature club\, (breasts:0.984), (brown hair:0.989), (cleavage:0.586), (collarbone:0.746), (eyebrows visible through hair:0.732), (green eyes:0.944), (long hair:0.982), (ponytail:0.741), winter clothes, winter coat, portrait, from side"
negative_prompt = "(((deformed))), blurry, bad anatomy, disfigured, poorly drawn face, mutation, mutated, (extra_limb), (ugly), (poorly drawn hands), fused fingers, messy drawing, broken legs censor, censored, censor_bar, multiple breasts, (mutated hands and fingers:1.5), (long body :1.3), (mutation, poorly drawn :1.2), black-white, bad anatomy, liquid body, liquidtongue, disfigured, malformed, mutated, anatomical nonsense, text font ui, error, malformed hands, long neck, blurred, lowers, low res, bad anatomy, bad proportions, bad shadow, uncoordinated body, unnatural body, fused breasts, bad breasts, huge breasts, poorly drawn breasts, extra breasts, liquid breasts, heavy breasts, missingbreasts, huge haunch, huge thighs, huge calf, bad hands, fused hand, missing hand, disappearing arms, disappearing thigh, disappearing calf, disappearing legs, fusedears, bad ears, poorly drawn ears, extra ears, liquid ears, heavy ears, missing ears, fused animal ears, bad animal ears, poorly drawn animal ears, extra animal ears, liquidanimal ears, heavy animal ears, missing animal ears, text, ui, error, missing fingers, missing limb, fused fingers, one hand with more than 5 fingers, one hand with less than5 fingers, one hand with more than 5 digit, one hand with less than 5 digit, extra digit, fewer digits, fused digit, missing digit, bad digit, liquid digit, colorful tongue, blacktongue, cropped, watermark, username, blurry, JPEG artifacts, signature, 3D, 3D game, 3D game scene, 3D character, malformed feet, extra feet, bad feet, poorly drawnfeet, fused feet, missing feet, extra shoes, bad shoes, fused shoes, more than two shoes, poorly drawn shoes, bad gloves, poorly drawn gloves, fused gloves, bad cum, poorly drawn cum, fused cum, bad hairs, poorly drawn hairs, fused hairs, big muscles, ugly, bad face, fused face, poorly drawn face, cloned face, big face, long face, badeyes, fused eyes poorly drawn eyes, extra eyes, malformed limbs, more than 2 nipples, missing nipples, different nipples, fused nipples, bad nipples, poorly drawnnipples, black nipples, colorful nipples, gross proportions. short arm, (((missing arms))), missing thighs, missing calf, missing legs, mutation, duplicate, morbid, mutilated, poorly drawn hands, more than 1 left hand, more than 1 right hand, deformed, (blurry), disfigured, missing legs, extra arms, extra thighs, more than 2 thighs, extra calf,fused calf, extra legs, bad knee, extra knee, more than 2 legs, bad tails, bad mouth, fused mouth, poorly drawn mouth, bad tongue, tongue within mouth, too longtongue, black tongue, big mouth, cracked mouth, bad mouth, dirty face, dirty teeth, dirty pantie, fused pantie, poorly drawn pantie, fused cloth, poorly drawn cloth, badpantie, yellow teeth, thick lips, bad camel toe, colorful camel toe, bad asshole, poorly drawn asshole, fused asshole, missing asshole, bad anus, bad pussy, bad crotch, badcrotch seam, fused anus, fused pussy, fused anus, fused crotch, poorly drawn crotch, fused seam, poorly drawn anus, poorly drawn pussy, poorly drawn crotch, poorlydrawn crotch seam, bad thigh gap, missing thigh gap, fused thigh gap, liquid thigh gap, poorly drawn thigh gap, poorly drawn anus, bad collarbone, fused collarbone, missing collarbone, liquid collarbone, strong girl, obesity, worst quality, low quality, normal quality, liquid tentacles, bad tentacles, poorly drawn tentacles, split tentacles, fused tentacles, missing clit, bad clit, fused clit, colorful clit, black clit, liquid clit, QR code, bar code, censored, safety panties, safety knickers, beard, furry, pony, pubic hair, mosaic, futa, testis, (((deformed))), blurry, bad anatomy, disfigured, poorly drawn face, mutation, mutated, (extra_limb), (ugly), (poorly drawn hands), fused fingers, messy drawing, broken legs censor, censored, censor_bar, multiple breasts, (mutated hands and fingers:1.5), (long body :1.3), (mutation, poorly drawn :1.2), black-white, bad anatomy, liquid body, liquidtongue, disfigured, malformed, mutated, anatomical nonsense, text font ui, error, malformed hands, long neck, blurred, lowers, low res, bad anatomy, bad proportions, bad shadow, uncoordinated body, unnatural body, fused breasts, bad breasts, huge breasts, poorly drawn breasts, extra breasts, liquid breasts, heavy breasts, missingbreasts, huge haunch, huge thighs, huge calf, bad hands, fused hand, missing hand, disappearing arms, disappearing thigh, disappearing calf, disappearing legs, fusedears, bad ears, poorly drawn ears, extra ears, liquid ears, heavy ears, missing ears, fused animal ears, bad animal ears, poorly drawn animal ears, extra animal ears, liquidanimal ears, heavy animal ears, missing animal ears, text, ui, error, missing fingers, missing limb, fused fingers, one hand with more than 5 fingers, one hand with less than5 fingers, one hand with more than 5 digit, one hand with less than 5 digit, extra digit, fewer digits, fused digit, missing digit, bad digit, liquid digit, colorful tongue, blacktongue, cropped, watermark, username, blurry, JPEG artifacts, signature, 3D, 3D game, 3D game scene, 3D character, malformed feet, extra feet, bad feet, poorly drawnfeet, fused feet, missing feet, extra shoes, bad shoes, fused shoes, more than two shoes, poorly drawn shoes, bad gloves, poorly drawn gloves, fused gloves, bad cum, poorly drawn cum, fused cum, bad hairs, poorly drawn hairs, fused hairs, big muscles, ugly, bad face, fused face, poorly drawn face, cloned face, big face, long face, badeyes, fused eyes poorly drawn eyes, extra eyes, malformed limbs, more than 2 nipples, missing nipples, different nipples, fused nipples, bad nipples, poorly drawnnipples, black nipples, colorful nipples, gross proportions. short arm, (((missing arms))), missing thighs, missing calf, missing legs, mutation, duplicate, morbid, mutilated, poorly drawn hands, more than 1 left hand, more than 1 right hand, deformed, (blurry), disfigured, missing legs, extra arms, extra thighs, more than 2 thighs, extra calf,fused calf, extra legs, bad knee, extra knee, more than 2 legs, bad tails, bad mouth, fused mouth, poorly drawn mouth, bad tongue, tongue within mouth, too longtongue, black tongue, big mouth, cracked mouth, bad mouth, dirty face, dirty teeth, dirty pantie, fused pantie, poorly drawn pantie, fused cloth, poorly drawn cloth, badpantie, yellow teeth, thick lips, bad camel toe, colorful camel toe, bad asshole, poorly drawn asshole, fused asshole, missing asshole, bad anus, bad pussy, bad crotch, badcrotch seam, fused anus, fused pussy, fused anus, fused crotch, poorly drawn crotch, fused seam, poorly drawn anus, poorly drawn pussy, poorly drawn crotch, poorlydrawn crotch seam, bad thigh gap, missing thigh gap, fused thigh gap, liquid thigh gap, poorly drawn thigh gap, poorly drawn anus, bad collarbone, fused collarbone, missing collarbone, liquid collarbone, strong girl, obesity, worst quality, low quality, normal quality, liquid tentacles, bad tentacles, poorly drawn tentacles, split tentacles, fused tentacles, missing clit, bad clit, fused clit, colorful clit, black clit, liquid clit, QR code, bar code, censored, safety panties, safety knickers, beard, furry, pony, pubic hair, mosaic, futa, testis"

# seed固定
generator = torch.Generator(device=DEVICE).manual_seed(SEED)

image = pipe(
    prompt,
    num_inference_steps=140,
    guidance_scale=7.5,
    width=512,
    height=768,
    negative_prompt=negative_prompt,
    generator=generator,
    max_embeddings_multiples=6
).images[0]

image.save("test.png")

上記を実行すると、次のような画像が生成されます。

プロンプトなどの設定情報は、次のページで公開されているモノを参考にしています。
ステップ数が140であることに注意してください。
40ぐらいでも、普通に画像は生成されますけどね。

Download hentai diffusion. Official model
https://www.cognitionai.org/hdhowtogetstarted

コード上では、seedの固定と長いプロンプトに対応する方法を利用しています。
それらの方法については、次の記事で説明しています。

以上、Hentai Diffusion 19の利用方法を説明しました。
次は、Hentai Diffusion 19の動作検証を説明します。

Hentai Diffusion 19の動作検証

Hentai Diffusion 19の動作検証を行います。
Hentai Diffusion 18との比較が、ここでのメインとなります。

全く同じ条件で画像を作成しました。
利用したプロンプトは、以下。

best quality, {{{masterpiece}}}, 1girl, perfect body, leaf hair, black turtleneck, autumn background, a short white skirt, standing

Hentai Diffusion 18

Hentai Diffusion 19

見比べてどうでしょうか?
個人的には、大きく以下の3点に違いを感じます。

  • 色の彩度
  • 顔のパターン
  • 表情のパターン

色の彩度(明度とややこしい)が、明らかにことなります。
まずは、このことに目にがいきました。

個人的には、Hentai Diffusion 18までの淡いぼやけた感じも好みです。
ただ、Hentai Diffusion 19の方が質的には上なのでしょう。

次に気づいたのが、顔のパターンが増えていることです。
Hentai Diffusion 18までは、同じプロンプトならワンパターンの顔という印象が強いです。

それに対して、Hentai Diffusion 19では大人びた顔の女性も出ています。
それに伴ってか、表情のパターンも増えているように感じます。

これって、無指定の場合には選択の範囲を広くしたという感じなのでしょうかね。
つまり、デフォルト値をある程度ランダムにしたということです。

実際のところは、わかりません。
ただ、色の彩度は確実に変わっています。

そのことにより、画像から受ける印象も大きく変わるようになっています。

以上、Hentai Diffusion 19の動作検証を説明しました。

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