DreamBooth论文解读

news2024/10/6 6:46:01

文章目录

  • 摘要
  • 问题
  • 算法
    • 3.1 文生图扩散模型
    • 3.2 个性化文生图模型
    • 3.3 特定类别先验保留损失
  • 实验
    • 评估方式
    • 比较
    • 消融实验
      • PPL
      • 类别先验
    • 应用
    • 限制
  • 结论

论文: 《DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation》
project: https://dreambooth.github.io/
第三方代码: https://github.com/XavierXiao/Dreambooth-Stable-Diffusion

摘要

文本生成图像模型取得不错进展,但是无法根据提供的参考集生成新模态。DreamBooth利用预训练模型语义先验及新的特定目标先验保留损失合成未出现在参考图中的各种场景、姿势、视角、光照下目标。

问题

现有文本生成图片模型无法依据参考图生成该目标。

算法

仅需3-5张图像不需要任何文本描述,即可通过各种prompt引导生成目标变体。

3.1 文生图扩散模型

损失函数如式1,对于初始噪声 ϵ ∈ N ( 0 , I ) \epsilon \in N(0, I) ϵN(0,I),x为真值。
在这里插入图片描述

3.2 个性化文生图模型

常规思路是通过少量数据集进行finetune,但是容易出现过拟合及模式坍塌。但是作者发现大规模文生图扩散模型擅长整合新信息且不会遗忘先验知识,也不会过拟合到小规模训练集。
作者设计prompt为“a [identifier] [class noun]”,[identifier]为目标相关固定标识符,[class noun]为目标类别描述,比如猫、狗。如果不使用类别描述或使用错误类别描述将导致增加训练时间或者发生语言偏移,进而降低表现。
标识符使用常见单词或随机字母,效果相似,因为每个字母分别进行tokenize,因此作者使用词汇中不常见token f ( V ^ ) f( \hat V) f(V^)转换进文本空间 V ^ \hat V V^

3.3 特定类别先验保留损失

直接finetune所有模型所有层将导致语言偏移;同时可能导致输出多样性降低。
针对上述问题作者提出一种自生特定类别先验损失用于保证多样性同时抑制语言偏移。该方法本质上使用生成样本监督模型。损失函数如式2,其中 C p r C_{pr} Cpr仅包含类别信息,图3展示该过程。
在这里插入图片描述
在这里插入图片描述

实验

评估方式

  1. CLIP-I:CLIP的提取生成图与真图的embedding,计算两者之间的余弦相似度;
  2. DINO:ViT- S/16 DINO提取生成图与真图的embedding,计算两者之间的余弦相似度;
  3. CLIP-T:计算prompt机图像的CLIP embedding之间余弦相似度

比较

在这里插入图片描述
表1作者比较DreamBooth超越Textual Inversion,同时使用Imagen优于使用Stable Diffusion,
表2展示人工评测结果,在目标精确度以及prompt一致性上DreamBooth优于Textual Inversion;结合表1,量化指标微小差异,对用户直观感受差异巨大。可视化结果如图4.
在这里插入图片描述
在这里插入图片描述

消融实验

PPL

在这里插入图片描述
作者比较prior preservation loss (PPL)影响,结果如表3,评估方式为PRES,计算先验类别随机生成目标与真实图指定目标之间DINO embedding距离,该指标越高表明目标多样性不足,发生模式坍塌。同时作者使用平均LPIPS进行多样性评估(DIV)。作者发现使用PPL具有更高多样性,可视化结果如图6。
在这里插入图片描述

类别先验

使用类别先验,可生成各种纹理目标;使用错误类别,将导致生成奇怪物体;不使用类别先验,导致模型难以拟合,进而生成错误目标。实验结果如表4。
在这里插入图片描述

应用

重构。可生成在不同环境中目标,如图7。
在这里插入图片描述

艺术再现。如图8
新颖视角生成。如图8,仅使用4张正面图可生成未见过视角:侧面、上面、下面。
属性修改。如图8,输入prompt为:“a cross of a [V] dog and a [target species]”
在这里插入图片描述

