• 数据增强


    作者:十岁的小男孩

    吴恩达视频来源:http://mooc.study.163.com/learn/2001281004?tid=2001392030#/learn/content?type=detail&id=2001728694&cid=2001724519

    数据增强

      数据增强主要是为了减少网络的过拟合现象,通过对训练图片进行变换可以得到泛化能力更强的网络,更好的适应应用场景。

    方法:

    • 旋转 | 反射变换(Rotation/reflection): 随机旋转图像一定角度; 改变图像内容的朝向;
    • 翻转变换(flip): 沿着水平或者垂直方向翻转图像;
    • 缩放变换(zoom): 按照一定的比例放大或者缩小图像;
    • 平移变换(shift): 在图像平面上对图像以一定方式进行平移;
    • 可以采用随机或人为定义的方式指定平移范围和平移步长, 沿水平或竖直方向进行平移. 改变图像内容的位置;
    • 尺度变换(scale): 对图像按照指定的尺度因子, 进行放大或缩小; 或者参照SIFT特征提取思想, 利用指定的尺度因子对图像滤波构造尺度空间. 改变图像内容的大小或模糊程度;
    • 对比度变换(contrast): 在图像的HSV颜色空间,改变饱和度S和V亮度分量,保持色调H不变. 对每个像素的S和V分量进行指数运算(指数因子在0.25到4之间), 增加光照变化;
    • 噪声扰动(noise): 对图像的每个像素RGB进行随机扰动, 常用的噪声模式是椒盐噪声和高斯噪声;
    • 颜色变化:在图像通道上添加随机扰动。
    • 输入图像随机选择一块区域涂黑,参考《Random Erasing Data Augmentation》

      《Random Erasing Data Augmentation》 https://arxiv.org/pdf/1511.05635.pdf

      在Keras中已经方便的实现了数据扩增,如果尝试效果可以直接使用keras,如果在caffe中使用,可以线下生成数据或者修改Image_data层进行数据扩增。

      数据扩增收集到的代码: 
      https://github.com/kevinlin311tw/caffe-augmentation 
      https://github.com/codebox/image_augmentor

      Keras中数据扩增

      # 数据扩增
      train_datagen = ImageDataGenerator(
              rescale=1./255,
              shear_range=0.1,
              zoom_range=0.1,
              rotation_range=10.,
              width_shift_range=0.1,
              height_shift_range=0.1,
              horizontal_flip=True)

    Example 看吴恩达视频学习笔记:  

    1.物理变化:通过镜像,随机裁剪,或者旋转等等获得更多的具有标签的数据

      2.通过色彩变化:R G B

    参考文献:

     https://blog.csdn.net/Iriving_shu/article/details/78762567

  • 相关阅读:
    Kibana6.x.x——启动后的一些警告信息记录以及解决方法
    Kibana6.x.x源码开发——执行 yarn start --no-base-path 启动命令后报错
    在Ubuntu中使用AppImage类型文件
    Kibana6.x.x源码分析--启动时basePath
    Kibana 视图开发入门参考文档
    npm install 安装包报错
    git学习--删除远程仓库不存在的分支
    git学习--远程分支删除
    git学习---去除版本控制
    git学习--clone和pull
  • 原文地址:https://www.cnblogs.com/missidiot/p/9454752.html
Copyright © 2020-2023  润新知