Swift 中 Vision/CoreML 对象识别器的精度

Posted

技术标签:

【中文标题】Swift 中 Vision/CoreML 对象识别器的精度【英文标题】:Precision of a Vision/CoreML Object Recognizer in Swift 【发布时间】:2018-08-13 20:54:52 【问题描述】:

我只是想开始学习苹果支持我们的令人难以置信的框架,当我浏览网页时,我遇到了一个非常基本的问题,到目前为止没有人解决:CoreML 对象识别器能有多精确?这意味着 CoreML 应用程序的差异化程度如何?

例如

如果我尝试创建一个汽车模型识别器,它能否区分大众高尔夫 3 和大众高尔夫 4?

它是否能够区分仅略有不同的不同直升机(摩托车)?

它能区分啤酒和普通汽水瓶吗?

【问题讨论】:

【参考方案1】:

这完全取决于您设计的模型以及您如何训练它。它与 Core ML 本身没有太大关系,因为 Core ML 对汽车、摩托车或汽水瓶一无所知。该知识被您的模型捕获。如果你可以训练一个可以做这些事情的模型,那么 Core ML 可能可以运行它。

找出模型是否能区分大众高尔夫 3 和 4 的最简单方法是收集这两种类型汽车的一大堆图像,并使用 Turi Create(Apple 开源)来训练此类一个模型。

至于这样的模型有多准确,唯一的方法是构建一个模型并对其进行训练,然后对其进行评估。请注意,ILSVRC 挑战中的图像分类器(您在此处讨论的模型类型)获得了超过 95% 的准确率,这被认为与人类水平的表现有关。

因此,只要有足够的数据、精心挑选的模型架构和适当的训练程序,您就可以近似于您选择的问题领域中普通人类专家的准确度水平。

【讨论】:

以上是关于Swift 中 Vision/CoreML 对象识别器的精度的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 Vision coreML 执行批量预测

Swift UIApplication.delegate 只能在主线程中使用

使用 Vision 框架跟踪本地视频中的人脸 [关闭]

记录个oc的结构体在Swift中无法识别的问题

如何在Swift中识别出强大的参考周期?

Swift 3 Xcode 8 - SwiftValue encodeWithCoder - 发送到实例的无法识别的选择器