限制

在这里插入图片描述
图9为一些失败案例。
作者归因于:
a.较弱先验,或者目标与特定概念很少出现在训练集;
b.环境与目标外观耦合;
c.过拟合到真实图片,当prompt与真实图相似时易出现。
同时对于一些比较少见目标,模型难以生成该目标多个变体。

结论

作者提出的DreamBooth,仅需要3-5张目标图片,通过prompt引导就可生成该目标变体。该方法核心为将该目标与特定标识符绑定。

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

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

相关文章

yueyin uart ip 使用说明文档

目录 1 概述2 IP功能3 IP端口4 收发数据时序4.1 Uart_tx接口4.2 Uart_rx接口5 获取IP地址 1 概述 本文用于讲解yueyin IP 的uart ip(串口/rs422/rs485/rs232)的功能,以及使用说明,方便使用者快速上手。 版本:V1.0.0 编…

行业报告 | 清华大学AIGC发展研究1.0震撼发布!(技术+未来篇)

文 | BFT机器人 01 技术篇 深度学习进化史:知识变轨 风起云涌 已发生的关键步骤: 人工神经网络的诞生 反向传播算法的提出 GPU的使用 大数据的出现 预训练和迁移学习 生成对抗网络 (GAN) 的发明 强化学习的成功应用 自然语言处理的突破 即将发生的关键步骤…

基于matlab对传感器阵列中的扰动和元件故障进行建模(附源码)

一、前言 本示例展示了如何对传感器阵列中的幅度、相位、位置和模式扰动以及晶片故障进行建模。 二、振幅扰动 本节介绍如何在 10 个晶片的均匀线性阵列 (ULA) 上添加增益或幅度扰动。将扰动视为统计上独立的零均值高斯随机变量,标准差为 0.1…

Linux内核进阶----整体框架及子系统概览

目录 1、概述 2、核心抽象及设计选型 2.1. 对进程和内核的抽象 2.2. 对进程地址空间的抽象 2.3. 支持可重入可抢占的内核 2.4. 放松管控与努力回收 2.5. 单块结构内核动态加载模块 2.6. 为系统中的一切活动打拍子 2.7. 一切皆文件的理念 3、Linux整体架构模块说明 3.…

Pnpm实现Monorepo风格项目搭建

Monorepo是什么 与Monorepo对比的是MutiRepo。对于一个复杂的前端架构通常会有多个npm package组成。repo指的是版本仓库。如果多个package放在一个repo仓库中就叫做monorepo。 目前有不少大型开源项目采用了这种方式,如 Babel,React, Meteor, Ember, …

基于Hexo和Butterfly创建个人技术博客,(12) 定制化博客站点高级功能,如搜索、在线聊天、自定义样式等

Butterfly官方网站,请 点击进入 部分特效来源于网站的总结,请点击进入 本章目标: 选择自己需要的内容,然后加以实现。本文中涉及的修改方式主要包含三种:1、修改源码;2、扩展源码;3、添加插件&a…

项目进度延误怎么办?给项目经理的6个处理提示

有研究调查称,只有2.5%的企业能100%成功完成他们的项目。影响项目成功的因素有很多,但对项目生产力造成严重损失的一个重要方面是项目延误。 无论是同事请病假,还是客户想要返工,许多事情都可能导致项目延误。当发生这些情况&…

桥梁监测系统多少钱?桥梁监测系统组成部分有哪些?

桥梁作为大多数城市和国家的重要设施,为居民提供了交流和沟通的纽带。然而,随着时间的推移、超荷载的运输和不间断的环境影响,桥梁的状态日益恶化。为了更好的了解桥梁的结构状态,保障桥梁的安全性和可靠性,桥梁监测系…

SQL注入第二章节MYSQL手工注入

