创建可检测卡值的ML模型

问题描述

这是关于训练ML模型以检测卡的更为笼统的问题。

纸牌是一种儿童游戏,有4种不同的颜色,数字和符号。我不需要检测颜色,只需检测卡的值(也称为符号)即可。

我尝试用iPhone拍摄每张卡的照片,使用RectLabel在左上角的符号周围绘制矩形(这些卡在右下角也有上下颠倒的符号,我也没有标记它们,因为它们在检测期间将被隐藏)。 我裁剪了图像,使只有卡片可见,没有周围环境。

然后我将图像上传到app.roboflow.ai,让它们发挥作用(使用自动定向,调整为416x416,灰度,自动调整对比度,旋转,剪切,模糊和噪点)。

那给了我另一组图像,我用它们来用Apple的CreateML训练模型。

但是,当我在我的应用中使用该模型时(我正在使用Apple的Breakfast Finder演示),则无法检测到卡的值-好的,有时它可以工作,但仅在距手机和手机一定距离的地方标签既可以上下颠倒,也可以横向倾斜。

我的猜测是这是因为我的图像未按照应有的方式拍摄?

关于如何设置整个模型的任何提示,这样我的模型才能得到很好的训练?

解决方法

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

我裁剪了图像,以便仅显示卡片,没有周围环境

您希望训练图像与模型在野外看到的图像尽可能相似。如果只对没有周围环境的卡片图像进行训练,然后再向其显示周围有东西的卡片图像,那么它将不知道该怎么做。

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