ARCore支持物体识别吗?

16

我的目标是将材料/纹理覆盖在物理对象上(它将是建筑模型),我会有一个完全相同的3D模型。该模型将是静态的(如果这有帮助,放在桌子上),但我显然想从任何一侧查看该对象。我的物理模型的占地面积往往不小于15x15厘米,最大可以达到2-3平方米,但我愿意改变模型的尺寸以适应ARCore的功能。

我知道ARCore主要设计用于将数字对象锚定到平坦的水平平面上。我的主要问题是,在当前状态下,它是否能够实现我的最终目标?如果我理解正确的话,它会记录物理点云数据,试图将其与我的数字模型的点云数据匹配,然后在手机屏幕上重叠两者?

如果ARCore真的不是为此设计的话,那么我应该关注哪种替代方案呢?在我脑海中,这听起来相当简单,但我肯定会在效率低下的情况下深陷其中。说到深度,我不想使用深度传感器,因为我的目标设备是手机。

2个回答

9
我非常希望在未来能够实现这一点-毕竟,没有计算机视觉的AR工具包并不那么有用。
不幸的是,根据ARCore员工Ian的说法,目前直接支持是不可能的,但您可以尝试通过glReadPixels访问像素,然后使用OpenCV处理这些图像字节。
Ian的引用:

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


是的,我不指望在移动设备上运行基本的卷积神经网络之前会得到支持。但是正如你提到的OpenCV:你可以将其流式传输到具有强大GPU的笔记本电脑上,并通过一些调整以此获得结果。虽然我建议使用TensorFlow或CNTK - 后者据说效率提高了3倍。 - Jamie Nicholl-Shelley

7

更新日期:2023年5月11日

场景语义 API

目前,Google ARCore 还没有可定制的三维物体识别 API。然而,全新的 场景语义 API 已经作为 ARCore 1.37 的一部分推出,它可以自动识别以下十一个户外场景组件:

  • 主要组件天空建筑树木道路车辆

  • 重要组件人行道地形构造物水域

  • 次要组件物体人物

场景语义在相机图像流上运行 ML 模型,并提供具有每个像素对应于 11 种户外概念标签的语义图像。

除了以上内容,您可以使用ML Kit 框架增强图像 API来完成各种任务。而根据谷歌的文档,您可以将 ARCore 作为 ML 模型的输入。

功能请求:3D物体检测,问题编号418 - https://github.com/google-ar/arcore-android-sdk/issues/418 - LEGEND MORTAL
抱歉 @LEGENDMORTAL,你是指对此的解决方法吗?我知道总会有解决方法,但问题是“ARCore对象识别是否可行?” - Andy Jazz
1
我认为可以使用Vuforia和ARCore实现,参考:https://library.vuforia.com/content/vuforia-library/en/articles/Solution/arcore-with-vuforia.html 和 https://sigma.software/about/media/ar-experimenting-vuforia-object-recognition-android。 - LEGEND MORTAL

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