V3D——从单一图像生成 3D 物体

导言

论文地址:https://arxiv.org/abs/2403.06738
源码地址:https://github.com/heheyas/V3D.git

人工智能的最新进展使得自动生成 3D 内容的技术成为可能。虽然这一领域取得了重大进展,但目前的方法仍面临一些挑战。有些方法速度较慢,产生的结果也不一致,还有一些方法需要在大型 3D 数据集上进行训练,从而限制了高质量图像数据的使用。

这篇评论文章的重点是利用视频扩散模型生成 3D 内容。视频扩散模型是生成详细、一致的视频场景的典型模型。由于许多视频都会从不同角度捕捉物体,因此这些模型有助于理解三维世界。

本文提出了一种名为 V3D 的新方法,它利用视频扩散模型生成物体或场景的多个视点,并根据这些视点重建三维数据。这种方法既适用于单个物体,也适用于大型场景。

在生成3D物体时,使用 360° 旋转的 3D 物体视频来训练模型,以提高准确性。此外,还引入了新的损失和模型结构,以提高生成视点的一致性和质量。

此外,为了使该方法在实际应用中切实可行,还提出了一种根据生成的数据创建三维网格的方法。该方法还扩展到支持场景级三维生成,实现了精确的摄像机路径控制和多输入视点处理。

广泛的实验,包括定性和定量评估,证明了所提出方法的卓越性能。特别是在生成质量和多视角一致性方面,它明显优于以往的研究。预计所提出的方法将克服当前三维生成技术的局限性,为基于人工智能的三维内容生成开辟新的可能性。

算法架构

概述

图 1:V3D 概述。

如图 1 所示,V3D 利用视频生成模型,通过利用预先训练的大型视频扩散模型的结构和强大的先验知识,促进一致的多视角生成。

为了从物体图像生成三维图像,利用在固定圆形摄像机位置绘制的合成三维物体的 360° 轨道视频对基础视频扩散模型进行了微调,并提出了适合生成的多视角的重建和网格提取管道。

场景级 3D 生成将 PixelNeRF 编码器纳入基础视频扩散模型,以精确控制生成帧的摄像机位置,使其能够无缝适应任意数量的输入图像。详情如下

根据目标物体的图像生成 360 度视图

为了从单一视角生成多视角图像,V3D 将围绕物体旋转的连续多视角图像解释为视频,并将以正面观看为条件的多视角生成视为一种图像到视频的生成形式。这种方法利用了大规模预训练视频扩散模型提供的对三维世界的全面理解,并解决了缺乏三维数据的问题。它还利用视频扩散模型固有的网络结构,有效生成足够数量的多视角图像。

具体来说,稳定视频扩散(SVD, Blattmann 等人,2023 年)是视频生成的一个代表性模型,在 Objaverse 数据集上进行了微调。为了增强图像到 3D 的适应性,删除了运动桶 ID 和 FPS ID 等无关条件,并使其与高度角无关。取而代之的是,物体被随机旋转,以使生成的模型能够响应非零高度的输入。

稳健的三维重建和网格提取

-三维重建使用微调视频扩散模型获取物体周围的图像后,下一步就是将其重建为三维模型。3D 高斯拼接技术(Kerblet.al, 2023 年)可用于此任务。

确保视图之间每个像素的一致性非常困难,而且会导致三维重建中出现伪影。为了解决这个问题,我们采用了逐像素损失 MSE 的方法。此外,还引入了图像级感知损失和相似性损失,以防止因 MSE 而导致纹理浮动或模糊。最终的损失定义为

-网格提取为满足实际应用的要求,我们还提出了一个生成视图的网格提取管道。为实现快速曲面重建,采用了使用多分辨率哈希网格的 NeuS(Wang etl.al,2021 年);V3D 使用法线平滑损失和稀疏正则化损失来改进几何形状,从而生成比通常 NeuS 使用情况更少的视图。V3D 使用以下方法改进几何图形。

为改善因生成的图像不一致而导致的纹理模糊,在生成的多视图中使用 LPIPS loss 对纹理进行细化,而几何图形保持不变。通过高效的可微分网格渲染,这一过程可在 15 秒内完成,从而提高最终输出的质量。

扩展到场景级 3D 生成

与对象视图生成不同,场景级 3D 生成需要沿着摄像机的路径生成图像,这就要求精确控制摄像机的方向,并适应多个输入图像。

为了应对这一挑战并保持一致性,V3D将PixelNeRF特征编码器集成到视频扩散模型中,如图 1 底部所示。

这种方法可以无缝支持任意数量的图像。模型的其他设置和结构与以对象为中心的生成类似。

试验

以对象为中心的 3D 生成

图 2:在图像到 3D 任务中与以往研究结果的比较。

本节将评估拟议的 V3D 在图像到 3D 转换中的性能,并描述与其他方法的比较结果。在图 2 的上半部分,V3D 比基于 3DGS 的 TriplaneGaussian 和 LGM 显示出更好的质量。这些方法由于生成的高斯数量有限,会产生模糊的外观。

