只用不到 10% 的训练参数,就能实现 ControlNet 一样的可控生成!而且 SDXL、SD1.5 等 Stable Diffusion 家族的常见模型都能适配,还是即插即用。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

同时还能搭配 SVD 控制视频生成,动作细节控制得精准到手指。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

在这些图像和视频的背后,就是港中文贾佳亚团队推出的开源图像 / 视频生成引导工具 ——ControlNeXt

从这个名字当中就能看出,研发团队给它的定位,就是下一代的 ControlNet。

像大神何恺明与谢赛宁的经典大作 ResNeXt(ResNet 的一种扩展),起名字也是用的这个路数。

有网友认为这个名字是实至名归,确实是下一代的产品,将 ControlNet 提高了一个档次。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

还有人直言 ControlNeXt 是规则改变者,让可控生成的效率提升了一大截,期待看到人们用它创作的作品。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

蜘蛛侠跳起美女舞蹈

ControlNeXt 支持多款 SD 系模型,而且即插即用。

其中包括了图像生成模型 SD1.5、SDXL、SD3(支持 Super Resolution),还有视频生成模型 SVD。

话不多说,直接看效果。

可以看到,在 SDXL 中加入边缘(Canny)引导,绘制出的二次元少女和控制线条几乎完美贴合。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

即使控制轮廓又多又细碎,模型依然可以绘制出符合要求的图片。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

而且无需额外训练就可与其他 LoRA 权重无缝集成。

比如在 SD1.5 中,可以把姿势(Pose)控制条件与各种 LoRA 搭配使用,形成风格迥异乃至跨越次元,但动作相同的角色。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

另外,ControlNeXt 也支持遮罩(mask)和景深(depth)的控制模式。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

在 SD3 当中还支持 Super Resolution(超级分辨率),可生成超高清晰度的图像。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

视频生成当中,ControlNeXt 可以实现对人物动作的控制。

比如让蜘蛛侠也跳起 TikTok 中的美女舞蹈,就连手指的动作也模仿得相当精准。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

甚至让一把椅子也长出手跳同样的舞蹈,虽然是抽象了一些,但单看动作复刻得还算不错。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

而且相比于原始的 ControlNet,ControlNeXt 需要的训练参数更少,收敛速度也更快。

比如在 SD1.5 和 SDXL 中,ControlNet 需要的可学习参数分别是 3.61 亿和 12.51 亿,但 ControlNeXt 分别只需要 3 千万和 1.08 亿,不到 ControlNet 的 10%

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

而在训练过程中,ControlNeXt 在 400 步左右就已接近收敛,但 ControlNet 却需要十倍甚至数十倍的步数。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

生成的速度也比 ControlNet 更快,平均下来 ControlNet 相当于基础模型会带来 41.9% 的延时,但 ControlNeXt 只有 10.4%。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

那么,ControlNeXt 是如何实现的,对 ControlNet 进行了哪些改进呢?

更轻量化的条件控制模块

首先用一张图来了解一下 ControlNeXt 的整个工作流程。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

其中轻量化的关键,是 ControlNeXt 移除了 ControlNet 中的庞大控制分支,改为引入一个由少量 ResNet 块组成的轻量级卷积模块

这个模块负责提取控制条件(如语义分割掩码、关键点先验等)的特征表示。

其中的训练参数量通常不到 ControlNet 中预训练模型的 10%,但仍能很好地学习将输入的条件控制信息,这种设计大大降低了计算开销和内存占用。

具体来说,它从预训练模型的不同网络层的中等距采样,形成用于训练的参数子集,其余参数则被冻结。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

另外在设计 ControlNeXt 的架构时,研究团队还保持了模型结构与原始架构的一致性,从而实现了即插即用。

无论是 ControlNet 还是 ControlNeXt,条件控制信息的注入都是一个重要环节。

在这个过程中,ControlNeXt 研究团队主要针对两个关键问题进行了深入研究 —— 注入位置的选择和注入方式的设计。

研究团队观察发现,在大多数可控生成任务中,指导生成的条件信息形式相对简单,且与去噪过程中的特征高度相关。

所以团队认为,没有必要在去噪网络的每一层都注入控制信息,于是选择了只在网络的中间层将条件特征与去噪特征聚合

聚合的方式也尽可能简单 —— 在用交叉归一化对齐两组特征的分布后,直接将其相加。

这样既能确保控制信号影响去噪过程,又避免了注意力机制等复杂操作引入额外的学习参数和不稳定性。

这之中的交叉归一化,也是 ControlNeXt 的另一项核心技术,替代了此前常用的 zero-convolution 等渐进式初始化策略。

传统方法通过从零开始逐步释放新模块的影响力来缓解崩塌问题,但往往导致的结果就是收敛速度慢。

交叉归一化则直接利用主干网络去噪特征的均值 μ 和方差 σ 对控制模块输出的特征做归一化,使二者的数据分布尽量对齐。

蜘蛛侠妖娆起舞,下一代 ControlNet 来了!贾佳亚团队推出,即插即用,还能控制视频生成-风君雪科技博客

(注:ϵ 是为数值稳定性而添加的小常数,γ 为缩放参数。)

归一化后的控制特征再通过尺度和偏移参数调整幅度和基线,再与去噪特征相加,既避免了参数初始化的敏感性,又能在训练初期就让控制条件发挥作用,加快收敛进程。

此外,ControlNeXt 还借助控制模块学习条件信息到隐空间特征的映射,使其更加抽象和语义化,更有利于泛化到未见过的控制条件。

项目主页:

  • https://pbihao.github.io/projects/controlnext/index.html

论文地址:

  • https://arxiv.org/abs/2408.06070

GitHub:

  • https://github.com/dvlab-research/ControlNeXt

本文来自微信公众号:量子位(ID:QbitAI),作者:克雷西