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 几何图形的透视上,但其他物理特性也会影响生成图像的真实性。例如,光照和阴影的一致性以及物理定律的一致性。未来的研究有望探索这些限制因素,尊重物理定律,提高逼真度和下游任务的性能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

茅台葡萄酒打出节日新式营销“组合拳”,两月内落地品鉴会超千桌

执笔 | 尼 奥 编辑 | 古利特 2024年1-3月酒类进出口数据显示,葡萄酒进口量微增3.66%,进口额同比下滑11%,一季度整体跌势大缓,逐步走出普遍低迷的行情。与之相反的是,作为国产葡萄酒代表的茅台葡萄酒继续保持向上的战…

【C++】 认识多态 + 多态的构成条件详细讲解

前言 C 目录 1. 多态的概念2 多态的定义及实现2 .1 虚函数:2 .2 虚函数的重写:2 .2.1 虚函数重写的两个例外: 2 .3 多态的两个条件(重点)2 .4 析构函数为啥写成虚函数 3 新增的两个关键字3.1 final的使用:3…

线程详解(接上篇博客)

目录 1.生产者消费者模型; 2.基于环形队列的生产者消费者模型; 3.线程池; 4.STL, 智能指针, 线程安全; 5.读者写者问题. 前言: 本篇博客博主五一假期都在肝的一篇, 希望xdm点点三连, 博主感谢了 onz !!! 1.生产者消费者模型 321原则:(便于记忆) 3是指3种关系: 生产者和生产…

赚钱的背后逻辑!2024创业干什么最赚钱?2024创业方向!2024普通人的出路!2024普通人最有前景的行业!

钱根本不是赚来的。钱,是你帮别人解决问题后,对方给你的回报。什么时候把这句话理解透了,钱就会反过来追你。 问题就是每个人的痛点,痛点就是需求,男人怕穷,女人爱美,老人怕病,小孩怕…

OpenHarmony实战开发-管理位置权限

Web组件提供位置权限管理能力。开发者可以通过onGeolocationShow()接口对某个网站进行位置权限管理。Web组件根据接口响应结果,决定是否赋予前端页面权限。获取设备位置,需要开发者配置ohos.permission.LOCATION,ohos.permission.APPROXIMATE…

面试笔记——类加载器

基础 类加载器:用于装载字节码文件(.class文件)运行时数据区:用于分配存储空间执行引擎:执行字节码文件或本地方法垃圾回收器:用于对JVM中的垃圾内容进行回收 类加载器 :JVM只会运行二进制文件,类加载器的…

LLM——用于微调预训练大型语言模型(LLM)的GPU内存优化与微调

前言 GPT-4、Bloom 和 LLaMA 等大型语言模型(LLM)通过扩展至数十亿参数,实现了卓越的性能。然而,这些模型因其庞大的内存需求,在部署进行推理或微调时面临挑战。这里将探讨关于内存的优化技术,旨在估计并优…

2025第23届太原煤炭(能源)工业技术与装备展览会

第二十三届太原煤炭(能源)工业技术与装备展览会 邀 请 函 指导单位: 中国煤炭工业协会 主办单位:山西省煤炭工业协会 承办单位:太原奇新展览有限公司 展览时间:2025年4月22-24日 展览地点&#xff1a…

jenkins+gitlab+sonar自由风格项目配置

新建项目&基本配置 gitlab侧配置 sonar.projectKeytest_sonar sonar.projectNametest_sonar sonar.projectVersion1.0 sonar.sources. sonar.exclusionssrc/layout/** sonar.sourceEncodingUTF-8 sonar.nodejs.executable/app/nodejs/node-v16.20.2-linux-x64/bin/node配置…

cURL:命令行下的网络工具

序言 在当今互联网时代,我们经常需要与远程服务器通信,获取数据、发送请求或下载文件。在这些情况下,cURL 是一个强大而灵活的工具,它允许我们通过命令行进行各种类型的网络交互。本文将深入探讨 cURL 的基本用法以及一些高级功能…

智能AI摄像头项目

项目概要 硬件说明:易百纳rv1126 38板,易百纳GC2053摄像头,拓展版(自绘),屏幕驱动板(自绘),3.1inch mipi屏,FT5316触摸屏 开发环境 硬件分析 开发环境及sd…

数据结构十一:数组相关经典面试题

本篇博客详细介绍分析数组/顺序表常见的面试题,对于前面所学知识进行一个巩固,同时介绍一些力扣刷题中的一些概念:如:输出型参数等,在刷题中培养自己的编程思维,掌握常见的编程套路,形成题感&am…

KernelSU 如何不通过模块,直接修改系统分区

刚刚看了术哥发的视频,发现kernelSU通过挂载OverlayFS实现无需模块,即可直接修改系统分区,很是方便,并且安全性也很高,于是便有了这篇文章。 下面的教程与原视频存在差异,建议观看原视频后再结合本文章进行操作。 在未进行修改前,我们打开/system/文件夹,并在里面创建…

Junit 测试中如何对异常进行断言

本文对在 Junit 测试中如何对异常进行断言的几种方法进行说明。 使用 Junit 5 如果你使用 Junit 5 的话,你可以直接使用 assertThrows 方法来对异常进行断言。 代码如下: Exception exception = assertThrows(NumberFormatException.class, () -> {new Integer("on…

fiscobcos 3.x linux安装与java简单调用

所用环境 vmware 16 Pro centos7.6 jdk11.0.6 ideal 2022 1、安装fiscobcos # 创建操作目录 # cd ~ && mkdir -p fisco && cd fisco# 下载建链脚本 # curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v3.6.0/build_chain.sh &a…

Spring Security + JWT 实现登录认证和权限控制

Spring Security JWT 实现登录认证和权限控制 准备步骤 准备好一些常用的工具类,比如jwtUtil,redisUtil等。引入数据库,mybatis等,配置好controller,service,mapper,保证能够正常的数据请求。…

【python】条件语句与循环语句

目录 一.条件语句 1.定义 2.条件语句格式 (1)if (2)if-else (3)elif功能 (4)if嵌套使用 3.猜拳游戏 二.循环语句 1. while循环 2.while嵌套 3.for循环 4.break和conti…

k8s部署skywalking(helm)

官方文档 官方文档说明:Backend setup | Apache SkyWalking官方helm源码:apache/skywalking-helm官方下载(包括agent、apm):Downloads | Apache SkyWalking 部署 根据官方helm提示,选择你自己部署的方式&#xff0c…

PyTorch深度学习框架:从入门到实战

前言 学习 PyTorch 深度学习框架之前先学会深度学习和卷积神经网络 CNN ,这样学习起来会更香嗷。 Windows系统下PyTorch的环境配置 Anaconda是什么: Anaconda是一个开源的Python发行版本,专注于数据分析领域。它包含了conda、Python等190多…

解决python/pycharm中import导入模块时报红却能运行的问题

一、问题 导入时报红,如下 二、解决 右键单击项目,将项目Mark Directory as→Sources Root 三、效果 报红消失 学习导航:http://www.xqnav.top