Datawhale AI 夏令营2024-cv--task3

随着深度学习在计算机视觉的广泛应用,以卷积神经网络为代表的深度学习模型取得了突破性的进展。在现实世界的应用中,获取大量且高质量的数据集往往既昂贵又耗时,而且由于隐私问题和罕见事件的捕捉难度,获取这些数据集变得更加复杂。因此,一种经济高效的方法是采用数据增强技术,以降低对大量训练数据的需求,帮助开发者更高效地开发出精确的AI模型。

数据增强

数据增强通常是依赖从现有数据生成新的数据样本来人为地增加数据量的过程。这包括对数据进行不同方向的扰动处理或使用深度学习模型在原始数据的潜在空间(latent space)中生成新数据点从而人为的扩充新的数据集。


在之前的代码中我们使用PyTorch框架来加载和增强图像数据:


1.图像大小调整

使用

transforms.Resize((256,256))

将所有图像调整到256x256像素的尺寸,这有助于确保输入数据的一致性。


2.随机水平翻转

 transforms.RandomHorizontalFlip()

随机地水平翻转图像,这种变换可以模拟物体在不同方向上的观察,从而增强模型的泛化能力。

3.随机垂直翻转

transforms.RandomVerticalFlip()

随机地垂直翻转图像,这同样是为了增加数据多样性, 让模型能够学习到不同视角下的特征。

4.转换为张量

 transforms.ToTensor()

将图像数据转换为PyTorch的Tensor格式,这是在深度学习中处理图像数据的常用格式。


5. 归一化

transforms.Normalize([0.485,0.456,0.406],[0.229,0.224,0.2257])

对图像进行归一化处理,这里的均值和标准差是根据ImageNet数据集计算得出的,用于将图像像素值标准化,这有助于模型的训练稳定性和收敛速度。

常见的几种数据增强的方法

1.mixup

mixup是一种简单而有效的数据增强的方法,该方法在图像、文本、语音、推荐、GAN、对抗样本防御等多个领域都能显著提高效果。mixup论文被ICLR2018收录,后续又出现了一系列改进方法。

参考:http://t.csdnimg.cn/iJjOP

2.cutout

Cutout的出发点和随机擦除一样,也是模拟遮挡,目的是提高泛化能力,实现上比Random Erasing简单,随机选择一个固定大小的正方形区域,然后采用全0填充就可以了,当然为了避免填充0值对训练的影响,应该要对数据进行中心归一化操作,norm到0。

参考:http://t.csdnimg.cn/3JuPW

3.cutmix

就是将一部分区域cut掉但不填充0像素而是随机填充训练集中的其他数据的区域像素值,分类结果按一定的比例分配。
CutMix方法中,剪切和粘贴操作是关键步骤。具体来说,剪切和粘贴过程包括以下步骤:
1. 从训练集中随机选择两个图像和它们的标签。
2.随机选择一个剪切区域的大小和位置。
3.将第一个图像的剪切区域粘贴到第二个图像上,得到一个新的图像。
4.根据剪切区域的大小,计算两个图像的标签的加权平均值,得到一个新的标签。

参考、原文链接:https://blog.csdn.net/weixin_34910922/article/details/119791059

学习心得

在这几天的学习中,学习时间虽然很短,但让我对于机器学习和深度学习有了一个初步的了解,为接下来的学习打下坚实的基础,感谢Datawhale AI夏令营,在此次活动中收获了很多。


 

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值