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

平台专用指南

场景语义

借助 Scene Semantics API,开发者能够了解用户周围的场景,这是许多高品质 AR 体验所必需的。Scene Semantics API 基于机器学习模型构建,可提供实时语义信息,对 ARCore 中的现有几何信息形成补充。

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

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

语义图像示例

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

语义标签和质量

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

语义标签质量层级
主场景组件
  • Sky
  • 正在构建
  • 道路
  • 车辆
主要场景详情
  • 人行道
  • 地形
  • 结构
  • water
次要场景详情
  • 对象
  • 用户

设备兼容性

Scene Semantics API 使用的受支持设备列表与 Depth API 相同。请参阅支持 ARCore 的设备页面,查看支持这两种 API 的设备的最新列表。

支持的用例

Scene Semantics API 适用于以下场景:

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

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