使用 CreateML 训练图像分类器的最佳图像分辨率是多少?

Posted

技术标签:

【中文标题】使用 CreateML 训练图像分类器的最佳图像分辨率是多少?【英文标题】:What is the optimal image resolution to train an image classifier with CreateML? 【发布时间】:2020-10-28 03:08:40 【问题描述】:

我想使用 CreateML 创建一个图像分类器模型。我有非常高分辨率的图像,但这会以数据流量和处理时间为代价,所以我更喜欢使用尽可能小的图像。

docs 这么说:

图像 (...) 不必是特定大小,也不必彼此大小相同。不过,最好使用至少 299 x 299 像素的图片。

我用各种尺寸 > 299x299px 的图像训练了一个测试模型,Xcode 中的模型参数显示尺寸为 299x299px,我理解为 标准化 图像尺寸:

这个维度似乎是由 CreateML Image Classifier 算法决定的,不可配置。

    用大于 299x299 像素的图像训练模型是否有意义? 如果图像尺寸不是正方形(与宽度相同的高度),在归一化过程中训练图像是否会被中心裁剪为 299x299px,或者图像在正方形之外的部分是否会影响模型?李>

【问题讨论】:

【参考方案1】:

根据阅读和训练图像分类模型的经验(但没有直接了解 Apple 内部知识),似乎 Create ML 会缩放传入的图像以适合 299 x 299 的方形图像。提供更大的图像会浪费磁盘空间和预处理时间. 我能找到的最佳文档是查看 CreateML 为图像分类器模板创建的 mlmodel 文件。输入被明确定义为彩色图像 299 x 299。在独立应用程序中没有更改该设置的选项。 以下是一些文档(适用于默认使用 ScenePrint 的 Classifer 模板):

https://developer.apple.com/documentation/createml/mlimageclassifier/featureextractortype/sceneprint_revision

Playground 工作区中可能有一个 Center/Crop 选项,但我从未在 Create ML 的独立应用版本中找到它。

【讨论】:

这基本上是我的猜测,我正在寻找一种方法来通过参考来验证这一点。

以上是关于使用 CreateML 训练图像分类器的最佳图像分辨率是多少?的主要内容,如果未能解决你的问题,请参考以下文章

图像分类:训练模型的最佳方法

CreateML 结果在应用程序中很糟糕,而在操场上却很完美

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

训练期间接近 100% 的准确率,但在图像分类器的测试/验证期间 <50%

haar分类器的最佳参数

CreateML 中活动分类的训练错误