Datawhale AI 夏令营 | CV方向 2024 Task3 笔记

76 阅读1分钟

模型构建以及模型训练差不多搞定了,可是当样本不均衡问题出现时该怎么做? 有一种方法可以解决这个问题————数据增强

对于图像的数据增强有很多种可供选择,比如图像缩放、剪裁、颜色变换等,使数据集能够模拟真实环境各种各样的情况,从而让模型学习更多的特征,提高模型的泛化能力。 以tensorflow框架为例,相关的数据增强操作如下:

假设已经使用相关的库读取的图像数据

img = Image.open(self.img_path[index]).convert('RGB')

1.归一化

# 转换为TensorFlow张量  
img = tf.convert_to_tensor(img, dtype=tf.float32)  
img = img / 255.0  
img = (img - [0.485, 0.456, 0.406]) / [0.229, 0.224, 0.225]  

2.随机翻转

# 随机翻转(水平)  
img = tf.image.random_flip_left_right(img)  

3.亮度

# 亮度  
brightness_delta = tf.random.uniform([], minval=-0.3, maxval=0.3)  
img = tf.image.adjust_brightness(img, brightness_delta)  

4.对比度

# 对比度  
contrast_factor = tf.random.uniform([], minval=0.5, maxval=1.5)  
img = tf.image.adjust_contrast(img, contrast_factor)  

5.饱和度

# 饱和度  
saturation_factor = tf.random.uniform([], minval=0.5, maxval=1.5)  
img = tf.image.adjust_saturation(img, saturation_factor)  

6.色调

# 色调  
hue_delta = tf.random.uniform([], minval=-0.2, maxval=0.2)  
img = tf.image.adjust_hue(img, hue_delta)