Enhancing Diffusion——利用三维透视几何约束增强扩散模型

概述

透视在艺术中被广泛研究,但现代高质量图像生成方法却缺乏透视精度。新的生成模型引入了几何约束,通过训练过程提高透视精度。这样可以生成更逼真的图像,并提高相关深度估计模型的性能。

最近的图像生成技术使研究人员能够创造性地进行文本到图像的合成。这些模型可以根据各种文字提示生成绘画和照片,但在满足物理限制方面能力有限。手绘艺术强调透视几何,最近的生成模型也通过考虑透视精度来改善逼真度。缺乏物理约束的潜在扩散模型引入了新的损失函数,从而提高了生成图像的物理精确度和逼真度。透视法的准确性对场景的一致性和逼真度有很大影响,与普通模型相比,使用透视损失的拟议模型生成的图像更加逼真。使用这种新损失生成的图像也有利于下游任务的准确性,这表明高级模型的性能得到了提高。


论文地址:https://arxiv.org/abs/2312.00944

相关研究

生成合成图像

由于高维空间和多样性,图像生成是一项具有挑战性的任务。对抗生成网络(GANs)和变异自动编码器(VAEs)是常见的方法;GANs 可以生成高质量图像,但难以训练,而且可能出现模式崩溃。扩散模型最近受到关注,它通过逆转扩散过程生成高质量图像。这种方法与文本引导相结合,改进了逆过程。然而,由于许多扩散模型依赖于先验分布和文本编码器,而先验分布和文本编码器并不能保证物理准确性,因此本研究在生成图像时增加了三维几何约束,以提高图像质量。

研究的具体任务是边缘到图像的合成问题,其中扩散模型以文本提示和边缘图为条件。研究的重点是在无法获取边缘图的情况下生成透视精确的图像,并力求用一般和少量的输入生成高精度的图像。

计算机视觉中的消失点

消失点广泛应用于计算机视觉领域,在相机校准、场景理解、合成场景生成和 SLAM 技术中发挥着重要作用。除此以外,透视技术还被用于计算摄影中,用于编辑焦距和相机位置,以及减少广角图像的失真。这些技术的发展有助于提高图像生成器的逼真度,并使下游任务受益。

单目深度估算

单目深度估计通常需要图像深度配对数据,从早期研究到现在,马尔可夫随机场、卷积神经场和变换器等架构一直被采用。有监督的模型很难收集数据,因此通常使用合成数据集,但存在模拟与真实之间的差距。人们已经尝试了一些方法来解决这一问题,但除了单目深度估计这一常见任务外,同样的方法也可应用于深度完成任务,因为数据格式是相同的。

视角 背景

线性视角

透视在艺术和摄影中尤为重要,是指在三维空间中准确呈现物体的技术。线条透视是其中最常见的一种,它利用了三维空间中平行线汇聚到图像平面上一个点的特性。通常,一幅图画或图像有一到三个消失点,它们决定了图画或图像的风格和视角。地平线是一条水平线,位于观察者眼睛的高度,通常至少有一个消失点位于这条线上。图 2 直观地说明了这些原则。

图像的透视一致性

要验证图像的透视并不容易,因为图像的消失点是三维空间中平行线的交点。对于包含平行线集的图像,可以通过扩展这些平行线并检查所有线对是否相交于同一点来验证透视的一致性。

・自然图像

由于针孔摄像机的透视投影原理,所有不平行的平行线都会汇聚到同一个消失点。

・合成图片

深度学习生成的合成图像与自然图像不同,有时会忽略透视和物理特征。这是因为模型的损失函数主要侧重于图像质量和提示,图 1(a) 就是一个例子。

提高生成图像的透视精度

为提高生成图像的透视精度,可使用[Rombach et al. 2022b] 和[Pinkney 2022]中的代码对模型进行微调。这包括使用传统的损失函数进行训练,并添加新的项和提供地面真实消失点的特殊数据集。

潜在扩散模型在潜在空间中执行正向和反向扩散过程。模型引入了编码器和解码器,负责潜空间的转换。训练损耗的工作原理是从图像的消失点开始扫描一条线,然后计算图像在该线上的梯度总和。潜在扩散模型还有一个透视损失项,用于添加透视先验分布。

如图 3 所示,这种损耗的工作原理是在图像上扫过一条从消失点开始延伸的线,然后计算图像在该线上的梯度总和。该算法的伪代码如下图所示。

新的损失函数可以测量图像中沿线区域的 "边缘相似 "程度。这被称为透视损失,有助于提高图像重建的质量。该损失基于图像中的消失点集合,并在每次随机选择的迭代中进行计算。它在 PyTorch 中实现,是端到端可微分的。

试验

潜在扩散模型训练

