使用 Scene Semantics API 了解用户的环境

特定于平台的指南

场景语义

借助 Scene Semantics API,开发者可以了解用户周围的场景,这对于许多优质的 AR 体验来说是必不可少的。Scene Semantics API 基于机器学习模型构建,可提供实时语义信息,从而补充 ARCore 中现有的几何信息。

给定一张室外场景的图片,该 API 会针对每个像素返回一组有用的语义类(例如天空、建筑物、树木、道路、人行道、车辆、人物等)的标签。除了像素标签之外,Scene Semantics API 还提供每个像素标签的置信度值,并提供一种简单易用的方式来查询室外场景中给定标签的普遍程度。

从左到右依次为输入图像、像素标签的语义图像和相应的置信度图像示例:

语义图像示例

借助 Scene Semantics API,开发者可以识别特定的场景组件,例如道路和人行道,以帮助用户在陌生的城市中导航;识别人物和车辆,以在动态对象上呈现遮挡效果;识别天空,以在一天中的任何时间创建日落效果;以及识别建筑物,以修改其外观并锚定虚拟对象。

语义标签和质量

Scene Semantics API 提供多个标签,每个标签都有相应的质量或可靠性。一般来说,与较小或较罕见的对象/表面相比,机器学习模型能够更好地预测较大或更常见的对象/表面的类别。这些课程可以分为以下质量层级(从高到低):

语义标签质量层级
主要场景组件
  • 天空
  • 建筑物
  • 道路
  • 车辆
主要场景详情
  • 人行道
  • 地形
  • 结构
次要场景细节
  • 对象

设备兼容性

场景语义 API 与 Depth API 支持的设备列表相同。如需查看支持这两个 API 的设备的最新列表,请参阅 ARCore 支持的设备页面。

支持的使用场景

Scene Semantics API 旨在用于以下场景:

  1. 室外场景:仅支持室外场景,不适用于室内使用情形。

  2. 竖屏方向:应仅在设备的默认方向模式(即竖屏)下使用。无法保证横屏模式下语义标签的质量。