跳到主要内容

能力介绍

AR Engine(AR引擎服务)是一个用于在HarmonyOS上构建增强现实应用的引擎,提供了运动跟踪、环境跟踪和命中检测等空间计算能力。

通过这些能力,应用可以实现虚拟世界与现实世界的融合,给用户提供全新的视觉体验和交互方式。

AR Engine包含三大能力,分别是运动跟踪能力、环境跟踪能力和命中检测能力。

运动跟踪能力

AR Engine通过获取终端设备摄像头数据,结合图像特征和惯性传感器(IMU),计算设备位置(沿x、y、z轴方向位移)和姿态(绕x、y、z轴旋转),实现6自由度(6DoF)运动跟踪能力。

图1 6DoF运动跟踪能力示意图(红色线代表设备运动方向)

环境跟踪能力

AR Engine通过检测和跟踪设备周围的平面及语义,实现环境跟踪能力。环境跟踪能力包括:平面检测、平面语义、目标语义、深度估计、环境网格扫描、图像跟踪和高精几何重建。

  • 平面检测

    检测水平和竖直平面(如地面、墙面等),并识别平面边界。应用可使用这些平面来放置虚拟物体。

    图2 平面检测示意图(左图为水平平面,右图为竖直平面)

  • 平面语义

    检测不同的平面类型。当前支持的平面类型共11种,分别为:墙面、地面、座椅面、桌面、天花板、门面、窗面、床面、平面空间、立方体体积、立方体空间容积(平面空间、立方体体积和立方体空间容积仅在高精几何重建模式下支持)。

    图3 平面语义示意图(蓝色表示地面,绿色表示桌面)

  • 目标语义

    当目标物体位于平面上时,检测目标物体的形状,当前包括矩形和圆形。

    图4 目标语义示意图 (左图为矩形检测,右图为圆形检测)

  • 深度估计

    支持持续输出周围环境相对终端设备的深度信息,利用这些深度信息,可以实现更加自然、无缝的虚实体验。本功能提供的深度信息是指从终端设备摄像头到显示场景中各点的深度值,每个像素点都有该深度值。同时输出置信度信息,开发者可自行根据应用需求根据置信度选择更稠密或者更精确的深度信息。

    图5 深度渲染示意图

  • 环境网格扫描

    实时计算并输出当前画面中的环境网格数据,可用于处理虚实遮挡等应用场景。

    通过环境网格能力,可将虚拟物体放置在任意可重建的曲面上,而不再受限于水平面和垂直面。同时可利用重建的环境网格实现虚实遮挡和碰撞检测,使得虚拟角色能够准确的知道当前所在的周围三维空间情况,实现更好的沉浸式AR体验。

    图6 环境网格扫描示意图

  • 图像跟踪

    AR Engine提供图像识别与跟踪的能力,检测场景中是否存在用户提供的图像,识别之后输出图像的位姿。

    通过图像识别与跟踪功能,可实现基于现实世界场景中图像(海报或封面等)的增强现实。可提供一组参考图像,当这些图像出现在终端设备的相机视野范围内时,AR Engine可为AR应用实时跟踪图像,丰富场景理解及交互体验。

    图7 图像跟踪示意图

  • 高精几何重建

    AR Engine高精几何重建用于识别空间中的立方体物体或者嵌入式立方体空间,计算出被识别物体或空间的长、宽、高以及体积。体积测量可以用于测量立方体体积以及嵌入式空间的大小。

    高精几何重建主要包含稠密点云绘制、体积测量、空间识别三大能力。

    图8 稠密点云绘制示意图

    图9 体积测量示意图

    图10 空间识别示意图

命中检测能力

AR Engine通过命中检测(Hit Testing)技术,将终端设备屏幕上的兴趣点映射为现实环境中的兴趣点。命中检测以现实环境中的兴趣点为源,发出一条射线连接到摄像头所在位置,返回射线与平面(或特征点)的交点。通过命中检测能力,用户可以通过点击终端设备屏幕,选中现实环境中的兴趣点,与虚拟物体进行交互。

图11 命中检测示意图

场景介绍

通过以上能力,可以实现AR场景的应用开发,如AR物体摆放等,为用户提供虚实融合的全新交互体验。

  • AR物体摆放:通过摄像头构建AR虚拟世界,支持用户在虚拟世界中放置虚拟物体。AR物体摆放可用于虚拟家具试用等,实现虚拟与现实世界融合。

  • 平面语义识别:对于检测到的平面,开发者可以对平面进行平面的语义识别,包括墙面、地面、座椅面、桌面、天花板、门面、窗面、床面等。

  • 目标形状识别:对于检测到的目标物体,开发者可以对目标物体进行形状识别,可识别的形状包括矩形和圆形。

  • 网格扫描:通过摄像头构建AR虚拟世界,通过重建周围环境网格实现虚实遮挡和碰撞检测,支持用户在虚拟世界中放置虚拟物体。通过感知当前所在的周围三维空间情况,实现更好的沉浸式AR体验。

  • 深度估计:通过摄像头获取周围环境信息,持续输出周围环境的深度信息,为用户提供环境三维感知能力。该技术可应用于测量、体积估算、场景重建等获取空间物体深度信息,基于此信息完成一些空间计算任务,比如计算物体体积等。

  • 图像跟踪:通过摄像头获取周围环境信息,持续检测场景中是否存在输入的图像,识别之后输出图像的位姿。

    AR Engine提供图像识别与跟踪的能力,检测场景中是否存在用户提供的图像,识别之后输出图像的位姿。

    通过图像识别与跟踪功能,可实现基于现实世界场景中图像(海报或封面等)的增强现实。可提供一组参考图像,当这些图像出现在终端设备的相机视野范围内时,AR Engine可为AR应用实时跟踪图像,丰富场景理解及交互体验。

  • 高精几何重建:通过摄像头获取周围环境信息,识别空间中的立方体物体或者嵌入式立方体空间,计算出被识别物体或空间的长、宽、高以及体积。体积测量可以用于测量立方体体积以及嵌入式空间的大小。

支持的国家/地区

本Kit当前仅支持在中国境内(香港特别行政区、澳门特别行政区、中国台湾除外)接入使用。

模拟器支持情况

本Kit暂不支持模拟器。