论文阅读:Real-Time 3D Model Acquisition

news2024/11/17 17:32:31

前言:

本文为记录自己在NeRF学习道路的一些笔记,包括对论文以及其代码的思考内容。

小编目前在探索3DAIGC和3D打印交叉研究,在这方面有想法、经验的朋友都可以在b站留言交流下!欢迎!

公众号: AI知识物语 B站:出门吃三碗饭

前半部分是英文介绍,后半部分是中文介绍,可以自行跳转

论文:Real-Time 3D Model Acquisition

1.摘要

这篇论文介绍了一种新的实时3D模型获取系统,该系统允许用户在扫描物体时手动旋转物体,并实时看到模型的更新。这种紧密的反馈循环使用户能够实时发现并填补模型中的孔洞,并确定何时完全覆盖了物体。系统基于60 Hz的结构光测距仪、实时版本的迭代最近点(ICP)算法用于对齐,以及基于点的合并和渲染算法。作者展示了他们的原型系统比传统的模型获取流程更快、更易于扫描物体的能力。

在这里插入图片描述
a.系统布局 它由显示结构光图案的 DLP 投影仪和 NTSC 摄像机组成。 添加了绿线和蓝线在这个可视化中。

在这里插入图片描述
b.Photograph of a turtle figurine approximately 18cm. long.

在这里插入图片描述
c.扫描开始后不久,数据积累得相对稀疏 我们的合并数据结构使用的各个点基元是可见的。

在这里插入图片描述
d.经过几秒钟的扫描,海龟的前部已经被覆盖得比较好 然而,用户看到一些剩余的孔。

在这里插入图片描述
e.收集所有数据后,将使用高质量离线全局配准和表面重建算法产生最终模型

上图为实时三维模型采集系统扫描了一个小乌龟雕像。总扫描时间为4分钟,最终模型的分辨率为每毫米,包含大约20万个多边形。

2.引言

目的:减少对人类输入的依赖,通过测量真实世界来创建复杂场景的真实图像。

3D扫描:用于渲染的复杂对象的详细模型构建。

现有技术:大多数3D扫描仪一次只能从物体的一侧(或一小部分)获取数据,需要从多个视图移动扫描仪或物体以覆盖整个物体

3.Real-Time Range Scanning Pipeline实时范围扫描管道

系统设计:介绍了结构光测距仪、实时对齐算法、体素基合并算法和基于splat的渲染器。

结构光测距:使用投影结构光三角测量法,允许慢速移动物体,并每秒返回完整的范围图像。

快速3D注册:使用ICP算法的变种,针对小的相对运动进行优化。

合并与渲染:使用基于体素网格的合并算法和splat渲染技术,以实时显示不断增长的测距样本集。
在这里插入图片描述
如图为基于网格的合并和渲染。 每个距离图像的样本在体素网格中量化,并与其他扫描的样本合并。 在每个网格单元处累积平均法线,并使用splatting来渲染合并的样本。 所有这些插图均代表平面图,但底行的板条已转向面向读者以便可以看到它们的形状和颜色。
在这里插入图片描述
如果扫描中没有噪声并且对齐是完美的,则在我们基于网格的合并数据结构中只会累积少量体素(左)。 在实践中,我们看到更广泛的体素层(右)。 这会导致轮廓变厚和渲染噪点增加。 然而,整体视觉效果仍然可以接受,因为图块是使用平均值进行着色的
法线。

4.Anchor Scans and Restarting Alignment锚点扫描和重新对齐

ICP失败:如果ICP失败,系统会尝试重新对齐新扫描与先前的模型。

锚点扫描:维护一些锚点扫描,以便在ICP失败后尝试对齐。

5.实现

硬件:使用Compaq MP1800 DLP投影仪和Sony DXC-LS1 NTSC摄像机。
CPU使用:双CPU系统,一个用于视频帧处理,另一个用于3D点三角测量、扫描对齐、网格集成和渲染。

6.结果

实时管道与后处理:比较了实时管道的结果与全局注册和VRIP表面重建的后处理版本。

与其他扫描仪的比较:将作者的扫描仪与商用单条纹激光三角测量扫描仪进行了比较。

在这里插入图片描述
海龟雕像的后处理阶段如图 所示。
(a) 扫描完成时的网格数据结构。 黑色斑点是由于未检测到的异常点和不正确的法线造成的,而不是孔洞。

(b) 来自网格的数据显示为三角距离图像,每个图像都具有不同的颜色。 为了清楚起见,我们仅显示每十分之一的范围图像。

© 距离图像已与全局配准算法对齐。 请注意,可见的恒定颜色区域较少(即扫描的相互渗透更多),表明已实现更好的对齐。

(d) VRIP 表面重建算法已用于生成单个合并表面。

7.总结

