深圳Yolo 视觉
深圳
立即加入
词汇表

ControlNet

探索ControlNet如何为生成式AI提供精确的空间控制。了解如何使用Ultralytics YOLO26提取姿势估计来指导图像生成。

ControlNet 是一种先进的神经网络架构,旨在对大型文本到图像的生成式 AI 模型提供细粒度的空间控制。它最初是为了增强像Stable Diffusion这样的模型而引入的,允许用户除了文本提示之外,还可以使用额外的输入条件来指导图像生成。通过将特定的视觉引导——例如边缘图、深度图或人体骨架——输入到网络中,实践者可以指定生成输出的确切构图、姿势或结构,从而弥合自然语言描述与精确视觉执行之间的鸿沟。

架构工作原理

ControlNet 的核心创新在于它能够在学习新的条件任务的同时,保留基础基础模型庞大的预训练知识。它通过锁定原始神经网络块的参数并创建一个可训练的克隆来实现这一点。这个克隆通过专门的“零卷积”层连接到锁定的模型,这些层以零权重初始化,以确保在微调的早期阶段不会引入噪声。您可以在arXiv 上的原始 ControlNet 研究出版物中阅读更多关于其数学和结构理论的内容。

这种独特的结构允许开发人员在消费级硬件上训练强大的条件控制,与从头开始训练一个庞大的深度学习模型相比,它具有高度的可访问性。

ControlNet 与扩散模型和 LoRA

在讨论生成式人工智能时,区分 ControlNet 与相关概念会很有帮助:

  • 扩散模型: 它们是通过迭代去除噪声来生成图像的底层基础引擎。它们几乎完全依赖于文本提示。
  • LoRA (Low-Rank Adaptation): 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 边缘,还是提取高级 segment 掩码,准备高质量的输入都至关重要。对于训练自定义 ControlNet 条件所需的基于云的数据集管理和数据标注,像 Ultralytics Platform 这样的平台为现代 AI 团队提供了无缝的端到端环境。

让我们一起共建AI的未来!

开启您的机器学习未来之旅