探讨增强现实AR基于模型的追踪技术
最近,增强现实(AR)技术越来越为大众所熟知。例如,现代汽车发布的电子用车手册融入了 AR 技术。车主只需拿起手机或平板对准车子,该 AR 系统就能自动识别车子的具体部位,并提供相关信息。目前,该用车手册涵盖了空气滤清器、智能巡航控制、警示标志、机油、制动液等方面的信息,同时还包含基于增强现实技术的视频和指南。
很多人询问这运用了何种 AR 技术,是否是 SLAM?实际上,这里确实用到了与 SLAM 相关的技术,更确切地说,是 SLAM 框架中的一个重要技术环节——基于模型的追踪技术(Model Based Tracking)。
今天,我们就来深入探讨基于模型的追踪技术。首先,从整体上介绍一下增强现实中的追踪技术。增强现实技术的核心组成部分主要包括(见图二):显示技术、输入交互技术和识别追踪技术。
显示部分主要涉及光学成像相关技术,这部分与硬件关联较多,在此不做详细展开。输入交互技术主要包括语音交互、手势交互等,我们会在下一期重点讨论。具备交互技术和空间感知的追踪技术,即可实现 AR 的基本功能。接下来,我们重点介绍追踪技术。
追踪技术是计算机科学中一个广泛且重要的领域,在教育、娱乐、工业和制造等领域都有广泛应用。随着成像设备和硬件计算能力的发展,当前基于计算机视觉的物体跟踪技术取得了重大进展。
追踪技术主要分为以下几类:
- 光学追踪;
- 内部传感器追踪;
- 超声波追踪;
- 磁力追踪;
- 机械装置追踪。
光学追踪是一种相对成本较低且较为精确的解决方案,但其难点在于视觉算法的门槛较高。AR 中的光学追踪可分为多种类型(见图三)。在 VR 中,OutsideIn 方式应用较为广泛,例如 Oculus、HTC Vive、PS VR 都采用 Outside 进行位置追踪。而在 AR 中,基本采用 InsideOut 方式,如 Hololens。此外,最近 Oculus 的一体机也采用了 InsideOut 的追踪方式。
InsideOut 方式更加方便,成本更低,但目前 OutsideIn 方式更为精确。在一些工业场景中,多使用反光材质的标示点或特殊材质进行 OutsideIn 光学追踪。
标识追踪目前应用较为普遍,例如识字卡片、绘本等都采用了标识追踪技术,其早期代表是 ARToolkit。然而,基于 Marker 的技术需要预先在 AR 场景中粘贴一定的标识,在用户体验和适应性方面存在较大局限性。因此,基于无标识的 AR 技术是当前的发展方向,其中无标识别追踪是实现该技术的核心问题之一,SLAM 等就属于此类。我们此次主要介绍红色部分的 Model-Based Tracking。
Model-Based Tracking 的主要技术框架如图四所示,下面将该过程分为建模(Models)、视觉信息处理(Visual processing)、跟踪(Tracking)三个方面,并依次进行详细阐述。
1. 模型建立(Models)
模型(Models)的建立主要从目标、传感器和环境三个方面展开。首先,对于跟踪目标,需要了解其一些先验信息(prior knowledge),如被跟踪物体的形状、外观、姿态等特性。其次,要从传感器的角度进行考虑,例如使用未标定的单目相机时,获取的信息多以像素(pixel)为单位;若使用立体相机或深度相机,构建的尺寸信息则是度量(Metric)的。因此,不同传感器的选择会对被跟踪物体的表征形式产生不同影响。最后,从环境角度来看,在基于视觉的跟踪过程中,环境对跟踪的准确性起着关键作用。例如,在室内光照和环境相对稳定的情况下,重建所得模型更加稳定,能在很大程度上提高基于模型跟踪的准确性。
当前,在模型建立(models)阶段,主要有 Online 和 Offline 两种模型构建技术。
- Online 在线建模方式:以 SLAM 为代表,它在追踪的同时建立模型,追踪和建模是两个相互依赖的过程,彼此间的误差会相互传递并累加。为保证较好的追踪精度,一般需要借助 Bundle Adjustment 等优化方法进行调整,但目前该优化方法计算量较大。目前在 PC 端有较好的实现,在移动端则存在计算能力相对不足的问题。
- Offline 离线建模方式:将建模和跟踪分开,规避了 SLAM 过程中建模的不确定性,同时克服了建模所需大量运算量的问题,因此该方法能提高跟踪的精度和效率。
目前 Offline 离线建模主要有以下两种情况:
- 已知目标物体的 CAD 形状,如模型在设计制造过程中已有的 CAD 先验知识,在工业应用及企业级别的应用场合多采用这种情况。
- 通过传感器(如结构光扫描、RGBD、ToF 等)逆向获取目标物体的模型信息,然后将此模型作为先验知识。在实际生活应用中,个人参与者不太可能获取已有物体的 CAD 形状,因此只能借助简单的传感器离线获取模型,这种离线获取模型的方式更适用于消费者。
2. 视觉信息处理 (Visual processing)
视觉信息处理主要是提取和关联传感器所获取的目标物体信息,以更新整个跟踪系统的状态。在实际应用中,需要根据被跟踪目标的特性,选择稳定的跟踪线索(如颜色、边界、运动规律、背景信息等)。
具体在实际应用过程中,需根据构建的模型信息确定被预处理的对象。例如,在工业的 AR 等跟踪过程中,多以 CAD 的形状和拓扑信息为处理对象,该视觉信息处理过程即为对形状和拓扑信息的采样提取和数据关联等。在 2D/3D 领域,多以各自对应的纹理特征和形状特征为研究对象,整个视觉信息的处理过程是以提取、优化获取构建模型的稳定特征为目标。
目前,该方法可进一步细分为:基于颜色的信息处理、基于关键特征的信息处理、基于轮廓的信息处理和基于模板的信息处理四部分。
3. 跟踪 (Tracking)
当传感器获取的数据经预处理输入后,即可实现物体的定位跟踪,该过程具体可细分为检测和跟踪两个阶段。在检测阶段,需要以被跟踪物体的先验信息作为初始值,利用视觉信息处理技术获取的模型信息与输入的数据进行匹配,确定其在空间的姿态,从而实现对目标的跟踪。
目前针对移动端 6DoF(Degree of Freedom)的跟踪,主流是采用视觉和 IMU 进行融合,以实现更稳定的跟踪(如 Tango)。
以上就是关于 Model-Based Tracking 的介绍。后续我们会逐一介绍增强现实技术是如何实现的。