Stable Diffusion控制身体的362种姿势

在使用Stable Diffusion创作的时候,经常会遇到一个问题:角色的身体并不是创作者想要的姿势。

比如想让她做出挥手的动作,输入对应的提示词,效果不明显,甚至AI对此不为所动(AI经常对一些提示词不敏感)。

ControlNet插件提供了一个约束身体姿势的功能,叫openpose。

这个功能有两个用法,分别是标准用法和高阶用法,我逐个介绍一下。

ControlNet插件内置了openpose模型,如果未能自动安装,可以到官方地址下载(文末的链接中,我也会放上该模型),然后拷贝至\extensions\sd-webui-controlnet\models

下载地址:

https://huggingface.co/lllyasviel/ControlNet/blob/main/models/control_sd15_openpose.pth

同时为了方便使用,还要安装openpose编辑器插件:

https://github.com/fkunn1326/openpose-editor.git

安装成功后,可以在webui界面看到该选项卡:

一、标准用法

我看到一张造型非常棒的照片,想画出同样姿势但是完全不同场景的图片。

那就可以使用openpose来实现。

首先上传姿态比较完美的照片,

然后选择“启用”,否则无效。

预处理器选择openpose,模型选择control_v11p_sd15_openpose。

引导介入时机选择0,意味着从一开始生成图片就介入引导。

控制模式选择更偏向controlNet。

点击一下预览,会提取出当前图片的骨架。

在文生图里输入想要的内容,选择合适的模型,生成的图片人物就会是这个造型了。

比如:

模型:breakdomainrealistic_R2333

提示词:

bestquality,1girl,babyface,smile,cute,<lora:baby_face_v1:0.7> <lora:add_detail:1>

二、高阶用法

如果我对图片提取的姿势不满意怎么办?

openpose编辑器提供了一个调整姿势的方法。

先选择“从图片中提取”,把想要调整姿态的图片上传,

然后编辑器会自动读取该图片的姿势信息,生成一个骨架图,注意,这个图是可以拖动的。

图里每个小亮点,都可以用鼠标拖动,这样可以根据自己的想法,来控制身体骨架的姿态变化。

调整完毕后,点击“发送到文生图”,就会回传到ControlNet界面,后面的就和标准用法一致了。

想象力不足怎么办?

那就不要去想象,我从C站下载了362个参考姿势,你直接拿来用就好了。

这个姿势使用起来非常简单,除了姿势外,还有效果预览图,先从预览图里找到想要的姿势图片,再找到对应的姿势图,扔给ControlNet就好了!

每个姿势都有对应的编号。

看中该姿势后再到姿势图里寻找到对应编号的姿势图。

再在ControlNet里上传该姿势图。和标准玩法略有不同的是,预处理器选择none,模型不变,然后上传姿势图片,再点击文生图就可以了!

模型:meinamix_meinaV10

提示词:

absurdres, highres, ultra detailed, (1girl:1.3), BREAK , Sun Knight, solar magic, light manipulation, radiant power, sunbeam attacks, aura of warmth, shining armor BREAK , photo manipulation, altered realities, fantastical scenes, digital artistry, creative editing, evocative narratives, striking visuals BREAK , kinetic art, moving sculptures, mechanical creations, interactive installations, dynamic motion, engineering ingenuity, captivating visuals.
<lyco:GPTS8 Elusive World_493473:0.3>

负面提示词:

illustration, 3d, sepia, painting, cartoons, sketch, (worst quality:2), (low quality:2), (normal quality:2), monochrome, (grayscale:1.2), (backlight:1.2), analog, analogphoto, , RAW photo, (open mouth), (((text, signature, watermark, username, artist name, stamp, title, subtitle, date, footer, header))), nsfw, nipples, pubic hair, EasyNegativeV2, bad anatomy, long_neck, long_body, longbody, deformed mutated disfigured, missing arms, extra_arms, mutated hands, extra_legs, bad hands, poorly_drawn_hands, malformed_hands, missing_limb, floating_limbs, disconnected_limbs, extra_fingers, bad fingers, liquid fingers, poorly drawn fingers, missing fingers, extra digit, fewer digits, ugly face, deformed eyes, partial face, partial head, bad face, inaccurate limb, cropped, multipul angle, split view, grid view

需要注意的是,openpose成功率非常高,但也不是100%,有些比较复杂的姿势,有可能出现引导错误。

openpose模型、362个姿势预览图和姿势文件下载:

这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

### 如何在 Stable Diffusion控制生成图像的人物姿势 为了更好地控制Stable Diffusion(简称SD)中生成图像的人物姿势,可以通过ControlNet插件实现更精确的控制[^1]。具体来说,在安装并配置好ControlNet之后,用户能够利用该工具来指导模型按照指定的方式绘制人物姿态。 对于希望调整或设定特定人体结构的情况,OpenPose Editor是一个非常实用的选择[^3]。此编辑器允许使用者直接操作骨架节点,比如添加新的肢体位置如左手的关键点,或是改变身体各部分的比例关系。经过这些修改后的骨骼数据会被传递给ControlNet作为附加条件用于后续创作过程中的参考依据。 此外值得注意的是,由于Stable Diffusion本身作为一个基于潜空间表征学习得到的强大生成对抗网络框架,其具备接收多种不同形式输入的能力——无论是来自CLIP编码过的描述文字还是其他类型的提示信息都能被有效解析并融入到最终产出之中[^2]。因此当我们将经由上述方法处理过的人体姿态特征送入系统时,便能获得更加贴近预期效果的作品。 下面给出一段简单的Python脚本示例,展示如何调用相关API接口完成这一系列流程: ```python from diffusers import StableDiffusionPipeline, ControlNetModel import torch from PIL import Image import numpy as np controlnet = ControlNetModel.from_pretrained("lllyasviel/sd-controlnet-openpose") pipe = StableDiffusionPipeline.from_pretrained( "runwayml/stable-diffusion-v1-5", controlnet=controlnet).to("cuda") prompt = "A person doing yoga" image_path = 'path_to_your_pose_image.png' # 替换成实际路径 init_image = Image.open(image_path) result = pipe(prompt=prompt, image=init_image) output_image = result.images[0] output_image.save('generated_with_controlled_pose.png') ``` 这段代码展示了加载预训练好的ControlNet模型以及Stable Diffusion管道,并通过提供一张包含目标姿态的图片作为初始输入,进而引导算法创造出具有相似动作形态的新图像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值