揭开 3D 对象和扫描神秘面纱

上一篇讲到,从 2D 照相到 3D 扫描,是一个自然的过渡,是对人类认知能力的扩充,这一篇,我们将从技术的层面,进一步揭开 3D 扫描的神秘面纱。

这里,我们将从“3D 对象的表达方式”、“3D 扫描的一般流程”这两个角度来详细阐述 3D 扫描到底是什么。

3D 对象的表达方式

我们知道,3D 扫描的目的是获取一个 3D 对象,那么 3D 对象到底是什么呢?

2D 对象就是一张图片,将图片放到很大,我们会发现,图片其实就是由一个个具有不同颜色的像素点(上图)拼合而成的长方形块,聚少成多,单位面积上的像素个数越多,图片就越清晰。在屏幕输出端,只要输入这样一堆像素数据,就能显示一张图片出来。

不同于图片,3D 对象更为复杂与灵活,那么它又是以怎样一种形式来组织的呢?最基本的两种形式是点云和网格。

点云(Point Cloud),顾名思义,就是一堆点,但是这是一堆三维空间中的点,每个点代表了一个空间位置(x,y,z),组合在一起,就形成了具有一定空间形状的集合体。计算机通过绘制这些点,来表达出一个三维对象。

网格(mesh), 是对点云的进一步组织。规定点与点之间的连接关系(边),并规定某几个点,形成一个面。有了这些规定,点云就不是一种孤立的状态了,它们被以边和面的形式组织起来,这就形成了所谓的网格。计算机通过特定的方法,绘制点云,以及网格中的面,就形成了我们看到的 3D 模型了。而将点云和网格的信息,通过文本或者二进制的方式保存成文件,就是我们 3D 打印常见的 3D 模型文件了,比如*.obj,*.stl 等。

当然,如果对点云中每一个点都赋予一定的属性,比如说颜色,或者材质,计算机将为我们渲染出更加逼真的效果。

可以看出来,网格化之后的三维对象,要比纯粹的点云表现力更强,加上材质和颜色的三维模型,则更为逼真。

我们扫描的基本目标,也是为了获取更逼真的 3D 对象。因此,点云和网格的获取,颜色或者纹理(后面的文章会讲到)的获取,是 3D 扫描的主要任务。

3D 扫描的一般流程

2D 照相是很简单很容易理解的一个过程,简单的曝光、成像,形成的原始数据,就是我们想要的照片了。而 3D 扫描,更像 2D 照相中的全景图片的获取,需要多角度拍摄,并进行拼接和融合。简而言之,3D 扫描是一个完整的过程,而不是一个简单的行为。

要完成 3D 扫描,我们首先需要一台可以采集三维信息的扫描仪(后续文章将详细介绍)。

拥有这样的扫描仪之后,我们还需要一套完整的软件系统来进行处理。

下面,我们来看一看一个完整的 3D 扫描都要经历怎样的流程。

1. 单帧数据获取:

这里的单帧数据,特指的就是从一个角度上采集到的三维点云。单帧数据的获取,依赖于扫描设备。目前的数据获取方法,大多数是利用三角几何学的方法,测算出扫描仪与被扫描物体之间的距离,再转化为三维的坐标。具体的方法不在这里详细说明,后续文章将进一步补充。

下图是通过 PrimeSense 扫描仪捕获的人体正面的单帧数据。

也可以是带有彩色信息的,下图是合肥阿巴赛信息科技有限公司的 SoScan 扫描软件的数据捕获:

由于扫描仪镜头的视角限制,单帧数据的角度总是有限的,要扫描完整的数据,必须多角度扫描,并作拼接。而单帧的数据,质量一般都非常差,有很多不平整的地方,同时也有很多噪音,因此需要做预处理。

2. 单帧数据的处理:

单帧数据的处理,主要是滤掉一些噪声和杂点,让数据质量变得更好。许多数学的算法我们暂时不用去关心,只要记住单帧数据处理也是 3D 扫描扫描重要的一环,直接决定了后期模型的质量。

3. 多帧数据的拼接:

由于单帧数据的数据不完整,所以需采集多帧,而多帧数据需拼接到一起,才能组合成有意义的点云。我们将多帧数据的拼接过程叫做点云的注册(register),注册是 3D 扫描和重建绕不开的最重要的一步。下图说明了注册时一个什么样的过程。

SoScan 的实时注册过程:

4. 网格化:

单帧数据拼接完成后,将形成一个完整的三维点云。多帧拼接和点云的网格化,这样一个完整的过程,我们称为 3D 重建(3D Reconstruction)。网格化的方法有很多,万幸的是,科研工作者早已为我们铺好了路,我们又不用去 care 那些艰深的算法。

SoScan 点云提取和网格化:

5. 纹理材质渲染:

若在数据的获取过程中同时捕获了彩色信息,可以进行后期的纹理重建,增强真实感。纹理重建的主要工作是进行彩色信息和几何信息(点云)的匹配。

SoScan 纹理重建效果:

这一篇我们从扫描的技术角度初步揭开了 3D 扫描的面纱,下一篇我们将介绍几款 3D 扫描的软硬件,帮助大家进一步走近 3D 扫描。
要完成 3D 扫描,我们首先需要一台可以采集三维信息的扫描仪(后续文章将详细介绍)。

 

发布者:Cara,转载请注明出处:http://www.makercollider.com/viewpoint/1968

发表评论

登录后才能评论
QR code