ARCore之路-ARCore的计算机视觉

版权声明:David Wang原创ARCore文章,仅供学习研究之用,不得用于任何商业目的,未经授权不得转载! https://blog.csdn.net/yolon3000/article/details/83961050

  就目前来说,ARCore并没有进行计算机视觉方面的处理(只能识别水平与垂直的平面和对虚拟物体进行跟踪,从广义来说ARCore是进行了处理的,但我们这里主要是指识别物体、运动和跟踪、语义分割、3D环境重建等),不是Google没有这个能力,而在于计算机视觉是非常消耗硬件的,移动端的硬件生态目前还不能支持。所以,本节这个标题本身就是个伪标题,但是,如果AR应用缺乏计算机视觉技术的支持,就会像一具没有灵魂的僵尸,而不是一个人。笔者也断言,AR要想大规模应用必须要先解决计算机视觉方面的问题。既然计算机视觉对AR应用来说如此重要,我们还是得了解下当前AR计算机视觉中最大的困难在哪里在,该如何解决。

一、增强现实技术流程

  按照Ronald Azuma在1997年的总结,增强现实系统一般具有三个主要特征:虚实结合,实时交互,和三维配准(又称注册、匹配或对准)。近二十年过去了,AR已经有了长足的发展,系统实现的重心和难点也随之变化,但是这三个要素基本上还是AR系统中不可或缺的。

DavidWang原创

  上图描绘了一个典型的AR系统的概念流程。从真实世界出发,经过数字成像,然后系统通过影像数据和传感器数据一起对三维世界进行感知理解,同时得到对三维交互的理解。3D交互理解的目的是告知系统要“增强”的内容。例如,在AR修理辅助系统中,当修理师打开发动机引擎盖,AR应该能显示出整个发动机的内部构造虚拟模型,3D环境理解的目的就是告知系统要在哪里“增强”。比如在上面的例子中,我们需要显示的虚拟发动机应与实际发动机位置上是完全一致的,从而达到强烈的真实感。这就要求系统实时对周围的真实3D世界有精准的理解。一旦系统知道了要增强的内容和位置以后,就可以进行虚实结合,这个一般是通过渲染模块来完成。最后,合成的视频被传递到用户的视觉系统中,就达到了增强现实的效果。

在AR的技术流程中,数据的采集(包括影像和传感器)已经比较成熟,显示端和渲染端的技术也有了长足的进步。相对而言,中间的对于环境和交互的精准理解就是目前的瓶颈了。精准的理解环境就需要首页成周围环境进行成像,然后分析成像内容精确的提取到真实世界的三维物理信息,然后对虚拟的数字世界进行3D重建。这个过程看起来很简单,但实际操作上困难重重。

二、AR中计算机视觉的难点

  (一)、真实环境的多样性
  得益于人脑的强大并行处理与信息融合能力,我们可以做到看一眼就基本重建真实的3D世界。比如说,蒙着你的眼睛把你带入到一个大俱乐部,只让你看一眼,你就能大致了解这个俱乐部的长宽高、放置的桌椅、布置的舞台、设置的灯光、自身所处的位置等等,各种环境变化对视觉信息的影响我们不但能轻松应对,有时还能加以利用。比如我们的认知能力对光照明暗的变化具有相当的鲁棒性,比如我们可以通过阴影来反推三维关系,比如我们可以通过遮挡关系来反推物体的深度信息。而这些对于计算机(确切些说是计算机视觉算法)来说都是不折不扣的难点。在特定环境下,可能从容处理的算法,一但环境发生变化则可能完全失败,这就不难理解为什么很多看起来美轮美奂的演示真正实施运用起来那么不堪,可能的原因包括光照、形状、纹理、姿态、相机、背景、前景、阴影、遮挡、噪声、干扰、畸变等其中之一或几个发生了变化。而这些影响系统效果的因素在我们人类的视觉系统中经常是难以察觉的,因为人脑已经进行了自校准或者适应。总的来说,环境的变化常常给计算机视觉算法以及AR带来很大的挑战。

  (二)、当前技术的不完善
  对于环境和交互的理解重建基本上属于计算机视觉的范畴,计算机视觉是一个有着半个世纪积累的领域,和AR相关的学术成果数不胜数,各种方法、技术手段、思路层出不穷。仅跟踪方面,光文章题目中含有“tracking”的顶级会议论文(比如CVPR),每一年都能有几十篇,真是百花齐放。但正因为计算机视觉目前处于高速发展的活跃期,还没有一种技术或者方法相比其他具有压倒性的优势,或者说能够适应足够光的环境和领域。

  计算机视觉技术的困难还在于这一方向是多学科的交叉与结合,同时视觉是一个涉及生理、心理的复杂过程,不仅与眼睛有关,还和大脑的推理、学习有关。研究计算机视觉的目的是要实现对人类视觉的模拟和延伸。视觉过程很难用类似于问题求解的方法符号化。随着计算机科学领域中对定量研究的重视这种状况会得到改善。在计算机视觉的研究过程中,应考虑将功能模拟与认知模拟相结合。人类延伸其他能力的过程中,功能模拟起到了主要作用,但视觉是涉及心理和生理两方面的过程,因此必须在功能模拟的同时重视认知模拟。

  在计算机视觉中计算理论占有十分重要的地位,计算理论的进步,新的计算模型的提出可以解决以往一些困难的问题;另一方面,感知手段的进步也可以起到同样的作用。采用主动视觉可从另一个侧面去处理面对的视觉问题。要实现完整的视觉系统,视觉知识的获取、管理和利用是必不可少的。一个相对完备的视觉系统同时也是一个知识管理系统,在视觉过程中对一幅图像的理解需要大量的关于任务领域的知识,这些知识不同于问题求解中的知识可以明确的显性表示,而且人类获取信息的80%是通过视觉得到的,因而这些知识涉及面之广难以预测,因此视觉系统中的知识管理是一个重要问题。

  从以往的研究看,过去的几十年虽然提出、解决了一些问题,但是由于视觉问题的特殊性和复杂性,还有大量的问题需要研究。研究的重点包括对新方法、新手段的探索。当然,在原有问题上采用新的描述方法、求解手段也是一个可能的突破点。在视觉领域中多数的问题不是问题本身正确与否,而是描述是否恰当以及求解是否有效的问题,因而描述方式、求解手段的探索也是十分重要的。

  总的来说,对AR应用来说,还有六个方面的困难有待突破。

  • 1、定义物体(Functional Object)
  • 2、遮挡(Occlusion)
  • 3、上下文理解
  • 4、物体跟踪
  • 5、3D重建
  • 6、精度问题

