三维重建框架

转载自https://zhuanlan.zhihu.com/p/25052509

一、三维重建整个过程的框架

导师常常对我说,研究某个东西要参与到其全过程之中,我们研究一个全新的领域,也应该首先对其有一个宏观上的认识,知道其中的大模块,在总体上对其有一些感性认识。这里大家可以参考《基于多幅图像的三维重建理论及算法研究》(戴嘉境)的论文框架,同时我根据自己的理解,进了一些调整与修改,注意以下内容均为概要,详细的内容将在第二章开始介绍,主要如下:

(一)图像预处理

由于我是基于无人机的三维重建,所获得的航拍图像往往有不少的问题,如畸变、噪音等,因此图像预处理阶段主要是对图像进行筛选、去噪、校正的一个过程。这里需要提到的是基于倾斜图像的三维重建技术,主要是通过一个五轴的立体相机来进行航拍,再利用所得到的倾斜图像来进行三维重建,一般都用于建筑群、城市等户外的场景,而这也是我在后续需要继续研究的内容。

(二)稀疏点云重建

在三维重建领域,基于点云数据的重建方式是相当成熟的,本文也是基于此技术进行研究。通过下图(实物为笔芯盒)就可以对点云有一个大致感性认识了,即将三维实体使用一系列的三维空间点来表示,现在对于这种点云数据的获取,主要通过激光扫描以及通过相关算法对图像进行分析得到,我所研究的是后者。 所谓稀疏点云,其来源即为特征点,而特征点即为图像中一些特征明显、便于检测、匹配的点,如建筑物的角、边缘点等。特征点的检测是整个三维重建过程中最为基础、根本的一步,其检测效果的好坏对最后的结果有很大的影响,现在常用的检测算法有SIFT、SURF等。

放大后可以看得更加明显:

在检测出每张图片所有的特征点后,就需要对对应的特征点进行匹配,在这个匹配的过程中,需要完成相机的标定,完成这一步的意义在于在后面能够通过标定的结果,将图像中二维数据点反推出其三维位置,由此就能将所有的二维特征点反推至三维空间,形成稀疏点云。这一步所使用的技术主要为SFM(Structure from motion)。

(三)稠密点云重建

首先看下图,体会一下稀疏点云和稠密点云之间的区别:

稀疏点云:

同一物体的稠密点云:

稠密点云的生成主要使用到了PMVS(Patch-Based Multi-View Stereo Software ,基于面片的三维立体重建算法)这一技术。形成稠密点云后,实物的轮廓、特征等都有了明显的改善,基本可识别。

(四)表面(曲面)重建(Surface Reconstruction)

