处理不平衡的数据:抖动生成数据

在许多的DL应用中,我们经常遇到其中一种类型的数据比其他类型的数据可能被看到更多的数据集。例如,在一个识别交通标志任务中,停车标志会比限速标志多。因此,在这些任务中,我们需要确保训练后的model不会偏向于拥有更多数据的那类。例如,考虑一个数据集,里面有5个限速标志和20个停止标志。如果模型预测所有标志均为停车标志,则其准确率为80%。此外,这种模型的f1分数是88%。因此,该模型很有可能偏向停车标志类。在这类任务中,可以生成其他的数据使数据集的大小相似。

收集更多数据的一种方法就是从不同角度给相同的交通标志拍照。在OpenCV中,可以通过应用仿射变换轻松完成此操作,如旋转、平移和剪切。仿射变换是指变换之前的平行线在变换之后保持平行的变换。

下面将介绍一个可用于生成抖动图像的函数。原始图片输入函数,进行随机角度的翻转,随机平移和随机裁剪并返回一个抖动后的图像。当函数从这些范围制定的均匀分布中选择真实的变换值时。

现在,使用Keras的图像生成器可以实现相同的技术。然而,此处提供的transform_image()函数将帮助您使用参数并查看实际情况。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值