首页 文章

增强现实-ARKit-在环境中动态检测对象(无 marker/ibeacon)

提问于
浏览
0

通过 AR 识别室内特定对象的方式以及用户进行室内导航的方式是什么?我了解我们可以使用信标和标记来识别对象或用户在房间中的位置。

如果不使用它们,找到用户位置并为 AR 体验识别对象的其他替代方法是什么。我正在使用 iOS devices(currently 探索 AR 进行室内导航,重点是使用 ARKit。如果我们使用核心位置进行用户定位,则准确性会很低。在一家小商店中,如果我们使用核心位置或任何与地图相关的服务,我们将面临 user/product 错过定位,从而为用户带来 not-a-good 的体验。还有其他 ways/solutions 解决吗?

1 回答

  • 3

    在场景中可视地检测对象的明显替代方法是将 CoreML 框架与 ARKit 一起使用。 Github 上已经有一个基本的应用程序。

    CoreML-in-ARKit

    您还可以获取相对于起始原点的那些对象的 worldPosition 并根据 SCNNode 标签位置绘制 x,z 坐标系(室内地图)。它不会那么精确...但是它是一个基本的对象识别和定位系统。

    编辑:

    使用 Inceptionv3.mlmodel 之类的 out-of-the-box CoreML 图像分类器的一个限制是,它只能从一组通用类别(例如树木,动物,食物,车辆,人等)中检测主要的通用对象。

    您提到在零售店内进行对象识别(图像分类)。这将需要一个自定义图像分类器,该分类器可以例如区分不同类型的 iphone 型号(iphone7,iphone 8 或 iphone X),而不仅仅是确定其智能手机。

    要为 ARkit 创建自己的对象识别器(图像分类器),请遵循 Hunter Ward 编写的本教程。

    https://medium.com/@hunter.ley.ward/create-your-own-object-recognizer-ml-on-ios-7f8c09b461a1

    代码在 Github 上可用:

    https://github.com/hanleyweng/Gesture-Recognition-101-CoreML-ARKit

    注意:如果您需要为零售店中的 100 项商品创建自定义分类器,则 Ward 建议每类大约 60 张图像...总计大约 60 x 100 = 6000 张图像。为了生成 Core ML 模型,Ward 使用了一种称为“ Custom Vision”的 Microsoft 认知服务...目前最多只能有 1000 张图像。因此,如果您需要制作 1000 张以上的图像,则必须寻找另一种创建模型的方法。

相关问题