36kr 2024年08月19日
蜘蛛侠妖娆起舞,下一代ControlNet来了,贾佳亚团队推出,即插即用,还能控制视频生成
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

ControlNeXt是一个开源的图像/视频生成引导工具,由港中文贾佳亚团队推出,其目标是成为下一代ControlNet。与ControlNet相比,ControlNeXt在训练参数、收敛速度和生成速度方面都有显著提升,同时保持了与SD1.5、SDXL、SD3等Stable Diffusion家族模型的兼容性,并支持多种控制模式,包括边缘、姿势、遮罩、景深等。ControlNeXt还能够控制视频生成,实现对动作细节的精准控制,例如让蜘蛛侠跳起TikTok美女舞蹈,手指动作也模仿得相当精准。

😊 **轻量级设计:** ControlNeXt通过移除ControlNet中的庞大控制分支,引入了一个由少量ResNet块组成的轻量级卷积模块,大大降低了计算开销和内存占用。在训练参数方面,ControlNeXt仅需ControlNet的不到10%,例如在SD1.5中,ControlNet需要3.61亿个参数,而ControlNeXt只需3千万个参数。

🚀 **快速收敛:** ControlNeXt采用交叉归一化技术,替代了传统方法中的渐进式初始化策略,从而加快了收敛速度。在训练过程中,ControlNeXt在400步左右就能接近收敛,而ControlNet则需要十倍甚至数十倍的步数。

🎨 **多功能控制:** ControlNeXt支持多种控制模式,包括边缘、姿势、遮罩、景深等,并能够与SD1.5、SDXL、SD3等Stable Diffusion家族模型兼容,甚至还能控制视频生成,实现对动作细节的精准控制。

🎬 **视频控制:** ControlNeXt能够控制视频生成,实现对人物动作的精准控制,例如让蜘蛛侠跳起TikTok中的美女舞蹈,手指动作也模仿得相当精准。

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

只用不到10%的训练参数,就能实现ControlNet一样的可控生成!

而且SDXL、SD1.5等Stable Diffusion家族的常见模型都能适配,还是即插即用。

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

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

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

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

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

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

蜘蛛侠跳起美女舞蹈

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

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

话不多说,直接看效果。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

更轻量化的条件控制模块

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

本文来自微信公众号“量子位”,作者:关注前沿科技,36氪经授权发布。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

ControlNeXt Stable Diffusion 可控生成 AI绘画 视频生成
相关文章