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

针对具体平台的指南

场景语义

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

假设有一张户外场景的图片,该 API 会为一组有用的语义类(如天空、建筑物、树木、道路、人行道、车辆、人等)中的每个像素返回一个标签。除了像素标签之外,Scene Semantics API 还为每个像素标签提供置信度值,并通过一种易于使用的方法查询指定标签在户外场景中的普遍性。

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

语义图像示例

借助 Scene Semantics API,开发者可以识别特定的场景组件,例如帮助引导用户穿越陌生城市的道路和人行道、在动态对象上渲染遮挡效果的人物和车辆、随时利用天空创建日落,以及修改建筑物的外观和锚定虚拟对象。

语义标签和质量

Scene Semantics API 提供了多种标签,每个标签都具有相应的质量或可靠性。通常,机器学习模型能够更好地预测更大、更常见的对象/表面的类别,而不是更小或更罕见的对象/表面的类别。这些类可分为以下质量层级(按从高到低的顺序排列):

语义标签质量层级
主要场景组件
  • 天空
  • 正在构建
  • 道路
  • 车辆
主要场景细节
  • 人行道
  • 地形
  • 结构
次要场景细节
  • 对象
  • 代表人的图标

设备兼容性

Scene Semantics API 与 Depth API 共享相同的受支持设备列表。有关同时支持这两个 API 的设备的最新列表,请参阅 ARCore 支持的设备页面。

支持的使用场景

Scene Semantics API 专为以下场景而设计:

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

  2. 纵向:只应在设备的默认屏幕方向模式下使用(即纵向)。对于横屏模式,不保证语义标签的质量。