我想使用CreateML创建一个图像分类器模型。我有非常高分辨率的图像可用,但这会增加数据流量和处理时间的成本,所以我更倾向于使用尽可能小的图像。
文档中提到:
图像(…)不需要特定的大小,也不需要彼此相同的大小。然而,最好使用至少299 x 299像素的图像。
我使用各种尺寸大于299×299像素的图像训练了一个测试模型,Xcode中的模型参数显示尺寸为299×299像素,我理解这是标准化的图像尺寸:
这个尺寸似乎是由CreateML图像分类器算法决定的,并且无法配置。
- 使用大于299×299像素的图像训练模型有意义吗?
- 如果图像尺寸不是正方形(高度和宽度相同),在标准化过程中,训练图像会被中心裁剪到299×299像素,还是图像中超出正方形的部分会影响模型?
回答:
根据阅读和训练图像分类模型的经验(但没有直接的苹果内部知识),Create ML似乎会将输入的图像缩放到299 x 299的正方形图像。提供更大的图像只会浪费磁盘空间和预处理时间。我能找到的最佳文档是查看CreateML为图像分类器模板创建的mlmodel文件。输入明确定义为299 x 299的彩色图像。在独立应用中没有选项可以更改此设置。这里有一些文档(适用于默认使用ScenePrint的分类器模板):
在Playground工作区中可能有中心/裁剪选项,但在Create ML的独立应用版本中我从未找到过。