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.mzph.cn/web/5475.shtml

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

相关文章

点成分享 | 温度控制的艺术:TX150系列水浴中的稳定性与均匀性解析

前言 在实验室和工业生产中,温度控制对于确保实验结果的精确性和产品的高质量至关重要,尤其是针对温度敏感的样品和原材料,如蛋白酶等,微小的温度误差都会对实验结果可靠性和生产质量造成影响。而在控温性能中,稳定性…

自学Java要到什么程度才足够能力去实习和就业?

引言 Java,作为当今软件开发领域的主流编程语言之一,对于初学者而言,明确掌握到什么程度才能开始寻找实习和入职机会是至关重要的。这涉及到对Java知识体系的理解深度、技能掌握程度以及实际项目经验的积累。 本文将分别从实习和入职两个不…

学习VUE2第6天

一.请求拦截器 可以节流,防止多次点击请求 toast是单例 二.前置路由守卫 在Vue.js中,前置路由守卫是指在路由转换实际发生之前执行的钩子函数。这是Vue Router(Vue.js官方的路由管理器)提供的一种功能,允许开发者在用…

UNI-APP_拨打电话权限如何去掉,访问文件权限关闭

uniapp上架过程中一直提示:允许“app名”拨打电话和管理通话吗? uniapp配置文件:manifest.json “permissionPhoneState” : {“request” : “none”//拨打电话权限关闭 }, “permissionExternalStorage” : {“request” : “none”//访…

CAN总线介绍及在ZYNQ 7020中的应用

一、CAN总线协议介绍 1.CAN是 Controller Area Network 的缩写(以下称为 CAN ),是 ISO 国际标准化的串行通信协议。可以用来满足“多总线通信时,线束的数量过多”、“通过多个 LAN ,进行大量数据的高速通信”的需要。…

FIFO Generate IP核使用——Native接口Basic页配置

Xilinx FIFO Generator IP核是一个经过全面验证的先入先出(FIFO)内存队列,专为需要按顺序存储和检索的应用而设计。该IP核为所有FIFO配置提供了优化解决方案,并在利用最小资源的同时实现最大性能(高达500MHz&#xff0…

《Python编程从入门到实践》day19

#昨日知识点回顾 使用unittest模块测试单元和类 #今日知识点学习 第12章 武装飞船 12.1 规划项目 游戏《外星人入侵》 12.2 安装pygame 终端管理器执行 pip install pygame 12.3 开始游戏项目 12.3.1 创建Pygame窗口及响应用户输入 import sysimport pygameclass…

Android4.4真机移植过程笔记(三)

如果文章字体看得不是很清楚,大家可以下载pdf文档查看,文档已上传~oo~ 7、安装加密APK 需要修改文件如下: 相对Android4.2改动还是蛮大的,有些文件连路径都变了: //Android4.2 1、frameworks/native/libs…

tableau基础学习——添加标靶图、甘特图、瀑布图

标靶图 添加参考线 添加参考分布 甘特图 创建新的字段 如设置延迟天数****计划交货日期-实际交货日期 为正代表提前交货,负则代表延迟交货 步骤:创建——计算新字段 把延迟天数放在颜色、大小里面就可以 瀑布图 两个表按照地区连接 先做个条形图&…

Linux的vim下制作进度条

目录 前言: 回车和换行有区别吗? 回车和换行的区别展示(这个我在Linux下演示) 为什么会消失呢? 回车和换行的区别 为什么\r和\n产生的效果不同? 打印进度条: (1)打印字符串 …

Anomalib:用于异常检测的深度学习库!

大家好,今天给大家介绍了一个用于无监督异常检测和定位的新型库:anomalib,Github链接:https://github.com/openvinotoolkit/anomalib 简介 考虑到可重复性和模块化,这个开源库提供了文献中的算法和一组工具,以通过即插即用的方法设计自定义异常检测算法。 Anomalib 包…

【STM32】快速使用F407通用定时器输出可变PWM

网上的文章太啰嗦,这里直接开始。 使用的是STM32CubeIDE,HAL。以通用定时器TIM12在 通道2上输出1KHz的PWM为例。 要确定输出的引脚、定时器连接在哪里。 TIM2、3、4、5、12、13、14在APB1上,最大计数频率84M。 TIM1、8、9、10、11在APB2…

RS0102YH8功能和参数介绍及如何计算热耗散

RS0102YH8功能和参数介绍-公司新闻-配芯易-深圳市亚泰盈科电子有限公司 RS0102YH8 是一款电平转换芯片,由润石(RUNIC)公司生产。以下是关于RS0102YH8的一些功能和参数的介绍: 电平转换功能: RS0102YH8旨在提供电平转换…

Web APIs 学习归纳5--- BOM浏览器对象

前面几节主要针对DOM进行了学习,现在开始新的内容的学习---DOM浏览器对象。 DOM是更注重页面(document)内容的设计,但是BOM不仅限于页面(document)的设计,而是更加全面包括页面的刷新&#xff0…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-8.2-链接脚本

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

C++入门基础(二)

目录 缺省参数缺省参数概念缺省参数分类全缺省参数半缺省参数声明与定义分离 缺省参数的应用 函数重载函数重载概念例子1 参数类型不同例子2 参数的个数不同例子3 参数的顺序不同 C支持函数重载的原理--名字修饰(name Mangling) 感谢各位大佬对我的支持,如果我的文章对你有用,欢…

傲软录屏(ApowerREC)一款简单好用的录屏软件,中文破姐版 v1.6.9.6(240501)

软件介绍 傲软录屏,是由ApowerREC开发的一款高级录屏软件,兼容多个操作系统平台,包括Windows、Mac以及基于安卓和iOS的设备。这款专业工具具备捕捉各类屏幕活动的能力,确保音视频同步,无论用户是进行电脑桌面操作、参…

算法入门<二>:分治算法之汉诺塔问题及递归造成的栈溢出

1、分治算法 分治(divide and conquer),全称分而治之,是一种非常重要且常见的算法策略。分治通常基于递归实现,包括“分”和“治”两个步骤。 分(划分阶段):递归地将原问题分解为两…

ARM学习(27)链接库依赖学习(二)dlopen failed:library xxxx.so

笔者继续学习一下链接的依赖库。 1、起因 Android下面需要需要一个日志解码库,所以笔者就编译了一个parse.so来进行解码, 编译器:Clang,基于llvm后端的编译器平台:交叉编译,linux -> aarch64 linux An…

Angular中的管道(Pipe)

Angular中的管道(Pipe) 文章目录 Angular中的管道(Pipe)前言一、内置管道1. date管道格式化日期2. currency管道格式化货币3. uppercase和lowercase管道转换字符串大小写4. 小数位数5. JavaScript 对象序列化6. slice7. 管道链 二、自定义管道 前言 Angular中的管道&#xff0…