AnyDoor

仅需一张目标图,一张场景图,用户可以通过在场景图画框的方式将目标图的物体“传送”到该位置,并且针对场景图的环境对参考模板自动进行姿态、角度、光照、动作等方面的调整,并且生成相应的阴影、倒影、反光等。

「能不能把这张图里的产品,都放到另一张图的桌子上?」

面对这样的要求,设计师肯定会脑瓜嗡嗡的。

把指定物品放进另一张图片不像贴张贴纸一样简单,想要做到无缝接入,贴图的形状、材质、光影等等都需要在编辑软件里细致地调整。

如果有一种能让贴图穿进背景图里,它们根据你的指令自动摆好姿势、站位的「魔法」呢?

香港大学、阿里巴巴达摩院、和蚂蚁集团提出“任意门”算法,可以将任意目标传送到指定场景的指定位置,无需微调,便捷生成高质量、高保真的合成图像。被传送的目标会自动对新的场景进行姿态、角度、动作等方面的调整,确保生成图像的多样性以及和谐度。该算法可以完成多种图像生成或编辑任务如:图像定制化,多目标组合,虚拟试衣;同时,经过简单拓展,任意门算法可以完成更多神奇的应用比如物体移动、换位等。

项目主页: https://damo-vilab.github.io/AnyDoor-Page/

Arxiv地址:https://arxiv.org/pdf/2307.09481.pdf

GitHub: https://github.com/damo-vilab/AnyDoor

随着Stable Diffusion, Imagen等大型文生图模型的提出,图像生成领域有了爆发式的提升;在图像质量和丰富性之余,生成的可控性越来越成为学界和业界共同关注的焦点。ControlNet, Composer等方法可以通过边缘图,深度图等条件对生成图像进行控制;以DreamBooth为代表的定制化生成可以对给定的目标生成图像。虽然这些方法对生成的可控了有了很大提升,但是仍然无法实现“将通用的指定目标融入指定场景“的需求,而该需求有很多应用场景,比如:商品效果图生成,虚拟试衣,海报制作等。

之前的方法有对类似的需求进行探索,比如Paint-by-Example 可以根据参考图中的物体对背景图的指定区域进行重绘,但是他只能保证“语义类别”级别的一致性,尤其对于训练中未见的新类别无法保持ID一致性。定制化生成方法如DreamBooth, Text Inversion, Cones可以较好的保持ID一致性,但是无法指定生成的场景和位置。此外,定制化方法往往需要多张参考图对模型进行接近一个小时的微调,且在进行多目标组合生成时会发生特征混淆。

针对以上困难,我们提出任意门(AnyDoor)算法。仅需一张目标图,一张场景图,用户可以通过在场景图画框的方式将目标图的物体“传送”到该位置,并且针对场景图的环境对参考模板自动进行姿态、角度、光照、动作等方面的调整,并且生成相应的阴影、倒影、反光等。任意门生成的目标在ID的一致性上甚至优于定制化生成方法,并且仅需单张参考图,无需微调。我们的算法在生成质量和便捷性上有很强的优势,为业界大规模应用提供可能,并且可以作为多种图像生成和编辑任务的基线推动学界的发展。

随着扩散模型的发展,图像编辑界卷出了不少新成果。此前的模型已经可以根据文本提示或给定图像重新生成局部的图像区域。但是这些方法对于不在训练数据内的新图象,泛化性较差,或者需要输入多个图像,在近一个小时后,才能等到生成结果。

Anydoor 做到的是「对象传送」,这意味着将目标对象准确无缝地放置在场景图像的期望位置。具体来说,Anydoor 以目标对象为模板,重新生成场景图像被框中的局部区域,在图像合成、效果图像渲染、海报制作、虚拟试穿等应用场景都很实用。

方法

任意门算法的核心思想是将目标表征成“ID相关”和“细节相关”的特征,让后将他们在和背景环境特征的交互中重组。为了学习同一目标在不同场景中不同的外观、动作、光照等,我们使用了大规模视频和图像数据联合训练。

算法流程如上图所示,给定一张目标图,首先使用分割模型对该图进行背景去除,用我们设计的ID extractor进行ID特征提取;同时我们使用高频滤波器提取参考图的高频细节分类,将该高频图拼贴到背景图的指定位置,送入Detail extractor进行细节提取。之后将我们将提取的ID特征和细节特征注入预训练的文生图大模型以控制最终的生成结果。

ID特征提取: 不同于之前的方法使用CLIP Image Encoder,我们发现大型自监督模型对目标ID信息有更好的表征。我们使用当前最先进的DINO-V2作为Backbone, 我们固定自监督预训练的参数,仅需训练一层linear layer即可将表征映射到Diffusion model的语义空间。

