ARCore - 后置 Android 深度相机的原始深度数据

5
我无法弄清如何从我的小米Redmi Note 8 Pro后置ToF深度传感器获取原始深度数据。
我尝试过:
来自android样例的Camera2Format。没有结果(而且我不是唯一一个)。
按照android开发者博客中所述获取后置摄像头的physicalId。没有结果。
ARCore API 无法处理深度
我看到了几个类似的问题(一个, 两个),但都没有答案。在Android中捕获深度相机的原始深度难道很困难吗?

1
如果您查看讨论的末尾,会发现修改版的Camera2RawFragment,作者使用它来访问深度图像数据:https://groups.google.com/a/android.com/forum/#!topic/camerax-developers/iI-O5tWxiZs。希望这能有所帮助,但是阅读关于数据准确性的完整线程是值得的。 - Mick
1个回答

2

Raw Depth API vs Full Depth API

在 Google I/O 2021 上,除了现有的 Full Depth API(自 ARCore 1.18 起可用)之外,还宣布了 ARCore 1.24 版本的 Raw Depth API。第二代深度 API 提供了将 iToF 传感器获取的 Raw Depth 数据与来自 Depth-from-Motion ML 算法的数据合并的能力。结果数据可以通过 16 位缓冲流检索,其中 13 位保留用于 depth map,3 位保留用于 confidence map

在 Google I/O 2022 上,适用于运行 ARCore 1.31 的用户的 Full Depth API 进行了更新。现在,每像素使用全部 16 位,允许应用程序表示距离为 65,535 毫米以内的深度。


如今,ARCore 开发人员可以使用 Raw Depth API 进行精确测量和重建网格操作。另一方面,Full Depth API 理想地适用于人/物体遮挡和场景照明等目的。

以下表格表示了三个重要参数:

Full Depth API(v1.31+) Raw Depth API(v1.24+) Full Depth API(v1.18+)
准确性 极佳
覆盖范围 所有像素 不是所有像素 所有像素
距离 0 至 65.5 米 0.5 至 5.0 米 0 至 8.2 米


Raw Depth 在所有支持深度 API 的设备上都可用。与 Full Depth API 一样,Raw Depth API 不需要支持的硬件深度传感器(例如 iToF 传感器)。但是,Raw Depth API 和 Full Depth API 都利用设备可能具有的任何支持的硬件传感器。

ARCore 深度 API 支持的设备列表正在增长。请注意最后一列名为注释的信息 - Depth API 支持的相关信息在那里。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接