探索ControlNet如何为生成式AI提供精准的空间控制。立即学习使用Ultralytics 提取姿态数据,指导图像生成。
ControlNet是一种先进的神经网络架构,旨在为大型文本到图像生成式AI模型提供精细的空间控制能力。该技术最初用于增强Stable Diffusion等模型,允许用户通过文本提示之外的附加输入条件引导图像生成。 通过向网络输入特定视觉引导信息——例如边缘图、深度图或人体骨架——实践者能够精确控制生成内容的构图、姿态或结构,从而弥合自然语言描述与精准视觉呈现之间的鸿沟。
ControlNet的核心创新在于其能够在学习新条件任务时保留基础模型海量的预训练知识。它通过锁定原始神经网络模块的参数并创建可训练的克隆体来实现这一目标。 该克隆体通过专用的"零卷积"层与锁定模型相连,这些卷积层以零权重初始化,确保在微调初期不会引入噪声。您可在arXiv平台查阅ControlNet原始研究论文,深入了解其数学与结构理论。
这种独特的架构使开发者能够在消费级硬件上训练稳健的调理控制模型,相比从头开始训练庞大的深度学习模型,其可访问性显著提升。
在讨论生成式人工智能时,区分ControlNet与相关概念颇有裨益:
ControlNet极大地拓展了计算机视觉和生成式人工智能在专业工作流程中的应用价值。
要有效利用ControlNet,必须先从源图像中提取所需的空间特征。例如,可使用 Ultralytics ——这款前沿视觉模型——来提取人体姿势估计 。该骨架经保存后,将作为 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 为现代AI团队提供了无缝的端到端环境。