在图 2 的底部,V3D 在前视图一致性和保真度方面优于基于 SDS 的最新 Magic123 和 ImageDream,Magic123 会产生几何形状不准确和模糊的后视图,而 ImageDream 则会产生过度饱和的纹理。所提出的方法可在不到三分钟的时间内获得结果,速度明显快于基于优化的方法。

同时,还对生成的 3D 物体进行了人体评估研究。具体来说,58 名志愿者被要求在观看根据 30 幅条件图像渲染的 360° 螺旋视频时,对 V3D 和其他方法生成的物体进行评价。两个评价标准是

  • (a) 一致性:三维资产与条件图像的匹配程度。
  • (b) 保真度:生成物体的逼真程度。

表 1 显示了每种方法在这两个标准上的胜率。

总体而言,V3D 被评为最有说服力的模型,在图像一致性和保真度方面都明显优于其他竞争方法。

表 1.人类评估结果

场景级 3D 生成

在 CO3D 数据集的 10 个类别子集上测试了提议的 V3D 在场景级 3D 生成中的性能。在每个视频类别中,只对 V3D 的一个历元进行了微调,以便与之前研究中的设置相匹配。

结果见表 2。

所提出的方法在图像指标方面始终优于以往的研究,证明了使用预训练视频扩散模型进行场景级 3D 生成的有效性。零镜头版本的 V3D(完全在 MVImgNet 上训练)也优于之前的大多数研究。

表 2. 与之前 CO3D 研究的比较结果

图 3 显示了 SparseFusion 和 V3D 在 CO3D 数据集的消防栓子集中生成的多视图的定性比较。为了进行更详细的比较,我们在 COLMAP 中使用相机姿态进行了多视角立体重建,图 3 显示了生成的点云中的点数以及与真实图像重建的点云之间的倒角距离。

结果表明,由 V3D 生成的图像重建的点云包含更多的点,而且更接近于由真实图像重建的点云。换句话说,无论是在重建质量还是多视角一致性方面,拟议方法都具有显著优势。

图 3. CO3D 中的定性评估。

总结

本文介绍了 V3D,它能从单张图像生成 3D 物体。

V3D 利用视频生成模型,利用大型预训练视频扩散模型的结构和丰富的先验知识,实现一致的多视角生成。此外,还提出了一种新的重建管道和学习损失,以实现一致且高精度的三维物体重建。

通过广泛的定性、定量和人工评估,证明了所提出方法的卓越性能。特别是在生成质量和多视角一致性方面,它明显优于以往的研究。所提出的方法有望突破当前三维生成技术的限制,为基于人工智能的三维内容生成开辟新的可能性。

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

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

相关文章

Part_one C/C++语言数据类型、运算符与表达式

1.0 编写第一个C程序 1.打开Visual Studio点击"创建新项目" 2.点击"空项目",并点击"下一步" 3.设置"项目名称"并"设置地址" 4.打开项目后,右击"源文件"并选择"添加"的"新建…

基于yolov8深度学习的120种犬类检测与识别系统python源码+onnx模型+评估指标曲线+精美GUI界面目标检测狗类检测犬类识别系统

【算法介绍】 基于YOLOv8深度学习的120种犬类检测与识别系统是一款功能强大的工具,该系统利用YOLOv8深度学习框架,通过21583张图片的训练,实现了对120种犬类的精准检测与识别。 该系统基于Python与PyQt5开发,具有简洁的UI界面&a…

程计软考题2-编译、解释程序翻译阶段

(一) 编译器和解释器的工作阶段 1.编译和解释与源程序的区别 分析:编译和解释是语言处理的两种基本方式。 编译过程包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段,以及符号表管理和出错处理模块。 解释过程在词法、语…

数字经济与新质生产力:地理信息与遥感视角下的深度分析

在数字化浪潮的推动下,我们正见证着生产力的一次历史性飞跃。数字经济如何重塑生产力的三大要素:劳动对象、劳动资料和劳动者?让我们来深度分析数字经济如何推动新质生产力的发展。 一、数字经济与地理信息的融合 地理信息与遥感技术是数字…

【数据结构】什么是红黑树(Red Black Tree)?

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 📌红黑树的概念 📌红黑树的操作 🎏红黑树的插入操作 🎏红黑树的删除操作 结语 📌红黑树的概念 我们之前学过了…

PyGWalker:让你的Pandas数据可视化更简单,快速创建数据可视化网站

1、PyGWalker应用: 在数据分析的过程中,数据的探索和可视化是至关重要的环节,如何高效地将分析结果展示给团队、客户,甚至是公众,是很多数据分析师和开发者面临的挑战,接下来介绍的两大工具组合——PyGWalker与Streamlit,可以帮助用户轻松解决这个问题,即使没有复杂的代…

cheese安卓版纯本地离线文字识别插件