该模型是在 LAION 5B 数据库(包含 58.5 亿个图像标题对)上训练出来的。 在本文中,该模型被称为基线模型。

・数据集

利用 HoliCity 数据集对基线模型进行了调整。该数据集包含 50,078 幅在伦敦拍摄的实际图像和每幅图像的消失点信息;MiDaS 用于预测每幅图像的深度,然后将其作为潜在扩散模型的条件。使用 BLIP 字幕模型为每张图像生成的字幕用于调整。

・更多培训信息

微调模型代码基于[Rombach et al. 2022b],原始代码修改自[Pinkney 2022]。对基线模型的损失函数进行了更新和训练,图像分辨率为 512 × 512,学习率为 1e-6,𝜆 = 0.01。使用 4 个 RTX3090 GPU 进行训练耗时约 12 小时,透视损失达到饱和。除了文本到图像的生成,该模型还执行修复图像中缺失区域的任务,应用所提出的约束条件,并使用 LPIPS 指标评估结果。 LPIPS 使用深度神经网络来测量两幅图像之间的感知相似性。

训练单目深度估计模型

在新的实验中,对来自 DPT-Hybrid 和 PixelFormer 的单目深度估算模型进行了评估,这些模型来自基线模型和微调模型。这些模型最初是在 KITTI 数据集上训练的,并使用 SYNTHIA-AL 和 Virtual KITTI 2 数据集的深度图生成合成图像。生成的图像附有使用 BLIP 生成的标题,深度估计模型仅在 vKITTI 生成的图像上进行训练。在训练中,DPT Hybrid 使用了 19500 个步骤,批量大小为 16,学习率为 5e-6;PixelFormer 使用了 20800 个步骤,批量大小为 8,学习率为 4e-6。这意味着,"全部增强 "指的是增强模型生成的 155,000 幅图像,而 "全部基准 "指的是基准模型生成的全部图像。

・测试装置

深度估计模型在常用的 KITTI 数据集上进行训练,并在 KITTI 和 DIODE 户外子集上对其性能进行评估。

・衡量标准

采用[Ranftl 等人,2021 年]的深度估计指标来评估模型。这些指标包括绝对相对误差、平方相对误差、均方根误差、对数均方根误差和阈值𝜏下的阈值精度。

人类主观测试方法

研究人员通过 Prolific 网站上的人类主观测试,评估了微调模型生成图像的逼真度。参与者完成了一项排名任务,并比较了三组基线图像、消融图像和增强图像的逼真度。这些图像取自 HoliCity 数据集,并根据深度图生成;50 名参与者随机对 80 组图像进行评分,并在 90 分钟内完成任务。

消融研究

研究人员进行了两项消融研究,以评估所提出的约束条件的效果。首先,在同一数据集上对基线模型进行微调,并在无损失更新的条件下进行训练(无损失/消融模型)。第二,通过将消失点作为一个条件来训练无损失模型。两个模型使用相同的数据集,并训练单眼深度估计模型。在人类主观测试和无损失模型的修复任务中都进行了消融研究。

实验结果

微调潜在扩散模型

图 5 展示了微调模型生成的一些代表性图像。图中显示了用于微调漫反射模型的深度图,以及基线模型和增强模型生成的图像。基线模型生成的图像显示了影响透视精度的曲线和扭曲,尤其是在难以准确生成高频细节的区域。在图 8 中,在基线模型和增强模型的图像上绘制了透视线。

来自模型的图像显示出更一致的透视线和准确的消失点,失真更少。基线图像的失真度更高,似乎偏离了自然图像的分布。虽然增强型模型在城市景观数据集上进行了微调,但在生成其他自然、动物和室内场景的图像时没有发现任何限制。代表性图像如图 6 所示。

此外,还使用 FID 指标对这些图像进行定量评估[Heusel 等人,2017 年]。 本文的模型优于基线模型和无损模型。

在 HoliCity 验证集和景观数据集上,使用定性结果(图 7)和定量结果(表 4)评估了三种模型(基线、消融和扩展)的恢复性能。 LPIPS 指标用于衡量感知相似度,数值越低,修复效果越好。

从表 4 中可以看出,增强模型的性能始终优于基线模型和消融模型,在综合数据集中,增强模型比基线模型提高了 7.1%,比消融模型提高了 3.6%。

估计单眼深度

为了评估微调深度估计模型的性能,我们采用了定性和定量测量方法。 定性比较如图 9 所示。

・DPT 混合型

在 KITTI 测试集和 DIODE Outdoor 测试集子集上,使用生成的 vKITTI 数据集对原始 DPT 混合模型进行微调后的模型性能优于原始 DPT 混合模型。使用基线模型生成的图像进行微调的模型的性能也优于所有 DIODE Outdoor 指标(SqRel 除外)。特别是在 DIODE Outdoor 数据集上,原始 DPT 混合模型在五个指标上都优于基准模型,但在没有指标的情况下优于作者的模型。与基准模型相比,作者的模型在 RMSE 和 SqRel 方面分别提高了 7.03% 和 19.3%,在 SqRel 和 SiLog 方面分别提高了 3.4% 和 2.2%。

