Ios11 有没有可能得到一个;SConvector3“;使用CoreML和ARKit定位世界对象?

Ios11 有没有可能得到一个;SConvector3“;使用CoreML和ARKit定位世界对象?,ios11,scenekit,augmented-reality,arkit,coreml,Ios11,Scenekit,Augmented Reality,Arkit,Coreml,我正在研究一个基于AR的解决方案,其中我正在使用SceneKit和ARKit渲染一些3D模型。我还集成了CoreML来识别对象并在场景中渲染相应的3D对象 但现在我只是在屏幕中央渲染它,只要我检测到对象(仅针对我拥有的对象列表)。是否有可能获得真实世界对象的位置,以便我可以在对象上方显示一些覆盖 也就是说,如果我有一个水瓶扫描,我应该能够得到水瓶的位置。它可以放在水瓶里的任何地方,但不应该放在水瓶外面。使用SceneKit可以做到这一点吗?您所要求的所有部分在理论上都是可能的,但是a)对于某些部

我正在研究一个基于AR的解决方案,其中我正在使用SceneKit和ARKit渲染一些3D模型。我还集成了CoreML来识别对象并在场景中渲染相应的3D对象

但现在我只是在屏幕中央渲染它,只要我检测到对象(仅针对我拥有的对象列表)。是否有可能获得真实世界对象的位置,以便我可以在对象上方显示一些覆盖


也就是说,如果我有一个水瓶扫描,我应该能够得到水瓶的位置。它可以放在水瓶里的任何地方,但不应该放在水瓶外面。使用SceneKit可以做到这一点吗?

您所要求的所有部分在理论上都是可能的,但是a)对于某些部分,没有集成的API来为您做事情,b)您可能正在注册一个

您可能拥有的核心ML集成是一个图像分类器,因为大多数易于找到的ML模型都是这样做的。图像分类回答了一个问题:“这张图片是什么?”

您要查找的内容至少涉及两个附加问题:

  • 假定此图像已被分类为包含(某些特定对象),则该对象在2D图像中的位置是什么
  • “给定检测到的对象在2D视频图像中的位置,它在ARKit跟踪的3D空间中的何处?”
  • 问题1相当合理。在ML社区中,存在同时进行分类和检测(图像中的位置/边界)的模型。也许最著名的是约洛-

    问题2是“研究团队与五年”部分。在YOLO的论文中,您会注意到它只为检测到的对象提供了粗略的边界框,也就是说,它在2D图像空间中工作,而不是进行3D场景重建

    要真正了解对象的形状,甚至是三维边界框,意味着将对象检测与场景重建相结合。例如,如果一个对象在2D图像中具有一定的高度,那么您是在看一个高而足迹小的3D对象,还是一个长而低的3D对象,并逐渐向远处移动?这种整合需要拆分ARKit的内部工作机制,这是苹果以外的任何人都无法做到的,或者从头开始重新创建一个类似ARKit的产品


    不过,您可能会做出一些假设,以便从二维边界框中获得非常粗略的三维形状估计。例如,如果对长方体的下角进行AR hit测试,发现它们位于水平面上,则可以猜测长方体的二维高度与对象的三维高度成比例,其在平面上的迹线与长方体的宽度成比例。你必须做一些研究和测试,看看这样的假设是否成立,特别是在你的应用程序涵盖的任何用例中

    从理论上讲,您所要求的所有部分都是可能的,但是a)对于某些部分,没有集成的API来为您做事情,b)您可能正在注册一个

    您可能拥有的核心ML集成是一个图像分类器,因为大多数易于找到的ML模型都是这样做的。图像分类回答了一个问题:“这张图片是什么?”

    您要查找的内容至少涉及两个附加问题:

  • 假定此图像已被分类为包含(某些特定对象),则该对象在2D图像中的位置是什么
  • “给定检测到的对象在2D视频图像中的位置,它在ARKit跟踪的3D空间中的何处?”
  • 问题1相当合理。在ML社区中,存在同时进行分类和检测(图像中的位置/边界)的模型。也许最著名的是约洛-

    问题2是“研究团队与五年”部分。在YOLO的论文中,您会注意到它只为检测到的对象提供了粗略的边界框,也就是说,它在2D图像空间中工作,而不是进行3D场景重建

    要真正了解对象的形状,甚至是三维边界框,意味着将对象检测与场景重建相结合。例如,如果一个对象在2D图像中具有一定的高度,那么您是在看一个高而足迹小的3D对象,还是一个长而低的3D对象,并逐渐向远处移动?这种整合需要拆分ARKit的内部工作机制,这是苹果以外的任何人都无法做到的,或者从头开始重新创建一个类似ARKit的产品

    不过,您可能会做出一些假设,以便从二维边界框中获得非常粗略的三维形状估计。例如,如果对长方体的下角进行AR hit测试,发现它们位于水平面上,则可以猜测长方体的二维高度与对象的三维高度成比例,其在平面上的迹线与长方体的宽度成比例。你必须做一些研究和测试,看看这样的假设是否成立,特别是在你的应用程序涵盖的任何用例中