【发布时间】:2021-06-08 18:11:01
【问题描述】:
我可以理解数据增强的力量以及数据增强的不同方式,如旋转、翻转、规范化等。
真的需要在图像周围移动对象吗?卷积的结果会不会有差异?
【问题讨论】:
标签: machine-learning
我可以理解数据增强的力量以及数据增强的不同方式,如旋转、翻转、规范化等。
真的需要在图像周围移动对象吗?卷积的结果会不会有差异?
【问题讨论】:
标签: machine-learning
如果您确定在测试数据中图像始终居中,则可能不需要移位。但在现实世界中,情况并非如此。
例如,您不能指望猫总是停留在图像的中心。在测试数据中,它可能出现在任何位置。如果您在训练数据中考虑此类情况,您的模型将学习得更好。
注意:上图只是为了便于理解。数据也使用旋转来增强,而不仅仅是移位。但它服务于目的,所以包括它。 (Image Source)
就结果的差异而言,在您尝试之前,我们无法确定性能的变化会有多大。但人们发现 shift 有助于提高性能,通常与翻转、旋转、缩放等一起使用。
【讨论】:
居中对象不需要移动,但在真实世界的测试数据中,您可能有未居中的对象,因此在这种情况下它变得非常重要。
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)
【讨论】:
是的,移动一个对象是非常必要的。
如果您尝试检测/分类的对象大部分时间都在图像的中心附近,那么您的模型可能会调整其权重,以便专注于搜索图像的中心。
您可以通过在图像周围移动目标对象来强制模型搜索图像的所有区域。此外,您还可以通过更改对象的形状来改进模型的训练(例如,您可以缩放图像)。
这个存储库很好地介绍了对象检测中常用的数据增强: https://github.com/kochlisGit/random-data-augmentations
【讨论】: