在 macOS 中使用 Vision 和 CoreML 对图像进行分类

Posted

技术标签:

【中文标题】在 macOS 中使用 Vision 和 CoreML 对图像进行分类【英文标题】:Classifying images with Vision and CoreML in macOS 【发布时间】:2019-05-10 11:32:37 【问题描述】:

我已经训练 IBM Watson 识别感兴趣的对象。由于不需要远程执行,我想使用提供的工具导出到 .mlmodel 并在 macOS 中运行。

不幸的是,学习 Swift 和 macOS 开发也不是必需的。是否可以直接从命令行或脚本语言调用 Vision?作为替代方案,任何人都知道 macOS 应用程序的框架,可以在文件列表上运行 Vision 并以表格形式获得分类分数?谢谢。

【问题讨论】:

你能成功做到这一点吗?我想做同样的事情,但没有运气。 【参考方案1】:

article 中提到的代码通过 Watson SDK 在 ios 应用程序中使用下载的 Core ML 模型。

此外,这是一个使用 Watson Visual Recognition 和 Core ML 对图像进行分类的代码示例。工作区有两个项目

Core ML Vision Simple:使用 Visual Recognition 对图像进行本地分类。 Core ML Vision Custom:训练自定义 Visual Recognition 模型以进行更专业的分类。

参考代码和说明here

此外,Watson Visual Recognition 附带一个入门工具包,预配置了 Core ML - https://console.bluemix.net/developer/appledevelopment/starter-kits/custom-vision-model-for-core-ml-with-watson

【讨论】:

使用 Core ML Vision Simple 生成一个最小的 iOS 应用程序,一次识别一张图像。它有效,但我正在寻找适用于 macOS 的东西。感谢分享。【参考方案2】:

您还可以将 mlmodel 加载到 Python 中并使用 coremltools 包进行预测。我不会在生产环境中使用它,但可以启动并运行一些基本的东西。

【讨论】:

从描述中不清楚预测是如何工作的。我可以通过 Vision 将图像传递给它吗?感谢分享。 从您的 Python 代码中,您可以将 mlmodel 文件加载到 MLModel 对象中,然后调用 mlmodel.predict"image": img 其中 img 是 PIL 图像对象。结果是一个带有分类结果的字典。

以上是关于在 macOS 中使用 Vision 和 CoreML 对图像进行分类的主要内容,如果未能解决你的问题,请参考以下文章

无法解决:com.google.firebase:firebase-ml-vision:24.1.3;无法解决:com.google.firebase:firebase-core:20.0.2

Core Data Macos 应用程序和与 OS X 10.7 的兼容性

ASP.Net Core 3 远程证书在 MacOs 上无效

项目未在活动配置中构建 Visual Studio MacOS .net Core

docker4dotnet #3 在macOS上使用Visual Studio Code和Docker开发asp.net core和mysql应用

多目标 .NET Core 控制台的 Azure DevOps (VSTS) 托管 macOS 代理失败