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

时间:2017-12-28 12:52:17

标签: augmented-reality arkit

有哪些方法可以识别房间中的特定物体以及使用AR进行室内导航的用户位置。我知道我们可以使用信标和标记来识别房间中的对象或用户的位置。

在不使用它们的情况下,查找用户位置和识别AR体验对象的其他选择是什么。我正在探索AR用于iOS设备的室内导航(目前专注于使用ARKit)。如果我们使用核心位置进行用户定位,则准确性较低。在小型商店中,如果我们使用核心位置或任何地图相关服务,我们将面临用户/产品错过定位,从而导致用户的不良体验。还有其他解决方法吗?

1 个答案:

答案 0 :(得分:2)

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

CoreML-in-ARKit

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

编辑:

使用开箱即用的CoreML图像分类器的一个限制 Inceptionv3.mlmodel它只检测一组通用类别中的主要通用对象,例如树木,动物,食物,车辆,人等等。

您提到在零售店内进行对象识别(图像分类)。这需要一个自定义图像分类器,可以区分不同类型的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张图像,则必须找到另一种创建模型的方法。