ジャコ Lab

プログラミング関連のメモ帳的ブログです

IP-Adapter を触るつもりだったけど日付を見たら5月8日だったので悟飯を生成していた件

IP-Adapter の続きやろーって思ったのですが、日付を見て気づいてしまいました。

あ、、、明日はピッコロ記念日だ。。。

つまり、今日は悟飯の日でしたので、急いで Civitai で検索しました!

こちらを採用。やっぱ超サイヤ人2っていいよね!

偶然の産物:超サイヤ人ロゼ

超サイヤ人ロゼ
超サイヤ人ロゼ

これは良い悟飯ちゃん

気のオーラが黄色なのは気に入らないですが、なかなか良い悟飯ちゃんが出来ました。

シードガチャ

超サイヤ人ロゼ
超サイヤ人ロゼ

オーラがロゼになりました!!何十枚か生成してこの1枚だけ!奇跡の1枚

おまけ

超サイヤ人ゴッド
超サイヤ人ゴッド

ゴッドっぽい色も生まれました

スクリプト全体

スクリプト全体はこんな感じです。

(折りたたみ)

モデルのロード等(SDXL, LoRA)

import torch
from diffusers import AutoPipelineForText2Image, EulerAncestralDiscreteScheduler    

pipe = AutoPipelineForText2Image.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
    torch_dtype=torch.float16,
).to("cuda")

# LoRA のロード (LCM LoRA)
pipe.load_lora_weights("./Gohan_Super_Saiyan_2Tribute_to_Akira_Toriyama.safetensors")

# スケジューラの設定 (EulerAncestralDiscreteScheduler)
pipe.scheduler = EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config)

# enable memory savings
pipe.enable_vae_slicing()
pipe.enable_model_cpu_offload()

プロンプト等

import torch

# シードの設定
generator = torch.Generator()
generator.seed()

# パイプライン実行
prompt = "masterpiece, best quality, detailed, detailed face, full body, 1boy, gohan, super saiyan 2, pink hair, pink eyes, pink aura, electricity, purple dougi, cowboy_shot, dark color"
negative_prompt = "multiple females, watermark, text, error, blurry, jpeg artifacts, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, artist name, worst quality, low quality, bad anatomy, verybadimagenegative_v1.3, ng_deepnegative_v1_75t, (ugly face:0.8), cross-eyed, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, bad anatomy, DeepNegative, facing away, tilted head, {Multiple people}, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worstquality, low quality, normal quality, jpegartifacts, signature, watermark, username, blurry, bad feet, cropped, poorly drawn hands, poorly drawn face, mutation, deformed, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, extra fingers, fewer digits, extra limbs, extra arms, extra legs, malformed limbs, fused fingers, too many fingers, long neck, cross-eyed, mutated hands, polar lowres, bad body, bad proportions, gross proportions, text, error, missing fingers, missing arms, missing legs, extra digit, extra arms, extra leg, extra foot, ((repeating hair)), unclear face, bad eyes, bad retina, blurry retina,blurry retina, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name"
image = pipe(
    prompt=prompt,
    num_inference_steps=25,
    clip_skip=2,
    generator=generator
).images[0]
ネガティブプロンプトはコピペしたものを使っているのでかなり適当です。重み付け用のコミュニティパイプライン(lpw_stable_diffusion)も使っていないので重みも効いてないと思われます。

まとめ

なかなか良い悟飯ちゃんでした。
こんな簡単に悟飯ちゃんが生成できるのは怖すぎますね。

キャラクター LoRA は簡単に絵を寄せられてしまうので絶対に悪用厳禁ですね。

なお、ピッコロさん LoRA はありましたが、ピッコロ大魔王 LoRA は無かったのでピッコロ記念日にピッコロ大魔王をポコペンポコペンダーレガツツイタ(生成)は出来なそうです。。。