对图片随机0.6~1.0比率大小的区域进行裁剪。
然后resize到固定大小。
torchvision.transforms.RandomCrop(size,padding=None,pad_if_need=False,fill=0,padding_mode='constant')
transforms.RandomCrop(32, padding=4),#每边填充4,如把32*32填充至40*40,再随机裁剪出32*32的大小
size:裁剪的大小,可以是tuple
padding:将原图填充多少后,再裁剪,保证可以裁剪到边缘图像。
目标检测、语义分割、深度估计、超分辨率、3D目标检测、CNN、GAN、目标跟踪、竞赛解决方案、去模糊、显著性检测、剪枝、活体检测、人脸关键点检测、3D目标跟踪、视频修复、人脸表情识别、时序动作检测、图像检索、异常检测等
假设类别C的主要特征为F,采集得到的图片包含背景噪声B,即现在C表示为(F, B),我们本来期望学习关系 f ∗ : F → C f^ ∗ : F → C f∗:F→C,结果现在可能学习成关系$\hat{f} : (F, B) \to C $,从而陷入过拟合。而图像裁剪可以主要保留主要特征F,而裁减掉背景噪声B,从而避免噪声的过拟合影响。
深度学习在训练时对图片随机剪裁(random crop)
注意点:
叠加后的图片,取两张图片宽高的最大值,确保新图片可以放下两张图片,同时也不需要对标签做任何转换,很方便。
(600,800)和(900,700)两张图融合得到的新图大小是(900,800),新增的部分取零
增加了样本数量,丰富了目标背景,提高模型的泛化能力。
CutMix是CutOut和Mixup的结合,将图片的一部分区域擦除并随机填充训练集中的其他数据区域像素值。(和RandomPatch基本上一模一样)
具体操作就是:随机选择一个区域,然后采用随机值进行覆盖,模拟遮挡场景。
把物体遮挡一部分后依然能够分类正确,那么肯定会迫使网络利用局部未遮挡的数据进行识别,加大了训练难度,一定程度会提高泛化能力
和RE非常像,区别如下:
注意:torchvision.transforms.Cutout并不只是,正方形,也可以是任意矩形,感觉和RE一样,只是用的纯色填充罢了,如下图所示。
同RE
把物体遮挡一部分后依然能够分类正确,那么肯定会迫使网络利用局部未遮挡的数据进行识别,加大了训练难度,一定程度会提高泛化能力
1.每次读取四张图片2.分别对四张图片进行翻转、缩放、色域变化等,并且按照四个方向位置摆好。3.进行图片的组合和框的组合
数据增强:Mixup,Cutout,CutMix | Mosaic
将实例分割的目标,随机贴在不同的图片上,以增加数据的多样性。
Random Erase、CutOut有可能把图像的可判别区域全部删除或者保留,引入噪声并且效果不佳。结构化drop操作,例如均匀分布地删除正方形区域,并且通过控制密度和size参数,来达到平衡,密度就是正方形个数,size就是正方形大小。
随机缩放
随机裁剪
随机反转
随机旋转
色彩扰动
随机擦除(random erasing)
cutout
GridMask
类似于输入图像遮挡,在特征图上丢弃某些信息的方法常叫做正则化,最终目的还是防止模型过拟合