|

「AI哲学」让人类“为自身立命”与“为AI立心”。
我们先给3D照相馆一个定义。在传统的照相馆中,摄影师使用单反相机给客户拍照,然后将2D数码照片打印或者彩扩冲印出来。而在3D照相馆中,操作人员使用3D扫描仪对客户进行扫描,然后将美化修补后的3D数字化模型用3D打印机打印出来。
此外,除了3D扫描仪这种主动式扫描设备,还可采用被动式重建技术进行3D照相。这种技术对被测对象不发射任何光,而是通过采集被测物表面对环境光线的反射来获取数据,因此不需要规格特殊的硬件,往往只需要一台或几台照相机获取多个视角的图片即可,因此成本非常低廉。
比如外地的顾客不方便前来扫描,这时可以让顾客用普通相机拍摄一张清晰的正面照片并远程发送过来,然后利用3D智能数字化技术就可以重建出对方的3D模型。又比如,手持式3D扫描仪的扫描时间较长,顾客需要保持一个姿势至少几分钟。这时,如果在影棚的各个方位架设多台照相机,在毫秒级的时间内获取到多个视角的多张同步照片,就可以利用立体视觉重建技术来生成瞬间的3D模型了。下面我们分别进行介绍。
5.1.1 3D照相馆的核心技术:3D智能数字化国学大师王国维在词牌《蝶恋花》中有云:“最是人间留不住,朱颜辞镜花辞树”。人逐渐老去,照镜子时已找不到年轻时候的朱颜;花谢了,纷纷从树枝上掉落下来。虽说这都是人世间不可避免的自然规律,但岁月蹉跎催人老着实令人怅然和无奈!那么,我们真的留不住自己的“朱颜”么?即便阻止不了时光的流逝,把自己刹那芳华的某个瞬间留下也好啊,于是从古代的画像、制作面膜,到近现代的摄像拍照,直到现在的3D照相,智慧的人类不断地发明新的方法。
开过传统照相馆或婚纱影楼的读者可能会有体会,照相馆的核心技术在于摄影技术,即要为客户拍摄出满意的照片效果来,然后才将修正了的图像文件提供给工厂打印或冲印。同理,3D照相馆的核心环节也是对客户3D人像数据进行采集和处理,也即3D智能数字化技术。下面,我们就详细介绍一下3D人像数据的采集和处理过程,以便让你对各个环节都有一个直观的认识。
5.1.1.1 3D结构光扫描仪进行三维扫描这里,我们以一款国外的3D扫描仪Artec Eva为例进行介绍。如下图最左边所示,Artec Eva手持式3D扫描仪酷似一台配有3D捕获功能的摄影机。该扫描仪无须标定,最高的捕获精度可达16帧每秒,帧图像可自动拼接对齐。Artec Eva 3D扫描仪有3个摄像头,其中中间的带有一圈LED进行照明,主要用于获取颜色,另外两个摄像头能够得到与被拍摄者的距离数据,生成3D模型。Artec Eva 3D三维扫描系统基于结构光技术原理(详见章节“5.13.2.2 光学三维扫描仪的原理和实例(激光、结构白光)”),将特殊的光带,以成一个视差角的方式投射在物体表面。利用物体表面对光源所造成扭曲的原理精确计算每个三维数据点的坐标。
下面我们介绍详细的扫描步骤。
1.按下按钮。对准扫描对象并按下按钮,如下图中间和右边所示,扫描过程就会立即开始。操作非常简便。
图5-1 Artec Eva手持式3D扫描仪、按下按钮启动
2.移动扫描仪。绕着扫描对象移动扫描仪,如下图左边所示。实时的表面对齐可以使你很好地了解已扫描了哪些部分,还有哪些部分没有扫描。如果你在某一个区域中无法获取扫描形状,请不要着急,稍后还可以返回去再扫描。
请根据需要尽可能多地扫描捕获完整的对象。如果需要旋转扫描对象以获取各个角度的扫描形状,请先完整地扫描一侧,然后关闭扫描仪,将扫描对象转至另一侧再对其进行扫描。
3.将扫描形状对齐。将所有扫描片段对齐在一起后可以得到完整的模型,如下图右边所示。如果某些位置缺失,可以对此部分重新扫描一次。通过3D智能数字化算法,可以将多个扫描形状片段完美地对齐在一起,放置在一个统一的3D坐标系中。
图5-2 移动扫描仪、扫描形状片段的对齐
4.将扫描形状片段融合成一个3D模型。将所有的扫描形状片段融合在一起,将会得到一个单一的三角形网格模型,如下图左边所示。
提示:每个扫描形状片段通常是由大量三维点组成的点云(Point Cloud)数据,将它们融合(配准、拼接:Registration,参考章节“5.22.1 3D模型的获取、配准与重建”中介绍的ICP迭代最近点算法)后得到的全局模型一开始也是点云数据。为了将点云模型转变成带有拓扑连接的三角形网格模型,就需要对点云进行重建(Reconstruction)或称之为封装。常用的重建方法有泊松(Poisson)重建、构造等值面(Iso-Surface)的Marching Cube(MC)算法、德劳内(Delaunay)三角剖分(Triangulation)(如Edge Swap、凸包方法、α-Shape、Crust、Cocone、Power Crust算法)、基于区域增长算法(如DBRA、BPA算法)等等。
5.对扫描物体表面进行光顺和优化处理,如下图右边所示。还可以优化网格,填补孔洞并进行表面光滑处理。
图5-3 将扫描形状片段融合成一个3D模型、对扫描物体表面进行光顺和优化处理
6.纹理图像贴图,如下图所示。轻敲一下鼠标键就可以自动地将纹理图像应用到扫描对象上。
图5-4 纹理图像贴图
7.得到原始的3D模型后,一般不能直接进行3D打印,还需要做一些后期处理,对模型进一步优化,这一点和我们用Photoshop、Lightroom处理照片很像。具体来说,扫描得到的原始3D数据一般都含有噪声,而且头发的效果往往很差,普遍采用的是Geomagic配合ZBrush或3D-Coat进行人像处理。如果要更全面详细的了解,可阅读本书作者的专著“《3D打印:三维智能数字化创造》(第3版,全彩印刷)”。
5.1.1.2 使用Kinect实现3D扫描Occipital公司开发了一款3D扫描软件Skanect,能够让用户使用廉价的3D视觉传感器(比如Kinect、Asus Xtion Pro Live、Primesense Carmine等,精度比上节介绍的3D结构光扫描仪差,但速度快、稳定性更好),在30s内捕捉到室内和人物的全彩3D模型。
使用时,将Kinect连接到计算机上,打开Skanect软件。可以看到界面最上边有Prepare(准备)、Record(录制)、Reconstruct(重建)、Process(后处理)、Share(分享)等步骤,如下图所示。
图5-5 Skanect主界面
在Prepare(准备)阶段,我们选择记录的类型,人像要选Body,而BoundingBox是指你要记录的人体大小,如果是半身像,1m×1m×1m就可以了,单击“Start”按钮进入下一步骤。
现在我们就可以开始录制了,如下图所示。注意:扫描的时候不要佩戴眼镜;还有最好戴帽子等,因为头发的扫描效果不好。单击倒计时按钮后经过5s倒数即可开始扫描。
图5-6 开始扫描形状
扫描的时候可以让朋友帮忙拿着Kinect围绕你转圈,或者自己在凳子上转圈都可以,如果有转盘的话效果会更好,扫描环境最好是在光线充足的地方,移动速度要缓慢而均匀。扫描完成后可得到一个半身的无色立体图像,如下图所示。
图5-7 扫描后得到的半身无色立体图像
如下图所示,可以快速地处理一下数据,如填补孔洞、上色等。处理后可以导出3D模型,如选择导出带彩色纹理的Ply文件格式。然后我们用专业的网格处理软件Geomagic打开这个Ply文件,进行填孔、光滑、网格医生修复曲面等。
图5-8 快速地处理一下数据,如填补孔洞、上色
除了Skanect,还有两款类似的软件SCENECT和ReconstructMe。SCENECT由一家名为FARO Technologies的便携式3D扫描仪生产厂商免费提供,如下图所示,这是它的3D扫描效果。
图5-9 SCENECT的3D扫描效果 (图片来源:FARO)
另一款名为ReconstructMe的软件所扫描的3D模型和打印的效果如下图所示。
图5-10 ReconstructMe软件所扫描的3D模型和打印后的效果
最后,我们介绍几何模型的两个数学概念,以便将扫描获得的3D模型进行后续处理(比如将其3D打印出来)。
模型的水密性(Watertight)
一般而言,3D模型文件需要水密化后才可以进行三维打印。水密性也可理解为密封性,也就是“不漏水的”,把水充满模型中间而不会漏出来,这就要求模型上不能有孔洞。你可能会感到惊讶,很多3D模型都会存在一些难以察觉的小孔。如果你的眼力不够“尖”,可使用软件(如AccuTrans)自动查找这些小孔。
实际上,一个由三角形面片组成的待打印3D模型,其包含的点、边、面和构成的实体数量须满足如下的欧拉公式(欧拉定理):
其中,F(Facet)为3D模型所包括的面片数;E(Edge)为边数;V(Vertex)为顶点数;C(Component)为组件数,对单个打印模型而言其值为1;G(Genus,又称Hole)为亏格数,即实体中穿透的孔洞数,如手环的拓扑孔洞数为1;B(Boundary)为边界数,对于水密模型而言其值为0。如果一个3D模型不满足上述条件(),则该3D模型就存在漏洞,需要在打印前进行修复。
提示:亏格的定义:若曲面中最多可画出G条闭合曲线同时不将曲面分开,则称该曲面亏格为G。以实的闭曲面为例,亏格G就是曲面上洞眼的个数。如下图所示,中央电视台总部大楼就是一个亏格为1的拓扑形状,而已故著名女建筑大师扎哈·哈迪德设计的澳门新濠天地酒店就是一个亏格为3的拓扑形状。
图5-11 亏格数分别为1和3的拓扑形状
此外,根据欧拉公式,我们还可以推出一个有意思的数学结论。因为凸多面体需满足条件(),因此只存在五种类型的正多面体:即正四面体、正六面体、正八面体、正十二面体、正二十面体。
模型必须为流形(Manifold)
3D模型必须为流形。通俗地说,如果一个网格模型中存在多个(3个或以上)面共用一条边,那么它就是非流形的(Non-Manifold),因为这个局部区域由于自相交而无法摊开展平为一个平面了。请看如下图所示的4个面共享一条边的非流形例子。
提示:所谓流形(Manifold),是局部具有欧几里得空间性质的空间。严格的数学定义为:一个n维的流形是一个连通的Hausdorff空间M,即,对于M中的任何一点p,都存有一个邻域UM,其同胚于Rn欧几里得空间的开子集。
图5-12 非流形模型的例子(4个面共享一条边)
这个深奥且拗口的数学定义可用通俗的话来理解。如下图所示的地球球面就是一个二维流形。因此,对于球面上的一个曲面三角形(左侧),可以摊开展成(即流动变形成)一个二维欧几里得空间上的平面三角形(右侧)。此外,因为地球实在太大,我们往往把地球上的一块足够小的(曲面)局部区域当作平面来丈量,而不用担心会引起大的误差。比如,你要丈量学校操场的面积,根本不用把它认为是地球上的一块曲面,而直接看作一块平面即可。所以,光滑流形其足够小的结构是“硬”的(如可以固定丈量),而整体结构则是“柔软”的(可流动变形)。流形(Manifold)可看作是很多(Many)曲面片的叠加(Fold),比如整个地球的地图册就是由各个地区的地图页合订而成的,而相邻地区的地图页之间含有重叠区域,以便建立彼此之间的联系,这样我们才能通过翻看一页一页的局部地图得出整张世界地图。
图5-13 球面为二维的流形,因为可由一群二维的平面图形来叠加表示(图片来源:维基百科)
5.16.2、基于单张照片的3D人脸重建及立体浮雕
5.16.3、基于多视角照片的3D人脸重建
5.16.4、人是种视觉动物:如何美化你的照片
5.16.5、3D人脸表情形变与编辑
5.16.6、基于视觉计算自动修补3D发型
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2026-7-4 23:00
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社