通常成像的AR增强现实利用计算机视觉增强技术,通过识别和跟踪特定的图案,在识别的图案中附加二维或三维的图像,实现增强现实的显示。
随着分布式定位与地图构建(slam )技术的成熟和AR的引入,增强现实技术发生了根本性的变化,slam算法已经成为AR的核心技术。
传统的AR计算目标物体的特征点和透视角度,通过视觉增强算法估计摄像机与被识别物体的相对位置和角度,AR增强显示系统建立在被识别物体周围。
然后,SLAM将世界坐标的概念引入AR,使ar APP应用能够构建以人为本、虚拟与现实相融合的统一世界坐标(微软称之为MR,混合现实)。
采用SLAM技术的ar APP应用通过深度摄像头扫描周边环境,构建现实世界的特征点云。 简单地说,SLAM核心算法能够根据以已知的三点排列模式以不同角度拍摄的透视图像,在相反方向上推定摄影者的位置。 通过大量的点云信息和三角排列计算,可以推测照相机在已知的点云世界中的运动。
当然,实际使用的AR有助于利用移动设备的重力引导和惯性陀螺仪辅助定位,实时估计照相机的移动位置)
Apple iOS ARKit提供扫描点云和世界坐标对齐功能,用于扫描和保存周围真实世界中的点云,用户可以在第二次进入同一位置时重新匹配点云以重新获取世界坐标的原点。 这样,程序就可以将上次的AR虚拟场景恢复到现实世界坐标。
用户还可以将扫描的世界坐标和点云信息发送给其他用户,当多个用户进入同一位置时,用户可以共享同一世界坐标系,并在多个APP应用程序中交互。
UE4中实现ARKit世界坐标保存和恢复
1. 保存世界坐标和点云信息
调用setarworldoriginlocationandrotation标记ar世界坐标原点,然后调用SaveARWorld保存点云信息。 点云坐标根据设定的坐标原点进行了重组
2. 加载世界坐标和点云信息
世界配置是ARSessionConfig
3. 匹配世界坐标和点云信息
当GetARWorldMappingStatus返回Mapped时,标志AR的世界坐标匹配成功。