本文描述了一种新型 3D 模型采集系统,其设计成本低廉、快速且易于使用,并演示了原型实现的结果。 与以前的系统相比,我们的设计允许用户手动旋转物体,并在扫描物体时看到不断更新的模型,从而提供有关孔的存在和已覆盖的表面量的即时反馈。 该系统使用现成的组件并在当今的 CPU 上运行。 向用户提供实时反馈的能力已经产生整个模型采集流程的优势。

除了简化视图规划问题之外,事实证明,它在对齐失败后重新启动方面很有用,并促使采取积极的策略来拒绝异常值。 我们预计未来将致力于探索高数据速率和即时用户反馈如何影响 3D 扫描管道。 在此,我们仅对未来的工作提出一些想法; 更完整的列表可以在 [Rusinkiewicz 2001] 中找到。

这里描述的系统可以通过多种方式得到改善。 有些,例如获取纹理,会相对容易地合并到我们的管道中。 其他可能涉及硬件的变化,例如更高分辨率的相机和投影仪(用于更高质量的数据或更大的工作量),高速相机和投影仪(用于更快的允许运动),或多台相机或投影仪(用于更快的扫描和扫描)。 更好的覆盖范围)。

除了硬件的改进之外,一种可能的算法是通过提高 CPU 速度或定制硬件,麦克风的改进可能会提高实时合并和渲染算法的质量。 例如,如果 CPU 速度快一个数量级,则可以实现隐式表面重建算法(例如 VRIP),并提取多边形网格或使用体积渲染硬件以交互方式显示它。

另一个潜在的改进是允许管道使用后期阶段的可用数据来帮助早期阶段。 例如,边缘检测或跟踪中的模糊性可以通过查看其他范围图像,甚至查看累积模型来解决。 通过将整个管道置于概率框架中,人们可以通过置信度估计来维持多种假设,并尽可能延迟做出不可撤销的决策。 对于某些类别的对象,人们可能会考虑解决存在非刚性变形时的模型获取问题。

尽管我们当前管道的第一阶段(3D 扫描仪)可以处理变形,但对齐和合并阶段将需要相当大的改变。 最近有一些关于跟踪非刚性物体的工作[Costeira 和 Kanade 1998; 布雷格勒等人。 2000],尽管其中大部分假设初始模型可用或者变形受到严格限制。 获取可变形模型对于捕捉人类动画特别有吸引力[Allen 等人。 2002]。

最后,我们注意到使用三角测量的一个主要好处 -基于系统的优点是它有可能扩展到许多不同的工作量。 人们可以想象将系统放大以扫描建筑物内部或电影布景,或将其缩小以用于工业检查或医学应用。 放大时的主要问题是基线的物理尺寸、投影仪发出足够的光(相对于环境光)以及相机和投影仪的景深。 当缩小尺寸时,主要的挑战将涉及焦点和衍射极限光。

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

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

相关文章

vue3+ts--实际开发之--table表格打印或者保存

vue3实现指定区域打印(导出)功能-主要是解决分页内容分割问题 一、 问题页面效果二、 Print.js相关属性 和使用1. 介绍2. 安装引入3. PrintJS参数配置表 三 、解决关于分页文字或者表格被分割问题,解决后如下:1. 设置一个自定义ta…

手机端如何生成gif?一个方法在线转换gif