稠密点云虽然能够更加形象地还原出实物面貌,但是其仍只是大量孤立的三维空间的集合而已,要想实现真正的实物三维化,那就必须要对其进行表面重建,这里首先需要去了解Delaunay三角化的相关概念和原理,然后学习Power Crust算法(http://web.cs.ucdavis.edu/~amenta/powercrust.html),这个算法较为复杂,需要多花点时间去学习。

(五)纹理映射

在对点云数据进行表面重建之后,实物的轮廓、形状已经清晰可见,但是还需最后一步,即纹理映射,纹理映射的作用是使得重建的3D模型更接近实物,具有实物的颜色、纹理以及细节特点。

时间: 2024-10-17 00:25:34

三维重建框架的相关文章

Smart3D基础理论

目录: 1. Smart3D发展进程 2. 硬件要求与建模原理 3. Smart3D建模优势 4.Smart3D的应用领域 5. Smart3D的软件组成 6. Samrt3D主控台概述 1. Smart3D发展进程 2011年,两位博士让 飞利浦 庞斯(Jean-Philippe Pons)和雷洛 卡拉文(Renaud Keriven)在素有法国硅谷美誉的索菲亚安提波利斯科技园联合创立了Acute3D公司,其主打的Smart3DCapture是一款具有突破性的摄影测量产品,能供将来自于从智能手

三维重建技术概述

基于视觉的三维重建,指的是通过摄像机获取场景物体的数据图像,并对此图像进行分析处理,再结合计算机视觉知识推导出现实环境中物体的三维信息. 1. 相关概念 (1)彩色图像与深度图像 彩色图像也叫作RGB图像,R.G.B三个分量对应于红.绿.蓝三个通道的颜色,它们的叠加组成了图像像素的不同灰度级.RGB颜色空间是构成多彩现实世界的基础.深度图像又被称为距离图像,与灰度图像中像素点存储亮度值不同,其像素点存储的是该点到相机的距离,即深度值.图2-1表示深度图像与灰度图像之间的关系. 图2-1 深度图像

基于jquery开发的UI框架整理分析

根据调查得知,现在市场中的UI框架差不多40个左右,不知大家都习惯性的用哪个框架,现在市场中有几款UI框架稍微的成熟一些,也是大家比较喜欢的一种UI框架,那应该是jQuery,有部分UI框架都是根据jQuery研发出来的产品,现在也很常见了. 国产jQuery UI框架 (jUI) DWZ DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.设计目标是简单实用,快速开发,降低ajax开发成本. jQuery 部件布局

静态网页框架设计首次体验(文章改)

根据教材与上网成功解决了Tomcat与Myeclipse的安装,同时熟悉了Java web创建项目到部署运行整个过程.今天起正式开始学习有关Java web的编程部分.Java web静态网页(HTML网页)的标记含义.基本语法的介绍到框架设计基本模板与案例,今天的学习的内容,让网页编程有了一个初步的框架.结合自身所在协会的情况,计划制作一个关于协会的网页,已有初步想法,望通过学习不断完善和修改协会网站.根据今天所学,并参考书本30页框架设计案例对网页进行初步搭建. 具体代码如下 TW.jsp:

.NET深入解析LINQ框架(五:IQueryable、IQueryProvider接口详解)

阅读目录: 1.环路执行对象模型.碎片化执行模型(假递归式调用) 2.N层对象执行模型(纵横向对比链式扩展方法) 3.LINQ查询表达式和链式查询方法其实都是空壳子 4.详细的对象结构图(对象的执行原理) 5.IQueryable<T>与IQueryProvider一对一的关系能否改成一对多的关系 6.完整的自定义查询 1]. 环路执行对象模型.碎片化执行模型(假递归式调用) 这个主题扯的可能有点远,但是它关系着整个LINQ框架的设计结构,至少在我还没有搞懂LINQ的本意之前,在我脑海里一直频

.NET深入解析LINQ框架(一:LINQ优雅的前奏)

阅读目录: 1.LINQ简述 2.LINQ优雅前奏的音符 2.1.隐式类型 (由编辑器自动根据表达式推断出对象的最终类型) 2.2.对象初始化器 (简化了对象的创建及初始化的过程) 2.3.Lambda表达式 (对匿名方法的改进,加入了委托签名的类型推断并很好的与表达式树的结合) 2.4.扩展方法 (允许在不修改类型的内部代码的情况下为类型添加独立的行为) 2.5.匿名类型 (由对象初始化器推断得出的类型,该类型在编译后自动创建) 2.6.表达式目录树(用数据结构表示程序逻辑代码) 3.LINQ

.NET深入解析LINQ框架(二:LINQ优雅的前奏)

阅读目录: 1.LINQ框架的主要设计模型 1.1.链式设计模式 (以流水线般的链接方式设计系统逻辑) 1.2.链式查询方法(逐步加工查询表达式中的每一个工作点) 2.LINQ框架的核心设计原理 2.1.托管语言之上的语言(LINQ查询表达式) 2.2.托管语言构造的基础(LINQ依附通用接口与查询操作符对应的方法对接) 2.3.深入IEnumerable.IEnumerable<T>.Enumerable(LINQ to Object框架的入口) 2.4.深入IQueryable.IQuer

.NET深入解析LINQ框架(四:IQueryable、IQueryProvider接口详解)

阅读目录: 1.开篇介绍 2.扩展Linq to Object (应用框架具有查询功能) 2.1.通过添加IEnumerable<T>对象的扩展方法 2.2.通过继承IEnumerable<T>接口 2.3.详细的对象结构图 3.实现IQueryable<T> .IQueryProvider接口 3.1.延迟加载IEnumertor<T>对象(提高系统性能) 3.2.扩展方法的扩展对象之奥秘(this IQueryable<TSource> so

.NET深入解析LINQ框架(三:LINQ优雅的前奏)

阅读目录: 1.动态LINQ查询(动态构建Expression<T>表达式树) 2.DLR动态语言运行时(基于CLR之上的动态语言运行时) 1].动态LINQ查询(动态构建Expression<T>表达式树) 什么是动态LINQ查询?LINQ的编写是静态的,因为C#是基于静态类型系统原理设计的,在编写时已经确定类型,也就是在编译时就已经知道将要执行什么样的查询,条件是什么.排序方式是什么等等.那么很大一部分应用场合中我们需要根据用户的选择来查询数据源,以往我们都是通过判断的方式来拼