ControlNet
探索 ControlNet 如何对生成式 AI 提供精准的空间控制。了解如何使用 Ultralytics YOLO26 提取姿态,以指导图像生成。
ControlNet 是一种先进的神经网络架构,旨在为大型文本到图像生成式 AI模型提供精细的空间控制。它最初被引入用于增强 Stable Diffusion 等模型,使用户能够利用除文本提示之外的额外输入条件来引导图像生成。通过将特定的视觉引导信息(例如边缘图、深度图或人体骨架)输入网络,实践者可以精确控制生成结果的构图、姿态或结构,从而弥合自然语言描述与精准视觉呈现之间的差距。
架构的工作原理#
ControlNet 的核心创新在于,它能够在学习新条件控制任务的同时,保留基础基础模型中海量的预训练知识。它通过锁定原始神经网络模块的参数并创建一个可训练副本来实现这一点。该副本通过专门的“零卷积”层与锁定的模型相连,这些层以零权重初始化,从而确保在微调早期阶段不会引入噪声。你可以在 arXiv 上最初发表的 ControlNet 研究论文中进一步了解其数学与结构理论。
这种独特的结构使开发者能够在消费级硬件上训练稳健的条件控制模型,与从头开始训练大型深度学习模型相比,具有很高的可及性。
ControlNet 与扩散模型和 LoRA 的比较#
讨论生成式人工智能时,有必要将 ControlNet 与相关概念区分开来:
- 扩散模型:这是通过迭代去除噪声来生成图像的底层基础引擎。它们几乎完全依赖文本提示。
- LoRA(低秩适配):LoRA 是一种快速教会模型学习新风格或主题的方法(例如特定角色或艺术风格)。相比之下,ControlNet 控制的是图像的精确空间排列。
实际应用#
ControlNet 极大拓展了计算机视觉和生成式 AI 在专业工作流中的应用价值。
- 建筑概念渲染:建筑师和室内设计师使用 ControlNet,将基础的黑白计算机辅助设计(CAD)蓝图或手绘草图转换为建筑物和房间的写实渲染图。
- 游戏开发中的角色姿态设计:动画师利用人体姿态估计模型,从参考视频中提取骨骼结构。然后将这些骨骼输入 ControlNet,生成保持精确姿态且风格统一的角色精灵,用于视频游戏素材,从而大幅减少手工绘制所需的时间。
为 ControlNet 准备条件#
要有效使用 ControlNet,你必须先从源图像中提取所需的空间条件。例如,你可以使用最新的先进视觉模型 Ultralytics YOLO26 来提取人体姿态骨架。随后,将该骨架保存下来,并作为启用 ControlNet 的文本到图像流程的条件输入。
from ultralytics import YOLO
# Load the Ultralytics YOLO26 pose estimation model
model = YOLO("yolo26n-pose.pt")
# Perform inference to extract the human pose skeleton
results = model("character_reference.jpg")
# Save the resulting plotted skeleton to use as ControlNet input
results[0].save("pose_conditioning.jpg")无论是使用标准的 OpenCV 函数准备 Canny 边缘,还是提取高级分割掩码,准备高质量的输入都至关重要。对于训练自定义 ControlNet 条件所需的云端数据集管理和数据标注,Ultralytics Platform等平台为现代 AI 团队提供了顺畅的一体化端到端环境。






