【技术追踪】DiffuMatting:使用抠图级别注释合成任意对象(ECCV-2024)

  万物生:Diffusion与绿幕抠图,影视领域的福音~


论文:DiffuMatting: Synthesizing Arbitrary Objects with Matting-level Annotation
代码:https://github.com/HUuxiaobin/DiffuMatting (即将开源)


0、摘要

  获得高精度或抠图注释是非常困难和费力的,为了解决这一挑战,本文提出了 DiffuMatting,它继承了扩散强大的万物生成能力,并赋予了“matting anything”的能力。
  DiffuMatting 可作为一个具有高精度注释的任意抠图工厂,其与社区 LoRAs 或各种条件控制方法良好兼容,以实现社区友好的艺术设计和可控生成。

  具体来说,受绿幕抠图的启发,我们的目标是教扩散模型在固定的绿幕画布上画画:
  (1)本文收集了一个大规模的 green-screen 数据集(Green100K)作为 DiffuMatting 的训练数据集;
  (2)提出了绿色背景控制损失(green background control loss),以保持画板作为纯绿色,以区分前景和背景;
  (3)为保证合成目标具有更多的边缘细节,提出了一种过渡边界损失(transition boundary loss)的细节增强方法,以生成具有更复杂边缘结构的目标;
  (4)为了同时生成目标及其抠图注释,本文构建了一个抠图头(matting head),在 VAE 解码器的潜在空间中进行绿色去除;

  DiffuMatting 显示了几个潜在的应用(例如,抠图数据生成器,艺术设计和可控生成)。作为一个抠图数据生成器,DiffuMatting 合成了一般目标和人像抠图数据集,有效地将一般目标抠图和人像抠图任务的相对 MSE 误差分别降低了15.4%和11.4%。

DiffuMatting 在绿幕上生成的目标及其抠图注释:
在这里插入图片描述


1、引言

1.1、高精度注释

  (1)在增强现实、图像编辑、三维重建、图像合成等许多应用中,精确的标注提供了更几何化的描述和更一目了然的目标;
  (2)鉴于费力的标记过程和不可接受的成本,目前只存在有限的训练对;
  (3)问题:如何构建一个高度精确和高效的数据工厂来同时合成精细对象及其抠图级注释;

1.2、扩散模型

  (1)扩散模型的高质量图像生成能力是否有利于下游任务,特别是在抠图、分割和图像合成等方面,一些研究已经进行了探索;
  (2)用于分割任务的扩散生成模型可采用有条件和无条件两种形式,无条件生成可以很大程度上扩展生成空间,不局限于语义。但它仍面临着一些挑战:①没有充分利用去噪扩散概率模型的万物生成能力(Anything Generation),没有训练集之外的类先验;②无法生成抠图级别的标注;

1.3、本文贡献

  (1)出了两种新的损失函数:绿色背景控制损失过渡边界损失。前者利用了“绿色”的交叉注意功能来确保一个稳定的画布背景,而后者则专注于增强边界细节和避免过渡边界崩溃;
  (2)为了产生抠图级的注释,收集 Green100K 进行训练,建立 matting head,对 VAE 解码器的潜空间进行绿色去除,这避免了参与基于粗级噪声的合成过程;
  (3)本文分别对一般目标和人像抠图数据集进行了合成,结果表明,合成数据的加入使一般目标抠图任务的相对 MSE 误差降低了15.4%,人像抠图任务的相对 MSE 误差降低了11.4%;
  (4)DiffuMatting 与各种社区 LoRAs 和现有的控制模型(例如ControlNet)很好地兼容,无需额外的训练,允许用户使用抠图注释自定义特定样式的图像;

现有模型在纯绿幕上生成图像存在困难:
在这里插入图片描述


2、相关工作