图 9 显示了原始 DPT 混合模型与根据增强型扩散模型生成的图像进行微调的模型之间的比较。每组图像都包含输入图像、地面实况深度图以及原始模型和增强模型的误差图,同时还显示了每个深度预测的 RMSE 值。作者的模型能更一致地捕捉高频细节,RMSE 值也更低。

・像素前置

使用生成的 vKITTI 数据集和完整数据集对基本 PixelFormer 进行微调,并在 DIODE 户外测试集上进行评估。

使用扩散模型生成的图像对基础 PixelFormer 进行微调,并使用 vKITTI 数据集和完整数据集生成的图像对其进行评估后,微调后的模型在所有指标上都优于原始模型和基于其他训练数据的模型。特别是,与原始模型相比,在完整数据集上训练的模型在 SiLog 方面提高了 11.6%,与基线模型相比提高了 2.4%。

人类主观测试

主观测试表明,增强模型生成的图像有 69.6% 比基线模型更逼真,有 67.5% 比消融模型更逼真,平均等级也优于基线模型和消融模型。结果表明,建议的几何约束有助于提高生成图像的逼真度。

消融研究

对所提出的约束条件进行的评估显示,在对增强模型和消融模型进行比较的整个过程中,边缘和边角的改进是一致的。 此外,还进行了定量比较,证实增强型扩散模型在某些深度估计模型中取得了改进(见图 10)。

基于所提限制条件的实验表明,DPT-Hybrid 和 PixelFormer 增强模型优于根据训练数据微调的模型和无损失模型。特别是,RMSE 提高了 16.11%,人类主观测试的真实度也有所提高。这突出表明,所提出的约束条件有助于提高模型的性能,而不是对新图像进行微调。

表 5 显示,增强模型生成的非建筑场景图像在 FID 指标上优于基线模型和无损模型。较低的 FID 分数表明生成图像的自然度和质量有所提高。

总结

限制

这种方法的主要局限性在于需要一个包含消失点的数据集来微调扩散模型,而且生成速度较慢。此外,尽管主观测试表明效果有所改善,但实际图像细节和物理特性的准确性仍然不足。

社会影响

生成模型的改进也带来了一些问题。随着合成图像逼真度的提高,恶意使用和滥用工具进行识别的风险也随之增加。增加新的限制条件应能减轻这些担忧,减少滥用扩散模型的可能性。

未来举措

目前的研究主要集中在 3D 几何图形的透视上,但其他物理特性也会影响生成图像的真实性。例如,光照和阴影的一致性以及物理定律的一致性。未来的研究有望探索这些限制因素,尊重物理定律,提高逼真度和下游任务的性能。


http://www.ppmy.cn/server/29036.html

相关文章

MyBatis 核心配置讲解(下)

