ControlNet 和 T2I-Adapter 的突破性在哪里?有什么区别?
其它为 T2I 扩散模型施加条件引导的相关研究
ControlNet 和 T2I-Adapter 的实际应用效果如何?
使用体验上,跟 SD原生支持的 img2img 有什么区别?
ControlNet 在插画创作上的潜力
多种条件引导的组合使用
ControlNet 在3D和动画创作上的潜力
哪里可以免安装且免费玩上?
论文和模型
这几天 AIGC 社区的兴奋程度达到了几个月内的高峰,快赶上去年 Stable Diffusion 首次发布的热闹劲。主角就是 ControlNet,一个基于 Stable Diffusion 1.5 的轻型预训模型,能利用输入图片(input image)里的边缘特征、深度特征 或 人体姿势的骨架特征(posture skeleton),配合文字 prompt,精确引导图像在 SD 1.5 里的生成结果。
下图来自 ControlNet 论文的 demo,使用 Canny 坎尼边缘检测提取了输入图片里鹿的轮廓特征,用 Prompt “a high-quality, detailed, and professional image” 在 SD 1.5 里生成的 4 张结果图片。
ControlNet 的预印本 发布于 2 月 10 日,同时开源了预训模型的和论文里所有 input condition detector 的权重。社区迅速在 Huggingface 部署了可以试用的 Demo, 并打包成可在 Stable Diffusion WebUI 里使用的外挂插件。
6 天后,腾讯 ARC 也发布了类似解决方案 T2I-Adapter。
ControlNet 和 T2I-Adapter 的突破性在哪里?有什么区别?
抛开如何在扩散模型里融合额外的模态输入这样的技术细节(因为我看不懂
),大面上看,这两者思路很相近。突破点都是 如何在已有的模型基础上添加可训练参数,控制预先训练好的大型扩散模型,以支持额外的输入条件 (input condition),达到在新任务上的效果迁移。即使在训练数据集很小的情况下,也能达到稳健的学习效果。
通过建立一个框架,在保留大型模型从数十亿图像中获得的优势和能力时,同时拥有快速训练方法,在可接受的时间和算力资源条件内,利用预训练的权重,以及微调策略或转移学习,将大型模型优化后用于特定任务。兼顾对泛问题的处理能力和满足具体任务中用户对生成控制需求的灵活性,最大程度的保留原模型的生成能力。
ControlNet 和 T2I-Adapter 的框架都具备灵活小巧的特征,训练快,成本低,参数少,很容易地被插入到现有的文本-图像扩散模型中,不影响现有大型模型的原始网络拓扑结构和生成能力。同时,它俩都能兼容其它基于 Stable Diffsuion 的 fine-tune 的图像生成模型,而无需重训,比如 Anything v 4.0 (二次元风格的 SD 1.5 fine-tune 模型)。
训练一种新输入条件模型 (input condition detector model),比如支持一种新的边缘或深度检测算法的模型,在这类框架思路下可以做到和常见 fine-tune 一样快。
ControlNet 在论文里提到,Canny Edge detector 模型的训练用了 300 万张边缘-图像-标注对的语料,A100 80G 的 600个 GPU 小时。Human Pose (人体姿态骨架)模型用了 8 万张 姿态-图像-标注 对的语料, A100 80G 的 400 个 GPU 时。
而 T2I-Adapter 的训练是在 4 块 Tesla 32G-V100 上只花了 2 天就完成,包括 3 种引导条件:sketch(15 万张图片语料),Semantic segmentation map(16 万张)和 Keypose(15 万张)。
两者的差异:ControlNet 目前提供的预训模型,可用性完成度更高,支持更多种的条件引导(9 大类)。
而 T2I-Adapter“在工程上设计和实现得更简洁和灵活,更容易集成和扩展”(by 读过其代码的 virushuo)此外,T2I-Adapter 支持一种以上的引导条件,比如可以同时使用 sketch 和 segmentation map 作为输入条件,或 在一个蒙版区域 (也就是 inpaint ) 里使用 sketch 引导
另外值得一提的是,这两篇论文的首作都是年轻的华人 AI 研究者,ControlNet 的首作 Lvmin Zhang,21 年本科毕业,现为斯坦福 PHD,2018 年大二时便一作发表了 ACM Graphics 的高引论文,被视为 AI 领域在本科阶段就有独立科研能力的“天才”。他之前最为著名的项目是 Style2paints, 利用 Enhanced Residual U-net 和 Auxiliary Classifier GAN 为灰度动漫线稿上色。他作为这个小型研究组织的创始人,一直在关注 AI 在二次元风格图像生成方向的模型训练、语料库整理及工具开发。
而发布 T2I-Adapter 的腾讯 ARC 是腾讯关注智能媒体相关技术的事业群,以视觉、音频和自然语言处理为主要方向。
其它为 T2I 扩散模型施加 Input condition 引导的相关研究
当然,这年头没有什么 ML 的解决方案是横空出世的,去年 12 月,Google 就发布了论文 Sketch-Guided Text-to-Image Diffusion Model,使用了 classifier guidance 的思路,设计了一个称为 latent edge predictor 的框架,能够在 Stable Diffusion 的 noisy latent vector 上预测每步的生成是否匹配输入图片里探测到的 sketch 边缘。再将预测结果用于引导 扩散模型的生成。
但这一框架最大的问题在于边缘的生成(梯度引导)是不考虑文本信息且不存在任何交互的。独立引导造成的结果可以让生成结果里图像的边缘与引导输入相吻合,但与所对应的语义信息并不能很好地贴合。
https://arxiv.org/abs/2211.13752
今年 1 月发布的另一篇论文 GLIGEN: Open-Set Grounded Text-to-Image Generation。“以一个类似于 NLP 领域 transformer-adapter 的 parameter efficient 的思路来微调 Stable-Diffusion 模型(即固定已有模型的参数,只训练在模型里额外添加的组件),并成功使得 SD 模型可以参考 bounding box 的位置信息,来对不同实体进行生成 ”。
https://arxiv.org/abs/2301.07093
这篇论文里的放出了可运行的 demo,效果得到了实证。知乎上的 NLP 算法工程师 中森 在认为这篇论文论证了“已有的预训练文生图大模型的高度可拓展性,并且在开源模型上添加各种模态控制信息做继续训练的高度可行性”。
demo:https://huggingface.co/spaces/gligen/demo
对于这3篇论文里成果的比较,请移步他的专栏文章:https://zhuanlan.zhihu.com/p/605761756
ControlNet 和 T2I-Adapter 的实际应用效果如何?
对于 Stable Diffusion, 论引导效果,一百句 Text prompt 可能都比不上一张 input image 来得准确和高效。要观察实战效果,一千行文字介绍也比不上几组结果图片更清晰明了。
(除了标注了引用出处的图片外,其它都是作者生成的 raw outcome,基本都是未经挑选的单次生成结果)
人像类:
Input image
ControlNet 测试:将原图转化为 HDE map(Holistically-nested edge detection,一种整体嵌套式边缘检测的 DL 模型,精度比 Canny Edge 高不少),捕捉其边缘特征用于引导。
Prompt:portrait, half body, wearing a delicate shirt, highly detailed face, beautiful detail, sharp focus, by H.R. Giger
Prompt:portrait, half body, wearing a delicate shirt, highly detailed face, beautiful detail, sharp focus, by 不记得谁了