是和VR抢蛋糕,还是配合VR分蛋糕? ——浅谈三维重建和应用

一、背景概要

作为一名智能产品测试工程师,不可避免的需要接触到最新最热的技术产品,目前,VR就是这样一种技术,“知己知彼百战不殆”,想要做好VR产品的测试工作,你必须先要了解VR是什么?VR未来的发展趋势会怎样?除开VR本身,还会有其他的技术能够与VR一较高下亦或者融合入VR带来崭新的技术体验?今天我将向你介绍一门与VR即能匹配又能相辅相成的技术-三维重建。

作为一名技术开发者如果还不知道VR是什么,那你就out了,VR到底有多火?我们从一些数据新闻中就可以看出来:全球领先的移动互联网第三方数据挖掘和整合营销机构iiMedia Research(艾媒咨询)发布了《2015年中国虚拟现实行业研究报告》。报告显示,2015年中国虚拟现实行业市场规模为15.4亿元,预计2016年将达到56.6亿元,2020年市场规模预计将超过550亿元。国外,行业巨头跑马圈地,Facebook收购Oculus VR、索尼投入Morpheus设备、HTC携手三星共探VR;国内,各家积极布局,腾讯抓着2015年的尾巴推出整套VR方案,3Glasses、DeePoon大朋头盔、蜂镜K1等公司体量虽小却毫不示弱。

VR这种沉浸式三维感受方式几乎已经成为了3D的代名词,与此相呼应的是三维建模的尴尬地位,实际上裸眼3D一直也是行业热门话题,其发展的起源和发展的时间丝毫不落后于VR,甚至于还要早于VR。最早的提出三维建模的是20世纪70年代末,Marr首次提出了计算机视觉的理论框架,同时利用两张有视差的平面图计算并获得深度信息,最终获取了含有深度信息的立体图形。

如今对于三维建模的应用已经渗透到了各行各业,例如:

1、立体测量,即利用三维重建技术进行几何测量,常用于一些不便于直接测量的场景,如运动中的物体、不能直接接触的物体等。

2、产品检测,工业领域经常需要测量产品或零件的尺寸,利用三维重建技术能大量节省人力,且适用于一些不规则产品的测量或产品处于恶劣环境下的情况。

3、逆向工程,逆向工程与普通的加工过程相反,实现的是从真实物体到数字模型的转换,如木制家具雕刻图案的仿制等,配合目前正兴起的3D打印技术,可以实现快速的实物复制。

4、机器人,通过三维重建技术,可以为机器人提供三维视觉,以及快速获取自身姿势状态信息的能力。

5、虚拟现实,即在真实场景中添加虚拟物体,高精度的三维重建技术可以使虚拟物体的仿真度更高,从而达到以假乱真的效果。而人工建模不仅耗时费力,建模精度、真实感都难以达到预期目标。

