如何解决ML kit 对象检测合适的数据集和模型
我正在开发一个应用程序,它可以扫描类似魔方的拼图(多米诺立方体、金字塔、slimtower 等),并根据检测到的面孔识别拼图并显示解决方案的步骤。
我想检测图片中的拼图,获取边界框,然后进行边缘检测等图像处理,识别边界框内拼图的颜色。对于对象检测,我将 ML-kit object detection 与 cutom 模型一起使用。
到目前为止,我已经能够重新训练基于 mobilenet_v2 的模型,该模型返回正确的边界框,但几乎无法正确分类对象,并且所有内容都归类为金字塔(参见 1、{{3} } 或 2)。我的数据集由背景噪声最小的彩色个体人脸组成。我还尝试在检测到的边缘的二值图像上重新训练上述模型,因为我只需要面部周围的边界框并且不关心颜色,但是非常不成功并且没有检测到任何东西。
所以我的问题是数据集应该是什么样的?它应该看起来像 3 或 this 或 this。还有什么型号更适合这个吗?
谢谢
解决方法
我会构建数据集以模拟您在现实世界中的期望。例如,如果您要求用户在拍照时将他们的游戏放在白色背景上,那么请使用白色背景上的训练图像。另一方面,如果您的背景不受约束,那么各种嘈杂的背景将是有意义的 - 例如您上面展示的示例的第二张图片。
另外:您的数据集中有多少个样本?您可以使用更多样本或扩充数据集来改善结果 - Albumentations 可以在这里提供帮助。
对于分类,我可能会考虑一些实际的解决方法:
- 让用户对游戏进行分类。毕竟,他们知道自己在玩什么游戏,并且可以在应用界面中自行选择。
- 延迟分类。就像你正在做的那样,只是限制游戏的边界。那么既然您将“执行诸如边缘检测和识别拼图颜色之类的图像处理”,您就不能使用该信息进行分类:盒子的数量、游戏棋子的形状等 - 或者也许你还没有解决这部分问题。
- 使用两步分类:如果您的目标检测成功,请使用边界框坐标裁剪图像,然后将其输入另一个分类器,这在可用模型方面为您提供了更大的灵活性。例如,其中许多 models 虽然是为 TPU 构建的,但应该编译为适用于移动设备的 TFLITE。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。