您将如何从头开始构建可用于生产的大型图像训练数据集?

数据挖掘 数据集 数据 图像分类 标签 注解
2022-03-09 13:31:31

您最有可能如何从头开始创建一个大型生产就绪图像训练数据集,包括图像分类任务的注释?我们将使用工业相机拍摄大量图像(约 100 万张)并将它们保存在 S3 存储桶中。您认为数据湖基础设施是否必要?

在您看来,在尽可能短的时间内注释图像的最合适方法是什么(不需要边界框)。到目前为止,我能够找到的解决方案如下:

有什么我错过的选择吗?原则上,可以为注释付费,但应避免或尽可能少。

对于这么大的数据库,在架构上是否应该考虑一些事情?

1个回答

我不是图像分类方面的专家,我只是在这里提供一些一般性建议。

该策略应该是渐进的,例如:

  1. 概念证明:设计带有一些通用指南的注释过程的初稿,然后随机抽取数百张图像的子集,并尝试按照指南对它们进行注释。仔细观察在标注阶段发现的问题:任何模棱两可的情况,任何与类粒度有关的问题(例如一个过于笼统的类),潜在的错误情况。设计一个训练/测试设置来训练一个模型系统,用小数据集对其进行测试,修复过程中的任何错误,可能尝试不同的方法。这个阶段的目标是解决不同的阶段,可能会排除一些结果不可行的选项。
  2. 原型:让一个由几个外行人组成的团队按照更新的注释指南对数千张图像进行注释。再次注意任何问题,尤其是过程中的人为错误。为了检测差异,至少应该由几个注释器注释图像的一个子集。向注释者寻求反馈:是否有任何困难,是否有趣,他们是否会将其作为游戏进行,等等。在这个阶段,您可以开始拥有一个真正的 ML 系统,尽管它还不是最佳的。分析系统在不同类上的性能,可能尝试不同的方法,估计每个类的最小图像数量以获得良好的性能。在这个阶段可以进行许多其他测试,并且应该清楚手动注释的准确性以及注释者是否需要补偿。

只有在这个阶段,才能完全设计最终的注释过程。根据策略,您可以考虑为迭代手动注释设计策略:模型将快速学习某些类,因此使用该模型以便在下一轮建议用于注释的图像可能是有意义的模型失败了。小心避免偏见,在每一轮注释中不断评估和完善模型。