识别和增强图像

借助 ARCore 中的增强图像功能,您可以构建能在用户环境中响应 2D 图像(如海报或产品包装)的 AR 应用。 您提供一组参考图像,在摄像头视野中检测到图像时,ARCore 跟踪会告诉您这些图像在 AR 会话中的物理位置。

以下功能列表将帮助您评估增强图像功能是否适合您的应用:

  • 每个图像数据库可以存储最多 1000 个参考图像的特征点信息。
  • ARCore 可以在环境中同步跟踪最多 20 个图像,但无法跟踪同一图像的多个实例。
  • 环境中的物理图像必须至少为 15cm x 15cm 且必须平坦(例如,不能起皱或卷绕在瓶子上)
  • 在物理图像被跟踪后,ARCore 会提供对位置、方向和物理大小的估算。 随着 ARCore 收集的数据增多,这些估算会持续优化。
  • ARCore 无法跟踪移动的图像,不过它可以在图像停止移动后继续跟踪。
  • 所有跟踪都在设备上完成,所以无需网络连接。 可以在设备端或通过网络更新参考图像,无需应用更新。

最佳实践

有关选择参考图像的提示

  • 增强图像支持 PNG 和 JPEG 文件格式。 对于 JPEG 文件,为了获得最佳性能,请避免过度压缩。
  • 检测仅基于高对比度的点,所以彩色和黑白图像都会被检测到,无论使用彩色还是黑白参考图像。
  • 图像的分辨率至少应为 300 x 300 像素。
  • 使用高分辨率的图像不会提升性能。
  • 避免使用具有稀疏特征的图像。
  • 避免使用具有重复特征的图像。
  • 肉眼很难分辨高质量的参考图像。 使用 arcoreimg 工具可以获取每个图像的得分(0 - 100)。 我们建议得分至少为 75。下面是两个示例:
得分:100得分:0
图像包含许多独特的特征点 图像包含高度重复的特征

有关创建图像数据库的提示

  • 数据库会存储参考图像的压缩表示。 每个图像占据大约 6KB。
  • 运行时,将一个图像添加到数据库需要大概 30ms。 在工作线程上添加图像,以免阻塞界面线程,或者如果可以,使用 arcoreimg 工具在编译时添加图像。
  • 如果可能,请指定图像的预期物理大小。 此元数据可以提升跟踪性能,特别是对于较大的物理图像(超过 75cm)。
  • 不要在数据库中保存未使用的图像,因为这会对系统性能产生一定的影响。

有关优化跟踪的提示

  • 物理图像必须占据摄像头图像的 40%。 您可以使用 FitToScan 资产提示用户将物理图像放在他们的摄像头取景范围内。 请参阅增强图像示例应用,了解此提示的示例。
  • 在 ARCore 初次检测到图像时,如果未指定预期的物理大小,图像的跟踪状态将为暂停。 这意味着,ARCore 已识别出图像,但未收集到足够的数据来估算图像在 3D 空间中的位置。 如果图像的状态不是正在跟踪,那么开发者不应使用图像的姿态和大小估算。