数据扩充 - 需要转移吗?

时间:2017-06-29 08:25:21

标签: machine-learning

我可以理解数据增强的强大功能以及不同的数据增强方式,如旋转,翻转,规范化等。

是否真的需要在图像周围移动物体?卷积的结果会有差异吗?

3 个答案:

答案 0 :(得分:0)

如果您确定在测试数据中图像始终居中,则可能不需要移位。但在现实世界中,情况并非如此。

enter image description here

例如,你不能指望猫总是留在图像的中心。在测试数据中,它可能出现在任何位置。如果您在训练数据中考虑这种情况,您的模型会更好地学习。

注意:上图仅是为了便于理解。使用旋转也增加了数据,而不仅仅是移位。但它符合目的,所以包括它。 (Image Source

就结果的不同而言,我们无法确定在您尝试之前性能的变化有多重要。但人们发现这种转变有助于提高性能,通常与翻转,旋转,缩放等一起使用。

答案 1 :(得分:0)

居中对象不需要移动,但在现实世界的测试数据中,您可能有未居中的对象,因此在这种情况下它变得非常重要。

gen = ImageDataGenerator(
rotation_range=10,
width_shift_range=0.1,
height_shift_range=0.1,
shear_range=0.15,
zoom_range=0.1,
channel_shift_range=10.,
horizontal_flip=True)

答案 2 :(得分:0)

是的,非常需要移动对象。

如果您尝试检测/分类的对象大部分时间都在图像中心附近,那么您的模型可能会调整其权重,以便专注于搜索图像的中心。

您可以通过在图像周围移动目标对象来强制您的模型搜索图像的所有区域。此外,您还可以通过更改对象的形状来改进模型的训练(例如,您可以缩放图像)。

这个存储库很好地介绍了对象检测中常用的数据增强: https://github.com/kochlisGit/random-data-augmentations