声明:本文来自微信公众号“量子位”(ID:QbitAI),作者:金磊,授权站长之家转载发布。
“绝不是简单的抠图。”
controlnet作者最新一项研究引起了高度关注——
用Stable给prompt一句话 Diffusion可以直接生成单个或多个透明图层(PNG)!
例如,一句话:
卧室里头发凌乱的女人。
Woman with messy hair, in the bedroom.
可以看出,人工智能不仅生成了符合prompt的完整图像,还生成了符合prompt的完整图像背景和人物也可以分开。
而把人物PNG图像放大仔细看,头发那叫根分明。
再看一个例子:
燃烧的柴火,在一张桌子上,在乡下。
Burning firewood, on a table, in the countryside.
同样,放大“燃烧火柴”的PNG,即使是火焰周围的黑烟也能分离出来:
这是Controlnet作者提出的新方法——LayerDiffusion,潜在的扩散模型允许大规模的预训练(Latent Diffusion Model)生成透明图像。
值得再次强调的是,LayerDiffusion绝不像抠图那么简单,重点是生成。
正如网友所说:
这是当今动画、视频制作的核心工序之一。这一步可以通过,可以说SD一致性不再是问题。
有网友认为这样的工作并不难,只是“顺便加个alpha通道”,但令他惊讶的是:
结果出来这么久了。
那LayerDiffusion到底是怎么实现的呢?
LayerDiffusion的核心是一种叫做潜在透明度(latent transparency)的方法。
简而言之,它允许潜在的扩散模型(如Stable)在不破坏预训练的情况下进行训练 Diffusion)在潜在分布的前提下,为模型增加透明度。
在具体实现中,可以理解为在潜在图像上添加精心设计的小扰动(offset),这种扰动被编码成一个额外的通道,与RGB通道形成一个完整的潜在图像。
为了实现透明度的编码和解码,作者训练了两种独立的神经网络模型:一种是潜在透明度编码器(latent transparency encoder),另一个是潜在透明度解码器(latent transparency decoder)。
RGB通道和alpha通道作为编码器接收原始图像的输入,将透明度信息转换为潜在空间中的偏移。
解码器接收调整后的潜在图像和重建的RGB图像,从潜在空间中提取透明度信息,重建原始透明度图像。
为确保添加的潜在透明度不会破坏预训练模型的潜在分布,作者提出了“无害性”(harmlessness)度量。
通过比较原始预训练模型的解码器对调整后潜在图像的解码结果与原始图像的差异来评估潜在透明度的影响。
在训练过程中,作者还使用了联合损失函数(joint loss function),它结合了重建损失(reconstruction loss)、身份损失(identity loss)和判别器损失(discriminator loss)。
它们的作用分别是:
重建损失:确保解码后的图像尽可能与原始图像相似;
身份损失:用于确保预训练的解码器正确解码调整后的潜在图像;
识别器损失:用于提高生成图像的真实性。
通过这种方式,任何潜在的扩散模型都可以转换为透明图像生成器,只需微调即可适应调整后的潜在空间。
潜在透明度的概念也可以扩展到生成多个透明层,并与其他条件控制系统相结合,实现前景/背景条件生成、联合层生成、层内容结构控制等更复杂的图像生成任务。
值得一提的是,作者还展示了如何引入controlnet,丰富layerdifusion的功能:
至于LayerDiffusion和传统抠图的区别,我们可以简单地将其归类为以下几点。
原生生成 vs. 后处理
LayerDiffusion是一种原始的透明图像生成方法,在生成过程中直接考虑和编码透明信息。这意味着模型创建了透明度通道,同时生成图像(alpha channel),从而产生透明图像。
传统的挖掘方法通常涉及先生成或获取图像,然后通过图像编辑技术(如色键、边缘检测、用户指定的屏蔽等)来分离前景和背景。该方法通常需要额外的步骤来处理透明度,并可能在复杂的背景或边缘产生不自然的过渡。
操作潜在空间 vs. 操作像素空间
LayerDiffusion潜在空间(latent space)中间操作是允许模型学习和生成更复杂的图像特征的中间表示。通过在潜在空间中编码透明度,模型可以在生成过程中自然处理透明度,而不需要在像素级别上进行复杂的计算。
传统的挖掘技术通常在像素空间中进行,这可能涉及到直接编辑原始图像,如颜色替换、边缘光滑等。这些方法在处理半透明效果(如火焰、烟雾)或复杂边缘时可能会遇到困难。
数据集和训练
Layerdiffusion使用大规模的数据集进行训练,包括透明图像对,使模型能够学习生成高质量透明图像所需的复杂分布。
传统的挖掘方法可能依赖于较小的数据集或特定的训练集,这可能限制了它们处理多样化场景的能力。
灵活性和控制
LayerDiffusion提供了更高的灵活性和控制能力,因为它允许用户通过文本提示(text prompts)它可以生成多个图层来指导图像的生成,这些图层可以混合和组合,以创建复杂的场景。
特别是在处理复杂的图像内容和透明度时,传统的挖掘方法在控制上可能更加有限。
质量比较
用户研究表明,LayerDifusion生成的透明图像在大多数情况下(97%)受到用户的青睐,这表明其生成的透明内容在视觉上相当于商业透明资产,甚至可能更好。
在某些情况下,传统的挖掘方法可能无法达到相同的质量,特别是在处理具有挑战性的透明度和边缘时。
总之,LayerDiffusion提供了一种更先进、更灵活的生成和处理透明图像的方法。
它在生成过程中直接编码透明度,并能产生高质量的结果,这在传统的挖掘方法中是很难实现的。
正如我们刚才提到的,这项研究的作者之一是著名的Controlnet发明者——张吕敏。
他本科毕业于苏州大学,大一时就出版了AI绘画本科期间,相关论文发表了10篇顶会。
目前,张吕敏在斯坦福大学攻读博士学位,但他可以说是非常低调的,甚至谷歌 Scholar都没有注册。
目前,LayerDifusion在GitHub中还没有开源,但即便如此,也挡不住大的家的关注,已获660星。
毕竟张吕敏也被网友嘲讽为“时间管理大师”,对LayerDifusion感兴趣的小伙伴可以提前mark一波。
参考链接:
[1]https://arxiv.org/abs/2402.17113
[2]https://twitter.com/op7418/status/1762729887490806159
[3]https://github.com/layerdiffusion/LayerDiffusion
Copyright © 2013-2025 bacaiyun.com. All Rights Reserved. 八彩云 版权所有 八彩云(北京)网络科技有限公司 京ICP备2023023517号
本站文章全部采集于互联网,如涉及版权问题请联系我们删除.联系QQ:888798,本站域名代理为阿里云