当前位置: 首页 > news >正文

【Domain Generalization(3)】领域泛化与文生图之 -- QUOTA 任意领域中的生成物体的数量可控

系列文章目录

  • 【Domain Generalization(1)】增量学习/在线学习/持续学习/迁移学习/多任务学习/元学习/领域适应/领域泛化概念理解
  • 第一篇了解了 DG 的概念,那么接下来将介绍 DG 近年在文生图中的相关应用/代表性工作。
  • 【Domain Generalization(2)】领域泛化在文生图领域的工作之——PromptStyler(ICCV23)
  • 本文则介绍 arXiv 上 24年 11 月发布的工作 QUOTA: Quantifying Objects with Text-to-Image Models for Any Domain

文章目录

  • 系列文章目录
      • 快速讲清楚
      • 背景
      • 动机
      • 做法
      • 实验


快速讲清楚

  1. 任务是文生图,重点在生成图像中物体数量的准确性/可控性。
  2. 关键是 Any Domain,在两阶段(不同 Domain) 的数据上对新增的 token 优化/训练,实现领域泛化。
  3. 主要做法是
    • 1)在 SDXL 上实现 Textual Inversion,只学 style 和 count token,并增加了 counting loss 和 semantic loss,构造了 QUANT-Bench 数据。
    • 2)训练方法: 和 Textual Inversion 训练类似但 loss 不一样,主要是引入了两个 loss,即 YOLOv9 来计算 counting loss,以及 CLIP Image Encoder 来算 semantic loss 。
    • 3)训练数据:构造的 QUANT-Bench 数据有 Photo, Painting, Cartoon, 和 Sketch 4 个 Domain 的各种多数量物体,训练时先在 3 个 domain 的数据中训(meta-train domains),然后接着再在剩下的 1 个 domain 上训(meta-test domains)。

在这里插入图片描述

背景

  • 文生图在准确控制生成图像中对象数量,尤其是面对不同训练域(这里主要是不同的风格)的文本提示时,仍存在挑战。
  • 领域泛化(Domain Generalization)旨在创建能在未知域良好表现的模型,减少重新训练需求,在准确数量物体的图像生成方面尚未有领域泛化的相关探索。

动机

  • 个性化图像生成在处理对象数量的定量概念时面临独特挑战,现有方法如 Textual Inversion 和 DreamBooth 主要针对特定概念微调,难以精确控制对象数量。
  • 优化提示对应方法通常未解决对象数量的数值准确性问题,而域泛化研究中也缺乏对文本到图像扩散模型中域可泛化对象量化的关注,因此需要一种新方法来实现不同域中准确且可泛化的对象量化。

在这里插入图片描述

做法

  • 域可泛化对象量化:利用多个域进行训练,在训练阶段将域分为元训练域和元测试域,随机选择元测试域,基于预训练的扩散模型生成图像,测试阶段使用 YOLOv9 和 CLIP - S 评估生成图像中的对象数量和语义一致性,模拟真实场景中的域转移。
  • 双循环元优化
    • 内循环优化:针对元训练域优化提示参数,包含量化损失(利用可微计数函数 Count 计算估计对象数量与目标数量差值,基于 YOLOv9 估计)和 CLIP 匹配惩罚(确保图像语义与文本描述一致),通过两者之和计算内循环损失并更新提示参数。
    • 外循环优化:在元测试域上进一步优化提示参数,基于内循环更新后的参数生成图像计算损失,更新全局元参数,增强模型对未知域的泛化能力。
  • 可学习的量化和域标记:在提示中引入可学习的 e c o u n t e_{count} ecount e s t y l e e_{style} estyle 标记,初始提示格式为 “A s d s_{d} sd of N c”,将标记嵌入与文本嵌入连接,训练时内循环在元训练域训练标记以捕获域特定提示特征,外循环通过调整元参数进行域泛化,测试时将测试文本提示中的域和量化信息与学习到的标记连接生成图像。

在这里插入图片描述

