字节推出DreamTuner:只需提供一张图片,就能帮你生成与该图片主题风格一致的新图像

字节跳动最近公布了DreamTuner,这是一种从单个图像生成主体驱动的新通用方法,可以创建令人震惊的一致主体身份。你只需要提供一张图片,DreamTuner就能帮你生成与这张图片在主题和风格上一致的新图像。这个工具特别适用于需要根据特定主题或条件创建个性化图像的场景。

字节推出DreamTuner:只需提供一张图片,就能帮你生成与该图片主题风格一致的新图像
假如你是一位动漫爱好者,想要创建一个全新的动漫角色,但你只有一张喜欢的角色图像,在过去,你只能使用StableDiffusion不断尝试生成更多类似的动漫角色,或者使用图生图功能,但可控性很差,很难保证生成的图片风格。
        但有了DreamTuner就不一样了,可以直接上传这张参考图,然后再添加文本描述,比如“坐在公园的长椅上”,DreamTuner将使用你提供的参考图像和文本描述来生成新的图像。在这个过程中,DreamTuner会保留原始参考图像的关键特征(比如角色的风格和特点),同时根据你的描述添加新的元素和场景。这种方式大大简化了从单一参考图像到创建一系列一致风格和主题图像的过程。

论文地址:https://arxiv.org/abs/2312.13691
项目地址:https://dreamtuner-diffusion.github.io/

字节推出DreamTuner:只需提供一张图片,就能帮你生成与该图片主题风格一致的新图像
DreamTuner 视频介绍:

摘要

大型基于扩散的模型在文本到图像的生成方面已经展示了令人印象深刻的能力,并且有望用于需要使用一个或几个参考图像生成定制概念的个性化应用,即主题驱动生成。然而,现有的基于微调的方法需要在主题学习和维持预训练模型的生成能力之间进行权衡。此外,其他基于附加图像编码器的方法往往会由于编码压缩而丢失主题的一些重要细节。
为了解决这些问题,我们提出了一种新的方法DreamTurner,它将定制主题的参考信息从粗到细注入。首先提出了一种用于粗主题身份保存的主题编码器,其中压缩的一般主题特征在视觉-文本交叉注意之前通过额外的注意层引入。然后,注意到预训练文本到图像模型中的自注意层自然地执行详细的空间上下文关联功能,我们将它们修改为自主体注意层以细化目标主体的细节,其中生成的图像从参考图像和自身查询详细特征。值得强调的是,自我主体注意是一种优雅、有效且无需训练的方法,用于维护定制概念的详细特征,可以在推理过程中作为即插即用的解决方案使用。最后,通过对单张图像进行额外的微调,DreamTurner在由文本或姿势等其他条件控制的主题驱动图像生成方面取得了卓越的表现。

方法

我们提出DreamTuner作为一个基于微调和图像编码器的主题驱动图像生成的新框架,它保持了主题从粗到细的身份。DreamTuner包括三个阶段:主题编码器预训练、主题驱动微调和主题驱动推理。
首先,对主题编码器进行粗身份保持训练。主题编码器是一种为生成模型提供压缩图像特征的图像编码器。利用冻结控制网实现内容与布局的解耦。然后我们在参考图像和一些在DreamBooth中生成的常规图像上对整个模型进行微调。注意,主体编码器和自我主体注意用于常规图像生成,以细化常规数据。在推理阶段,使用主体编码器、自我主体注意和通过微调得到的主题词[S*],实现由粗到精的主体身份保持。预训练的ControlNet也可用于布局控制生成。
字节推出DreamTuner:只需提供一张图片,就能帮你生成与该图片主题风格一致的新图像
  1. 提出主题编码器作为一种图像编码器,为主题驱动的生成提供了一个粗略的参考。采用冷冻CLIP图像编码器提取参考图像的压缩特征。采用显著目标检测(SOD)模型或分割模型去除输入图像的背景,突出主题。
  2. 引入一些残差块(ResBlock)进行域移位。CLIP提取的多层特征在通道维度上进行拼接,然后通过残差块调整到与生成的特征相同的维度。使用额外的主题编码器-注意(S-E-A)层将主题编码器的编码参考特征注入到文本-图像模型中。主题-编码器-注意层在视觉-文本交叉注意层之前添加,因为交叉注意层是控制生成图像的一般外观的模块。
  3. 根据与交叉注意相同的设置和输出层的初始值为零来构建主题编码器注意。引入一个附加系数β来调节主体编码器的影响。此外,主题编码器将为文本到图像的生成提供参考图像的内容和布局。然而,在大多数情况下,主题驱动生成不需要布局。
  4. 进一步引入ControlNet来帮助解耦内容和布局。具体来说,我们训练主题编码器连同冻结深度控制网。由于ControlNet提供了参考图像的布局,因此主题编码器可以更加专注于主题内容。
