使用 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. 纵向:只应在设备的默认屏幕方向模式下使用(即纵向)。不保证横屏模式下的语义标签质量。