SQL注入第二章节MYSQL手工注入 2.1 SQL注入之sqli-labs环境搭建 一、SQLi-Labs是什么? SQLi-Labs是一个专业的SQL注入练习平台,适用于GET和POST场景,包含了以下注入: 基于错误的注入(Union Select) 字符…

信息论/python笔记: 最大信息系数 MIC

1 互信息 sklearn 笔记整理:sklearn.metrics_sklearn中的mean absolute percentage error_UQI-LIUWJ的博客-CSDN博客 2 最大信息系数(MIC,Maximal Information Coefficient) 2.1 方法介绍 衡量两个变量X和Y之间的关联程度&…

知识蒸馏的说明

本文参考: ChatGPT 温度系数t与top-p, 超参怎么设置最优? - 知乎 知识蒸馏系列(一):三类基础蒸馏算法_OpenMMLab的博客-CSDN博客 知识蒸馏算法汇总 - 知乎 知识蒸馏__Old_Summer的博客-CSDN博客 目录 1、 ChatGPT…

一文弄懂mysql事务

首先,什么是事务呢? 事务就是由单独单元的一个或多个sql语句组成, 在这个单元中, 每个sql的语句都是相互依赖的, 而整个单独单元作为一个不可分割的整体存在, 类似于物理当中的原子(一种不可分割的最小单位) 通俗的来讲就是, 事务就是一个整体, 里面的内容要么都执行成功, 要…

大学生找工作的个人简历模板(合集)

大学生找工作的个人简历模板1 个人基本简历 姓名:-国籍:中国 目前所在地:__ 民族:汉族 户口所在地:__ 身材: 婚姻状况:未婚年龄:__岁 培训认证:诚信徽章: 求职…

swagger 入门指南

1. 写在最前面 最近在负责的服务,出现了客户接二连三的投诉 api 参数难以理解的问题。本着从「根本上解决问题」的思路,笔者思考了以下方案: 简化难以理解的参数,重新设计一版 api 优化 api 文档,更易于用户理解 1…

代码随想录算法训练营第四十一天| 343. 整数拆分、96.不同的二叉搜索树

整数拆分 题目链接:力扣 确定dp数组(dp table)以及下标的含义 dp[i]:分拆数字i,可以得到的最大乘积为dp[i]。确定递推公式 然后有两种渠道得到dp[i]: 一个是j * (i - j) 直接相乘。 一个是j * d…

unit4

目录 carpenterovertakeremainderobjectivepasturedespitegulfshepherdinteriorchorusoppressgrinprofessionalresistantfosterleapembarkneutralelasticcirculateintimidatechopprimarystirappraisallayoutsurvivalentertainmoanlocatepublishpacehearingexplosivecricketvolt…

stable-diffusion-webui 快捷安装教程

简介 stable-diffusion-webui 是一个用来装载Stable Diffusion 模型的网页,可以方便的调用模型生成图片。 stable-diffusion-webui的github地址为:https://github.com/AUTOMATIC1111/stable-diffusion-webui 这个库的依赖很多,虽然代码里面有…

NUCLEO-F411RE RT-Thread 体验 (1) - GCC环境 RT-Thread 的移植

NUCLEO-F411RE RT-Thread 体验 (1) - GCC环境 RT-Thread 的移植 1、准备工作 a、用stm32cubemx新建一个工程。 时钟配置 st-link提供8M的mco输出,所以配置hse 8m,sysclk最高100M,设置如下: 配置LED 连接pa5,设…

机器学习-进化算法

进化算法 遗传算法(Genetic Algorithm,GA)crossovermutation 进化策略(Evolutionary Strategies,ES)基因编程(Genetic Programming)Multi-objective Evolutionary Algorithms 遗传算…

certbot 申请免费SSL证书、自动续期

简介 Certbot是一个免费、开源的软件,是Let’s Encrypt的客户端,Let’s Encrypt是证书颁发机构,它们之间使用ACME协议通信,Certbot是Lets Encrypt众多客户端的其中之一,Let’s Encrypt官网推荐CertBot,它能…