探索ControlNet如何为生成式AI提供精确的空间控制。了解如何使用Ultralytics YOLO26提取姿势估计来指导图像生成。
ControlNet 是一种先进的神经网络架构,旨在对大型文本到图像的生成式 AI 模型提供细粒度的空间控制。它最初是为了增强像Stable Diffusion这样的模型而引入的,允许用户除了文本提示之外,还可以使用额外的输入条件来指导图像生成。通过将特定的视觉引导——例如边缘图、深度图或人体骨架——输入到网络中,实践者可以指定生成输出的确切构图、姿势或结构,从而弥合自然语言描述与精确视觉执行之间的鸿沟。
ControlNet 的核心创新在于它能够在学习新的条件任务的同时,保留基础基础模型庞大的预训练知识。它通过锁定原始神经网络块的参数并创建一个可训练的克隆来实现这一点。这个克隆通过专门的“零卷积”层连接到锁定的模型,这些层以零权重初始化,以确保在微调的早期阶段不会引入噪声。您可以在arXiv 上的原始 ControlNet 研究出版物中阅读更多关于其数学和结构理论的内容。
这种独特的结构允许开发人员在消费级硬件上训练强大的条件控制,与从头开始训练一个庞大的深度学习模型相比,它具有高度的可访问性。
在讨论生成式人工智能时,区分 ControlNet 与相关概念会很有帮助:
ControlNet 极大地扩展了计算机视觉和生成式 AI 在专业工作流程中的实用性。
为了有效利用 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 边缘,还是提取高级 segment 掩码,准备高质量的输入都至关重要。对于训练自定义 ControlNet 条件所需的基于云的数据集管理和数据标注,像 Ultralytics Platform 这样的平台为现代 AI 团队提供了无缝的端到端环境。
开启您的机器学习未来之旅