字节推出DreamTuner:只需提供一张图片,就能帮你生成与该图片主题风格一致的新图像
由于主题编码器为生成过程提供了特定主题的总体外观,我们进一步提出了基于原始自注意层的自我主题注意,以保持良好的主题身份。将预先训练好的文本到图像U-Net模型提取的参考图像特征注入到自注意层中。参考特征与生成图像的特征具有相同的分辨率,可以提供精细化的详细参考。具体而言,在每个时间步长t对参考图像进行扩散前处理,然后从噪声后的参考图像中提取每个自注意层前的参考特征,使其与时间步长t生成的图像特征具有相同的数据分布。利用参考特征将原始自注意层修改为自主体注意层。将生成图像的特征作为查询,将生成图像特征与参考图像特征的拼接作为键和值。为了消除参考图像背景的影响,使用显著目标检测(SOD)模型创建前景蒙版,用0和1表示背景和前景。此外,遮罩还可以通过权重策略来调整参考图像的影响程度,即将遮罩乘以调整系数ωref。掩码作为注意偏差,因此使用log函数作为预处理。
字节推出DreamTuner:只需提供一张图片,就能帮你生成与该图片主题风格一致的新图像
将原来的分类器自由引导方法也修改为:
字节推出DreamTuner:只需提供一张图片,就能帮你生成与该图片主题风格一致的新图像
        其中zt为时间步长t时生成的图像,c为条件,uc为不希望的条件,rt – Δt和rt Δt ‘为时间步长t – Δt和t Δt ‘时的扩散噪声参考图像,Δt和Δt ‘为小时间步长偏差,ωr和ωc为引导尺度,λ t为最终输出。第一个方程强调参考图像的引导,第二个方程强调条件的引导,其中pr控制选择第一个的可能性。
自我主体注意图的可视化
        我们将生成过程的中间时间步(t=25)和最后时间步(t=0)的自我主体注意图可视化,文字为“1girl [S*],坐在桌旁,手里端着一杯茶,阳光从窗户射进来”。我们选择Diffusion U-Net模型的Encoder layer 7、8和Decoder layer 4、5的注意图,即当生成的图像分辨率为512*512时,特征分辨率为16*16的层。生成的图像显示在左边,参考图像显示在右边。注意力地图上,影响力大的区域呈红色,影响力小的区域呈蓝色。红色框表示查询。解码器第5层的一些关键注意图如下所示。可以发现所生成的图像将从参考图像中查询精炼的主题信息。
字节推出DreamTuner:只需提供一张图片,就能帮你生成与该图片主题风格一致的新图像
所有的注意力图都被可视化为视频:
字节推出DreamTuner:只需提供一张图片,就能帮你生成与该图片主题风格一致的新图像

实验结果

文本控制动画角色驱动图像生成的结果
        我们的结果显示了文本控制的主题驱动的图像生成的输出,重点是动画角色。我们既进行了局部编辑(如第一行的表情编辑),也进行了全局编辑(包括随后五行的场景和动作编辑),即使输入复杂的文本,也能获得非常详细的图像。值得注意的是,图像准确地保持了参考图像的细节。
字节推出DreamTuner:只需提供一张图片,就能帮你生成与该图片主题风格一致的新图像

文本控制自然图像驱动图像生成的结果

        我们的方法是在DreamBooth数据集上进行评估的,其中每个主题的一张图像被用作参考图像。通过使用主体编码器和自我主体注意,生成了一个精细的参考,这使得DreamTuner能够成功地产生与文本输入一致的高保真图像,同时还保留了关键的主题细节,包括但不限于,小狗头上的白色条纹,袋子上的标志,图案和罐头上的文字。
字节推出DreamTuner:只需提供一张图片,就能帮你生成与该图片主题风格一致的新图像

姿态控制字符驱动图像生成的结果

        我们的方法可以与ControlNet相结合,以扩大其对姿态等各种条件的适用性。在下面的例子中,只使用一张图像进行DreamTuner微调,并使用参考图像的姿态作为参考条件。为了保证帧间的一致性,参考图像和生成图像的前一帧都被用于自主体注意,参考权重分别为10和1。
字节推出DreamTuner:只需提供一张图片,就能帮你生成与该图片主题风格一致的新图像

总结

1、文本控制的主题驱动图像生成:DreamTuner 能够根据文本输入生成与特定主题(如动漫角色)相关图像。它支持局部编辑(如表情变化)和全局编辑(如场景和动作的变化),即使在复杂的文本输入下也能生成高度详细的图像。生成的图像不仅细节丰富,而且准确保持了参考图像细节。
2、风格主题一致:在 DreamBooth 数据集上的评估显示,通过主题编码器和自主题注意力,生成了精细化的参考,使 DreamTuner 能够成功生成与文本输入一致且保留关键主题细节的高保真图像。
3、与 ControlNet 的结合:DreamTuner 的方法可以与 ControlNet 结合,扩展到不同条件(如姿势)的应用。
© 版权声明

相关文章