CoreML:iOS:如何获取检测模型中心的 2D 坐标

Posted

技术标签:

【中文标题】CoreML:iOS:如何获取检测模型中心的 2D 坐标【英文标题】:CoreML: iOS: How to get 2D coordinates of center of detected model 【发布时间】:2018-09-06 23:48:45 【问题描述】:

我想为检测到的模型找到 2d 坐标系,以便我可以进行光线投射并获得 3d 坐标系。

我正在执行以下步骤

    Microsoft customvision.ai 用于训练模型,以便可以使用 ios CoreML 进行检测

    从自定义视觉下载我的 .mlmodel 文件并将其加载到 Xcode 项目中

    将 Xcode 中的视觉框架用于模型。

到目前为止,我能够识别模型并获得概率。但是,我在识别检测到的模型的中心点时遇到了挑战,我想在此基础上在其上叠加信息。

请建议是否有任何支持的框架可用于识别相对于屏幕坐标的模型坐标。

通常,当检测到跟随图像时,它应该识别检测到的目标的中心。我已经画了红色边框供参考。

【问题讨论】:

你能贴一张用颜色编码典型相机框架内物体概率的图片吗?根据您现在的情况,有几种方法。 嗨,我在实际帖子中附上了图片。 你能附上一些边界框的中心不是一个好的解决方案吗? 我可以用概率检测模型。我怎么知道模型中心?这样我就可以进行光线投射并获得 3d scnvector3 坐标 从图像空间中,知道检测到的模型边界框的中心可以为您提供一条可能的模型中心在 3d 空间中的位置。如果不知道更多信息,例如相机和物体之间的位置,就不可能获得精确的 3d。如果您知道齿轮的实际尺寸,则可以缩小该点所在的范围。 【参考方案1】:

CustomVision 模型返回的 VNClassificationobservation 不包含当前检测到的对象的位置 我建议使用来自 Turicreate 的对象检测来训练您的模型,它会产生 VNRecognizedObjectObservation,其中包含检测到的对象的坐标

另见:-https://apple.github.io/turicreate/docs/userguide/object_detection/

【讨论】:

这仅适用于 mac 吗?不适用于 iOS?

以上是关于CoreML:iOS:如何获取检测模型中心的 2D 坐标的主要内容,如果未能解决你的问题,请参考以下文章

Apple Vision Framework:通过观察检测微笑或幸福的面孔?

结合 CoreML 对象检测和 ARKit 2D 图像检测

如何使用对象检测模型改进 CoreML 图像分类器模型?

OpenFace CoreML 模型。没有人脸检测

我们如何在 iOS 11 中使用 CoreML 框架进行手写检测

手撕coreML之yolov2 object detection物体检测(含源代码)