Machine learning 基于深度学习的目标检测数据扩充

Machine learning 基于深度学习的目标检测数据扩充,machine-learning,computer-vision,neural-network,deep-learning,object-detection,Machine Learning,Computer Vision,Neural Network,Deep Learning,Object Detection,我有一个关于数据增强的问题,用于训练用于目标检测的深层神经网络 我的数据集非常有限(近300幅图像)。我通过将每个图像从0-360度旋转15度的步长来增加数据。因此,我得到了24个旋转图像中只有一个。我总共得到了7200张图片。然后,我在每个增强图像中围绕感兴趣的对象绘制边界框 这似乎是提高数据质量的合理方法吗 致意为了培养一个好的模型,你需要大量具有代表性的数据。您的增强仅代表旋转,所以是的,如果您担心对象旋转不够,这是一个好方法。但是,它在任何意义上都无助于泛化到其他对象/变换。看起来您的思

我有一个关于数据增强的问题,用于训练用于目标检测的深层神经网络

我的数据集非常有限(近300幅图像)。我通过将每个图像从0-360度旋转15度的步长来增加数据。因此,我得到了24个旋转图像中只有一个。我总共得到了7200张图片。然后,我在每个增强图像中围绕感兴趣的对象绘制边界框

这似乎是提高数据质量的合理方法吗


致意

为了培养一个好的模型,你需要大量具有代表性的数据。您的增强仅代表旋转,所以是的,如果您担心对象旋转不够,这是一个好方法。但是,它在任何意义上都无助于泛化到其他对象/变换。

看起来您的思路是正确的,旋转通常是一种非常有用的变换,用于增加训练数据。我建议尝试其他变换,如移位(您很可能希望检测部分呈现的对象)、缩放(使模型对比例保持不变)、剪切、翻转等。通过组合不同的变换,您可以在训练数据中引入额外的多样性。300个图像的训练集是一个非常小的数字,所以您肯定需要不止一个变换来扩充如此小的训练集

这是一种很好的方法,只要在执行
旋转时不隐式更改标签即可。例如,包含数字6的图像在旋转180度时将变成数字9。因此,在这种情况下,您必须注意

但是,您也可以进行其他几何变换,如
缩放
平移


<> P>其他的增强,你可以考虑使用预先训练的模型,如ImageNet,如果你的问题域与IMANET数据有某种相似之处。这将允许您针对数据稀缺的情况训练更深层次的模型。

即使旋转增加了图像的代表性复杂性,但这可能还不够。相反,您可能还需要添加其他类型的增强

如果颜色增强仍然代表数据的真实分布,则它们非常有用

空间增强效果非常好。请记住,大多数现代系统使用大量的裁剪,因此这可能会有所帮助


实际上,我有一些脚本,我正试图将它们转换成一个库,可能对您有用。如果您愿意,请检查它们。

在测试期间,您是否希望看到所有这些角度的图像?那么是的。但是,如果您的所有测试图像都是竖直的,可能会有小的旋转,则不会。在这种情况下,您应该只使用实际数据中预期的旋转范围。谢谢您的回复。因为我打算使用深度学习方法检测仓库中的托盘。我计划为此应用更快的R-CNN。你如何看待这种算法的实时检测?或者你会提出其他建议吗?更快的R-CNN在10Hz左右运行如果你想要实时检测,你可以尝试使用YOLO。谢谢你的建议。我现在已经把翻译也包括在图片里了。谢谢你解释得这么好。我现在也包括了翻译。