三、AR计算机视觉新的发展

(一)、AR跟踪配准技术发展

  三维图像配准是链接虚实的关键技术需求,其基础又是3D环境重建。在AR中配准的目的是对影像数据进行几何上的精确理解,以此来解决叠加的虚拟数据的定位问题。比如说,在AR辅助导航中如果想把导航箭头“贴在”路面上,就一定要知道路面在哪里。在这个例子中,每当手机摄像头获取到新一帧图像,AR系统首先需要将图像中的路面定位,具体的说就是在某个事先设定的统一的世界坐标系下确定地面的位置,然后将要贴的箭头虚拟地放在这个地面上,再通过与相机相关的几何变换将箭头画在图像中相应的位置(通过渲染模块完成)。如前所述,三维跟踪配准在技术上存在很多挑战,尤其在考虑到移动设备有限的信息输入和计算能力的情况下。

(二)、三维环境的AR跟踪

  对于三维环境的动态的实时的理解是当前AR在技术研究方面最活跃的问题。其核心就是即时定位与地图构建(SLAM,Simultaneously Localization And Mapping),在无人车、无人机和机器人等领域也起着核心作用。AR中的SLAM比其他领域中一般难度要大很多,主要是因为AR赖以依存的移动端的计算能力和资源比起其他领域来说要弱很多。目前在AR中还是以视觉SLAM为主,其他传感器为辅的局面,尽管这个情况正在改变。ARCore在物体跟踪方面(这里指的是对挂在锚点上的虚拟物体)已做得比较好,对VIO的精度控制得非常之不错。

(三)、3D结构光技术的发展

  3D结构光技术主要是通过近红外激光器发射的具有一定结构特征的光线,投射到被拍摄物体上,再由专门的红外摄像头进行采集。由于这种具备一定结构的光线在被摄物体的不同深度区域,而导致采集后生成的图像相对原始光线结构发生变化,然后通过运算单元将这种结构的变化换算成深度信息,我们便获得了被拍摄物体的三维结构。3D结构光技术的根本就是通过光学手段获取被拍摄物体的三维结构,再通过这一信息进行更深度的应用。如前所述,3D重建是解决AR应用的关键性技术,3D结构光技术能比较好的解决真实环境物体的深度信息问题,因此对解决3D重建将会起到非常好的推动作用。

(四)、语义驱动的多模态增强现实和智能交互

  语义驱动的多模态增强现实和智能交互(SMART:Semantic Multi-model AR inTeraction),相比几何理解,对于视觉信息的语义理解涵盖广得多的内容,因而也有着广得多的应用。广义的看,几何理解也可以看作是语义理解的一个子集,即几何属性或几何语义。但因为语义理解技术上来说还具有很大的挑战性,最近的进展才使它有广泛实用的可能性。当然,通用的对任意场景的完全语义理解目前还是个难题,但是对于一些特定物体的语义理解已经在AR中有了可行的应用,比如AR辅助驾驶和AR人脸特效。同时,对来自不同传感器(双目、深度、惯导、语音)信息的整合也处于快速发展中。从视觉及相关信息来实时理解人类的交互意图也成为AR系统中的重要一环。在各种自然交互中,基于手势的技术是目前AR的热点。一方面由于手势的技术比较成熟,另一方面也由于手势有很强的可定制性。

参考文献

1、从计算机视觉角度,我们深入解读了增强现实(AR)的过去、现在和未来 从计算机视觉角度,我们深入解读了增强现实(AR)的过去、现在和未来
2、浅谈计算机视觉的应用与发展 浅谈计算机视觉的应用与发展

猜你喜欢

转载自blog.csdn.net/yolon3000/article/details/83961050