打印机图标不小心被删除,怎么弄回来(打印机图标不小心删了怎么办)
694
2022-05-28
如果要把深度学习开发过程中几个环节按重要程度排个序的话,相信准备训练数据肯定能排在前几位。要知道一个模型网络被编写出来后,也只是一坨代码而已,和智能基本不沾边,它只有通过学习大量的数据,才能学会如何作推理。因此训练数据其实和一样东西非常像!——武侠小说中的神功秘笈,学之前菜鸟一只,学之后一统江湖!
下文所有的代码都来自PaddleClas:
GitHub 链接:
https://github.com/PaddlePaddle/PaddleClas
Gitee 链接:
https://gitee.com/paddlepaddle/PaddleClas
8大数据增广方法
首先咱们先来看看以ImageNet图像分类任务为代表的标准数据增广方法,该方法的操作过程可以分为以下几个步骤:
图像解码,也就是将图像转为Numpy格式的数据,简写为 ImageDecode。
图像随机裁剪,随机将图像的长宽均裁剪为 224 大小,简写为 RandCrop。
水平方向随机翻转,简写为 RandFlip。
图像数据的归一化,简写为 Normalize。
图像数据的重排。图像的数据格式为[H, W, C](即高度、宽度和通道数),而神经网络使用的训练数据的格式为[C, H, W],因此需要对图像数据重新排列,例如[224, 224, 3] 变为 [3, 224, 224],简写为 Transpose。
多幅图像数据组成 batch 数据,如 BatchSize 个 [3, 224, 224] 的图像数据拼组成 [batch-size, 3, 224, 224],简写为 Batch。
图像变换类:对 RandCrop 后的 224 的图像进行一些变换,包括AutoAugment和RandAugment。
图像裁剪类:对Transpose 后的 224 的图像进行一些裁剪,包括CutOut、RandErasing、HideAndSeek和GridMask。
图像混叠:对 Batch 后的数据进行混合或叠加,包括Mixup和Cutmix。
图像变换类
01
AutoAugment
变换结果如下图所示。
02
RandAugment
变换结果如下图所示。
图像裁剪类
图像裁剪类主要是对Transpose 后的 224 的图像进行一些裁剪,即裁剪掉部分图像,或者也可以理解为对部分图像做遮盖,共有CutOut、RandErasing、HideAndSeek和GridMask四种方法。
03
Cutout
通过 Cutout 可以模拟真实场景中主体被部分遮挡时的分类场景。
可以促进模型充分利用图像中更多的内容来进行分类,防止网络只关注显著性的图像区域,从而发生过拟合。
裁剪结果如下图所示:
04
RandomErasing
裁剪结果如下图所示。
05
HideAndSeek
PaddleClas中HideAndSeek的使用方法如下所示:
裁剪结果如下图所示。
06
GridMask
过度删除区域可能造成目标主体大部分甚至全部被删除,或者导致上下文信息的丢失,导致增广后的数据成为噪声数据;
保留过多的区域,对目标主体及上下文基本产生不了什么影响,失去增广的意义。
设置一个概率p,从训练开始就对图片以概率p使用GridMask进行增广。
一开始设置增广概率为0,随着迭代轮数增加,对训练图片进行GridMask增广的概率逐渐增大,最后变为p。
结果如下图所示:
图像混叠
前文所述的图像变换与图像裁剪都是针对单幅图像进行的操作,而图像混叠是对两幅图像进行融合,生成一幅图像,Mixup和Cutmix两种方法的主要区别为混叠的方式不太一样。
07
Mixup
混叠结果如下图所示。
08
Cutmix
混叠结果如下图所示:
实验
经过实验验证,在ImageNet1k数据集上基于PaddleClas使用不同数据增广方式的分类精度如下所示,可见通过数据增广方式可以有效提升模型的准确率。
机器视觉 AI
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。