【问题标题】:can't detect objects in real time capture using a different coreml object无法使用不同的 coreml 对象实时捕获对象检测
【发布时间】:2018-12-26 04:18:30
【问题描述】:

为了在实时捕捉中识别对象,我从苹果开发者网站下载了开箱即用的项目:https://developer.apple.com/documentation/vision/recognizing_objects_in_live_capture

问题是我替换 ObjectDetector 的所有其他 coreml 都不起作用 - 更具体地说,我在手机上构建了应用程序,但没有“框”显示正在检测到的对象。 我尝试了来自https://coreml.store 的许多模型,但似乎没有一个可以工作(尽管没有抛出错误)。

我猜我错过了一个步骤,它不仅仅是替换 .mlmodel 对象并更改名称

 guard let modelURL = Bundle.main.url(forResource: "ObjectDetector", withExtension: "mlmodelc")

?

【问题讨论】:

    标签: object-detection coreml coremltools


    【解决方案1】:

    该网站上的大多数模型不是“对象检测”模型,而是“分类”模型。它们返回不同类型的观察对象,而不是示例应用查找的 VNRecognizedObjectObservation 对象。

    【讨论】:

    • 如何控制返回的对象类型?我正在关注这个文档:apple.github.io/turicreate/docs/userguide/object_detection,在保存我训练好的模型后,我只是将它导入 Xcode 并尝试使用它。
    • 模型总是针对特定目的进行训练。大多数免费的 CoreML 模型都是分类器,因此它们只执行特定任务。目前还没有很多免费的 Core ML / Vision 对象检测器模型可用,因为此功能仅在 iOS 12 中添加到 Vision 中,仍处于测试阶段。因此,除非创建此模型的人明确告诉您它可以与 Vision 一起用于对象检测,否则它不能。如果您想训练自己的对象检测模型,现在您可以使用 Turi Create 测试版。
    • 是的,我就是这么做的。我使用 Turi create beta 训练了我自己的。当它不起作用时,我从该网站下载了一个示例,以调试问题。我了解网站上的模型由于 VNRecognizedObjectObservation 对象而无法正常工作。我怀疑这也是为什么我自己的训练模型不起作用的原因。在训练模型的过程中,我是否应该明确定义要返回的对象?
    • 你使用 Turi Create 训练了什么样的模型?
    • 我运行了 model = tc.object_detector.create(train_data),我认为它默认为 darknet-YOLO。
    猜你喜欢
    • 2019-03-15
    • 1970-01-01
    • 2013-05-31
    • 2022-09-23
    • 2020-12-20
    • 2020-03-13
    • 2021-10-02
    • 2020-03-10
    • 2019-12-28
    相关资源
    最近更新 更多