点击下方卡片,关注
「集智书童」
公众号
导读
作者的主要目标是创建一个优秀的通用感知模型,能够在有限的计算资源和训练数据条件下处理多个任务。为此,作者利用在数十亿图像上预训练的文本到图像扩散模型,并引入作者的视觉通用模型:DiCEPTIoN。作者详尽的评估指标表明,DiCEPTIoN有效地处理了多个感知任务,其性能与最先进模型相当。作者仅使用其数据的0.06%(例如,600K与10亿像素级标注图像)就达到了与SAM-vit-h相当的结果。受Wang等人[109]的启发, DiCEPTIoN 使用颜色编码来表述各种感知任务的输出;作者展示了将随机颜色分配给不同实例的策略在实体分割和语义分割中都非常有效。将各种感知任务统一为条件图像生成,使作者能够充分利用预训练的文本到图像模型。
因此,与从头开始训练的传统模型相比,DiCEPTION可以以数量级更低的成本进行高效训练。当将DICEPTION应用于其他任务时,仅需在50张图像和
的参数上进行微调。DiCEPTIoN为视觉通用模型提供了有价值的见解和更具前景的解决方案。项目网页和huggingface演示可供访问。
- 引言
基础模型[49, 87, 118, 119, 117, 11, 7, 83, 75, 91, 6, 39],通常需要在大约数十亿个数据样本上进行大量训练,在各自领域发挥着关键作用。在自然语言处理(NLP)领域,当前的基础模型[9, 99, 100, 26]已经显示出作为多功能解决方案的潜力,能够解决各种基本任务,并且对于新任务所需的微调很少。这一成功可以归因于各种语言任务之间相对较小的表征差异。然而,在计算机视觉领域,任务表征可能存在显著差异,截至目前,作者仍然缺乏一种有效的方法来统一这些不同的任务。因此,现有的视觉基础模型通常在单一特定任务上表现出色,例如图像分割[49, 87]或单目深度估计[118, 119, 117],因为它们是在专门针对该任务的数据上训练的。由于视觉表征在任务之间存在显著差异,加上当前视觉基础模型所具有的单任务专业化特点,对这些模型进行新任务的微调仍然是一个巨大的挑战。尽管一些努力[12, 75, 39, 88]已经尝试学习通用的视觉表征以构建更通用的视觉基础模型,但它们的性能与专用模型相比仍然明显不足。
近期关于视觉通用模型的研究[109, 69, 68, 72, 2, 113]主要从零开始训练,通常需要大量的计算资源和大数据集才能取得良好的效果。遗憾的是,收集足够大且高质量的多任务数据集的成本很高。在此,受扩散模型成功应用的启发,作者提出了一个假设:利用其强大的先验知识可以帮助减轻训练强大通用模型所需的巨大计算和数据开销。尽管一些现有工作[47, 114, 38, 123, 93]已经证明在单任务场景中这是可行的,但扩散模型先验在多任务设置中的潜力仍被大量未充分探索。
本文成功利用扩散模型先验知识,在各种任务上仅用少量训练数据就实现了与最先进模型相当甚至更好的结果。作者将作者强大的视觉通用模型命名为D1CEPTION。对于每个任务,作者所需的数据量远少于专业基础模型。例如,与SAM分割相比,DiCEPTION使用显著较小的600K样本数据集就实现了可比的性能,且没有任何选择性采样。这与依赖10亿像素级标注样本的SAM形成鲜明对比。这证明了DiCEPTION的效率和鲁棒性,因为它只需要SAM所使用数据的0.06%,同时仍能产生具有竞争力的结果。
《一种扩散》[53]这篇并行工作提出了一种统一模型,通过将不同图像视为不同视角来进行图像生成。然而,他们的方法未能区分条件和图像,这在感知任务中极大地限制了其有效性。更重要的是,他们从头开始训练的需求需要大量的数据和计算资源。相比之下,作者的工作专注于图像感知而不是生成,在感知任务中实现了与最先进水平相当的性能。更多细节请见附录2.4。D1CEPTION强调了生成图像先验导致了对通用图像理解模型更高效、更有效的路径。整个训练过程非常稳定,无需设计复杂的训练方案。
更重要的是,D1CEPTION能够快速适应新任务,只需使用50张训练图像,并且仅需微调其参数的不到1%。此外,作者展示了在通用模型中之前无效的策略,如通过 Prompt 进行任务控制[113]和为分割 Mask 随机分配颜色[109],在DICEPTION中是可行的。此外,作者还研究了在多任务设置中1步去噪的作用,这是一种在单任务设置中已被证明有益的技术。D1CEPTION为强大视觉通用模型的设计和训练提供了有价值的见解。
总结而言,作者的主要贡献如下。
- • 作者引入了D1CEPTION,这是一个能够执行多种视觉感知任务的通用模型。广泛的实验表明,D1CEPTION能够有效解决各种任务,在准确率上达到或超过最先进的专用模型。
- • 当在新任务上进行训练时,DICEPTION只需进行最小程度的微调就能取得高质量的结果。使用少量图像(甚至只有50张图像),该模型通过微调不到1%的参数就能实现卓越的性能。
- • 作者进行了一系列彻底的实验,探索了多任务模型的各种方面,包括网络架构和1步扩散。作者相信,作者的实验发现提供了有价值的见解,并将对未来的研究产生重大益处。
- 相关工作
2.1 视觉基础模型
视觉基础模型是经过大规模数据集训练并在其训练领域内表现出卓越性能的模型。目前,视觉基础模型已广泛应用于各种视觉任务,包括单目深度估计[118, 119, 117, 7]、目标检测[11]、分割[49, 87]、多模态任务[83, 64]、图像和视频生成[91, 28, 6],以及最近出现的3D模型[105, 70]。尽管许多研究[110, 48, 58, 84, 133, 136]试图利用这些模型中嵌入的先验知识来解决其他任务,但这些努力通常需要复杂的网络设计和复杂的训练策略,通常只能转移到有限的任务中。一些基础模型[88, 39, 75, 12]强调表示学习,旨在通过依赖通用特征来解决各种下游任务。然而,与专门化的基础模型相比,这些方法的结果往往不尽如人意。相比之下,DICEPTION确保了在多个任务上的一致准确性,同时还能快速适应新的下游任务。
2.2 扩散模型
扩散模型[28, 91, 6]近年来在图像和视频生成方面取得了显著的成功。其基本思想是逐渐向数据中添加噪声,并训练一个模型来逆转这一过程,逐步去噪以生成结果。最近的扩散模型[28]利用了流匹配[63, 1, 66]和DiT架构[77],这使得它们更具可扩展性和效率。扩散模型已经实现了一系列引人注目的应用,包括条件图像生成[130, 61, 124, 73, 82]、图像编辑[8, 46, 116]、故事生成[107, 135]、视频生成[40, 35, 132, 122, 6, 50, 106]和视频编辑[13, 65, 14]。这些成功凸显了扩散模型中嵌入的丰富先验知识。
基于这一洞察,许多研究[114, 38, 123, 47, 136]利用扩散模型进行下游图像理解任务。然而,这些方法通常需要对每个单独的任务进行单独的微调。最近,作者发现几项并行工作[112, 53]也使用扩散模型进行多任务学习。然而,这些方法通常涉及复杂的网络架构和训练过程,并且它们的评估往往只关注非常有限的图像理解结果子集。相比之下,作者的D1CEPTION提供了一种更简单的解决方案。作者不仅对各种任务中DICEPTION进行了详细的评估,而且还证明,简单性与扩散模型固有的优势相结合,足以在不依赖过于复杂的设置的情况下产生强大的结果。
2.3 多任务通用模型
近期,探索视觉多任务学习的兴趣急剧增长。一些方法[109, 111]从NLP中的上下文学习中获得灵感,将其应用于视觉领域。另一些方法[69, 68, 72, 2]提倡使用序列建模方法,采用transformer编码器-解码器架构。在这些方法中,不同的编码器将各种任务映射到共享表示空间,并使用不同的解码器将 Token 转换为针对每个任务的特定输出。然而,这些方法存在明显的局限性:它们需要为每个单独的任务训练一个独立的编码器和解码器,并且通常依赖于大量数据以获得最佳性能。
近期高质量视觉语言模型(VLMs)[64]的成功也鼓励研究行人利用它们构建多任务模型。然而,这些基于VLM的方法[4, 104, 16, 67, 89, 59]通常专注于多模态理解任务,如图像标题生成,而不是一般视觉感知任务。同时,一些方法[97, 132, 76]将扩散模型与自回归模型相结合,主要关注遵循指令的图像生成或编辑任务,而不是解决图像感知任务。尽管某些研究[52, 45, 17, 34]试图将VLM应用于更High-Level的语义感知任务,但它们难以建立一个统一的通用视觉模型。
2.4 与单一扩散比较
同时进行的作品《一种扩散方法》[53]关注多任务图像生成,而DICEPTION侧重于多任务图像理解。作者在执行更广泛的图像理解任务时表现出更高的质量。虽然《一种扩散方法》将不同图像视为不同视图的策略有利于生成任务,但它们未能区分条件和图像,这为感知任务引入了有害的自由度,如图S5中红色高亮区域所示。具体来说,在执行感知任务时,《一种扩散方法》倾向于生成与原始输入相似的图像,而不是期望的感知结果。
尽管One Diffusion提出更详细的文本 Prompt 可以导致更好的结果,作者则认为感知任务的表现不应过度依赖于文本 Prompt 的质量。相比之下,DICEPTION仅使用简单的任务 Prompt 来区分不同任务,而不是让文本 Prompt 主导结果。
关键在于,虽然One Diffusion需要大量数据(7500万样本)和计算资源从头开始训练,作者利用了预训练模型的先验知识,并证明在显著减少的数据量(180万样本)下,作者达到了与最先进结果相当的性能。在两种方法都涉及到的图像理解任务中,作者始终能够产生比One Diffusion更稳定、更高品质的结果。
- 方法
3.1. 初步
近期扩散模型主要基于流匹配方法和DiT架构。它们的目的是学习一个速度场,该速度场能够有效地将源分布的样本映射到目标分布。训练过程涉及最小化模型预测速度与真实速度之间的差异,这通常被表示为:
损
失
函
数
其中
是条件,通常是文本 Prompt 。
是干净图像的潜在表示,而
是噪声图像。学习到的速度场对应一个常微分方程(ODE),因此在推理过程中,可以从源分布中抽取一个样本,通过求解这个ODE将其转换为所需的输出。
3.2. 将任务表示统一到RGB空间
统一不同任务在RGB空间中的表示的决定由两个关键因素驱动:
-
- 它最大限度地利用了文本到图像模型中的先验知识,这些模型在RGB域内经过了广泛的训练。
-
- RGB作为计算机视觉的基础表示,提供了一个共同的视觉框架,通过这个框架,各种任务可以连贯且直观地可视化。
作者关注计算机视觉中几个最基本的任务:单目深度估计、法线估计和分割。特别是,分割包括点 Prompt 分割、实体分割和语义分割。所有这些任务都可以统一在RGB空间内,区别在于通道数量。对于单通道表示,如深度图和分割 Mask ,作者通过重复通道数据三次与RGB对齐。对于固有的三通道表示,如法线图,作者直接将其视为RGB图像。
实体分割是对图像中的每个实例进行分割,但没有任何类别。作者将图像中的每个 Mask 分配一个随机颜色,并将其合并为三通道的RGB Mask 。Painter发现随机分配颜色使得模型难以优化。然而,作者发现这种方法对训练没有负面影响,并使模型能够通过用不同颜色绘制它们来有效地学习区分不同的实例。在后期处理过程中,可以使用聚类算法从RGB Mask 中提取每个实例的 Mask ,而不会显著降低性能。作者还在语义分割中应用了随机颜色分配。与传统语义分割不同,DICEPTION能够分割同一语义类别的实例。默认情况下,作者使用KMeans进行 Mask 提取。
设
表示每个任务的预统一原始表示,x 表示统一的RGB类输出表示。作者将此过程形式化为:
3.3. D1CEPTI0N:一个统一框架
架构。DICEPTION采用了与SD3相同的架构。作者旨在尽可能保持架构不变,充分利用预训练的先验知识。作者使用简单的任务 Prompt 来引导模型执行各种任务,例如“图像到深度”、“图像到法线”和“图像到分割”。对于点 Prompt 分割,一种朴素的方法是直接在图像上绘制点。但这种方法对点的尺寸非常敏感。如果绘制的点太大,它们可能会遮挡小区域,导致分割失败。相反,如果绘制的点太小,模型在VAE下采样和 Patch 化后可能会丢失相关的点信息。为了解决这个问题,作者引入了一个最小化且直接的包含两层MLP
的模型,使模型能够理解点 Prompt 。
受SAM的启发,作者将正弦-余弦位置编码应用于点坐标
,然后将其传递到MLP
中以生成与输入隐藏状态维数匹配的点嵌入。作者使用两个可学习的嵌入来指示嵌入是否为点嵌入:
用于点嵌入,
用于非点嵌入。处理后的点嵌入与
相加。对于其他任务,作者直接使用
作为点嵌入。在训练过程中,作者随机选择1-5个点来指导分割。当所选点的数量少于5个时,作者使用
将点嵌入填充到长度为5。在执行不需要点输入的任务时,点嵌入简单地是一个长度为5的序列,其中每个元素都是
。通过表示最终的点嵌入为
,此过程可表示为:
输入公式与损失。DiCEPTION在SD3的基础上引入了两个额外的输入:输入图像
和点嵌入
。对于输入图像,作者首先使用VAE将其下采样至8倍,然后将其
分块成序列。作者称这种预处理为
。随后,作者将任务 Prompt Token
、点嵌入
、噪声 Token
和输入图像 Token
连接起来,形成完整的输入。作者在训练SD3时遵循流匹配损失。在训练过程中,损失仅应用于噪声 Token :
3.4 适应新任务
在实际场景中,通常需要模型能够仅使用少量训练数据快速适应新任务。然而,传统的专用基础模型通常仅限于与其领域密切相关的工作,并且通常需要大量的数据集和精心设计的网络架构来进行适应。扩散模型虽然在许多方面都很强大,但仅通过微调少量参数和有限的数据,难以轻松适应下游任务。
DICEPTION有效地解决了这一限制。作者在肺部分割、肿瘤分割和图像突出显示等任务上进行了实验,这些任务与模型原始领域的重叠程度不同。作者仅使用LoRA训练了模型不到1%的参数,而没有进行任何复杂的架构修改。值得注意的是,尽管训练样本(每个任务50个)有限,D1CEPTION在所有目标任务上始终实现了成功且高质量的性能。这些结果为DICEPTION作为真正统一的基础模型的潜力提供了强有力的证据。
- 实验
4.1 实施细节
数据。作者从OpenImages数据集中随机选取了50万张图像,并使用DepthPro和StableNormal生成深度和法线数据。对于点 Prompt 分割,作者从SA-1B数据集中随机选取了40万张图像,以及从AM2k、AIM500和P3M-10k合成的具有细粒度头发 Mask 的20万张图像。实体分割数据来自EntityV2,语义分割数据来自COCO-Rem,人体姿态数据来自COCO。对于少样本微调,作者从公开标注的胸部X射线数据集、LOL-v2和Kaggle的脑肿瘤数据集选取了50个样本作为训练样本。更多细节请见附录A。
训练。作者的训练持续24天,使用4块NVIDIA H800 GPU。作者采用AdamW优化器,学习率保持为
,每个GPU的批量大小为28。作者发现训练过程非常稳定。然而,与深度和法线任务相比,分割任务的收敛速度较慢。因此,作者增加了每个批次中分割数据的比例。具体来说,在每个批次中,深度和法线各占15%,点 Prompt 分割、实体分割和语义分割各占20%,姿态估计占20%。作者观察到,到训练结束时,尽管损失不再显著下降,但模型在分割任务上的性能仍在持续提升。
在少样本微调过程中,作者对网络中的所有注意力Q、K和V层应用了秩为128的LoRA,这仅占网络总参数的不到1%。不同任务的 Prompt 分别为“图像到分割肺”、“图像到分割肿瘤”和“图像到高亮”。LoRA训练在一个NVIDIA H100 GPU上进行,学习率保持为
,批大小为8。更多少样本微调可视化内容请参阅附录C。
推理。作者遵循预训练模型的设置,在推理过程中进行28步去噪。推理可以在24GB内存的GPU上运行,批处理大小为4。
4.2 与现有方法的比较
作者比较了专用模型、现有多任务模型以及作者的D1CEPTION在各种任务上的性能。具体来说,作者使用与Genpercept相同的协议评估深度,使用与StableNormal相同的方法进行正常估计,使用与SAM相同的方法进行点 Prompt 分割,使用与Painter相同的方法进行人体关键点检测。作者还对MS COCO数据集上的语义和实体分割进行了评估。对于实体分割,作者将所有预测类别分配到相同的标签。
如表1和表2所示,DICEPTION在多任务模型中显著优于现有模型,其性能与最先进的专用模型相当,或者仅表现出可接受的性能下降。对于点 Prompt 分割,如图3所示,作者仅使用其数据的0.06%就达到了与SAM-vit-h相当的结果。SAM在模型训练范围之外的某些分布外数据集上显示出明显优势,例如WoodScape鱼眼数据集。
值得注意的是,尽管大多数专用模型需要大量数据或复杂的数据 Pipeline ,但DICEPTION以显著较少的数据实现了优异的结果,其中大部分数据是通过简单的随机选择获得的。对于实体分割,作者观察到DICEPTION在小物体上的表现较差。作者认为这是由于数据量有限,导致模型对大物体过度拟合。通过向小物体引入更多数据可以解决这个问题。
作者观察到,尽管DICEPTION能够生成高质量的人体姿态和语义分割的可视化,但相应的评估指标相对较低。对于人体关键点,这主要归因于两个因素:首先,作者使用的是骨骼形状的RGB图像而不是 Heatmap 。虽然前者能够产生视觉上吸引人的结果,但在后处理过程中提取关键点时引入了相当大的误差。其次,作者的评估遵循的是
自顶向下的人体关键点协议。原始的
图像在输入模型之前被调整到
,这导致了极其模糊的输入,这可能是性能下降的原因之一。
语义分割在后期处理过程中也会引入相当大的误差。作者已在附录B.3中提供了对度量指标退化的全面解释。对于单个图像,作者可以在后期处理RGB Mask 时调整超参数以获得最佳 Mask 。然而,不同的结果需要不同的最佳超参数,由于劳动强度过大,在评估过程中手动调整验证集中的每个样本是不切实际的。这导致DICEPTION产生了显著的语义分割可视化效果,但相对较低的度量指标。作者仅通过在COCO-Rem上训练就实现了优异的结果。此外,作者的语义分割可以区分同一语义类别的不同实例。作者相信作者已经强烈证明了DICEPTION在具有ID的实例级语义分割方面的潜力。请查阅附录B以获取更多关于后期处理的详细信息。
4.3 与作者的单任务模型比较
对于单任务模型的训练,作者确保网络架构保持一致,并且每个特定任务所看到的训练数据总量与多任务模型相同。例如,如果多任务模型以每批4个深度数据样本进行100次迭代训练,那么单任务模型也将以每批4个数据样本进行100次迭代训练。在作者的当前数据设置(约180万个样本)中,作者没有观察到多任务模型和单任务模型之间存在显著差距,也没有观察到不同任务之间相互促进的趋势,如表1、2、3和图3中的“Ours-single”所示。
作者认为,使用更大的数据集进行探索以得出更可靠的结论更为合适。作者将此作为未来的工作。
4.4 消融
多点 Prompt 分割。模糊性是点 Prompt 分割中的一个重大问题。例如,如果将一个点放置在人的衣物上,模型可能会分割衣物,但期望的结果是行人本身。因此,需要更多的点来消除这种模糊性。如图4所示,额外的点有助于模型更好地分割期望的结果。
扩散模型架构。在DiT [77]出现之前,UNet架构在扩散模型中得到了广泛的应用。作者还基于预训练模型SDXL [78]进行了多任务实验。具体来说,作者遵循Marigold [47]的方法,将第一卷积层的输入通道从4增加到8,以适应图像输入,并同样使用任务 Prompt 来引导模型解决不同的任务。然而,如图S16所示,作者发现这种方法并不足够有效,即使在仅涉及深度和法线估计的最小多任务场景中也是如此。作者将这种局限性归因于Transformer架构相较于UNet具有更优越的信息聚合能力。虽然UNet在下采样过程中会丢失大量信息,但Transformer保持了更全面的表现,使其在多任务场景中表现更佳。
- 结论
作者引入了DICEPTION,这是一种基于扩散模型的多元任务视觉通用模型。DICEPTION在RGB空间中统一了不同的任务,利用预训练的图像生成模型的先验知识,实现了与专业基础模型相当或可接受程度较低的结果。作者无需精心挑选极高质量的资料,也不需要使用异常大量的数据,就能取得良好的性能。
此外,对于分割任务,作者在框架中证明了将随机颜色分配给不同实例的策略非常有效,能够实现高质量的实体分割和语义分割。在少样本微调中,作者能够在最少的数据和可训练参数下实现高质量的结果。作者认为,DICEPTION为作者揭示了如何有效地利用生成模型先验来构建强大的视觉通用模型,从而为感知任务提供更高效的解决方案。
参考
[1]. D1CEPTION: A Generalist Diffusion Model for Visual Perceptual Tasks
扫码加入👉
「集智书童」
交流群
(备注:
方向
学校/公司+
昵称
)