Dreambooth 详解

您所在的位置:网站首页 梦幻照片闹钟 Dreambooth 详解

Dreambooth 详解

2023-03-15 20:38| 来源: 网络整理| 查看: 265

论文地址:https://arxiv.org/abs/2208.12242

AI 梦幻照相馆你玩过吗?给 AI 提供 3-5 张同一个主题物体的照片,它就可以将主题融入你想要的各种场景中!

如下图,给定左侧 4 张小狗的照片,就可以生成小狗在古代遗迹旅游、在海里嬉戏、甚至在剪毛做造型的照片。

图一

今天就让我们一起来了解一下,由 Google Research 和波士顿大学的研究人员于 2022 年开发的这个新颖有趣的 AI 照相馆--DreamBooth。

此前爆火的 text-image 模型,带来了一波 AI 热潮。通过给定文本,使图像的合成更加高质且多样了。这些模型将大量的图像与文本配对,利用先验学习将词组与图片联系起来,达到让生成的图片中出现不同姿势的效果。但这些模型仍难以模仿指定对象外观,也缺乏合成相同主题在不同背景下的新颖演绎。

其主要原因是这种方法中,输出阈的表达能力是有限的,只能对图像内容进行粗方向的变化。即使对一个图片进行最详细的文字描述,仍难以再通过这段文字描述来准确重建图片内容、指定对象外观。即给定图像可与文本对应上,但文本难以与给定图像一一对应上。

而 DreamBooth 这篇论文中,提出了 text-image 扩散模型“个性化”的新方法,可适应用户特定的生成需求。其目标是扩展模型的text-image 词典,将新的文本标识符与用户想要生成的特定主题进行联系,来生成以文本引导图片内容变化,同时该主题仍保有高细节保真度的全新逼真图像。

通过这项技术,我们能够在不同场景中合成指定主题,甚至是主题未出现在参考图像中的姿势、视图、照明条件,包括但不限于:改变对象所在的地方、改变对象的属性,例如颜色、种类、形状,修改对象的姿势、表情。

具体实现流程如下:

给定一个主题的 3-5 张随意拍摄的图像,无需对照相设施加以任何限制,这几张图像可以有不同的背景动作,上下文无需连续。比如我们给定图 2 的 3 张狗狗图片。

图2

再为这几张输入图片给定一个文本 prompt 为“a [identifier] [class noun]”,其中[class noun]是图片中主题的大类,例如dog。而[identifier]是连接该主题的唯一标识符,特指图 2 中的类别特征。

在 prompt 中加入大类别[class noun],可利用此大类别的先验知识来构建我们个性化的主题。同样,为避免主题受通用词组的先验知识影响,我们拟定一个相对稀有的标识符来表示给定主题,例如[V]。那么本例的 prompt 就是 a [V] dog。在我们的模型中 dog 指各种各样的狗狗,而[V] dog 就特指长图 2 这个样的狗狗。给定主题绑定的[V]我们就可以生成通过文本提示进行有意义的语义修改的主题图像。

再然后我们使用输入图像和上述包含唯一标识符的文本提示(如本例,“a [V] dog”)来微调低分辨率文本到图像模型。

微调完 text-image 模型后,再用输入图像的高/低分辨率来微调超分辨率 SR 扩散模型。这一步使模型对实现主题逼真的内容和保留主题示例细节至关重要。

论文作者发现如果直接使用没有微调的 SR 网络,可能会使生成的输出包含伪影,因为 SR 模型可能不熟悉实例的某些细节或纹理。论文中也指出,对于大多数模型而言,很有必要去微调 64x64->256x256SR 模型。微调 256x256->1024x1024 模型则可以帮助生成更高水平粒度的细节。

整个过程如图 3 所示:

图3

那么问题来了,在微调 text-image 模型的过程中: 只有少量的图片,[V]和 dog 也总是绑定出现于上下文,模型会不会就有可能遗忘掉 dog 原有的先验知识?即输入 a [V] dog,输出图 2 的狗狗。但只输入 a dog,也只输出图 2 狗狗。

有小伙伴就说了,那 dog 这个词的先验忘记就忘记了呗,反正我只想输出图三狗狗。

但其实,我们是需要借助 dog 原有的先验知识来丰富我们的生成内容的。Dog 这个词在原始 text-image 模型中,包含了许多的姿势,内容,光影等等信息。对重创作内容的丰富性很重要。

上述这种问题其实就是过拟合和语言漂移。由于输入图像集非常小,微调大型图像生成模型就可能会过度拟合给定输入图像中主体的上下文和外观。而忘记如何生成同一类的其他科目,失去多样性和自然变异的先验知识。

于是作者设计了一个 prior-preservation loss,来对抗上述问题。这个 loss 利用类的先验知识,鼓励扩散模型不断生成与我们主题相同大类别的不同实例。本质上,就是用模型自己生成的样本来监督模型样本,以便在小样本微调开始后保留先验。

该损失函数如下所示:

其中, \hat{\mathbf{x}}_\theta 是正在微调的条件扩散模型,它的参数 \alpha_t \mathbf{x}+\sigma_t \epsilon 中 x 是 gt 图片, \epsilon \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) 是噪音。c 是条件向量,即 text prompt“ a [identifier] [class noun]”。

\left\|\hat{\mathbf{x}}_\theta\left(\alpha_t \mathbf{x}+\sigma_t \boldsymbol{\epsilon}, \mathbf{c}\right)-\mathbf{x}\right\|_2^2 即代表学习我们给的 3-5 张图片和“ a [identifier] [class noun]”间联系。

整个损失函数后面一项中的 \mathbf{C}_{\mathrm{pr}} 是“ a [class noun]”的条件向量,以此类推, \left\|\hat{\mathbf{x}}_\theta\left(\alpha_{t^{\prime}} \mathbf{x}_{\mathrm{pr}}+\sigma_{t^{\prime}} \boldsymbol{\epsilon}^{\prime}, \mathbf{c}_{\mathrm{pr}}\right)-\mathbf{x}_{\mathrm{pr}}\right\|_2^2 整项则是控制使微调后的模型,在生成[class noun]的时候还是能输出符合原始模型相似的结果,即保留先验知识用。

下面是炫技时间到:

看到这里,小伙伴们一定忍不住感到惊叹,这么强大的吗?修图师会要被 AI 取代了吗?

但我们的 Dreambooth 照相亭其实也并不是万能的。例如当我们想生成 a [v] backpack on the moon,其生成效果可能就不佳。因为原始模型中这类先验知识比较少。某些具有很强先验的科目会更容易学习,例如猫狗。最后,主题的保真度也存在差异,一些生成的图像可能包含主题的幻觉特征,取决于模型先验的强度和语义修改的复杂度。

最后,Dreambooth 确实提出了一种使用少量主题图像和文本提示的指导来合成给定主题的新颖方法。通过将主题绑定到唯一的文本标识符,将给定主题示例嵌入到文本到图像扩散模型的输出域中。论文通过仔细微调预训练的 text-image 模型而不“忘记”在训练期间学习到的其他视觉概念来实现这一点。由此得到的微调模型,能重用其训练期间学到的知识(不同的角度,不同的姿势,与周围环境互动等),同时保留主题的独特特征,生成更精细和个性化的输出图像。这已带给我们足够的惊喜。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3