ARCore对象识别是否可行?

SZw*_*sor 11 augmented-reality arcore

我的目标是在物理对象上覆盖材质/纹理(这将是一个建筑模型),我将拥有相同的3D模型.模型将是静态的(如果有帮助的话,在桌子上),但我显然想从任何一侧看对象.我的物理模型的占地面积往往不小于15x15cm,可能大到2-3平方公尺,但我愿意改变模型的大小以使用ARCore的功能.

我知道ARCore主要用于将数字对象固定在平面水平面上.我的主要问题是,在目前的状态下,它是否有能力实现我的最终目标?如果我有这个权利,它会记录物理点云数据,并尝试将其与我的数字模型的点云数据相匹配,然后将两者重叠在手机屏幕上?

如果那真的不是ARCore的目的,那么我应该关注一个替代方案吗?在我的脑海里,这听起来相当简单,但我确信如果我以低效的方式解决这个问题,我将无法摆脱困境.说到深度,我宁愿不使用深度传感器,因为我的目标设备是手机.

Phi*_*Lab 9

我绝对希望将来有可能 - 毕竟没有计算机视觉的AR工具包没那么有用.

不幸的是,根据ARCore员工Ian的说法,目前没有直接支持,但您可以尝试通过这些图像字节来访问像素glReadPixels,然后使用OpenCV.

来自伊恩的报价:

我不能谈论未来的计划,但我同意这是一个理想的能力.不幸的是,我的理解是当前的Android平台限制阻止提供单个缓冲区,可以用作GPU纹理和CPU可访问的图像,因此必须小心提供该功能.


ARG*_*Geo 6

更新时间:2020 年 6 月 29 日

目前,ARCore 1.18 中仍然没有3D 对象识别 API

但是你可以使用增强图像 API(自 ARCore 1.2 版本)和全新的ML Kit 框架(现在处于测试阶段)来完成你的一些任务。

根据谷歌文档:

从 ARCore 1.9 开始,ARCore 还可以跟踪moving images诸如过往公交车上的广告或用户移动手时所持平面物体上的图像等。