Stable Diffusion | ControlNet:Reference“垫图”功能,不炼丹也能保持同一人物

ControlNet推出Reference(参考)控制类型也有一段时间了,最近体验了一下,被他的强大的效果震惊到了。

之前一直想生成同一主体系列图片,需要Lora炼丹,这个不仅需要电脑有一定的配置,还要处理大量素材图片耗时耗力,现在Reference却可以调调参数,测测数据,毫不费力的满足你需求!

下面来了解一下这个Reference模式,到底有多强大呢?

1、先看一下官方对Reference(参考)的介绍:

Now we have a reference-only preprocessor that does not require any control models. It can guide the diffusion directly using images as references.

翻译:现在我们有一个 reference-only预处理,它不需要任何控制模型即可实现直接使用一张图片作为参考来引导扩散。

2、再来看看Reference(参考)界面:

预处理器:

reference_adain:仅参考输入图,自适应实例规范

reference_adain+attn:仅参考输入图,自适应实例规范+Attention链接

reference_only:仅参考输入图,今天主要讲这个预处理器。

控制权重:控制模型对生成图片的影响的程度。

引导时机:控制模型介入的时间。

引导终止时机:控制模型终止的时间。

Style Fidelity(仅用于均衡模式):风格保真度,

3、来个可爱的猫咪案例演示:

在网上找一张背景干净,主体清晰的图片,这里找的一个猫,将图片改为512x512px尺寸,

放入controlnet,启用reference。

选择预处理器:reference_only。

style fidelity:设置为1。

模型: realisticVisionV20。

设置提示词: 就一个词,一只行走的猫。

正向:

(best quality),((masterpiece)),(highres),original,extremely detailed 8K wallpaper,(an extremely delicate and beautiful),

a walking cat,

反向:

easynegative,ng_deepnegative_v1_75t,(worst quality:2),(low quality:2),(normal quality:2),lowres,bad anatomy,bad hands,normal quality,((monochrome)),((grayscale)),((watermark)),

其他的不用管,点击生成图片。

可以看出与原素材底图作比较,除了一细节的差别,与原图匹配度高达80%,在降低随机性,提高抽卡中奖率上面还是有比较大的效果的,在生成足够多的样本后,我们可以挑选一些匹配度更高的图片。

下面看下取消reference的效果:

AI自由发挥,风格基本难以掌控。

4、再来一个靓妹演示案例来测试,据说这样看的人会多些:

模型: realisticVisionV20

正向:

photo of woman,wispy blonde hair,perfect eyes,simple long knitted tight-fitting shift dress,(detailed face:1.2),(flat chest:1.1),slight smile,walking,outdoor,nature,beautiful,wild flowers,natural skin,dusk,orange clouds,

8k uhd,high quality,ray tracing,(best quality),((masterpiece)),(highres),

反向:

multiple breasts,(mutated hands and fingers:1.5 ),(long body :1.3),(mutation, poorly drawn :1.2),black-white,bad anatomy,liquid body,liquid tongue,disfigured,malformed,mutated,anatomical nonsense,text font ui,error,malformed hands,long neck,blurred,lowers,lowres,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,missing breasts,huge haunch,huge thighs,huge calf,bad hands,fused hand,missing hand,

参数设置:

迭代步数 (Steps):25

采样方法:DPM++ SDE Karras

重绘幅度:0.6

其他默认,点击生图。

然后,用这张图作为底图,做一些变化,先把底图放到reference模式里面,操作步骤和参数同上,

然后修改正向提示词:

功能1测试:更换衣服

正向词:

photo of woman,wispy blonde hair,perfect eyes,a sexy swimsuit,(detailed face:1.2),(flat chest:1.1),slight smile,walking,outdoor,nature,beautiful,wild flowers,natural skin,dusk,orange clouds,

8k uhd,high quality,ray tracing,(best quality),((masterpiece)),(highres),

**功能2测试:更换背景,**这边直接用泳装的正向提示词

正向词:

photo of woman,wispy blonde hair,perfect eyes,a sexy swimsuit,(detailed face:1.2),(flat chest:1.1),slight smile,outdoor,in the swimming pool,beautiful,a bright sky,baiyun,natural skin,

8k uhd,high quality,ray tracing,(best quality),((masterpiece)),(highres),

可以发现,它保持了底图的服装面料和主体的状态,效果堪比Lora。如果要更多更精确的图片可以批量生成,做挑选会更棒!

**功能3测试:更换动作,**这里要用到openpose控制模型搭配

正向词:

photo of woman,wispy blonde hair,perfect eyes,simple long knitted tight-fitting shift dress,(detailed face:1.2),(flat chest:1.1),slight smile,outdoor,nature,beautiful,wild flowers,natural skin,dusk,

8k uhd,high quality,ray tracing,(best quality),((masterpiece)),(highres),

场景的细节还是有点瑕疵,不过大体上还是与原底图匹配,如果觉得差别有点大,我们可以通过调整prompt提示词进行修改。

另外还可以调整controlnet中,两个单元的引导介入时机和退出时机,比如这里,AI重绘基本是先根据openpose骨架图,确定任务的姿态,然后再通过稳定扩散分布进行生成,那么可以把reference介入时机可以调后一点,效果可能会更吻合。

