这里对 ML 来说几乎是全新的。我正在尝试使用 turicreate 创建手部检测 CoreML 模型。
我使用的数据集来自https://github.com/aurooj/Hand-Segmentation-in-the-Wild,它从以自我为中心的角度提供手的图像,以及图像的掩码。我正在按照 turicreate 的“数据准备”(https://github.com/apple/turicreate/blob/master/userguide/object_detection/data-preparation.md)中的步骤逐步创建 SFrame。在整个过程中检查变量的内容,似乎没有任何问题。
准备好数据后,我按照https://github.com/apple/turicreate/tree/master/userguide/object_detection的“介绍性示例”部分中的步骤进行操作
当 turicreate 执行迭代以创建模型时,我得到了错误提示。似乎根本没有任何损失,这似乎不对。
创建模型后,我尝试使用 SFrame 的 test_data 部分对其进行测试。然而,这些预测的结果只是空数组,这显然是不正确的。
将模型导出为 CoreML .mlmodel 并在应用程序中试用后,它无法识别任何东西(不足为奇)。
我对模型创建完全陌生,我无法弄清楚可能出了什么问题。数据集对我来说似乎相当准确。我对数据集所做的唯一更改是某些掩码没有明确的文件扩展名(它们是 PNG),因此我添加了 .png 扩展名。我还重命名了图像以遵循 turicreate 的教程格式(即vid4frame025.image.png
和vid4frame025.mask.0.png
。同样,使用此数据的 SFrame 创建过程在每一步似乎都是正确的。我能够成功地使用 turicreate 的教程数据集(自行车和汽车)遵循该过程。关于可能出了什么问题?