计算机视觉CV-5

Data Augmentation

==数据增强(Data Augmentation)==是深度学习和计算机视觉领域中的一种常用技术,用于**扩充训练数据集**。它的主要目的是通过对原始数据集中的样本进行一系列随机变换或扭曲操作,生成新的训练样本,从而增加数据的多样性。数据增强有助于改善模型的泛化能力,减少过拟合,提高模型的性能和鲁棒性。

The Usefulness of Fake Data

提高机器学习模型性能的最佳方法是使用更多数据对其进行训练。模型学习的例子越多,它就越能够识别图像中哪些差异重要,哪些差异不重要。更多数据有助于模型更好地泛化。

获取更多数据的一种简单方法是使用已有的数据。如果我们能够以保留类别的方式转换数据集中的图像,我们就可以教我们的分类器忽略这些类型的转换。例如,无论汽车在照片中朝左还是朝右,都不会改变它是汽车而不是卡车的事实。因此,如果我们用翻转图像来增强训练数据,我们的分类器将了解到“左或右”是它应该忽略的差异

数据增强背后的思想:添加一些看起来相当像真实数据的额外假数据,你的分类器将会得到改进。

Using Data Augmentation

通常,在扩充数据集时会使用多种转换。这些可能包括旋转图像、调整颜色或对比度、扭曲图像或许多其他通常组合应用的操作。以下是单个图像可能被转换的不同方式的示例。

Sixteen transformations of a single image of a car.

数据增强通常是在线完成的,这意味着图像被输入网络进行训练。回想一下,训练通常是在小批量数据上完成的。以下就是使用数据增强时一批 16 张图像的样子。

A batch of 16 images with various random transformations applied.

但重要的是要记住,并非所有转换都对给定问题有用。最重要的是,无论使用什么转换,都不应该混淆这些类。例如,如果正在训练数字识别器,旋转图像会混淆“9”和“6”。最后,寻找良好增强的最佳方法与大多数机器学习问题相同:尝试看看!

经典代码

Keras 允许您通过两种方式扩充数据。第一种方法是使用 ImageDataGenerator 等函数将其包含在数据管道中。第二种方法是使用 Keras 的预处理层将其包含在模型定义中。这就是我们将采取的方法。

模型定义时进行数据增强:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from tensorflow import keras
from tensorflow.keras import layers
# these are a new feature in TF 2.2
from tensorflow.keras.layers.experimental import preprocessing


pretrained_base = tf.keras.models.load_model(
'../input/cv-course-models/cv-course-models/vgg16-pretrained-base',
)
pretrained_base.trainable = False

model = keras.Sequential([
# Preprocessing
preprocessing.RandomFlip('horizontal'), # flip left-to-right
preprocessing.RandomContrast(0.5), # contrast change by up to 50%
# Base
pretrained_base,
# Head
layers.Flatten(),
layers.Dense(6, activation='relu'),
layers.Dense(1, activation='sigmoid'),
])

Preprocessing(预处理): 这部分是数据预处理步骤,用于在输入图像进入神经网络之前对其进行一些随机变换,以增加数据的多样性。具体的预处理步骤包括:

  • preprocessing.RandomFlip('horizontal'):随机水平翻转图像,模拟图像中的不同视角。

  • preprocessing.RandomContrast(0.5):随机改变图像的对比度,对比度变化范围在正负50%之间。

  • 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:

请我喝杯咖啡吧~

支付宝
微信