功能4测试:改变画风,

基于上面的图,做个2.5次元的看看吧,放到reference,换一个模型:Anything_V5,其他参数不变,测试看看。

风格来说,还是比较稳定的,概率也比较大,可以通过调整提示词,生成更大量的图片,来进行筛选。想生成2次元的同学也是可以自己做一下测试,大家一起交流。

5、现在测试一下二次元帅哥,效果如何。

先在网上找一张图片,

然后,用这张图作为底图,做一些变化,先把底图放到reference模式里面,操作步骤和参数同上,

换模型为Anything_V5等,调整提示词,

正向词:

a boy,wearing clothes,

(best quality),((masterpiece)),(highres),(an extremely delicate and beautiful),original,extremely detailed wallpaper,

反向词:

(naked:1.3),(multi-handed:1.4),worstquality,low quality,normal quality,jpegartifacts,signature,watermark,username,blurry,bad feet,bad_anatomy,bad_feet,bad_hands,bad_perspective,bad_proportions,error,extra_arms,extra_ears,extra_eyes,extra_mouth,feet_out_of_frame,foot_out_of_frame,greyscale,(head_out_of_frame:1.3),out-of-frame_censoring,out_of_frame,wrong_feet,

其他参数默认即可,点击生图

这里的关键词只写了:a boy,wearing clothes,一个穿着衣服的男孩,如果需要做更多精细化的调整,可以通过调整提示词来匹配,这样会更接近理想的效果。

6、总结:

reference对图片的扩散分布引导的效果还是比较不错的,如果是人像,搭配上roop插件,在保持画风等效果一致上面,其实还是很不错的,有炼丹Lora的同学,也可以将二者进行结合,相信可以更精准的控制图片的重绘导向。在电商的产品的应用上,也可以做一些尝试,保持产品统一,产品的场景图的风格的统一等等,上面也只是做一些基础的尝试,一个功能的革新,有时候是可以升级一次设计思维。

写在最后

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

若有侵权,请联系删除
### 可能的原因与解决方案 #### 1. **ControlNet 插件未正确启用** 如果 ControlNet 功能起作用,可能是因为插件未被正确加载或配置。确保在 `stable-diffusion-webui` 的界面中启用了 ControlNet 并选择了合适的模型文件[^2]。 ```python # 检查 ControlNet 是否已启用并设置参数 def enable_controlnet(): controlnet_settings = { "enabled": True, "model": "path_to_your_model/controlnet.pth", "start_step_ratio": 0.5, # 控制介入时机 "end_step_ratio": 1.0 # 结束介入时机 } return controlnet_settings ``` 确认以下几点: - 在 WebUI 中勾选了 “Enable ControlNet” 或类似的选项。 - 正确指定了 ControlNet 模型路径(通常位于 `./extensions/sd-webui-controlnet/models/` 下)[^3]。 --- #### 2. **模型文件损坏或缺失** 如果使用的 ControlNet 模型文件完整或损坏,则可能导致功能失效。建议重新下载官方推荐的预训练模型,并将其放置到指定目录下: ```bash # 将模型文件复制到目标位置 cp /path/to/downloaded/controlnet*.pth ./stable-diffusion-webui/extensions/sd-webui-controlnet/models/ ``` 验证模型是否存在以及权限是否正确[^1]。 --- #### 3. **Python 脚本运行时错误** 根据引用描述,可能存在脚本执行过程中引发的异常[^4]。以下是常见的 Python 报错原因及其修复方法: ##### a. 属性访问问题 (`AttributeError`) 错误提示表明列表对象尝试调用存在的方法 `enabled`。这可能是由于数据结构定义当引起的。可以通过调试日志定位具体变量内容: ```python import logging logging.basicConfig(level=logging.DEBUG) try: unit.enabled = selector(p, "control_net_enabled", unit.enabled, idx, strict=True) except AttributeError as e: logging.error(f"Unit structure error: {e}") ``` 解决办法:检查 `unit` 数据类型的初始化逻辑,确保其具有预期属性。 ##### b. 文件路径冲突 某些情况下,扩展模块的相对路径解析可能出现偏差。可以手动调整导入语句以避免歧义: ```python from pathlib import Path base_path = Path(__file__).parent.resolve() sys.path.append(str(base_path)) ``` --- #### 4. **采样步数配置合理** 如果生成片的质量符合预期,可能需要优化控制步数的相关参数。例如,降低 `start_step_ratio` 值可增强 ControlNet 对最终结果的影响程度[^5]。 ```json { "sampling_steps": 20, "control_start_step_ratio": 0.1, "control_end_step_ratio": 1.0 } ``` 注意:过低的比率可能会导致性能下降或资源占用过高。 --- #### 5. **依赖库版本兼容性** 部分旧版依赖项可能与当前项目存在冲突。建议升级至最新稳定版本后再测试功能表现: ```bash pip install --upgrade torch torchvision gradio ``` 同时清理缓存以防残留垃圾干扰程序运行环境。 --- ### 总结 针对 Stability AI 提供的技术框架而言,上述几个方面均有可能成为阻碍 ControlNet 工作的因素之一。逐一排查直至恢复正常为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值