大家好,我是王有志,一个分享硬核 Java 技术的互金摸鱼侠。 我们书接上回,继续聊 MyBatis 的核心配置,我们今天分享剩下的 5 项核心配置。 不过正式开始前,我会先纠正上一篇文章 MyBatis 核心配置讲解(上&…

设计模式:适配器模式

设计意图 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 在某些时候,客户期望获得某种功能接口但现有的接口无法满足客户的需求…

SSL通信、证书认证原理和失败原因

目录 SSL通信SSL认证原理SSL证书认证失败的原因分析 SSL通信 SSL通信指的是使用SSL(Secure Sockets Layer)协议进行的加密通讯。SSL是一种标准的安全技术,用于建立一个加密链接,确保从用户的浏览器到服务器之间的数据传输是私密和…

分布式存储系统学习(1)

1学习来源 《大规模分布式存储系统原理解析与架构实战》--杨传辉 2学习目标 数据分布:如何使数据均匀分布到多台服务器上?分布到多台服务器后如何实现跨服务器读写操作?一致性:如何将数据的多个副本复制到多台服务器&#xff1…

中间件解析漏洞

1 、 apache 解析漏洞 漏洞环境搭建 下载 vulhub git clone https://github.com/vulhub/vulhub.git 进入对应漏洞目录、 cd vulhub/httpd/apache_parsing_vulnerability apt-get docker-compose 启动漏洞环境 docker-compose up -d 注:启动容器时&#xf…

C语言-预处理

一、C语言编译过程 预处理、编译、汇编、链接 1:预编译 将.c 中的头文件展开、宏展开 生成的文件是.i文件 2:编译 将预处理之后的.i 文件生成 .s 汇编文件 3、汇编 将.s汇编文件生成.o 目标文件 4、链接 将.o 文件链接成目标文…

【Redis 开发】多级缓存,本地进程缓存Caffeine

多级缓存 多级缓存本地进程缓存CaffeineCaffeine三种缓存驱逐策略 多级缓存 Redis处理并发的能力是非常强大的,但是tomcat的支持并发的能力跟不上Redis的性能,导致整体性能的下降 Redis缓存失效时,会对数据库产生冲击,之间再无屏…

【Docker】docker部署lnmp和搭建wordpress网站

环境准备 docker:192.168.67.30 虚拟机:4核4G systemctl stop firewalld systemctl disable firewalld setenforce 0 安装docker #安装依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 #设置阿里云镜像 yum-config-manager --add…

opencv namedWindow函数

namedWindow函数通常有两个参数: winname:这是要创建的窗口的名称。你可以在之后使用这个名称来引用该窗口。 flags:这是一个可选参数,用于指定窗口的行为。它可以是以下任何一个或多个标志的组合: cv2.WINDOW_NORMAL…

k8s-实战——kubeadm安装1.30.0

文章目录 1介绍1.1软件架构1.2版本介绍1.3组件列表2操作步骤2.1环境准备2.2获取脚本2.3节点初始化2.4组件下载2.4.1脚本执行2.4.2目录组件2.5脚本修改2.5.1修改host文件2.5.2验证ansible配置2.6安装k8s集群2.6.1查看证书有效期

图片壁纸社区app前后端开源小程序源码

图片壁纸社区APP前后端开源小程序源码,修改了开源版的前端样式,变成图片社区,也可以用来作为壁纸。 源码下载:https://download.csdn.net/download/m0_66047725/89122506 更多资源下载:关注我。

正则表达式与通配符

1. 正则表达式与通配符 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed等命令可以支持正则表达式。通配符用来匹配符合条件的文件名,通配符是完全匹配。ls、find、cp这些命令不支持正则表达式,所以只能使用she…

Zynq 7000 系列之启动模式—JTAG启动

JTAG Boot(JTAG启动)是一种使用JTAG接口来启动设备的方法。JTAG(Joint Test Action Group)是一种国际标准测试协议,最初用于对芯片进行测试,现在已广泛应用于各种设备的调试和启动过程。在JTAG Boot过程中&…

数据结构与算法-基于回溯的全排列问题

全排列问题 回溯解决全排列问题 [1,2,3];穷举,全排列问题 每次选择一个数子,利用selected记录已选择的 首先通过循环去遍历每个可能的选择,选择一个数字后,记录选择,递归进行下一次选择 #nums:给定的数组,selected&a…

【C++】匿名对象超详细详解(什么是匿名对象?对象可以是哪些类型呢?)

目录 一、前言 二、匿名对象的概念详解 🥝 语法结构 🍍概念理解 三、匿名对象的对象类型 四、匿名对象的使用 🍇简单场景的使用 🍉复杂场景的使用 五、总结 六、共勉 一、前言 在C中,匿名对象(Ano…

安全再升级,亚信安慧AntDB数据库与亚信安全二次牵手完成兼容性互认证

日前,湖南亚信安慧科技有限公司(简称:亚信安慧)的产品与亚信科技(成都)有限公司(简称:亚信安全)再次携手,完成亚信安慧AntDB数据库与亚信安全IPoE接入认证系统…

制作一个RISC-V的操作系统十六-系统调用

文章目录 用户态和内核态mstatus设置模式切换核心流程封装代码背景解释代码示例解析解释目的 用户态和内核态 mstatus设置 此时UIE设置为1和MPIE为1,MPP设置为0 代表当前权限允许UIE中断发生,并且在第一个mret后将权限恢复为用户态,同时MIE也…

我选择哪个区块链平台将作品转化为NFT最合适?

选择哪个区块链平台将作品转化为NFT,取决于您的个人需求、目标和偏好。不同的区块链平台具有不同的特点和优势,以下是一些流行的选择及其考虑因素: 1. 以太坊 (Ethereum): 优点:以太坊是最成熟和最受欢迎的NFT平台&am…

Python----列表删除

第一题: 描述 牛牛在各大互联网公司投入了简历,公司的名字通过字符串的形式在一行中输入,请用列表记录。现在牛牛已经确定了第一所公司的HR表露了不录用他的态度,请你使用del函数帮助牛牛从列表中删除第一个元素,然后输出列表。…

AForge.NET是啥

AForge.NET是一个专门为开发者和研究者基于C#框架设计的开源项目。这个框架提供了不同的类库和关于类库的资源,还有很多应用程序例子,涵盖了计算机视觉与人工智能、图像处理、神经网络、遗传算法、机器学习、模糊系统、机器人控制等多个领域。 AForge.NE…