ComfyUI_RH_OminiControl 插件完全教程
1. 插件简介
ComfyUI_RH_OminiControl 是一个基于 OminiControl 的 ComfyUI 插件,插件原地址:https://github.com/HM-RunningHub/ComfyUI_RH_OminiControl
这个插件就像是给你的 ComfyUI 装了一个超级智能的图片处理助手,它能帮你做三件很厉害的事情:
- 物体搬运工(Subject):把一张图片里的物体"搬"到另一个场景里,就像魔法一样
- 空间魔法师(Spatial):根据图片的边缘、深度、颜色等信息,重新生成全新的图片
- 图片修补匠(Fill):把图片上的破洞或不想要的部分完美修补,就像从来没有过一样
这个插件特别为 RTX 4090 显卡优化过,运行起来又快又稳定,而且使用了 schnell 快速模型,生成图片的速度比原版快很多。
2. 如何安装
前置条件
- 确保你已经安装了 ComfyUI
- 建议安装 diffusers 0.31.0 版本(支持 FluxPipeline)
安装步骤
- 打开终端或命令行
- 进入你的 ComfyUI 安装目录下的
custom_nodes文件夹 - 运行以下命令:
git clone https://github.com/HM-RunningHub/ComfyUI_RH_OminiControl.git
模型下载
你需要下载以下模型文件并按照指定目录结构放置:
目录结构:
/models/flux/
├── FLUX.1-schnell/ # 主要的 AI 模型
└── OminiControl/ # 控制模型
├── depth-anything-small-hf/ # 深度识别模型
├── experimental/ # 实验性功能模型
└── omini/ # 核心控制模型
下载地址:
- FLUX.1-schnell:https://huggingface.co/black-forest-labs/FLUX.1-schnell
- depth-anything-small-hf:https://huggingface.co/LiheYoung/depth-anything-small-hf
- experimental 文件夹:https://huggingface.co/Yuanshi/OminiControl/tree/main/experimental
- omini 文件夹:https://huggingface.co/Yuanshi/OminiControl/tree/main/omini
3. 节点详细解析
3.1 OminiControl Subject 节点(物体搬运工)
这个节点就像一个专业的"物体搬运工",它能把一张图片里的主要物体(比如人、动物、物品)提取出来,然后根据你的描述把它放到一个全新的场景里。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 主体图片 | subject_image | IMAGE类型 | 必填 | 这是你要"搬运"的物体所在的原图片,就像告诉搬运工"这个东西在这里" | 输入包含目标主体的源图像,用于提取主体特征 | 上传一张包含你想要的物体的图片,比如一只猫的照片 |
| 提示词 | prompt | 文本 | 根据需求填写 | 告诉AI你想把这个物体放到什么样的新场景里,就像给搬运工下指令 | 描述目标场景和风格的文本提示,指导图像生成过程 | 输入"一只猫坐在沙发上",AI就会把猫放到沙发场景里 |
| 随机种子 | seed | 整数 | 0-最大整数 | 这个数字决定了AI的"创意随机性",同样的种子会产生同样的结果 | 控制随机数生成器的种子值,确保结果的可重现性 | 设置为42,每次运行都会得到相同的结果;设置为0则每次都不同 |
3.2 OminiControl Spatial 节点(空间魔法师)
这个节点就像一个"空间魔法师",它能根据图片的各种特征(边缘线条、深度信息、颜色分布等)重新创造出全新的图片,但保持原图的空间结构。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 参考图片 | ref_image | IMAGE类型 | 必填 | 这是你的"参考模板",AI会根据这张图的结构来生成新图 | 作为空间结构参考的输入图像,提供生成的基础框架 | 上传一张房间的照片,AI会保持房间的布局结构 |
| 提示词 | prompt | 文本 | 根据需求填写 | 告诉AI你想要什么样的新图片,但会保持原图的空间布局 | 描述期望生成内容的文本提示,结合空间条件进行生成 | 输入"现代简约风格的客厅",AI会把房间改造成现代风格 |
| 条件类型 | condition_type | 下拉选择 | 根据需求选择 | 选择AI要参考原图的哪个方面:线条、深度、颜色还是清晰度 | 指定空间控制的类型,不同类型提取不同的图像特征 | 选择"canny"会参考边缘线条,"depth"会参考远近深度 |
| 随机种子 | seed | 整数 | 0-最大整数 | 控制AI创作的随机性,同样的种子产生同样的结果 | 控制随机数生成器的种子值,确保结果的可重现性 | 设置固定数值可以重复生成相同效果 |
条件类型详细说明:
- canny:参考图片的边缘线条,就像用铅笔描边一样
- depth:参考图片的远近深度,就像3D立体感
- coloring:参考图片转成黑白后的明暗分布
- deblurring:参考模糊版本的图片,用来生成清晰版本
3.3 OminiControl Fill 节点(图片修补匠)
这个节点就像一个专业的"图片修补匠",它能把图片上你不想要的部分(用遮罩标记)完美地填补上新内容,就像魔法橡皮擦一样。
参数详解
| 参数名 (UI显示) | 参数名 (代码里) | 参数值 | 建议值 | 通俗解释 (能干嘛的) | 专业解释 | 怎么用/举个例子 |
|---|---|---|---|---|---|---|
| 原始图片 | ori_image | IMAGE类型 | 必填 | 这是你要修补的原图,就像给修补匠看"这张图需要修" | 需要进行局部填充修复的原始输入图像 | 上传一张有不想要物体的照片,比如照片里有个路人 |
| 遮罩 | mask | MASK类型 | 必填 | 这是告诉AI哪些地方需要修补的"标记",白色部分会被重新填充 | 定义需要填充区域的二值化遮罩,白色区域将被重新生成 | 用画笔工具把不想要的路人涂成白色,AI就会把这部分替换掉 |
| 提示词 | prompt | 文本 | 根据需求填写 | 告诉AI你想在被遮住的地方填充什么内容 | 描述填充区域期望内容的文本提示 | 输入"绿色的草地",AI就会在遮罩区域填充草地 |
| 随机种子 | seed | 整数 | 0-最大整数 | 控制AI填充时的创意随机性 | 控制随机数生成器的种子值,确保填充结果的可重现性 | 设置固定值可以得到一致的填充效果 |
4. 使用技巧和建议
4.1 Subject 节点使用技巧
- 图片选择:选择主体清晰、背景相对简单的图片效果最好
- 提示词技巧:描述要具体,比如"一只橘猫坐在红色沙发上"比"猫在沙发上"效果更好
- 种子设置:如果喜欢某个效果,记住种子数值,下次可以复用
4.2 Spatial 节点使用技巧
- 条件类型选择:
- 想保持物体轮廓:选择 canny
- 想保持空间深度:选择 depth
- 想做风格转换:选择 coloring
- 想做图片清晰化:选择 deblurring
- 提示词建议:要包含风格描述,如"油画风格"、"卡通风格"等
4.3 Fill 节点使用技巧
- 遮罩制作:遮罩边缘要平滑,避免锯齿状
- 提示词要匹配:填充内容要符合图片整体风格和光线
- 多次尝试:如果一次效果不满意,可以调整种子多试几次
4.4 通用优化建议
- 显存管理:插件会自动释放显存,但建议不要同时运行太多节点
- 图片尺寸:插件默认输出 512x512,这个尺寸效果最稳定
- 模型路径:确保所有模型文件都正确下载并放置在指定位置
5. 常见问题解答
Q1:为什么运行时提示找不到模型?
A1:检查模型文件是否按照教程中的目录结构正确放置,特别注意路径中的文件夹名称要完全一致。
Q2:生成的图片质量不好怎么办?
A2:
- 检查输入图片质量,建议使用高清图片
- 调整提示词,使其更加具体和详细
- 尝试不同的随机种子值
- 确保显卡显存充足(建议8GB以上)
Q3:Subject 节点提取的物体不准确?
A3:
- 选择主体突出、背景简单的图片
- 确保主体在图片中占比适中(不要太小也不要太大)
- 可以先用其他工具对图片进行预处理
Q4:Fill 节点填充效果不自然?
A4:
- 检查遮罩是否制作得当,边缘要平滑
- 提示词要考虑光线、色调与原图的一致性
- 可以多次生成,选择最佳效果
Q5:运行速度很慢怎么办?
A5:
- 确保使用的是 RTX 4090 或其他高性能显卡
- 关闭其他占用显存的程序
- 检查是否正确安装了 diffusers 0.31.0 版本
6. 进阶应用场景
6.1 电商产品图制作
使用 Subject 节点可以快速将产品放置到不同的使用场景中,比如把一个杯子从白背景"搬"到温馨的咖啡厅场景。
6.2 建筑设计可视化
使用 Spatial 节点的 depth 模式,可以将建筑草图转换为逼真的效果图,保持空间结构的同时改变材质和风格。
6.3 照片修复和美化
使用 Fill 节点可以去除照片中的不需要元素,比如路人、电线杆等,让照片更加完美。
6.4 艺术创作
结合三个节点使用,可以创造出独特的艺术作品:先用 Spatial 改变风格,再用 Subject 添加元素,最后用 Fill 完善细节。
7. 技术原理简介(可选阅读)
这个插件基于 FLUX 模型和 LoRA 技术:
- FLUX 模型:负责图片的基础生成能力
- LoRA 适配器:针对不同任务(subject、spatial、fill)的专门优化
- 条件编码:将输入图片转换为 AI 能理解的"指令"
- 分步加载:通过分离不同组件的加载来优化显存使用
8. 更新日志和致谢
致谢
感谢 Yuanshi9815 及其 OminiControl 项目提供的基础支持,以及 RunningHub 团队对插件的优化和适配工作。
相关链接
- 原项目地址:https://github.com/Yuanshi9815/OminiControl
- 插件地址:https://github.com/HM-RunningHub/ComfyUI_RH_OminiControl
- 在线体验:https://www.runninghub.ai/post/1865085524393500674
总结:ComfyUI_RH_OminiControl 插件为 ComfyUI 用户提供了强大的图像控制能力,通过三个核心节点可以实现物体迁移、空间重构和图像修复等功能。插件经过优化,在 RTX 4090 上运行流畅,是进行 AI 图像创作的得力助手。
记住:多实践、多尝试,你会发现这个插件的更多可能性!