实验

  • 对比实验:与 SDXL 和 IoCo 进行对比,SDXL 作为基础模型,IoCo 仅在训练时学习量化标记且仅针对照片域。
  • 消融实验
    • 验证双循环元优化的作用,通过有无元优化对比,结果表明元优化在 MAE、RMSE 和 CLIP - S 指标上均有提升,增强了对象量化准确性和域泛化能力。
    • 验证可学习标记的作用,分别对比仅添加 e s t y l e e_{style} estyle、仅添加 e c o u n t e_{count} ecount 和同时添加两者的情况,结果显示同时使用两个标记时模型在各指标和域上性能最佳,提高了计数准确性和域适应性。
  • 具体评估指标
    • 量化准确性:使用基于 YOLOv9 的 MAE(平均绝对误差)和 RMSE(均方根误差),通过比较检测到的对象数量与目标数量计算。
    • 语义对齐评估:采用归一化的 CLIP 匹配分数 CLIP - S,定义为 C L I P − S ( p , x d ) = w ⋅ m a x ( c o s ( p , x d ) , 0 ) CLIP - S(p,x_{d}) = w\cdot max(cos(p,x_{d}),0) CLIPS(p,xd)=wmax(cos(p,xd),0),其中 p p p 为提示, x d x_{d} xd 为生成图像。同时计算不同域上的平均性能评估模型一致性和适应性。

相关文章:

【Domain Generalization(3)】领域泛化与文生图之 -- QUOTA 任意领域中的生成物体的数量可控

系列文章目录 【Domain Generalization(1)】增量学习/在线学习/持续学习/迁移学习/多任务学习/元学习/领域适应/领域泛化概念理解第一篇了解了 DG 的概念,那么接下来将介绍 DG 近年在文生图中的相关应用/代表性工作。【Domain Generalization(2)】领域泛化在文生图…...

qml XmlListModel详解

1、概述 XmlListModel是QtQuick用于从XML数据创建只读模型的组件。它可以作为各种view元素的数据源,比如ListView、GridView、PathView等;也可以作为其他和model交互的元素的数据源。通过XmlRole定义角色,如name、age和height,并…...

CAPL如何设置TCP/IP传输层动态端口范围

在TCP/IP协议中,应用程序通过传输层协议TCP/UDP传输数据,接收方传输层收到数据后,根据传输层端口号把接收的数据上交给正确的应用程序。我们可以简单地认为传输层端口号是应用程序的标识,这就是为什么我们说应用程序在使用TCP/IP协议通信时要打开传输层端口号或者绑定端口号…...

Pandas常用数据类型

