是否可以使用ARCore测量不在同一帧内的区域内的点之间的物体,房间,结构或距离?

问题描述 投票:6回答:3

我明白以下引用对Project Google Tango非常正确:

通过将深度感知与运动跟踪相结合,设备可以测量区域中不在同一帧中的点之间的距离。

基于以上所述,以下是几个问题:

1.可以用ARCore来测量Project Google Tango的距离吗?

2.与Project Google Tango相比,结果有多准确?

android augmented-reality arcore google-project-tango
3个回答
0
投票

可以使用ARCore来测量Google Tango项目的距离吗?

是的,ARCore绝对可以用来测量距离。尽管Tango设备使其更准确,但ARCore在当前的1.8版本中表现相当不错。

与Google Google Tango项目相比,结果有多准确?

ARCore和Tango是Google的同一计划的一部分,这是一个重要的事情要记住。谷歌已经在另一个项目Daydream Standalone中使用Tango的部分数月。与新的Daydream系统一起宣布的谷歌Visual Positioning System源于Tango。但是ARCore有一个关键的区别:ARCore需要一个只有back-facing camera的设备,以及accelerometergyroscope。除了depth camera之外,Tango设备还有sensor Fusion。深度传感器允许更精确的定位,但其工作距离很短,深度系统耗尽手机的电池非常快。

说到质量,例如Google Pixel 3或华为P30 Pro,使用ARCore比使用它们更好。为什么?因为预算Android手机中的跟踪传感器需要彻底校准才能观察到强大的AR体验。

希望这可以帮助。


4
投票

Ian M用this回答部分回答你问题的第一部分。这是你如何做到这一点:

Pose startPose = startAnchor.getPose();
Pose endPose = hitResult.getHitPose();

// Clean up the anchor
session.removeAnchors(Collections.singleton(startAnchor));
startAnchor = null;

// Compute the difference vector between the two hit locations.
float dx = startPose.tx() - endPose.tx();
float dy = startPose.ty() - endPose.ty();
float dz = startPose.tz() - endPose.tz();

// Compute the straight-line distance.
float distanceMeters = (float) Math.sqrt(dx*dx + dy*dy + dz*dz);

0
投票

可以使用ARCore来测量Google Tango项目的距离吗?

是的,但精度较低且不太稳健。

与Google Google Tango项目相比,结果有多准确?

这取决于设备,环境条件,要测量的大小以及我们获得结果的方式。诸如地板之类的水平平面具有估计的高度,如果我们在检测到的平面上测量距离,则结果也不错。

以下是使用ARKit的http://www.idownloadblog.com/2017/09/07/arkit-measurekit-app/示例,我认为类似的事情也可以在ARCore中实现。

© www.soinside.com 2019 - 2024. All rights reserved.