目的 cheese自动化平台是一款可以模拟鼠标和键盘操作的自动化工具。它可以帮助用户自动完成一些重复的、繁琐的任务,节省大量人工操作的时间。可以采用Vscode、IDEA编写,支持Java、Python、nodejs、GO、Rust、Lua。cheese也包含图色功能,识别…

HarmonyOS鸿蒙 Next 实现协调布局效果

HarmonyOS鸿蒙 Next 实现协调布局效果 ​ 假期愉快! 最近大A 的涨势实在是红的让人晕头转向,不知道各位收益如何,这会是在路上,还是已经到目的地了? 言归正传,最近有些忙,关于鸿蒙的实践系列有些脱节了,…

TCP --- 确认应答机制以及三次握手四次挥手

序言 在前一篇文章中,我们介绍了 UDP协议 (点击查看)👈,该协议给我们的感觉就两个字 — 简单,只是将我们的数据进行简单的添加报头然后发送。当然使用起来虽然简单,但是否能送到目的地,那就要看网络的状态了…

深度学习——线性神经网络(一、线性回归)

目录 一、线性回归1.1 线性回归的基本元素1.1.1 术语介绍1.1.2 线性模型1.1.3 损失函数1.1.4 解析解1.1.5 随机梯度下降1.1.6 模型预测 1.2 正态分布与平方损失 因为线性神经网络篇幅比较长,就拆成几篇博客分开发布。目录序号保持连贯性。 一、线性回归 回归&#x…

[Linux] Linux 的进程如何调度——Linux的 O(1)进程调度算法

标题:[Linux] Linux 的进程如何调度——优先级与进程调度 个人主页水墨不写bug 目录 一、前言 二、将要出现的概念 1.进程调度队列 2.位图 3.进程的优先级 三、Linux进程的调度过程 1.活动队列(*active指向的队列) 2.过期队列&#…

LeetCode[中等] 763. 划分字母区间

给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。 思路 贪心…

Centos 7.9 Kubeadm安装k8s1.20.11

一、环境 主机用途192.168.76.140k8s-master1192.168.76.141k8s-node1 二、设置yum源 由于系统已经关闭,可以用centos9尝试 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak vi /etc/yum.repos.d/CentOS-Base.repo# 使用阿里云的y…

【动态规划-分组背包】【hard】力扣2218. 从栈中取出 K 个硬币的最大面值和

一张桌子上总共有 n 个硬币 栈 。每个栈有 正整数 个带面值的硬币。 每一次操作中,你可以从任意一个栈的 顶部 取出 1 个硬币,从栈中移除它,并放入你的钱包里。 给你一个列表 piles ,其中 piles[i] 是一个整数数组,分…

FOC电机驱动开发踩坑记录

关键技术 SVPWM电机磁场控制电流采样park变换和Clark变换滑膜观测器(无感FOC) SVPWM电机磁场控制 SVPWM主要思想是通过精确的对UVW三相电流的分时控制,来控制转子的合成力矩,达到目标方向,常用的是6分区的设计&…

浅谈汽车智能座舱如何实现多通道音频

一、引言 随着汽车智能座舱的功能迭代发展,传统的 4 通道、6 通道、8 通道等音响系统难以在满足驾驶场景的需求,未来对于智能座舱音频质量和通道数会越来越高。接下来本文将浅析目前智能座舱如何实现音频功放,以及如何实现多路音频功放方案。…

C语言+单片机

今天内容有点水哈哈&#xff08;忙着练焊铁技术了嘻嘻&#xff09; C语言 简单学习了while语言以及其与for语言的区别和适用方法 .循环结构&#xff1a; 初始化语句条件判断句条件控制句 for语句 for(int1;i<100;i){执行条件} for (int i 1; i < 100; i) {printf(&quo…

leetcode每日一题day22(24.10.2)——准时到达的列车最小时速

思路&#xff1a;这种在有约束条件情况下&#xff0c;求最值或最符合要求的情况&#xff0c;首先是很容易想到&#xff0c;从时速为1开始往后找找到满足条件就输出&#xff0c;但这无疑工程量很大&#xff0c;每种可能的速度都要对列车数组进行遍历&#xff0c; 时间复杂度为C…

Stable Diffusion绘画 | 来训练属于自己的模型:LoRA模型验收

我们每次训练出来的模型&#xff0c;一般都会生成 20-30 个&#xff0c;至于哪个模型符合要求&#xff0c;较为理想呢&#xff1f; 接下来需要对每个 LoRA模型 进行逐一对比测试。 为了测试模型的泛化性&#xff0c;可选择使用一些较为特殊的提示词&#xff0c;看看各个模型对…

828华为云征文 | 云服务器Flexus X实例:向量数据库 pgvector 部署,实现向量检索

目录 一、什么是向量数据库 pgvector &#xff1f; 二、pgvector 部署 2.1 安装 Docker 2.2 拉取镜像 2.3 添加规则 三、pgvector 运行 3.1 运行 pgvector 3.2 连接 pgvector 3.3 pgvector 常见操作 四、总结 本篇文章通过 云服务器Flexus X实例 部署向量数据库 pgve…