细节特征提取: 我们发现基于拼贴的方法可以对生成细节提供很强的先验。为了防止生成的图像和参考图过于相似,我们仅提取参考图中的高频分量用于表达细节特征;我们将高频分量图和背景图拼贴在一起,用Detail extractor提取一组不同尺度的特征图送入U-Net进行监督。如下图所示,我们可视化了DINO-V2的attention map以及参考图像的高频分量,我们发现两者可以互补的对参考目标进行细粒度表征。

特征注入: 我们使用Stable Diffusion作为我们的基座模型,将ID特征通过cross-attention注入Stable Diffusion的每一层;同时我们将细节特征和UNet decoder的特征进行concat融合。在训练过程中,我们将UNet Encoder的参数固定,对Decoder参数进行微调。

视频、图像动态采样: 为了学习“同一个目标在不同场景的外观变化”,如下表,我们收集了大量图像视频数据进行联合训练。对于视频数据,我们用下图的方式使用分割以及跟踪标注构造样本对;对于静态图像,我们对图像进行扩充构造样本对。该方式构造的数据面临一个问题:视频样本有很高的多样性,但是画质模糊;图像样本画质清晰,但是不能很好的建模目标的姿态、动作变化。由此我们提出动态采样的方法。即在去噪训练的初始阶段更多的采样视频样本,由此学习更大幅度的外观变化;在去噪的后期更多的采样静态图像,以学习更好的细节重建能力。

由此,我们的算法可以在无需微调的情况下,完成目标传送的功能。

实验

我们首先和reference-based方法进行了对比,这些方法的问题设置与AnyDoor类似,输入一张参考图,一张背景图,将参考图的目标传送到背景图的制定位置。(下图中的Stable Diffusion我们使用详尽的语言描述提供引导。)可以看出,之前的方法在ID保持能力上和AnyDoor存在显著差距。

此外,我们还对比了tuning-based定制化方法,此类方法需要多张参考图像对模型进行接近一小时的微调;即便如此,在多目标组合的任务上,我们的算法在无需微调的情况下对比此类需要微调的方法显现出较为明显的优势。 

此图表明,AnyDoor 兼具基于参考和基于调整的方法的优点,无需进行参数调整即可生成多主题合成的高保真结果。具体而言,Paint-by-Example 对于经过训练的类别(如狗和猫)(第 3 行)表现良好,但对于新概念(第 1-2 行)表现不佳。DreamBooth、Custom Diffusion 和 Cones 为新概念提供了更好的保真度,但仍然存在多主体混淆的问题。

应用

我们的算法可以应用到多种图像编辑和生成任务,取得较为满意的效果。

虚拟试衣: 传统的试衣算法需要复杂的human parsing算法作为配合。我们的方法可以使用更加宽松的输入条件,仅需衣服的平铺图和模特上半身的位置框即可达到媲美SOTA算法的效果。值得注意的是,我们的算法仅使用了不到1/10的试衣数据进行训练。我们有理由相信,在收集大量服饰数据后可以作为虚拟试衣的强力基线。

多目标组合: 对于tuning-based定制化方法,多目标组合是一个挑战性十足的课题,基于text inversion的方法在生成多概念组合时经常出现特征混淆的问题,而我们的算法有位置框的指引,可以非常自然的完成多目标组合生成。  whaosoft aiot http://143ai.com

更灵活的用户交互: 由于我们的算法生成质量和ID保持能力强。配合inpainting算法和interactive segmentation算法后可以完成一些神奇的图像编辑功能比如对目标进行拖拽、换位、或者姿态改变,以及对目标图的指定区域进行重绘。 

身份提取特征

作者采用了预训练的视觉编码器来提取目标对象的身份信息。由于 CLIP 的训练数据是粗略描述的文本图像对,只能嵌入语义级别的信息,而难以保留有区分度的对象身份表示。为了克服这一挑战,作者在目标图像输入 ID 提取器之前,使用了分割器以去除背景,并将对象对齐到图像中心。此操作有助于提取更简洁和更有辨别性的特征。

在保留高辨别度特征方面,自监督模型展现了更强大的能力。因此,作者选择了 DINO-V2 作为 ID 提取器的底座,使用单个线性层将 ID 提取器的 token 对齐到预训练的文本到图像的 UNet 中。

细节特征提取

由于 ID token 会失去空间分辨率,很难保持目标对象的精细细节,作者尝试了将移除过背景的对象拼接到场景图像的给定位置。虽然生成保真度有了显著提高,但生成的结果与给定的目标过于相似,缺乏多样性。为此,作者设计了一个表示对象的高频图,它可以保持精细的细节,同时允许灵活的局部变体,如手势、照明、方向等。

特征注入

在获得 ID token 和细节图后,需要将它们注入一个预先训练好的文本到图像扩散模型中来指导生成。作者选择了 Stable Diffusion 将图像投影到潜在空间中,并使用 UNet 进行概率采样。

训练策略

在这项工作中,本文利用视频数据集来捕获包含同一对象的不同帧,数据准备流程如图 4 所示:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值