2.1、由文本生成图像的扩散模型

  (1)有名的文生图模型:Stable diffusion、Imagen、DALL-E3以及一些其他变体;
  (2)但这些 SOTA 扩散模型不能通过基于文本的提示控制在绿色画布上稳定地生成任意的超详细对象;(对齐颗粒度,我要追求细致~

2.2、数据合成

  (1)早期关于数据集合成的研究主要采用三维场景图,与现实世界的数据集相比,合成数据集往往表现出领域差距,包括外观和内容的差异;
  (2)生成式对抗网络利用图像到图像的转换来记住这个在外观和内容上的差距,如DatasetGAN、BigDatasetGAN;
  (3)扩散模型出现后,已初步尝试应用它们来生成下游任务的合成图像,如:FreeMask、DiffuMask;
  (4)理想情况下,文本条件的生成模型能够放松严格的约束,并通过文本短语合成任意对象,这使得它有可能生成“任何东西”;

2.3、Matting-level数据集

  (1)图像抠图是指对图像和视频中前景目标的精确估计;
  (2)抠图级标注费时费力,目前使用广泛的数据集 Composition-1k、Distinctions-646、AIM-500、P3M-500、AM-2k 的数据量并不大;


3、方法

3.1、Green100k 数据集的数据收集

  (1)自收集的肖像视频:在绿屏背景上总共收集了20个肖像视频,使用 Adobe Premiere Pro Chromakey 和 Adobe Photoshop 标注,为避免一些连续的视频帧,每20帧连续采样一帧,自采集的图像数量达到11963;
  (2)收集公开数据集,增加数据多样性:Adobe matting (454 张)、Distinction646 (590 张)、P3M (481 张)、PPM (98 张)、Video240k mattingset (50000 张)、AM2K (1942 张)、DIS5K (5314 张)、HRSOD (1918 张)、MSRA10k (9884 张)、 DUTS (10426 张) 以及 Thinobject5k (5594 张) ;
  (3)使用instruct-blip算法为 Green100k 添加文字标题,为避免内容和标题之间的错位,对所有数据都进行了大量的人工修正;

3.2、交叉注意机制

  给定输入图像 x 0 {x_0} x0,Stable diffusion 的噪声估计过程定义为:
在这里插入图片描述
  分自动编码器 E {\mathcal{E}} E 将输入图像 x {x} x 压缩为低维隐空间 z {z} z,条件 UNet 去噪网络 ϵ θ {\epsilon_{\theta}} ϵθ 利用时间步长 t {t} t、第 t {t} t 次噪声的潜在表示 z t {z_{t}} zt 和其他由文本编码器提取的文本提示条件 C {C} C 来估计潜在空间中的噪声 ϵ {\epsilon} ϵ
  交叉注意机制通过以下方式融合视觉和文本嵌入:
在这里插入图片描述
  其中, l Q ( φ ( z t ) ) {\mathcal{l}_{Q}(\varphi(z_t))} lQ(φ(zt)) 将噪声图像 φ ( z t ) {\varphi(z_t)} φ(zt) 的深度空间特征展平并线性投影到 Query 向量; l K ( τ θ ( P ) ) {\mathcal{l}_{K}(\tau_{\theta}(\mathcal{P}))} lK(τθ(P)) 是文本提示 P \mathcal{P} P 的嵌入,作为 Key 矩阵; d {d} d 是隐投影维度, l Q {\mathcal{l}_{Q}} lQ l K {\mathcal{l}_{K}} lK 是线性可学习矩阵。

3.3、绿色背景控制

  给定 Green100k 数据集,我们需要强先验来限制前部和背景,以确保背景区域的绿色纯净。理论上,可以直接将提示的主要对象与交叉注意 mask 结合在一起,分割前景和背景。
  然而,为了增强模型的万物生成能力,并大大增强模型的泛化能力,我们无法事先获得目标的类先验。(没法提前知道 prompt 类信息
  相反,“绿色”的文本标记是一个可用且稳定的提示符,可以在没有类先验的情况下生成背景。对于“绿色”(第 j {j} j 个)文本 token,对应的权重为 A j ∈ R H × W {\mathcal{A}_{j} \in \mathbb{R}^{H×W}} AjRH×W ,本文提出的绿色背景控制机制是:

在这里插入图片描述
  其中, M {M} M 为归一化为 [ 0 , 1 ] {[0,1]} [0,1] 的主目标的 GT 掩码, A j {\mathcal{A}_{j}} Aj 表示第 l {l} l 个交叉注意层对应的第 j {j} j 个交叉注意图, u {u} u 是交叉层总数,我们监督交叉注意图 A j {\mathcal{A}_{j}} Aj 接近背景分割掩码 ( 1 − M ) {(1−M)} (1M) m e a n {mean} mean 为像素级平均。

DiffuMatting 总览:
在这里插入图片描述

3.4、过渡段边界的细节增强

  为了保持细节目标的生成,避免过渡边界的崩溃,本文提取高频信息(如边缘)来增强过渡边界周围的细节生成。
在这里插入图片描述
  其中 S x {S_x} Sx S y {S_y} Sy 指水平和垂直的 Sobel 算子获得的高频先验, I {I} I M {M} M 分别是输入的灰度图像和掩码。⊗表示卷积运算,⊙为像素级上的 Haramard 积。
  为引导合成图像模拟细节物体,本文将合成图像限制为更接近 GT 图像的高频特征:
在这里插入图片描述
  其中 z 0 {z_0} z0 是图像 x 0 {x_0} x0 的潜在表示, z ^ 0 {\hat{z}_0} z^0 t {t} t 步去噪估计的潜在表示:
在这里插入图片描述

3.5、Mask 生成和细化

  本文的目标是在生成绿幕图像的同时,获得抠图级标注,为此,首先通过添加一个 matting header 来得到粗掩码 M ~ c p {\tilde{M}_{cp}} M~cp
在这里插入图片描述
  其中 ConR 是具有两个二维卷积层和 SiLU 激活函数的 matting-header,随后,根据 Dice 和 L1 损失将 M ~ c p {\tilde{M}_{cp}} M~cp 与 GT (M) 联系起来:
在这里插入图片描述
  其中, N {N} N 是总像素个数,最后采用后处理 GreenPost,利用绿色背景先验来细化像素级掩码。GreenPost 引入 BackgroundMattingV2 作为后处理,使用 K-Means 对像素级掩码 M ~ c p {\tilde{M}_{cp}} M~cp 计算的背景颜色进行聚类,以填充前景像素值。然后将原始图像和精确背景导入 GreenPost 中,得到抠图级标注 M ~ p {\tilde{M}_{p}} M~p
在这里插入图片描述

3.6、目标函数

   L g {\mathcal{L}_{g}} Lg:通过双向的方式优化交叉注意特征,实现准确的前景和背景学习;
   L d e t a i l {\mathcal{L}_{detail}} Ldetail:过渡边界的细节增强损失,通过高频信息对齐来促进边界细节;
   L l a t e n t {\mathcal{L}_{latent}} Llatent:衡量生成注释与 GT 的差距;
   L n o i s e {\mathcal{L}_{noise}} Lnoise:扩散去噪损失;
在这里插入图片描述


4、实验与结果

4.1、实验设置

  (1)实施细节:Stable Diffusion V1.5 预训练模型,2块 NVIDIA V100 GPUs,学习率 2e-6,batch size=2;先训练没有抠图参数的 DiffuMatting 生成模型,然后共同训练生成和抠图;
  (2)评价指标: 提出 green-screen generation quality (GSG),使用K-Means对合成图像的主色进行聚类,并计算与绿幕颜色的距离;
在这里插入图片描述
  其他指标包括:绝对差值之和(SAD)、均方误差(MSE)、梯度(Grad.)、连通性(Conn.);

4.2、一致性绿幕生成能力

  随机生成10个类图像,每类包含10张图片, A s {A_s} As 为美学评分:

DiffuMatting 图像生成质量评估与可视化:
在这里插入图片描述

4.3、抠图级注释分析

与DiffuMask相比,DiffuMatting 实现了更精细的注释:

在这里插入图片描述

4.4、应用

4.4.1、下游抠图任务

(1)一般目标抠图: 合成了 500 个目标类别 10K 的通用目标抠图数据集 GOM;

Ratio 表示来自真实数据的比例,(1-Ratio)为合成数据的比例:
在这里插入图片描述
(2)肖像抠图:生成了不同的年龄阶段、种族、性别和国籍的肖像;

在这里插入图片描述

4.2、图像合成:生成、复制和粘贴

DiffuMatting 生成绿幕对象,复制带有抠图级别注释的对象,然后将其粘贴到所需的场景中:

在这里插入图片描述

4.3、社区友好型艺术设计与可控生成

艺术设计,青花瓷质感风格:
在这里插入图片描述

与 LoRAs 接轨:

在这里插入图片描述

可控图像编辑功能:

在这里插入图片描述

4.5、消融实验

(1)绿色背景控制:没有绿色背景控件的设置会导致前背景过渡区域周围的颜色渗出;
(2)过渡边界的细节增强:未对过渡边界进行细节增强的设置会造成边界细节的丢失,特别是在毛发区域;

绿色背景控制与过渡边界的细节增强消融实验:
在这里插入图片描述
(3)掩码的生成和细化:经过 GreenPost 抠图细化处理后,抠图输出的信息更加透明;

毛发更飘逸了:

在这里插入图片描述
(4)超越Green100K的强泛化:

超强生成能力:

在这里插入图片描述


  实验图像真是赏心悦目呀~(●’◡’●)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/42595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(补充):java各种进制和文本、图像、音频在计算机中的存储方式

文章目录 前言一、进制1 逢几进一2 常见进制在java中的表示3 进制中的转换(1)任意进制转十进制(2)十进制转其他进制二、计算机中的存储1 计算机的存储规则(文本数据)(1)ASCII码表(2)编码规则的发展演化2 计算机的存储规则(图片数据)(1)分辨率、像素(2)黑白图与灰度…

Knife4j的介绍与使用

目录 一、简单介绍1.1 简介1.2 主要特点和功能: 二、使用步骤:2.1 添加依赖:2.2 yml数据源配置2.3 创建knife4j配置类2.4 注解的作用 最后 一、简单介绍 1.1 简介 Knife4j 是一款基于Swagger的开源文档管理工具,主要用于生成和管…

Java客户端调用SOAP方式的WebService服务实现方式分析

简介 在多系统交互中,有时候需要以Java作为客户端来调用SOAP方式的WebService服务,本文通过分析不同的调用方式,以Demo的形式,帮助读者在生产实践中选择合适的调用方式。 本文JDK环境为JDK17。 结论 推荐使用Axis2或者Jaxws&#…

拆分pdf文件最简单的方法,pdf怎么拆成一页一张

在数字化的时代,pdf文件已经成为我们日常办公、学习不可或缺的文档格式。然而,有时候我们可能需要对一个大的pdf文件进行拆分,以方便管理和分享。那么,如何将一个pdf文件拆分成多个pdf呢?本文将为你推荐一种好用的拆分…

AFT:Attention Free Transformer论文笔记

原文链接 2105.14103 (arxiv.org) 原文翻译 Abstract 我们介绍了 Attention Free Transformer (AFT),这是 Transformer [1] 的有效变体,它消除了点积自注意力的需要。在 AFT 层,键key和值value首先与一组学习的位置偏差position biases相结…

Lab1 论文 MapReduce

目录 🌹前言 🦅2 Programming Model 🌼2.1 Example 🌼2.2 Types 🌼2.3 More Examples 🦅3 Implementation(实现) 🌼3.1 ~ 3.3 🌼3.4 ~ 3.6 🦅4 Refinemen…

Anaconda+Pycharm 项目运行保姆级教程(附带视频)

最近很多小白在问如何用anacondapycharm运行一个深度学习项目,进行代码复现呢?于是写下这篇文章希望能浅浅起到一个指导作用。 附视频讲解地址:AnacondaPycharm项目运行实例_哔哩哔哩_bilibili 一、项目运行前的准备(软件安装&…

BN的 作用

1、背景: 卷积神经网络的出现,网络参数量大大减低,使得几十层的深层网络成为可能。然而,在残差网络出现之前,网络的加深使得网络训练变得非常不稳定,甚至出现网络长时间不更新或者不收敛的情形,…

ER模型理论和三范式

ER模型理论和三范式 各种关系多对一一对一一对多多对多 三范式理论函数依赖完全函数依赖部分函数依赖传递(间接)函数依赖 第一范式:属性(表字段)不可切割第二范式:不能存在 部分函数依赖(都存在完全函数依赖…

2款一键word生成ppt的AI工具,让职场办公更为简单!

在当下主打异步沟通的职场办公环境中,我们与很多人的沟通,都是通过书面材料来达成的,这就让 Word 或文档编辑软件变得更为重要,与此同时,有时为了凸现书面材料中的重点,我们还要将 word 文档转换为 ppt 来进…

2024年06月CCF-GESP编程能力等级认证Python编程五级真题解析

本文收录于专栏《Python等级认证CCF-GESP真题解析》,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 一、单选题(每题 2 分,共 30 分) 第 1 题 在Python中,print((c for c in “GESP”))的输…

MiniGPT-Med 通用医学视觉大模型:生成医学报告 + 视觉问答 + 医学疾病识别

MiniGPT-Med 通用医学视觉大模型:生成医学报告 视觉问答 医学疾病识别 提出背景解法拆解 论文:https://arxiv.org/pdf/2407.04106 代码:https://github.com/Vision-CAIR/MiniGPT-Med 提出背景 近年来,人工智能(AI…

如何让自动化测试框架更自动化?

一、引言 ​对于大厂的同学来说,接口自动化是个老生常谈的话题了,毕竟每年的MTSC大会议题都已经能佐证了,不是大数据测试,就是AI测试等等(越来越高大上了)。不可否认这些专项的方向是质量智能化发展的方向&…

刷题(day02)

1、leetcode136.删除链表的结点 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点。 示例 1: 输入: head [4,5,1,9], val 5 输出: [4,1,9] 解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数…

设计模式探索:适配器模式

1. 适配器模式介绍 1.1 适配器模式介绍 适配器模式(adapter pattern)的原始定义是:将一个类的接口转换为客户期望的另一个接口,适配器可以让不兼容的两个类一起协同工作。 适配器模式的主要作用是把原本不兼容的接口&#xff0c…

c++初阶学习----入门(上)

大家好啊。最近学习了一点关于c的知识。这不就迫不及待的来与大家分享了嘛。但我这也是现学现卖所以咧。有很多遗落甚至不对的地方希望大家可以在评论区里面指出来。这样也可以增加大家对知识的巩固。 c语言与c的联系 不知道大家看到c会不会不由自主的联想到C语言啊。毕竟都是…

手机自带录屏在哪?6个软件教你快速进行手机录屏

手机自带录屏在哪?6个软件教你快速进行手机录屏 手机自带的录屏功能可以让你轻松录制屏幕上的内容,记录游戏过程、制作教程或捕捉其他重要时刻。不同品牌的手机可能在不同位置提供录屏功能。以下是一些常见的手机品牌及其录屏功能位置,以及一…

运动爱好者的新选择:哈氪聆光气传导耳机,轻巧又安全

平时不管是漫步街头、骑行穿梭,还是乘坐公共交通时,我总是喜欢佩戴耳机,借此隔绝外部的喧嚣,享受音乐的乐趣。在户外使用耳机,我更倾向于选择气传导耳机,它们更符合我的需求,因为这种耳机能让我…

SECS/GEM快速完成半导体设备通讯

金南瓜帮助国内大量从事半导体前道设备开发研制、生产的设备厂商,通过快速提供稳定可靠的SECS/GEM、GEM300产品,为客户在激光退火、湿法设备(清洗、镀膜等)、离子注入、MOCVD、PVD等客户专注于核心工艺提升,提升企业的…

Gen4Gen:多概念个性化图像生成的数据驱动革新

个性化文本到图像生成模型在用户控制生成过程方面取得了重要进展。这些模型能够通过少量训练样本学习并合成包含新颖个性化概念的图像,例如用户的宠物或特定物品。然而,现有技术在处理多概念个性化时存在局限性,尤其是在生成包含多个相似概念…