扩展库pandas常用的数据结构如下: (1)Series:带标签的一维数组 (2)DatetimeIndes:时间序列 (3)DateFrame:带标签且大小可变的二维表格结构 (4…...

【AI大模型】BERT GPT ELMo模型的对比

目录 🍔 BERT, GPT, ELMo之间的不同点 🍔 BERT, GPT, ELMo各自的优点和缺点 🍔 小结 学习目标 理解BERT, GPT, ELMo相互间的不同点理解BERT, GPT, ELMo相互比较下的各自优点和缺点 🍔 BERT, GPT, ELMo之间的不同点 关于特征提取…...

探索AGI:智能助手与自我赋能的新时代

目录 1 AGI1.1 DeepMind Levels(2023年11月)1.2 OpenAI Levels(2024年7月)1.3 对比与总结1.4 AGI可能诞生哪里 2 基于AI的智能自动化助手2.1 通用型大模型2.2 专业的Agent和模型工具开发框架2.3 编程与代码生成助手2.4 视频和多模态生成2.5 商…...

Oracle Dataguard(主库为双节点集群)配置详解(5):将主库复制到备库并启动同步

Oracle Dataguard(主库为双节点集群)配置详解(5):将主库复制到备库并启动同步 目录 Oracle Dataguard(主库为双节点集群)配置详解(5):将主库复制到备库并启动…...

webrtc自适应分辨率的设置

DegradationPreference 是一个枚举类,用于在视频编码或实时通信(如 WebRTC)中指定系统资源不足时如何处理质量下降的策略。以下是该枚举类的中文解释: enum class DegradationPreference {// 禁用:不根据资源过载信号…...

提供的 IP 地址 10.0.0.5 和子网掩码位 /26 来计算相关的网络信息

网络和IP地址计算器 https://www.sojson.com/convert/subnetmask.html提供的 IP 地址 10.0.0.5 和子网掩码位 /26 来计算相关的网络信息。 子网掩码转换 子网掩码 /26 的含义二进制表示:/26 表示前 26 位是网络部分,剩下的 6 位是主机部分。对应的子网掩码为 255…...

WPF系列八:图形控件Path

简介 Path控件支持一种称为路径迷你语言(Path Mini-Language)的紧凑字符串格式,用于描述复杂的几何图形。这种语言通过一系列命令字母和坐标来定义路径上的点和线段,最终绘制出想要的图形。 绘制任意形状:可以用来绘…...

如何移除git中被跟踪的commit文件

忽略已被跟踪的文件 问题描述 如果某个文件已经被 Git 跟踪(即已被提交到仓库),即使后来将其添加到 .gitignore 文件中,Git 仍会继续跟踪它。 解决方案 更新 .gitignore 文件 将需要忽略的文件加入 .gitignore: .env…...

15. C语言 函数指针与回调函数

本章目录: 前言什么是函数指针?定义声明方式 函数指针的基本用法示例:最大值函数输出示例: 回调函数与函数指针什么是回调函数?通俗解释 示例:回调函数实现动态数组填充输出示例: 进一步探索:带…...

tomcat12启动流程源码分析

信息: Server.服务器版本: Apache Tomcat/12.0.x-dev 信息: Java虚拟机版本: 21下载源码https://github.com/apache/tomcat,并用idea打开,配置ant编译插件,或者使用我的代码 启动脚本是/bin/startup.bat,内部又执行了bin\cata…...

Pycharm 使用教程

一、基本配置 1. 切换Python解释器 pycharm切换解释器版本 2. pycharm虚拟环境配置 虚拟环境的目的:创建适用于该项目的环境,与系统环境隔离,防止污染系统环境(包括需要的库)虚拟环境配置存放在项目根目录下的 ven…...

数据仓库: 9- 数据仓库数据治理

目录 9- 数据治理9.1 数据标准化9.1.1 数据标准化的定义9.1.2 数据标准化的重要性9.1.3 数据标准化的主要内容9.1.4 数据标准化的实施步骤9.1.5 数据标准化常用工具9.1.6 数据标准化的挑战与应对策略9.1.7 案例分析9.1.8 总结 9.2 主数据管理(MDM)9.2.1 主数据管理的核心目标9.…...

Kutools for Excel 简体中文版 - 官方正版授权

Kutools for Excel 是一款超棒的 Excel 插件,就像给你的 Excel 加了个超能助手。它有 300 多种实用功能,现在还有 AI 帮忙,能把复杂的任务变简单,重复的事儿也能自动搞定,不管是新手还是老手都能用得顺手。有了它&…...

回归预测 | MATLAB实MLR多元线性回归多输入单输出回归预测

回归预测 | MATLAB实MLR多元线性回归多输入单输出回归预测 目录 回归预测 | MATLAB实MLR多元线性回归多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 回归预测 | MATLAB实MLR多元线性回归多输入单输出回归预测。 程序设计 完整代码:回…...

lerna使用指南

lerna版本 以下所有配置命令都是基于v8.1.9,lerna v5 v7版本差别较大,在使用时,注意自身的lerna版本。 lerna开启缓存及缓存配置 nx缓存是v5版本以后才有的,小于该版本的无法使用该功能。 初始化配置 缓存配置文件nx.json&am…...

LightGCN:为推荐系统简化图卷积网络的创新之作

LightGCN: Simplifying and Powering Graph Convolution Network for RecommendationSIGIR2020Collaborative Filtering, Recommendation, Embedding Propagation, Graph Neural Network 🌟 研究背景 在信息爆炸的互联网时代,个性化推荐系统成为缓解信…...

【图像去噪】论文精读:High-Quality Self-Supervised Deep Image Denoising(HQ-SSL)

请先看【专栏介绍文章】:【图像去噪(Image Denoising)】关于【图像去噪】专栏的相关说明,包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、去噪概述、文章目录、资料汇总、问题汇总(更新中) 文章目录 前言Abstract1 Introduction2 Convoluti…...

Elasticsarch:使用全文搜索在 ES|QL 中进行过滤 - 8.17

8.17 在 ES|QL 中引入了 match 和 qstr 函数,可用于执行全文过滤。本文介绍了它们的作用、使用方法、与现有文本过滤方法的区别、当前的限制以及未来的改进。 ES|QL 现在包含全文函数,可用于使用文本查询过滤数据。我们将回顾可用的文本过滤方法&#xf…...

17.C语言输入输出函数详解:从缓存原理到常用函数用法

目录 1.前言2.缓存和字节流3.printf4.scanf5.sscanf6.getchar与putchar7.puts与gets 1.前言 本篇原文为:C语言输入输出函数详解:从缓存原理到常用函数用法。 更多C进阶、rust、python、逆向等等教程,可点击此链接查看:酷程网 C…...

高等数学学习笔记 ☞ 不定积分与积分公式

1. 不定积分的定义 1. 原函数与导函数的定义: 若函数可导,且,则称函数是函数的一个原函数,函数是函数的导函数。 备注: ①:若函数是连续的,则函数一定存在原函数,反之不对。 ②&…...

Debye-Einstein-模型拟合比热容Python脚本

固体比热模型中的德拜模型和爱因斯坦模型是固体物理学中用于估算固体热容的两种重要原子振动模型。 爱因斯坦模型基于三种假设:1.晶格中的每一个原子都是三维量子谐振子;2.原子不互相作用;3.所有的原子都以相同的频率振动(与德拜…...

Ubuntu24.04安装AppImage报错AppImages require FUSE to run.

报错如下: 解决: sudo apt install libfuse2t64如果不行: sudo add-apt-repository universe sudo apt install libfuse2t64安装时又报错: [10354:0109/100149.571068:FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox hel…...

3_CSS3 渐变 --[CSS3 进阶之路]

CSS3 引入了渐变(gradients),它允许在两个或多个指定的颜色之间显示平滑的过渡。CSS3 支持两种类型的渐变: 线性渐变(Linear Gradients):颜色沿着一条线性路径变化,可以是水平、垂直…...

uniapp 左右滑动切换Tab

各种开发会遇到很多奇葩的需求&#xff0c;今天这个是在页面 左右滑动&#xff0c;然后自动去切换Tab <viewtouchstart"touchStart"touchcancel"touchCancel"touchend"touchEnd"><components is"xxx"/></view>//---…...

STM32 FreeRTOS 任务创建和删除实验(动态方法)

动态创建,堆栈是在FreeRTOS管理的堆内存里,注意任务不要重复创建。 xxxxx_STACK_SIZE 128 uxTaskGetStackHighWaterMark()获取指定任务的任务栈的历史剩余最小值,根据这个结果适当调整启动任务的大小。 实验目标 学会 xTaskCreate( ) 和 vTaskDelete( ) 的使用: start_…...

宝塔面板 申请证书后 仍然提示不安全

证书显示有效&#xff0c;但是网站显示不安全 导致的原因是引入静态文件使用的是HTTP&#xff0c;查看方法为F12打开console控制台 可以看到静态文件全部都是HTTP 网站采用wordpress搭建&#xff0c;基于问题解决&#xff0c;其他方式搭建也是一样&#xff0c;处理掉所有的H…...

透明部署、旁路逻辑串联的区别

背景 需讨论防火墙到底是串联&#xff0c;还是旁挂。 通常串联指的就是“透明部署”&#xff0c;旁挂指的就是“逻辑串联”。 透明部署&#xff08;串联&#xff09; 也称为透明模式或桥接模式&#xff0c;是一种安全设备的部署方式。在这种模式下&#xff0c;安全设备被串联…...

C++实现设计模式---原型模式 (Prototype)

原型模式 (Prototype) 原型模式 是一种创建型设计模式&#xff0c;它通过复制现有对象来创建新对象&#xff0c;而不是通过实例化。 意图 使用原型实例指定要创建的对象类型&#xff0c;并通过复制该原型来生成新对象。提供一种高效创建对象的方式&#xff0c;尤其是当对象的…...

Canvas简历编辑器-选中绘制与拖拽多选交互方案

Canvas简历编辑器-选中绘制与拖拽多选交互方案 在之前我们聊了聊如何基于Canvas与基本事件组合实现了轻量级DOM&#xff0c;并且在此基础上实现了如何进行管理事件以及多层级渲染的能力设计。那么此时我们就依然在轻量级DOM的基础上&#xff0c;关注于实现选中绘制与拖拽多选交…...

kotlin的dagger hilt依赖注入

依赖注入&#xff08;dependency injection, di&#xff09;是设计模式的一种&#xff0c;它的实际作用是给对象赋予实例变量。 基础认识 class MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceSta…...

Flink类加载机制详解

1. 总览 在运行Flink应用时,它会加载各种类,另外我们用户代码也会引入依赖,由于他们依赖版本以及加载顺序等不同,就可能会导致冲突,所以很要必要了解Flink是如何加载类的。 根据加载的来源的不同,我们可以将类分为三种: Java Classpath:Java类路径下,这是Java通用的…...

在VSCode中设置bash命令行内容简写

在VSCode中设置bash命令行内容简写 1、打开shell配置文件2、在配置文件的末尾&#xff0c;添加以下行来创建别名3、重新加载配置文件以使更改生效4、在命令行使用缩写执行命令 比如&#xff0c;在VSCode的bash中输入 gc daily&#xff0c;而实际执行 git checkout daily. 1、…...

特制一个自己的UI库,只用CSS、图标、emoji图 第二版

图&#xff1a; 代码&#xff1a; index.html <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>M…...

51_Lua面向对象编程

面向对象编程(Object Oriented Programming,OOP)是一种非常流行的计算机编程架构。像C++、Java、Objective-C、Smalltalk、C#、Ruby等编程语言都支持面向对象编程。 1.面向对象编程特性 面向对象编程是一种编程范式,它使用“对象”来设计软件。对象是数据和行为的封装单元…...

Kafka——两种集群搭建详解 k8s

1、简介 Kafka是一个能够支持高并发以及流式消息处理的消息中间件&#xff0c;并且Kafka天生就是支持集群的&#xff0c;今天就主要来介绍一下如何搭建Kafka集群。 Kafka目前支持使用Zookeeper模式搭建集群以及KRaft模式&#xff08;即无Zookeeper&#xff09;模式这两种模式搭…...

OPT: Open Pre-trained Transformer语言模型

摘要 大规模语言模型通常需要数十万计算日的训练时间&#xff0c;展现了在零样本和小样本学习中的显著能力。鉴于其计算成本之高&#xff0c;这些模型在没有大量资本投入的情况下难以复现。对于那些通过API提供的少数模型&#xff0c;研究者无法获取完整的模型权重&#xff0c…...

开源模型应用落地-LangChain高阶-记忆组件-RedisChatMessageHistory正确使用(八)

一、前言 LangChain 的记忆组件发挥着至关重要的作用,其旨在协助大语言模型(LLM)有效地留存历史对话信息。通过这一功能,使得大语言模型在对话过程中能够更出色地维持上下文的连贯性和一致性,进而能够像人类的记忆运作方式那样,进行更为自然、流畅且智能化的交互。 它仿佛…...

http和https有哪些不同

http和https有哪些不同 1.数据传输的安全性&#xff1a;http非加密&#xff0c;https加密 2.端口号&#xff1a;http默认80端口&#xff0c;https默认443端口 3.性能&#xff1a;http基于tcp三次握手建立连接&#xff0c;https在tcp三次握手后还有TLS协议的四次握手确认加密…...

UML系列之Rational Rose笔记七:状态图

一、新建状态图 依旧是新建statechart diagram&#xff1b; 二、工作台介绍 接着就是一个状态的开始&#xff1a;开始黑点依旧可以从左边进行拖动放置&#xff1a; 这就是状态的开始&#xff0c;和活动图泳道图是一样的&#xff1b;只能有一个开始&#xff0c;但是可以有多个…...

一个使用 Golang 编写的新一代网络爬虫框架,支持JS动态内容爬取

大家好&#xff0c;今天给大家分享一个由ProjectDiscovery组织开发的开源“下一代爬虫框架”Katana&#xff0c;旨在提供高效、灵活且功能丰富的网络爬取体验&#xff0c;适用于各种自动化管道和数据收集任务。 项目介绍 Katana 是 ProjectDiscovery 精心打造的命令行界面&…...

mycat介绍与操作步骤

文章目录 1.分库分表2.mycat 入门2.1 概述2.2 案例&#xff1a;水平分表1&#xff09;准备工作2&#xff09;配置3&#xff09;启动并测试 3.mycat 配置详解3.1 schema.xml3.2 rule.xml3.3 server.xml 4.mycat 分片&#xff1a;垂直拆分1&#xff09;准备工作2&#xff09;配置…...

【Go】:图片上添加水印的全面指南——从基础到高级特性

前言 在数字内容日益重要的今天&#xff0c;保护版权和标识来源变得关键。为图片添加水印有助于声明所有权、提升品牌认知度&#xff0c;并防止未经授权的使用。本文将介绍如何用Go语言实现图片水印&#xff0c;包括静态图片和带旋转、倾斜效果的文字水印&#xff0c;帮助您有…...

R语言的语法糖

R语言的语法糖 引言 在编程语言中&#xff0c;所谓的“语法糖”是指那些使得程序员能够以更简洁、直观的方式书写代码的语法形式。R语言作为一种用于统计分析和数据可视化的编程语言&#xff0c;具有丰富的功能和灵活的语法。本文将深入探讨R语言中的语法糖&#xff0c;帮助读…...

乙游的尽头是虚拟偶像吗?

眼花了&#xff0c;竟然看到二次元乙游男主角走红毯了。 12月20日&#xff0c;某国际知名奢侈品品牌宣布&#xff0c;《恋与深空》四位男主将受邀出席品牌在上海举办的TF戏瘾之夜活动&#xff0c;并公开了四位男主的红毯照片。 没有真人实体的乙游男主走红毯&#xff1f;这是…...

【源码+文档+调试讲解】农产品研究报告管理系统

摘 要 农产品研究报告管理系统是一个旨在收集、整理、存储和分析农产品相关研究数据的综合性平台。农产品研究报告管理系统通常包含一个强大的数据库&#xff0c;它能够处理大量的研究数据&#xff0c;并对这些数据进行有效的管理和备份。农产品研究报告管理系统是现代农业科学…...

SQL UNION 操作符

SQL UNION 操作符 SQL UNION 操作符用于合并两个或多个 SELECT 语句的结果集。它将多个结果集组合成一个单独的结果集&#xff0c;并去除重复的行。为了使用 UNION&#xff0c;每个 SELECT 语句必须具有相同的列数&#xff0c;并且对应列的数据类型必须兼容。 语法 SELECT c…...

springboot vue uniapp 仿小红书 1:1 还原 (含源码演示)

线上预览: 移动端 http://8.146.211.120:8081/ 管理端 http://8.146.211.120:8088/ 小红书凭借优秀的产品体验 和超高人气 目前成为笔记类产品佼佼者 此项目将详细介绍如何使用Vue.js和Spring Boot 集合uniapp 开发一个仿小红书应用&#xff0c;凭借uniapp 可以在h5 小程序 app…...