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

论文阅读——MVDiffusion

MVDiffusion: Enabling Holistic Multi-view Image Generation with Correspondence-Aware Diffusion

文生图模型

用于根据给定像素到像素对应关系的文本提示生成一致的多视图图像。

MVDiffusion 会在给定任意每个视图文本的情况下合成高分辨率真实感全景图像,或将一幅透视图像推断为完整的 360 度视图。

对于以深度/姿势为条件的多视图图像生成,MVDiffusion 展示了场景网格纹理的最先进性能。

MVDiffusion 通过运行稳定扩散模型的多个副本/分支来同时生成多个图像,并采用新颖的分支间“对应感知注意”(CAA)机制来促进多视图一致性。

Panorama generation任务:

全景图是通过生成八个透视图来实现的,每个透视图具有 90° 的水平视场和 45° 的重叠。为了实现这一目标,我们通过生成模块使用冻结的预训练稳定扩散模型生成八个 512 × 512 图像

CCA:特征图之间的交叉注意力:

在条件图像的 UNet 分支中,我们将一个由 1 组成的掩码连接到图像(总共 4 个通道)。然后,该串联图像用作修复模型的输入,这确保条件图像的内容保持不变。相反,在目标图像的 UNet 分支中,我们将黑色图像(像素值为零)与零掩码连接起来作为输入,从而要求修复模型根据文本生成全新的图像条件以及与条件图像的对应关系。

训练CAA模块。

Multiview depth-to-image generation任务

多视图深度到图像任务旨在生成给定深度/姿势的多视图图像。

MVDiffusion 的过程从生成模块生成关键图像开始,然后由插值模块进行致密化以获得更详细的表示。

多视图深度图像生成的生成模块与全景图生成的生成模块类似。

MVDiffusion 的插值模块受 VideoLDM 的启发,在一对“关键帧”之间创建 N 个图像,这些图像之前已由生成模块生成。该模型采用与生成模型相同的 UNet 结构和对应注意力权重,具有额外的卷积层,并使用高斯噪声重新初始化中间图像和关键图像的潜在特征。该模块的一个显着特征是关键图像的 UNet 分支以已生成的图像为条件。具体来说,这个条件被合并到每个 UNet 块中。在关键图像的 UNet 分支中,生成的图像与 1 的掩码(4 个通道)连接,然后使用零卷积运算将图像下采样到相应的特征图大小。这些下采样条件随后被添加到 UNet 模块的输入中。对于中间图像的分支,我们采取不同的方法。我们将像素值为零的黑色图像附加到零掩码,并应用相同的零卷积运算对图像进行下采样以匹配相应的特征图大小。这些下采样条件也被添加到 UNet 模块的输入中。此过程本质上是对模块进行训练,以便当掩码为 1 时,分支重新生成条件图像,而当掩码为零时,分支生成中间图像。

采用两阶段的培训过程。在第一阶段,我们使用所有 ScanNet 数据对 SD UNet 模型进行微调。此阶段是没有 CAA 块的单视图训练。在第二阶段,我们将 CAA 块和图像条件块集成到 UNet 中,并且仅训练这些添加的参数。我们使用与全景生成相同的损失来训练模型。

计算资源:

4 NVIDIA RTX A6000 GPUs

实验结果:

相关文章:

  • 【代码随想录】day38
  • 基于SpringBoot+Vue+Mysql的图书管理系统
  • 3.10 Python数据类型转换
  • ubuntu sudo时候LD_LIBRARY_PATH设置问题
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • Spring声明式事务(Spring学习笔记十三)
  • 腾讯云故障,该如何规避?
  • 前台往后台传值,null到后台变成了undefined ,NaN到了后台变成了null
  • IMBoy缓存系统深度解析:为何选择depcache而非ETS或Redis
  • 基于单片机数码管20V电压表仿真设计
  • LeetCode-热题100:152. 乘积最大子数组
  • 自动驾驶中的传感器融合算法:卡尔曼滤波器和扩展卡尔曼滤波器
  • 无人机飞行知识
  • Vue的模块化开发初探
  • 十四款大型语言模型在《街头霸王III》中一决雌雄
  • “大数据应用场景”之隔壁老王(连载四)
  • 「译」Node.js Streams 基础
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • css布局,左右固定中间自适应实现
  • CSS实用技巧干货
  • gf框架之分页模块(五) - 自定义分页
  • Java基本数据类型之Number
  • learning koa2.x
  • leetcode讲解--894. All Possible Full Binary Trees
  • MaxCompute访问TableStore(OTS) 数据
  • Next.js之基础概念(二)
  • Python学习之路16-使用API
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • SpriteKit 技巧之添加背景图片
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • 关于Flux,Vuex,Redux的思考
  • 模型微调
  • 线性表及其算法(java实现)
  • 选择阿里云数据库HBase版十大理由
  • ​io --- 处理流的核心工具​
  • #FPGA(基础知识)
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)php新闻发布平台 毕业设计 141646
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .net 中viewstate的原理和使用
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .Net中的设计模式——Factory Method模式
  • /proc/stat文件详解(翻译)
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @WebServiceClient注解,wsdlLocation 可配置
  • [8-23]知识梳理:文件系统、Bash基础特性、目录管理、文件管理、文本查看编辑处理...
  • [bzoj1006]: [HNOI2008]神奇的国度(最大势算法)
  • [C# WPF] DataGrid选中行或选中单元格的背景和字体颜色修改
  • [Day 8] 區塊鏈與人工智能的聯動應用:理論、技術與實踐