创建检测卡值的 ML 模型

Creating an ML-Model that detects card-values

这是一个关于训练 ML 模型检测纸牌的更通用的问题。

这些卡片是儿童游戏,有 4 种不同的颜色、数字和符号。我不需要检测颜色,只需要检测卡片的值(a.k.a 符号)。

我试着用我的iPhone给每张卡片拍照,用RectLabel在左上角的符号周围画了矩形(卡片在右下角有一个颠倒的符号,同样,我没有标记这些,因为它们会在检测过程中被隐藏)。 我裁剪了图像,因此只有卡片可见,没有周围环境。

然后我将我的图像上传到 app.roboflow.ai 并让它们发挥它们的魔力(使用自动定向、调整大小至 416x416、灰度、自动调整对比度、旋转、剪切、模糊和噪声)。

这给了我另一组图像,我用这些图像使用 Apple 的 CreateML 训练我的模型。

但是,当我在我的应用程序中使用该模型时(我使用的是 Apple 的 Breakfast Finder Demo),未检测到卡片值 - 好吧,有时它可以工作,但只能在距离phone 并且标签要么倒置要么横着。

我猜这是因为我的图片没有按应有的方式拍摄?

关于我必须如何设置这一切以便我的模型得到良好训练的任何提示?

我敢打赌这就是问题所在:

I cropped the images so only the card is visible, no surroundings

您希望您的训练图像与您的模型在野外看到的图像尽可能相似。如果它只在没有周围环境的卡片图像上进行训练,然后你向它展示卡片及其周围事物的图像,它就不知道该怎么做。

这个 UNO scoring example 与您的问题极为相似,可能会提供一些想法和指导。