当我们看到网络上好看个性的gif动画表情包的时候是不是也很想自己制作呢?很多小伙伴都不知道要怎么在手机上制作gif动图吧!下面,给大家分享一款操作简单无需下载的动态图片在线制作(https://www.gif.cn/)的操作工具&am…

巨资回流,量子投资热潮再起

一股新的信心和资金浪潮正在席卷量子计算产业。 2023年4月30日,澳大利亚联邦政府和昆士兰州政府宣布共同出资9.4亿澳元(约合6.2亿美元),支持美国初创企业PsiQuantum在布里斯班附近建设一台大型量子计算机。这项投资是最新的迹象之…

【OceanBase诊断调优】—— 磁盘性能问题导致卡合并和磁盘写入拒绝排查

适用版本 OceanBase 数据库 V3.x、V4.x 版本。 问题现象 OceanBase 集群合并一直未完成,同时 tsar 和 iostat 显示从凌晨 2:30 开始磁盘使用率一直是 100%。怀疑合并导致 IO 上升,IO 可能存在问题,observer.log 的确有大量报错 disk is hu…

哪里有高清视频素材网站?有没有视频素材网站?

在这个数字内容不断演化的时代,寻找优质的视频素材是每个创作者的必经之路。尤其是可商用和高清素材,它们对提升作品的视觉效果和吸引力至关重要。以下介绍几个国际知名的视频素材网站,旨在帮助您找到理想的视频资源。 1. 蛙学府 为订阅者提…

AOF持久化是怎么实现的?

AOF持久化是怎么实现的? AOF 日志三种写回策略AOF 重写机制AOF 后台重写总结参考资料 AOF 日志 试想一下,如果 Redis 每执行一条写操作命令,就把该命令以追加的方式写入到一个文件里,然后重启 Redis 的时候,先去读取这…

MySQL——变量的浮点数问题处理

新建链接,自带world数据库,里面自带city表格。 DQL #MySQL变量的浮点数问题处理 set dx3.14,dy3.25; select dxdy;#计算显示异常,会有很多00000的提示set resultdxdy; select result; 查询结果

HTML5/CSS3粒子效果进度条 超炫酷进度条动画源码

特效介绍 之前我已经分享了几款效果很不错的CSS3进度条插件,比如CSS3 Loading进度条加载动画特效、CSS3 3D进度条按钮 18款精美样式。今天我再来分享一款很有特色的HTML5/CSS3进度条应用。这款进度条插件在播放进度过程中出现粒子效果,就像一些小颗粒从…

C++进阶:map与set简单自实现

目录 1. map与set封装红黑树的方式1.1 大概实现思路1.2 红黑树模板抽象1.3 红黑树的迭代器 2. 红黑树模板的实现2.1 结点结构的定义2.2 红黑树迭代器的实现2.2.1 迭代器的结构2.2.2 迭代器的方法实现 2.3 树结构的定义2.4 红黑树接口实现2.4.1 插入2.4.2 查找2.4.3 迭代器相关 …

python3有serial库吗

一、概述 pyserial模块封装了对串口的访问。 二、特性 在支持的平台上有统一的接口。 通过python属性访问串口设置。 支持不同的字节大小、停止位、校验位和流控设置。 可以有或者没有接收超时。 类似文件的API,例如read和write,也支持readline等…

利用大语言模型(KIMI)生成OPC UA 信息模型

在大语言模型没有出现之前,人们更倾向使用图形化工具或者基于窗口的软件来构建信息模型,图形化工具能够直观地表达信息模型中各元素之间的相互关系。但是图形化工具也有缺点,当描述一个复杂的信息模型时,图形会变得非常复杂和庞大…

Hibernate认识

一、定义 Hibernate 是一种开源的 Java 对象关系映射 (ORM) 框架,用于将面向对象的领域模型持久化到关系数据库中。它为开发人员提供了一种简便的方法来操作数据库,而无需编写繁琐的 SQL 代码。 ORM(对象关系映射):Ob…

【XR806开发板试用】SPI驱动数码管显示

准备工作 安装repo 创建repo安装目录。 mkdir ~/bin下载repo wget https://storage.googleapis.com/git-repo-downloads/repo -P ~/bin/改变执行权限 chmod ax ~/bin/repo设置环境变量,在~/.bashrc文件的最后输入 export PATH~/bin:$PATH和export REPO_URLhttps://…

ANSI转义序列

一、ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)最初的设计是一个7位的字符编码,使用了从0到127的数字来表示字符。这意味着它总共可以表示128个不同的字符。这包括了英文大小写字…

[鸟哥私房菜]4.首次登录与在线求助

第4章 首次登录与在线求助 4.1.3 X Window 与命令行模式的切换 通常我们称命令行界面为终端界面、Terminal 或 Console。Linux 默认的情况下会提供六个终端(Terminal)来让用户登录, 切换的方式为使用:[Ctrl] [Alt] [F1]~[F6] …

Joplin:自由、安全、多功能的笔记应用

什么是 Joplin? Joplin是一款免费、开源的笔记和待办事项应用程序,可以处理整理到笔记本中的大量笔记。这些笔记是可搜索的,可以直接从应用程序或从您自己的文本编辑器中复制、标记和修改。笔记采用Markdown 格式 功能亮点 功能丰富&#x…

超标量处理器设计:重排序缓存(ROB)

★超标量处理器的很多地方用到了重排序缓存,但是我对它不是很了解,所以我整理一下重排序缓存的知识点。 重排序缓存(ROB)在确保乱序执行的指令能够正确地完成和提交(Commit),也可以用来寄存器重命名。 ROB是一个先进先出的表,每个…

基于Springboot的线上教学平台

基于SpringbootVue的线上教学平台设计与实现 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 首页 学习资料 交流论坛 试卷列表 公告信息 后台登录 后台首页 学员管理 资料类型…

深入理解Linux中TCP/IP协议栈的实现原理与具体过程

一、Linux内核与网络体系结构 在我们了解整个linux系统的网络体系结构之前,我们需要对整个网络体系调用,初始化和交互的位置,同时也是Linux操作系统中最为关键的一部分代码-------内核,有一个初步的认知。 1、Linux内核的结构 …

pytest教程-43-钩子函数-pytest_report_header

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了pytest_runtest_makereport钩子函数的使用方法,本小节我们讲解一下pytest_report_header钩子函数的使用方法。 pytest_report_header 钩子函数允许你在 pytest 的终端报告的头部添…