如何正确设置图像识别任务?

如何正确设置图像识别任务?

你比图像识别小吗?这些是您或您的开发人员使用小数据集构建图像识别解决方案的最佳技巧和技巧。

机器学习还很年轻,但它每天都变得非常有用。Apple Vision SDK、谷歌Tensorflow或Vize图像分类器,便于定制识别模型的训练。这篇文章是为那些正在构建图像分类器的人们提供的,帮助他们定义任务,以最大限度地利用当今的技术。

基本规则

  • 二元分类-获得50-100 img/标签
  • 多达20个难以识别的标签时,100个img/标签
  • 多达100个标签的定义良好的标签时,100 - 200 img/标签
  • 模式识别-结构,x射线图像, 50-100 img/标签。
  • 抽象标签多达20个类别,~100 img/标签。

什么不起作用

多个标签具有小的数据集-超过20个标签需要每个标签至少100+图像来实现可靠的结果。

结果的可靠性

每个客户都在寻找与准确性相等的可靠性。如果你的目标是达到较高的精确度,请保持简单。技术仍然是相当愚蠢的。在这个时刻,构建一个具有有限数量的训练图像的图像分类器需要一个迭代的方法。我建议遵循以下规则。

  • 把你的任务分解成简单的决定(是或否)
  • 使类别变小并以某种逻辑方式连接它们
  • 使用一般类别的通用模型。
  • 每个标签都应该有相似数量的图像
  • 总是收集图像来扩展数据集
  • 合并非常紧密的类
  • 使用UI/人工反馈来改进数据
  • 维护数据集的质量

测试和生产差异

我们允许Vize.ai的用户训练每个标签至少20张图像的任务。通过将数据划分为训练和测试集,Vize使用训练集来学习分类器的最佳参数。我们在训练期间以几种方式对这些图像进行预测,以通过自动化扩展图像集。测试集用于计算分类器的准确性 - 您可以在任务屏幕上的Vize应用程序中看到的准确度。

请记住,每个标签20张图像是所需图像的基本要求,通常效果很差且精度较低。20张图片可能足以进行测试,但不适合生产。对于小型数据集,大多数情况下Vize的准确度可能非常高,容易超过80%。然而,在机器学习中常见的是,为了在生产中获得更稳定和可靠的结果,您应该使用更多图像。有些任务需要每个标签数百甚至数千个图像才能获得良好的生产模型性能。

最佳实践

开始用更少的类别

我建议人们从大约50种鞋子类型开始开发一款识别鞋子的应用程序。这很容易训练每只鞋的100个图像。让用户在用户界面中添加和上传新鞋。同时,让他们给你的分类反馈。这样你就可以在一个月内得到一个惊人的真实图像数据集,然后更新你的应用程序。

使用类别较少的任务

用小型训练数据集为飞机类型构建一个分类器,将图像分成“空中”和“地面”图像。建立两种不同的空中和地面模型,以获得更好的整体效果。你甚至可以将类似的飞机合并到一个类中并训练另一个识别器来对它们进行分类。一旦你有了更多的图片,你就可以合并这些类别。

对重要类使用二元分类

在电子商务中创建图片标题?为每个标记构建自定义任务。一个模型将对“圆形”“非圆形”等进行分类。这样你就可以为每个标签获得非常可靠的专用分类器。

不要混合输入图像

如果训练和评估图像的分布是相同的,机器学习就会表现得更好。这意味着你需要有和你将要评估的图片一样的训练图片。你可以在一开始就使用互联网图片来破解这个问题,但是你应该尽快开始收集用户图片。这些标尺将使您的模型在未来更加健壮。

总结

构建图像分类器不仅是一项很好的深度学习任务,而且是一项很好的任务定义和良好的数据集。如果数据集的大小是有挑战性的,那么从简单开始,向目标迭代。

相关推荐