图像增广

图像增广

参考:13.1. 图像增广 — 动手学深度学习 2.0.0 documentation (d2l.ai)

图像增广在对训练图像进行一系列的随机变化之后,生成相似但不同的训练样本,从而扩大了训练集的规模。 此外,应用图像增广的原因是,随机改变训练样本可以减少模型对某些属性的依赖,从而提高模型的泛化能力。 例如,我们可以以不同的方式裁剪图像,使感兴趣的对象出现在不同的位置,减少模型对于对象出现位置的依赖。 我们还可以调整亮度、颜色等因素来降低模型对颜色的敏感度。

常用的图像增广方法

大多数图像增广方法都具有一定的随机性。

../_images/output_image-augmentation_7d0887_18_0.svg

示例图像

翻转和裁剪

左右翻转图像通常不会改变对象的类别。

../_images/output_image-augmentation_7d0887_42_0.svg

左右翻转

上下翻转图像不如左右图像翻转那样常用。但是,至少对于以上示例图像,上下翻转不会妨碍识别。

../_images/output_image-augmentation_7d0887_54_0.svg

上下翻转
  • 汇聚层(池化层)可以降低卷积层对目标位置的敏感性

  • 通过对图像进行随机裁剪,使物体以不同的比例出现在图像的不同位置,也可以降低对目标位置的敏感度

下面的代码将随机裁剪一个面积为原始面积10%到100%的区域,该区域的宽高比从0.5~2之间随机取值。 然后,区域的宽度和高度都被缩放到200像素。

1
2
3
shape_aug = torchvision.transforms.RandomResizedCrop(
(200, 200), scale=(0.1, 1), ratio=(0.5, 2))
apply(img, shape_aug)

../_images/output_image-augmentation_7d0887_66_0.svg

改变颜色

可以改变图像颜色的四个方面:亮度、对比度、饱和度和色调

下图示例:

../_images/output_image-augmentation_7d0887_78_0.svg ../_images/output_image-augmentation_7d0887_90_0.svg
../_images/output_image-augmentation_7d0887_102_0.svg

结合多种图像增广方法

实践中,结合多种图像增广方法。

../_images/output_image-augmentation_7d0887_114_0.svg

使用图像增广进行训练

通常只对训练样本进行图像增广,且在预测过程中不使用随机操作的图像增广。

小结

  • 图像增广基于现有的训练数据生成随机图像,来提高模型的泛化能力

  • 为了在预测过程中得到确切的结果,我们通常对训练样本只进行图像增广,而在预测过程中不使用带随机操作的图像增广

  • 深度学习框架提供了许多不同的图像增广方法,这些方法可以被同时应用

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2023-2024 Guijie Wang
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信