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 对象识别器的精度的主要内容,如果未能解决你的问题,请参考以下文章
Swift UIApplication.delegate 只能在主线程中使用
Swift 3 Xcode 8 - SwiftValue encodeWithCoder - 发送到实例的无法识别的选择器