引言
2023年的计算机视觉领域顶级学术会议ICCV上,一篇颠覆文生图AI领域的论文《Adding Conditional Control to Text-to-Image Diffusion Models》——ControlNet 荣膺最佳论文奖(Marr奖)。
自开源以来,ControlNet已经在GitHub上揽获25k星。无论是对扩散模型、还是对整个计算机视觉领域而言,这篇论文获奖都可以说是实至名归。
基本原理
ControlNet 是一种尖端神经网络,旨在增强图像生成模型的功能,特别是基于Stable Diffuison等扩散过程的模型。
从本质上讲,ControlNet 充当基于扩散的文本到图像生成模型的指导。虽然传统的图像生成模型可以产生令人惊叹的视觉效果,但它们通常缺乏指导,因此无法生成符合用户所需图像合成的图像。ControlNet 通过允许额外的图像输入来改变游戏规则,该输入可用于调节(影响)最终图像生成。充当指导角色的可以是任何东西,从简单的涂鸦到复杂的深度图或边缘图。通过对这些输入图像进行调节,ControlNet 指示Stable Diffusion模型生成与用户意图紧密一致的图像。
想象一下,能够勾画出粗略的轮廓或提供基本的深度图,然后让人工智能填充细节,生成高质量、连贯的图像。应用范围广泛,从数字艺术和视频游戏设计到高级模拟和虚拟现实。借助 ControlNet,指导和完善图像生成过程的能力现在掌握在用户手中,从而缩小了人类创造力和机器精度之间的差距。
随着我们不断突破人工智能的极限,ControlNet 等工具提醒我们,内容创作的未来不仅仅在于自动化,还在于人与机器之间的协作。
技术架构
ControlNet 是Stable Diffusion模型的迭代。对于那些熟悉复杂神经网络设计的人来说,嵌入 ControlNet 中的 U-Net 模型可能看起来很熟悉。这是因为它是原始SD模型的直接后代。它锁定原始稳定扩散模型,并创建原始模型的可训练副本以及以调节向量 c 作为输入的零卷积层。
但 ControlNet 真正的亮点在于其创新性的补充。其中包括一个可训练的编码器,它本质上是 U-Net Stable Diffusion编码器的分身。然而,这对双胞胎不仅仅是为了摆样子,它被设计为完全可训练的,赋予它在空间上影响输出图像结果的卓越能力。这是通过向该编码器提供噪声和边缘来实现的。对于外行来说,这里的边缘是目标图像轮廓的表示,提供了构建图像的框架或脚手架。本质上,ControlNet 克隆扩散模型的权重,然后训练克隆的权重以根据输入条件的任务来控制原始模型。
但是那些神秘的“零卷积”层呢?这些层充当控制编码器和Stable Diffusion U-Net 之间的重要管道。ControlNet 上下文中的“零卷积”特指一维卷积层,其中权重和偏差都初始化为零。现在,在神经网络架构的宏伟计划中,权重初始化至关重要。通常,权重和偏差是用小的随机值设置的。这种随机性是战略性的,可确保在训练过程中,神经元不仅同步进化,而且会发散,每个神经元都学习不同的特征和模式。
但 ControlNet 偏离此约定是有原因的。将这些一维卷积层初始化为零有一个独特且深思熟虑的目的。由于零卷积不会向网络添加噪声,因此模型应该始终能够生成高质量的图像。
应用例
让我们一起看看不同领域的 ControlNet 的一些有趣用例。
时尚
借助 ControlNet,时装设计师可以勾勒出服装的粗略想法或轮廓,系统可以生成这些设计的真实描述,并包含复杂的图案、纹理和颜色。这种快速的可视化可以帮助设计师对款式、剪裁和整体设计美学做出快速决策。
建筑与改造
建筑师可以将建筑设计的草图或基本轮廓输入 ControlNet。然后,系统可以提供详细的可视化效果,填充纹理、材料和潜在的照明场景,从而提供最终结构的更全面的视图。
装修者和室内设计师可以让他们的客户在 ControlNet 的帮助下直观地了解改造其住宅或家居室内装饰后的输出效果。
城市规划者可以使用 ControlNet 来可视化城市布局或公园设计。只需向其提供基本的深度图或涂鸦,规划人员就可以清楚地了解开发后整个城市街区或绿地的样子。这些可视化将有助于做出更明智的规划决策,并使利益相关者和当地社区达成共识。
营销
ControlNet 可以帮助营销人员无缝地个性化和调整视觉内容,确保不同地区和文化的不同受众感到得到代表和迎合。
通过将文本提示与输入图像相集成,ControlNet 可以修改种族、性别、年龄、颜色和图案等视觉元素,以符合当地的审美和文化规范,从而简化本地化过程。
这种在生成个人和文化共鸣营销材料方面的灵活性和精确性使企业能够与目标人群更深入地联系,确保更有效和更具吸引力的活动。
ControlNet 的流行控制机制
控制机制可满足不同的需求,并为用户提供广泛的选项来指导和定制 ControlNet 的图像生成过程。让我们看一下稳定扩散 ControlNet 中使用的一些流行控件及其用例:
ControlNet Canny
Canny方法是计算机视觉领域最流行的边缘检测技术之一。它以其创建者的名字命名,旨在检测图像中的各种边缘。
ControlNet 的功能:当合并到 ControlNet 中时,Canny 方法可以充当引导输入,以关注图像中的突出边缘和结构。给定原始图像或草图,Canny 会提取图像的轮廓和边缘,可能适合用于建筑可视化或时尚草图的图像生成。
控制网络深度
深度图表示图像场景中物体与视点的距离,通常以灰度形式表示,其中白色表示近距离物体,黑色表示远处物体。
ControlNet 的功能: ControlNet Depth 将利用这些深度图来指导生成具有三维感的图像。这对于虚拟现实或游戏设计等交互式技术的图像生成非常有用,其中理解和可视化深度和空间关系是关键。
ControlNet OpenPose
OpenPose是一个实时多人系统,可在单张图像上联合检测人体、手部和面部关键点。
ControlNet 的功能:通过 ControlNet OpenPose,用户可以输入人物图像,并指导系统以准确的姿势/姿势生成图像。这对于舞蹈、瑜伽、时尚和运动设计特别有利,在这些领域中,生成模仿身体姿势和运动细节的图像至关重要。
ControlNet 涂鸦
涂鸦是粗糙的手绘图或涂鸦。
ControlNet 的功能: ControlNet Scribble 将允许用户通过这些徒手输入来指导图像生成。例如,用户可能会画出粗略的轮廓或涂鸦,ControlNet 会连贯地填充细节。这种方法促进了一种更具互动性和实践性的方法,适合艺术家和设计师。
ControlNet M-LSD
M -LSD算法的优势在于能够高精度地提取和描述直线。通过辨别这些线性结构,它为AI提供了一个清晰的框架,使其能够渲染具有清晰、明确的边缘和直线的图像。这种复杂的线条识别使其能够高度可靠地描绘设计的结构方面。
ControlNet 的功能: M-LSD ControlNet 在建筑领域大放异彩。它对于可视化房间内部尤其有价值,因为墙壁、地板和天花板之间的区别至关重要。此外,它对于等距建筑设计非常有效,结构线的准确表示可确保忠实地描绘建筑愿景。
ControlNet SoftEdge
SoftEdge 专注于图像中对象和背景之间的柔和过渡,而不是锐利边缘检测。
ControlNet 的功能: SoftEdge ControlNet 将指导图像生成过程,以产生更柔和、更混合的过渡的视觉效果。这对于创建环境、梦幻或空灵的视觉效果(例如背景或环境艺术)特别有益。
结论
ControlNet 开创了用户引导图像生成的新时代,展示了各个领域的巨大潜力。现在,创造力的掌控力比以往任何时候都更加掌握在创作者自己的手中。通过允许人类创造者指导生成过程,它不仅提供了精确性,而且还增强了创造力的协作方面。
资源
[1] 官方论文
[2] 官方实现: 基于Stable Diffusion 1.5
[3] HuggingFace 实现: 基于Stable Diffusion 2.1