6、文物保护,相比传统的相机图片展示,三维重建技术能得到高仿真度的三维文物模型,在配合虚拟现实系统,即可构建纯数字的虚拟博物馆,实现文物保护和展览的全新变革(在这一方面,目前较为成熟的是2010年上海世博会上的网上3D博物馆体验,体验网址:http://www.expo.cn/#&c=home

针对三维建模的实际产品目前也有了很多,例如:Microsoft的Kinect、Intel的RealSense,更有AutoDesk123d Catch将三维建模的应用植入到APP当中,在123dCatch中用户只需要简单的拿起手机围绕着物体拍摄一圈,经过后台的计算,最终就可以得到三维的物体模型(体验网址和体验视频观看:http://www.123dapp.com/catch

图1 Microsoft的第二代Kinect

图2 Intel的两款不同RealSense

Kinect的应用已经无需多说,微软公司结合Kinect和X-box给用户带来了极致的游戏体验,让身体的各个部位、神经感觉全部都能够参与渗入到游戏体验当中,新一代的Kinect2.0不仅提供了1080P的高清视频,同时对于骨骼追踪的改进、主动式红外检测、三维模型的实时创建、麦克风阵列的精确定位等等,全方位的增强了用户与机器之间的互动,Kinect2.0的出现使得体感应用领域有了更多的想象和发挥的空间。

相比较与Kinect,Intel的RealSense的横空出世,将三维建模重新推向了一个新的高潮,我们可以对比查看一下两款Realsense的参数和功能:

SR300

R200

景深范围(三维建模有效范围)

0.2m~2m(误差在8mm~4cm)

3m~4m(误差在20mm~13cm)

深度摄像头

在 60 FPS 时最高 640 x 480(快速 VGA、VGA),在 110 FPS 时为 HVGA

每秒 60 帧时,分辨率 640x480

开发人员套装尺寸

X=110.0 ± 0.2 毫米,Y= 12.6 ± 0.1 毫米,Z= 3.8-4.1 毫米

130 毫米 x 20 毫米 x 7 毫米

功能

- 动态背景分段 - 3D 扫描 - 面部识别和手势识别

- 三维捕获:脸部、人体和环境 - 深度增强现实性 - 深度增强的摄影和视频 - 测量 - 脸部检测和跟踪

  1. 0.2m~2m(误差在8mm~4cm)

3m~4m(误差在20mm~13cm) 深度摄像头在 60 FPS 时最高 640 x 480(快速 VGA、VGA),在 110 FPS 时为 HVGA每秒 60 帧时,分辨率 640x480 开发人员套装尺寸X=110.0 ± 0.2 毫米,Y= 12.6 ± 0.1 毫米,Z= 3.8-4.1 毫米130 毫米 x 20 毫米 x 7 毫米 功能

- 动态背景分段 - 3D 扫描 - 面部识别和手势识别- 三维捕获:脸部、人体和环境 - 深度增强现实性 - 深度增强的摄影和视频 - 测量 - 脸部检测和跟踪

可以看到,RealSense最大的优势是:轻便,能够获取三维景深增强、动态的获取三维、进行三维扫描(相关的体验视频很多,作者提供:https://www.youtube.com/watch?v=VWVwKylq3dk等等)。

说到以上的这些东西,相信大部分的读者已经对三维产品有了大致的了解了,也许有人会产生疑问,这样的技术产品如何能够与VR争抢如今三维市场的这块大蛋糕呢?试想一下这样的场景:我们在虚拟的场景中能够任意的创造出属于自己的物体,例如:滑动自己的双手,创造出属于自己的汽车、自己的房子等等。同时,目前的VR场景都是虚拟的,是由程序构造而成的,我们可以利用三维重建技术,将现实的场景引入到我们的虚拟世界当中,例如构造一座真实的腾讯大厦,模拟站在腾讯大厦的最顶端俯瞰全深圳。

这样的场景让人兴奋,充满诱惑,不要着急!这样的事情已经发生!LeepMotion已经可以利用人体的骨骼识别,结合Oculus设备,在虚拟的世界中创造出属于自己的物品(相关的视频体验:https://www.leapmotion.com/?lang=zh),同时让人感到兴奋不已的是,RealSense结合大朋VR头盔,捕捉现实中的三维信息,呈现到内部的头盔场景当中(具体的体验视频可以自行查找)。

说到这里,也许大家都能够产生这样一个结论了:三维建模技术并不是完全和VR是相对立的,而是可以与VR产生互利共生的生存链的。这也许就是未来的三维建模的发展途径吧!介绍完了三维建模的成熟产品,接下来还会对于三维建模的一些技术基础进行简单的介绍。

二、技术支持

目前的三维重建技术大概分类如下图所示:

图3 三维建模的技术手法分类

市场上的产品大多集中在光学的形式,基于光学的三维重建主要有主动结构光方法和被动的双目视觉方法。结构光方法是利用单摄像机配合DLP投影设备,获取三维模型。而双目立体视觉是利用双摄像机得到三维建模模型。RealSense和Kinect2.0都是采用主动光的结构法获取深度信息,而123d catch则是利用被动光的获取且结合点云拼接的技术得到。

1 被动光的双目视觉三维重建技术

被动光的双目视觉系统主要包括的技术有:相机的标定、图像的预处理、图像对的校正、图像对的匹配和深度计算、最终是三维点云的获取。

图4 被动光技术流程

1.1 相机的标定

标定的内容实际上就是让空间物体的一点与相机的成像平面能够一一对应,而这个对应的关系式为:

其成像的示意图如下图所示:

图5 成像模型

空间物体一点M到图像上一点m的关系依靠P矩阵来连接,而相机的标定就是获取P矩阵。

1.2 图像的预处理

通常得到的图像会含有噪声影响,对于图像的质量有极大的损害,采用图像预处理的目的可以平滑图像,滤除噪声部分,但是由于图像的边缘信息和噪声所处的频率段相似,因此通常也会滤除掉边缘信息,边缘信息的提取可以辅助立体匹配,减少立体匹配的计算量同时可以提高匹配准确率,所以一般会采取边缘保护的图像滤除噪声处理。

图6 双边平滑滤波处理结果

1.3 图像的立体校正

双目立体视觉的主要功能就是寻找左右图像对的匹配点,计算出相应的视差从而提取出深度信息,而寻找左右图像的对应点,往往以左图像的点为基准点,在右图像中寻找匹配点,整个过程是在二维的图像中搜索,搜索的计算量较大,且精度低,由于左右图像对满足极线约束条件,即左图像一点的对应点必定在右图像上的对极线上,因此确定了左图像任意一点对应的右图像上的对极线,就可以在对极线上搜索对应点,这样将会使得搜索空间从二维减小到一维上的固定范围中,不仅能够提高匹配的精度,同时能够加快匹配的速度。

图7 双目视觉系统立体校正前

图8 双目视觉系统立体校正后

1.4 立体匹配以及视差计算

这一步是双目视觉的核心内容,因此立体匹配的好坏会决定三维建模的模型是否准确,目前针对立体匹配的算法改进,可以参考http://vision.middlebury.edu/stereo/,匹配之后可以计算左右图像对应区域的距离信息,这一信息被称为视差值。

1.5 深度获取

双目立体视觉的深度信息提取方法为原理简便的三角测量法,其中左右摄像机是平行对准的,此时其深度信息获取及三维点云获取的立体成像几何为:如图9所示,令图中左右相机光心之间的距离为基线,其长度为b,f是相机的焦距,0-XYZ为世界坐标系且有Y轴垂直于纸面指向里面。在空间坐标中的任意一点C(X,Y,Z),其在左摄像机中的成像平面上的对应点为Pl,在右摄像机中的成像平面上的对应点为Pr,则有:

图9 立体成像几何原理图

式中的

就是我们前面所求的视差d,此时可得到有:

1.6 三维点云的获取

下面展示的就是利用双目视觉系统获取的三维点云(其中采用到PCL库显示点云)

图10 原始图像

图11 三维点云

2 结构光的三维重建技术

主动光的三维重建技术是目前主流产品所使用的三维重建技术,RealSense,Kinect都是采用的红外结构光面覆盖物体表面,利用一个或两个感知红外结构光的被称为depthSensor的摄像头拍摄物体,通过结构光的前后变化以及编解码最终获取物体的深度信息从而重建得到物体的三维模型点云,下面将会对结构光的方法进行大致的说明。

图11 结构光原理图

结构光的步骤大体与被动光的相似,需要进行相机标定,以及结构光的编解码。原理大致为:如图所示,XYZ为结构光投影仪的坐标系,xyz为相机坐标系,由投影仪投射的结构光投射到被测物体上被相机拍摄获取,则空间一点P在XYZ坐标系下的关系式有:

可以看到,式中,B为相机到投影仪之间的基线距离,

和B为标定已知结果,而M,N为图像的行数和列数,该值可由人为指定,m,n为空间点P在图像上的坐标,该值也可以求的,而

则需要结构光的编码解码求的,因此选择不同的结构光,对

的精度高低有影响,从而影响到最终的计算出来的空间点的三维信息,目前常用的结构光有德布罗意光等,至于如何编码解码,有兴趣的读者可以去查找相关的资料。

相对于结构光的复杂度较高换来的高精度,另外的例如相位法获得三维信息的原理大致如图:

图11结构光的原理示意图(图片来自于《实时彩色三维建模技术研究》)

利用光照射在物体表面产生的偏移,导致光的相位发生相对偏移,利用偏移公式:

式中,

为相位差,l,p,d都为已知条件,通过以上的式子最终可以计算得到高度差,而这个高度差就是我们所需要的深度信息。利用主动光的方法获取三维模型的方法还有很多,在这里不一一列举。

2.1 结构光获取点云

下面展示的为利用结构光获取的三维点云模型,并利用PCL点云库展示得到最终的图形。

图12 结构光获取的三维点云

3 点云拼接

123d catch采用到了围绕物体拍摄多幅图像,利用被动光的单摄像头方式获取点云并采用点云拼接的方式,最终获取物体的三维信息。目前常用的点云拼接手法原理是如图:

图13 点云拼接示意图

红色点云和蓝色点云分别处于不同的位置,他们之间有相似的部分,此时采用如下公式:

式中,Q为红色点云中的点,P为蓝色点云中的点,R,T为旋转平移矩阵,因此拼接的根本是选取合适的R,T矩阵,使得他们之间的所有点的欧几里德距离之和小于给定的阈值即可,采用最小二乘法可以求取最终的R,T。并将蓝色点云平移到红色点云附近的位置,达到拼接的目的。

三、总结

VR的发展已经不可阻挡,三维建模的发展依然继续,如何采用新颖的方式、富有创意的应用体验获取三维市场这块大蛋糕依然是众多开发人员需要思考的问题。三维建模与VR的结合已经初现端倪,未来如何结合,共同分配这块大蛋糕需要我们今后更多的创新和实践。我想,三维的世界不是VR统治的世界,也不是任何一款其他的技术产品能够统治的世界,相互融合,协同合作,必将让整块蛋糕越来越大,同时让每一个参与者能够体验到其中的美味。

(本文部分数据来源:游戏陀螺网)

(由于作者技术有限,其中有技术错误敬请指出,同时,文中的观点仅代表个人观点)

原文发布于微信公众号 - 腾讯移动品质中心TMQ(gh_2052d3e8c27d)

原文发表时间:2016-09-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

【Nature雄文】当深度学习遇上生物学——440篇bioRxiv相关讨论创史上之最

新智元编译 来源:Nature 作者:Sarah Webb 编译:赵以文 【新智元导读】深度学习为分析生物大数据提供了强大的工具。BioRxiv预印本服...

55015
来自专栏量子位

吴恩达的新深度学习课程什么样?我们试听了一下 | 附视频

问耕 发自 凹非寺 量子位 报道 | 公众号 QbitAI 注册之后,可以获得七天免费试听。不过在这之前,你首先需要输入一张信用卡/储蓄卡,或者Paypal账户...

4127
来自专栏CDA数据分析师

数据挖掘过程中绝不能犯这11大错误

【摘要】当小孩子手拿一把锤子时,整个世界看起来就是一枚钉子。 1. 缺乏数据(Lack Data)   对于分类问题或预估问题来说,常常缺乏准确标注的案例。  ...

2096
来自专栏语言、知识与人工智能

IJCAI 2018 | 腾讯知文团队3篇入选论文解读

在近日揭晓2018年收录论文名单中,腾讯知文团队有3篇一作长文被录取,我们将对文章进行简要解读,欢迎交流讨论。

8.6K4
来自专栏新智元

Quora:暮光之城女主角文章毫无价值,算不上人工智能论文

【新智元导读】1月20日,国外多家媒体报道,暮光之城女主角 Kristen Stewart 发表了一篇关于图像风格迁移的人工智能论文,引起业内广泛讨论。不少人感...

2917
来自专栏人工智能快报

计算机学会预测视频的下一步内容

2016年6月21日,美国麻省理工学院发布消息称,计算机已经可以预测视频内容。 如果看到两个人会面,我们常常可以预测到即将出现的情形:握手,拥抱,甚至可能会接吻...

3819
来自专栏大数据文摘

2017年你错过了哪些AI圈大事?最全盘点,值得收藏!

3217
来自专栏数据科学与人工智能

【数据挖掘】数据挖掘中应该避免的弊端

1. 缺乏数据(Lack Data) 对于分类问题或预估问题来说,常常缺乏准确标注的案例。 例如:欺诈侦测(Fraud Detection):在上百万的交易中...

2868
来自专栏AI科技评论

五大顶尖研究院的116篇ICLR 2018录用论文,七大趋势全解读

AI 科技评论按:时间过得好快,Yann LeCun 仿佛刚刚在 Twitter 上感慨 ICLR 2018 的参会人数比 2017 年再次翻倍,而现在 ICL...

1206
来自专栏AI科技评论

学界 | 关于模型可解释性的深入思考:从哪里来,到哪里去?

「学习出一个通用智能行动者的潜力和局限性,算法公平方面细微的以及可以被真正规范化的挑战,以及现在的热门话题:能向人类解释、能被人类理解对模型来说意味着什么?」

973

扫码关注云+社区

领取腾讯云代金券