位置: IT常识 - 正文

【语义分割】数据增强方法(原图与标签同时扩增)(语义分割入门教程)

编辑:rootadmin
【语义分割】数据增强方法(原图与标签同时扩增) 1、数据增强作用

推荐整理分享【语义分割】数据增强方法(原图与标签同时扩增)(语义分割入门教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:语义分割 iou,语义分割定义,语义分割什么意思,语义分割入门教程,语义分割定义,语义分割入门教程,语义分割常用算法,语义分割定义,内容如对您有帮助,希望把文章链接给更多的朋友!

   避免过拟合

   提升模型的鲁棒性

  提高模型的泛化能力

  避免样本不均衡的问题

2.、数据增强分类

可分为两类:在线增强和离线增强。这两者的区别在于离线增强是在训练前对数据集进行处理,往往能得到多倍的数据集,在线增强是在训练时对加载数据进行预处理,不改变训练数据的数量。

离线增强一般用于小型数据集,在训练数据不足时使用,在线增强一般用于大型数据集。

3、方法

比较常用的几何变换方法主要有:翻转,旋转,裁剪,缩放,平移转换,色彩抖动,尺度变换,对比度变换,噪声扰动,旋转变换;

比较常用的像素变换方法有:加椒盐噪声,高斯噪声,进行高斯模糊,调整HSV对比度,调节亮度,饱和度,直方图均衡化,调整白平衡等。

使用Augmentor模块增强

注意: 原图与标签图的后缀名必须保持一致,否则只标签图不会增强的

因为我的图像是由labelme标注的,且将其转化为voc的格式,转化后原图为jpg,原图为png,因为需要统一。统一方式如下:批量修改图像后缀名。

1、安装: 创建一个环境,然后输入安装命令,命令如下

pip install Augmentor

conda install Augmentor

显示安装成功,既可以继续了。

 2、使用:

语义分割任务需要同时对原始图和掩码图(mask)进行增强,因此,很多现有的深度学习框架中自带的图像增强工具都不能直接使用。但是通过Augmentor可以很方便的实现该功能。下面举例说明。将图像原图以及它们对应的掩码图,分别放在test1文件夹以及test2文件夹中。使用以下代码进行增强

原始图

标签图

#导入数据增强工具import Augmentor#确定原始图像存储路径以及标签图的文件存储路径,创建Pipeline实例pp = Augmentor.Pipeline("originalImages")p.ground_truth("Segmentationimages")

(1)旋转(rotate)

【语义分割】数据增强方法(原图与标签同时扩增)(语义分割入门教程)

probability指定进行操作的概率大小,max_left_rotation, max_right_rotation指定向左向右最大旋转角度,最大值为25。sample表示从给定图像中生成指定数量的增强图像,可指定多个。

rotate操作默认在对原图像进行旋转之后进行裁剪,输出与原图像同样大小的增强图像。

p.rotate(probability=1, max_left_rotation=25, max_right_rotation=25)p.sample(1)

(2)缩放(scale),但貌似只能等比放大

scale_factor表示缩放比例,只能大于1,且为等比放大。

p.scale(probability=1, scale_factor=1.3)

(3)翻转(flip)

左右翻转、上下翻转、随机翻转

p.flip_random(probability=1) %随机翻转p.flip_left_right(probability=0.5) %左右翻转p.flip_top_bottom(probability=0.5) %上下翻转

(4)随机亮度增强/减弱(random_brightness)

min_factor, max_factor为变化因子,决定亮度变化的程度,可根据效果指定。

p.random_brightness(probability=1, min_factor=0.7, max_factor=1.2) %随机亮度p.random_color(probability=1, min_factor=0.0, max_factor=1) %随机颜色p.random_contrast(probability=1, min_factor=0.7, max_factor=1.2) %随机对比度

(5)随机透视变形(skew)

magnitude表示变形程度。隐藏参数skew_type,值为``TILT``, ``TILT_TOP_BOTTOM``, ``TILT_LEFT_RIGHT``,  ``CORNER``,展开源码才可以看到。源码中采用randomly的方式从四种参数中选择,不需指定。

其中,``TILT_TOP_BOTTOM``表示只在顶部底部方向进行透视变形。

``TILT_LEFT_RIGHT``表示只在左右方向进行透视变形。

``CORNER``表示只在四角方向进行透视变形。

``TILT``包含上述方向的集合,即上下左右和四角的八个方向。  

p.skew(probability=1, magnitude=0.8)

(6)随机剪切(shear)

剪切变换,max_shear_left,max_shear_right为剪切变换角度

p.shear(probability=1, max_shear_left=15, max_shear_right=15)

(7)随机裁剪(random_crop)

percentage_area表示裁剪面积占原图像面积的比例,centre指定是否从图片中间裁剪,randomise_percentage_area指定是否随机生成裁剪面积比。

p.crop_random(probability=1, percentage_area=0.8, centre=False, randomise_percentage_area=True)

(8)随机擦除/遮挡(random_erasing)

rectangle_area指定随机擦除面积的百分比。当然这个指定的是擦除面积的上限。

p.random_erasing(probability=1, rectangle_area=0.5)

(9)小块变形distortion

p.random_distortion(probability=0.8,grid_width=10,grid_height=10, magnitude=20)

完整代码:

import Augmentor# 确定原始图像存储路径以及掩码文件存储路径,需要把“\”改成“/”p = Augmentor.Pipeline("originalImages")p.ground_truth("Segmentationimages")# 图像旋转: 按照概率0.8执行,范围在0-25之间p.rotate(probability=0.8, max_left_rotation=25, max_right_rotation=25)# 图像左右互换: 按照概率0.5执行p.flip_left_right(probability=0.5)p.flip_top_bottom(probability=0.5)# 图像放大缩小: 按照概率0.8执行,面积为原始图0.85倍p.zoom_random(probability=0.3, percentage_area=0.85)#scale_factor表示缩放比例,只能大于1,且为等比放大。p.scale(probability=1, scale_factor=1.3)#小块变形p.random_distortion(probability=0.8,grid_width=10,grid_height=10, magnitude=20)#随机亮度增强/减弱,min_factor, max_factor为变化因子,决定亮度变化的程度,可根据效果指定p.random_brightness(probability=1, min_factor=0.7, max_factor=1.2)#随机颜色/对比度增强/减弱#p.random_color(probability=1, min_factor=0.0, max_factor=1)p.random_contrast(probability=1, min_factor=0.7, max_factor=1.2)#随机剪切(shear) max_shear_left,max_shear_right为剪切变换角度 范围0-25p.shear(probability=1, max_shear_left=10, max_shear_right=10)#随机裁剪(random_crop)p.crop_random(probability=1, percentage_area=0.8, randomise_percentage_area=True)#随机翻转(flip_random)p.flip_random(probability=1)# 最终扩充的数据样本数可以更换为100。1000等p.sample(10)

会自动生成一个out结果,效果如下:

 然后自己手动分开即可。

本文链接地址:https://www.jiuchutong.com/zhishi/295220.html 转载请保留说明!

上一篇:vue3中使用vue-i18n(ts中使用$t, vue3不用this)(vue3中使用for循环引用多个组件)

下一篇:vue实现思维导图(vue思维导图怎么下载)

  • 手机怎么连接电视机看电视(手机怎么连接电脑的网络)

    手机怎么连接电视机看电视(手机怎么连接电脑的网络)

  • 优酷会员怎么看有效期(优酷会员怎么看成长值)

    优酷会员怎么看有效期(优酷会员怎么看成长值)

  • 饿了么没有骑手接单怎么办(饿了么没有骑手配送怎么办)

    饿了么没有骑手接单怎么办(饿了么没有骑手配送怎么办)

  • 200兆光纤测速多少是正常(200m光纤测速多少)

    200兆光纤测速多少是正常(200m光纤测速多少)

  • 把对方拉黑了怎么看对方是否发信息(把对方拉黑了怎么办)

    把对方拉黑了怎么看对方是否发信息(把对方拉黑了怎么办)

  • 希捷硬盘vx和vm区别(希捷vx和vm哪个好)

    希捷硬盘vx和vm区别(希捷vx和vm哪个好)

  • ipadair4发布时间(ipadair4发布会时间)

    ipadair4发布时间(ipadair4发布会时间)

  • 快手发作品所在位置怎么改(快手发作品所在位置不是本地怎么消)

    快手发作品所在位置怎么改(快手发作品所在位置不是本地怎么消)

  • 微信投诉会提醒对方吗(微信投诉提醒几天取消)

    微信投诉会提醒对方吗(微信投诉提醒几天取消)

  • 防屏闪有什么用(防屏闪原理)

    防屏闪有什么用(防屏闪原理)

  • 注册微信时的默认头像(注册微信时的默认头像 原图)

    注册微信时的默认头像(注册微信时的默认头像 原图)

  • mate30有关机快捷键吗(华为mate30pro关机键怎么设置)

    mate30有关机快捷键吗(华为mate30pro关机键怎么设置)

  • 快手直播间人数被限制(快手直播间人数一直限制30人怎么办)

    快手直播间人数被限制(快手直播间人数一直限制30人怎么办)

  • 怎么把word中数字变成上标(word如何把数字)

    怎么把word中数字变成上标(word如何把数字)

  • 小米9se充电器多少w(小米9se充电器多少w快充)

    小米9se充电器多少w(小米9se充电器多少w快充)

  • 为什么不能取消优享预定(为什么不能取消英语)

    为什么不能取消优享预定(为什么不能取消英语)

  • 工信部怎么查手机(工信部怎么查手机信息)

    工信部怎么查手机(工信部怎么查手机信息)

  • 钉钉打卡迟到能补救吗(钉钉打卡迟到能极速打卡吗)

    钉钉打卡迟到能补救吗(钉钉打卡迟到能极速打卡吗)

  • qq超级会员怎么取消(qq超级会员怎么升级)

    qq超级会员怎么取消(qq超级会员怎么升级)

  • 华为mate20x可以无线充电吗

    华为mate20x可以无线充电吗

  • 有锁机不能更新系统吗(有锁机不能更新吗)

    有锁机不能更新系统吗(有锁机不能更新吗)

  • 华为鸿蒙系统如何删除软件?华为鸿蒙系统删除软件教程(华为鸿蒙系统如何刷机)

    华为鸿蒙系统如何删除软件?华为鸿蒙系统删除软件教程(华为鸿蒙系统如何刷机)

  • 在win7中,为什么任务栏无法显示在最前面?(win7为什么这么多人用)

    在win7中,为什么任务栏无法显示在最前面?(win7为什么这么多人用)

  • 利尼扬蒂野生动物保护区中的一只雄性豹子,博茨瓦纳 (© Karine Aigner/Tandem Stills + Motion)

    利尼扬蒂野生动物保护区中的一只雄性豹子,博茨瓦纳 (© Karine Aigner/Tandem Stills + Motion)

  • 怎么下载税控盘开票软件
  • 下半年房产税缴纳时间
  • 账簿印花税的计税方法
  • 企业银行贷款报表要求
  • 机动车统一发票税率多少
  • 会计凭证负数金额怎么填
  • 汇算清缴退回的所得税
  • 高新技术企业职工人数如何确定
  • 年底暂估成本有风险吗
  • 其他应付为负数怎么处理
  • 转账支票背书有时间限制吗
  • 股权转让的违约条款
  • 变更公司名称注册时间会变吗
  • 促销服务费能抵增值税吗
  • 民间非营利组织有哪些
  • 质押贷款属于什么贷款
  • 什么时候抵扣增值税
  • 公司没有残疾人需要缴纳残保金吗
  • 母公司对子公司的控股比例
  • 认证费计入什么科目
  • 卖护肤品赚钱吗
  • 利息支出的会计科目
  • 转账和电汇哪个便宜
  • PHP:xml_get_current_byte_index()的用法_XML解析器函数
  • 微星主板bios更新黑屏
  • 资产减值损失在贷方表示什么意思
  • vue项目使用
  • 出口退税进项发票稽核
  • 企业销售旧固定资产税率
  • 邮电通信企业业务收入包括哪些内容?
  • 汇算清缴补充公告
  • axios.defaults.baseURL的三种配置方法
  • 基于Java+SpringBoot+Vue前后端分离仓库管理系统设计实现
  • 法人借钱给公司,公司可以直接转给法人吗
  • WordPress 浏览量修改
  • 小规模纳税人去年免税,红冲后今年开多少税率的发票
  • 金融资产的转换
  • 预收账款是否需入账
  • 持有至到期投资属于什么科目
  • 租金收入如何确认收入
  • 营改增后的劳务费怎么开
  • 水库水面经营权如何取得
  • 典当行必须出具当票吗
  • 国税申报流程怎么操作的
  • 复利现值系数表系数表
  • 未担保余值举例
  • 增值税出口退税款缴纳企业所得税吗
  • 支付的税费现金流量表公式
  • 买二手设备需要签合同吗
  • 公司筹建期间允许投标吗
  • 什么样的发票公司可以开
  • 税局关于企业费用报销
  • 取暖费用摊销吗
  • 预付调整到其他应付款
  • 其他应收款怎么冲平
  • 开窗函数窗口范围
  • sqlserver数据库显示单个用户
  • 类似wps office的手机软件
  • centos lftp
  • 怎么检测u盘是否扩容
  • 怎么用u盘装xp系统教程
  • win10以管理员身份登录电脑
  • 驱动安装过程中发生错误
  • 用U盘安装苹果系统
  • linux服务器常用命令
  • win7删除未识别的网络
  • macbookair直接合上
  • Win10 Mobile 10586.36预览版怎么更新?
  • win8切换到桌面的快捷键
  • WIN10安装网络打印机
  • perl中打开文件
  • python中字典的键值对
  • 借助FileReader实现将文件编码为Base64后通过AJAX上传
  • 红字专用发票进什么科目
  • 开票地税怎么算的
  • 云南省国家税务局电子税务局
  • 如何在国税电子税务平台为员工办理定制社保卡
  • 重庆市九龙坡税务局行政服务中心电话
  • 请问在哪里可以培训护工
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设