数据增强_imgaug图像数据增强必备工具

导读

我们经常会遇到训练模型时数据不够的情况,而且很多时候无法再收集到更多的数据,只能通过做一些数据增强或者其它的方法来合成一些数据。常用的数据增强方式有裁剪旋转缩放亮度对比度色度饱和度变换仿射变换透视变换等,这篇文章我们来介绍一个更方便更多策略的数据增强,主要依赖imgaug来实现。

imgaug

imgaug是一个python的图像增强库,它能够通过输入图片产生新图片的集合,能够通过不同的策略来改变图片以达到数据增强的目的。它能够应用于图像分类图像分割关键点定位目标检测等任务的数据增强

github地址:https://github.com/aleju/imgaug

官方文档:https://imgaug.readthedocs.io/en/latest/source/examples_basics.html

b0dc43ec55ba9862378b796668e3bbdc.png

特点

  • 多种数据增强技术
    仿射变换、透视变换、对比度改变、高斯噪声、色度饱和度变化、随机裁剪、模糊处理
    只处理部分图片
    随机顺序组合策略进行数据增强
  • 支持多种任务处理
    Images、Heatmaps、Segmentation Maps、mask、keypoints、landmarks、Bounding Boxes、Polygons、Line Strings
  • 支持多种数据分布
    根据不同的数据分布来产生随机参数,支持均匀分布、高斯分布、beta分布
  • 内置多种辅助函数
    绘制heatmaps、segmentation maps、keypoints、bounding boxes等
    缩放segmentation maps、平均池化、最大池化等
  • 多核CPU数据增强加快处理速度

安装

  • 环境要求python2.7python3.4+
  • 使用conda安装和卸载

#安装

conda config --add channels conda-forge

conda install imgaug

#卸载

conda remove imgaug

  • 使用pip安装和卸载

#安装

pip install imgaug

#使用git上最新版本进行安装

pip install git+https://github.com/aleju/imgaug.git

#卸载

pip uninstall imgaug

使用示例

  • 简单的数据增强
45a9ae50a968f4c237e537700ad9c236.png
ced1bdce5544cf0f5eb00d032f846ce7.png
  • 结合多种数据增强策略
3be385606432ffc853ee0f50aabfbbb6.png
68a6d5fdbe39897d87f70175e7f6f5a8.png
  • bounding box的数据增强
e25881131427b8bdee01afc8ab244bef.png
b3910e309d3a571d5e966e617b76e654.png

通过上面两张图对比,可以发现变换前后,box在图片上的位置并没有发生变化。

  • 数据增强参数的数据分布设置
bdbc8285fc070eb96e150ef766797eab.png
  • 针对部分通道进行数据增强处理
b20122b2c6259c473b3a822ca9e5a34a.png

总结

imgaug还支持很多其它的数据增强策略,比如当seq中图像增强的方式太多可能会导致图片受损严重,这时候你可以通过iaa.OneOf方法来执行其中一个,也可以通过iaa.SomeOf方法执行其中的几个等。更多更详细的应用,大家可以去参考git和官方文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564693.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java类的封装

封装将类的某些信息隐藏在类内部,不允许外部程序直接访问,只能通过该类提供的方法来实现对隐藏信息的操作和访问。 封装的特点: 只能通过规定的方法访问数据。隐藏类的实例细节,方便修改和实现。实现封装的具体步骤如下&#xff…

python 公众号菜单_Python脚本--微信公众号自定义菜单的创建及获取

#-*- coding: utf-8 -* importtkMessageBoximporturllib2importjsonimportsys reload(sys) sys.setdefaultencoding(UTF-8) appID wxa46e26b3d591f9f2 //测试号信息 appsecret 83ee70dbb6dbc1e090971554b1c7981b //同上 menu { //菜单信息,包括一级菜单和二级菜单&q…

深度学习多模态融合_3D目标检测多模态融合综述

0前言本篇文章主要想对目前处于探索阶段的3D目标检测中多模态融合的方法做一个简单的综述,主要内容为对目前几篇几篇研究工作的总结和对这个研究方面的一些思考。在前面的一些文章中,笔者已经介绍到了多模态融合的含义是将多种传感器数据融合。在3D目标检…

Java封装图书信息类

封装示例编写表示图书的 Book 类,实现以下需求: 基本信息包括图书名称(bookName)、总页数(pagelbtalNum),其中页数不能少于 200 页,否则输出错误信息,并赋予默认值 200。…

python tkinter数据库通讯录_TKINTER--GUI连接数据库登陆

#-*- coding:UTF-8 -*- import tkinter.messagebox import tkinter as tk import pymysql # 构造窗口 window tk.Tk() window.title(登陆窗口) window.geometry(450x300) # 构造画布 canvas tk.Canvas(window,height200,width500) image_file tk.PhotoImage(filewelcome.gif…

自适应宽_移动端实现自适应缩放界面的方法汇总

