问题描述
这是关于训练ML模型以检测卡的更为笼统的问题。
纸牌是一种儿童游戏,有4种不同的颜色,数字和符号。我不需要检测颜色,只需检测卡的值(也称为符号)即可。
我尝试用iPhone拍摄每张卡的照片,使用RectLabel在左上角的符号周围绘制矩形(这些卡在右下角也有上下颠倒的符号,我也没有标记它们,因为它们在检测期间将被隐藏)。 我裁剪了图像,使只有卡片可见,没有周围环境。
然后我将图像上传到app.roboflow.ai,让它们发挥作用(使用自动定向,调整为416x416,灰度,自动调整对比度,旋转,剪切,模糊和噪点)。
那给了我另一组图像,我用它们来用Apple的CreateML训练模型。
但是,当我在我的应用中使用该模型时(我正在使用Apple的Breakfast Finder演示),则无法检测到卡的值-好的,有时它可以工作,但仅在距手机和手机一定距离的地方标签既可以上下颠倒,也可以横向倾斜。
我的猜测是这是因为我的图像未按照应有的方式拍摄?
关于如何设置整个模型的任何提示,这样我的模型才能得到很好的训练?
解决方法
我敢打赌,这就是问题所在:
我裁剪了图像,以便仅显示卡片,没有周围环境
您希望训练图像与模型在野外看到的图像尽可能相似。如果只对没有周围环境的卡片图像进行训练,然后再向其显示周围有东西的卡片图像,那么它将不知道该怎么做。
此UNO scoring example与您的问题极为相似,可能会提供一些想法和指导。