在深度学习里,尤其是计算机视觉里,很多时候训练集不够充足,或者某一类的数据较少,为了增加训练数据的数量,防止过度拟合,增加模型的鲁棒性,数据增强,data augmentation就应运而生
常见的两种颜色空间
- RGB颜色空间
- HSV颜色空间
1.RGB颜色空间
我们生活中常见的显色方式,采用R、G、B三种颜色相加混色的原理, R代表red红色,G代表green绿色,B代表blue蓝色
2.HSV颜色空间
HSV在图像处理里的指定颜色分割有较大的作用
H代表hue色相,也就是什么颜色
S代表saturation饱和度,也就是颜色的深浅
V代表value明度,也就是颜色的明亮程度
有时HSV也会被叫做HSB(brightness)
常见的几种方式
图像常用表达格式有两种,RBG(红蓝绿), HSV(色相-饱和度-明度)
- 图像翻转 image flip
- 图像缩放 image scale
- 图像模糊 image blur
- 图像明亮度变换 image bright
- 图像色相变换 image hue
- 图像饱和度变换 image saturation
- 图像平移变换 image shift
- 图像裁剪 image crop
[^boxes]: torch.FloatTensor(), nx4
[^labels]: torch.LongTensor(), 1xn
1. 图像翻转 image flip
通过图像水平翻转来实现图像增加
1 | def random_flip(selfs, im, boxes): |
2. 图像缩放 image scale
1 | def random_scale(im, boxes): |
3. 图像模糊 image blur
1 | def random_blur(im): |
4. 图像明亮度变换 image bright
1 | def random_bright(im): |
5. 图像色相变换 image hue
1 | def random_hue(im): |
6. 图像饱和度变换 image saturation
1 | def random_saturation(im): |
7. 图像平移变换 image shift
1 | def random_shift(im, boxes, labels): |
8. 图像裁剪 image crop
1 | def random_crop(im, boxes, labels): |