作者 | 唐宋元明清2188来源 | http://www.cnblogs.com/kybs0/在开发App端的网页时,要适配iphone、ipad、ipod、安卓等各种机型,一般是直接使用em、px转em、界面缩放。本章是通过将界面缩放,等比例显示在各机型上。过程中遇到了些问题和大坑~然…

Java继承简介

继承是面向对象的三大特征之一。继承和现实生活中的“继承”的相似之处是保留一些父辈的特性,从而减少代码冗余,提高程序运行效率。 Java 中的继承就是在已经存在类的基础上进行扩展,从而产生新的类。已经存在的类称为父类、基类或超类&…

各种说明方法的答题格式_初中语文阅读答题公式 语文阅读理解万能公式大全...

很多人想知道初中语文阅读理解有哪些答题公式,语文阅读理解的万能公式有哪些呢?下面小编为大家介绍一下!初中语文阅读理解答题公式大全(一)某句话在文中的作用:1、文首:开篇点题;渲染气氛(散文),埋下伏笔(记叙类文章)&#xff0c…

esp8266手机端网络调试助手_esp8266定时控制

要实现定时控制,需要先实现手动控制,或者app控制。实测定时精度,北京时间,误差不超过1秒。第一、远程App控制或手动控制下载esp8266示例程序下载地址: 点击下载本demo 是利用arduino IDE开发,关于arduino IDE 的ESP826…

集成学习之Adaboost(提升方法)

Adaboost 提升方法就是从弱学习器出发,反复学习,得到一系列弱分类器(基本分类器),然后组合这些弱分类器,构成一个强分类器。 基本思路 待解决问题 1、每一轮如何改变训练数据的权值或概率分布 2、如何将…

Java super关键字详解

由于子类不能继承父类的构造方法,因此,如果要调用父类的构造方法,可以使用 super 关键字。super 可以用来访问父类的构造方法、普通方法和属性。 super 关键字的功能: 在子类的构造方法中显式的调用父类构造方法访问父类的成员方…

93没有了_杭州1米93程序员征婚贴火了!年薪50万,孩子随妈姓,没有皇位要继承...

文丨三秋桂子自从二胎政策开放以来,很多宝妈都希望二宝能随自己姓,但有些男方家庭却不同意,双方就孩子的“冠名权”一事争论不休。可最近有位小伙却因为征婚贴火了,原因有两个,一是小伙瞩目的身高,二是小伙…

李航《统计学习方法》之HMM隐马尔可夫模型

李航《统计学习方法》之HMM隐马尔可夫模型 文章目录前言一、基本概念1、语言描述:2、符号表示3、基本假设4、例子5、隐马尔可夫模型解决的三个基本问题二、概率计算算法1、向前算法算法:例题2、向后算法三、学习算法1、监督学习算法背景方法2、无监督学习…

Java对象类型转换

将一个类型强制转换成另一个类型的过程被称为类型转换。本节所说的对象类型转换,是指存在继承关系的对象,不是任意类型的对象。当对不存在继承关系的对象进行强制类型转换时,会抛出 Java 强制类型转换(java.lang.ClassCastExcepti…

python下载在哪个盘_Windows下载安装python详情和注意事项

因为Python是跨平台的,它可以运行在Windows、Mac和各种Linux/Unix系统上。在Windows上写Python程序,放到Linux上也是能够运行的。 首先就得把Python安装到你的电脑里。安装后,你会得到Python解释器(就是负责运行Python程序的&…

6000毫安以上智能手机_展望2021年智能手机市场:这5大技术要爆发

2020年是极不平凡的一年,在黑天鹅、政治动荡等事件的冲击下,许多行业都按下了暂停键,智能手机行业自然也不例外。销售渠道受阻、供应链生产紧张,导致智能手机市场整体出货量呈现持续下跌的状况,严峻的市场行情让智能手…

无监督学习之聚类方法(K-Means、层次聚类)

一、导入 无监督学习中需要对无标记样本进行训练学习进而找到数据的内在性质和逻辑结构,聚类方法是为了为无监督学习的数据分析提供的基础学习方法。 聚类将数据集划分为若干个子集(每个子集称为类或者簇),如果一个样本只属于一个…

js调用python接口_JavaScript如何调用Python后端服务

欢迎关注【无量测试之道】公众号,回复【领取资源】, Python编程学习资源干货、 PythonAppium框架APP的UI自动化、 PythonSelenium框架Web的UI自动化、 PythonUnittest框架API自动化、 资源和代码 免费送啦~ 文章下方有公众号二维码,可直接微信扫一扫关注…

详细地图_一目了然:蒙城学区划分详细地图

从明天(8月5日)起,小学一年级,初中一年级可在网上注册、报名了。根据区域内适龄学生人数、学校分布、学校规模、班额规定、交通状况等因素,以街道、路段、门牌号、居住小区、村组等构成要件,按照确保公平和免试就近入学的原则&…