港大和微软提出Uni-ControlNet:可控制扩散模型再添一员!
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
AI/CV重磅干货,第一时间送达
论文简介
可控制扩散模型通过添加额外的条件,比如边缘图、深度图等来控制图像的生成过程。相较于单纯利用文本来生成图像,可控制扩散模型更够让使用者更加详细的制定想要生成的图片。
目前主流的可控制扩散模型研究分为两类:一类是在大规模数据上从头训练的基础模型,比如Composer;另一类是基于已有的图像到文本扩散模型(比如Stable Diffusion),进一步添加额外的模块来达到控制的效果,比如ControlNet和T2I-Adapter。
本文提出的Uni-ControlNet采用了第二种方式,即添加额外的控制模块。和ControlNet、T2I-Adapter相比,Uni-ControlNet仅采用两个额外的控制模块即能实现对多种条件的控制。这样,当控制条件的种类增多时,就可以极大的减少训练的次数和所需控制模块的数量。更重要的是,Uni-ControlNet还支持多种条件的融合生成。
以下表格展示了不同可控制扩散模型的区别,N表示控制条件的种类数:
效果展示
Uni-ControlNet能够很好的支持单个条件的生成:
Uni-ControlNet还能支持来自不同域的多个条件的联合生成:
甚至可以让用户提供更多的条件:
文章中给出了更多的示例。值得注意的是,得到这些结果,仅仅只需要一个模型!
方法介绍
Uni-ControlNet将所有的控制条件分成了两组:局部条件和全局条件。因此,对应的有两个控制模块,来分别和主模型进行交互、注入控制信息。
局部控制模块:
对于局部控制模块,Uni-ControlNet参考了ControlNet的控制框架:即将主模型中的编码器f和中间层m拷贝一份得到f’和m’,用于处理局部条件。公式(3)展示了添加局部控制模块后,主模型解码器的输入:
与ControlNet不同的是,Uni-ControlNet采用了一种多尺度的控制条件注入策略。具体来说,首先将多种控制条件c_l在通道维度上拼接在一起;随后利用一个特征提取器h_r来得到控制条件不同维度的特征;接下来通过特征空间中的重归一化模块(FDN),将不同维度的特征在多个尺度上注入拷贝后的编码器和中间层,如下公式(4)所示:
全局控制模块:
对于全局控制模块,Uni-ControlNet首先通过前向传播,将全局条件映射到主模型的文本空间中;然后将文本信息与映射后的全局条件进行拼接,得到扩展的提示信息;最后,用扩展的提示信息替换掉文本信息,并注入到所有模块的注意力层。公式(5)、(6)展示了这一过程:
下图展示了局部控制模块和全局控制模块的更多细节:
训练与推理:
对于模型的训练,Uni-ControlNet采用分开训练的方式单独训练这两个控制模块。在训练时,对注入的各种控制条件采用了一定的dropout策略。在推理时,直接将这两个模块进行合并就能达到很好的控制效果,而不需要额外的联合训练。
更多技术细节请参阅原论文。
最新CVPR 2023论文和代码下载
后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集
后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF
扩散模型和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer333,即可添加CVer小助手微信,便可申请加入CVer-扩散模型或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如扩散模型和Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲扫码或加微信号: CVer333,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!
▲扫码进星球
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
微信扫码关注该文公众号作者