位置: 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思维导图怎么下载)

  • 华为p40pro能支持3D人脸解锁吗(华为p40pro可以装4g卡吗)

    华为p40pro能支持3D人脸解锁吗(华为p40pro可以装4g卡吗)

  • 抖音能同时登录两个账号吗

    抖音能同时登录两个账号吗

  • 苹果手机信号1x是什么意思(苹果手机信号1x怎么解决)

    苹果手机信号1x是什么意思(苹果手机信号1x怎么解决)

  • 腾讯视频如何给别人登录VIP(腾讯视频如何给角色送花)

    腾讯视频如何给别人登录VIP(腾讯视频如何给角色送花)

  • 爱奇艺奇豆和奇点一样吗(爱奇艺奇豆是充会员送的吗)

    爱奇艺奇豆和奇点一样吗(爱奇艺奇豆是充会员送的吗)

  • 华为荣耀x10指纹解锁在哪里(华为荣耀x10指纹解锁怎么设置)

    华为荣耀x10指纹解锁在哪里(华为荣耀x10指纹解锁怎么设置)

  • 微信加入黑名单还能收到好友请求吗(微信加入黑名单怎么找回)

    微信加入黑名单还能收到好友请求吗(微信加入黑名单怎么找回)

  • 拍摄的视频怎么加音乐(拍摄的视频怎么加速)

    拍摄的视频怎么加音乐(拍摄的视频怎么加速)

  • 芒果tv弹幕在哪里打开(芒果tv弹幕在哪里打开电脑)

    芒果tv弹幕在哪里打开(芒果tv弹幕在哪里打开电脑)

  • 红魔5g透明版什么时候出(红魔5s透明)

    红魔5g透明版什么时候出(红魔5s透明)

  • 微信朋友圈怎么搜索之前的内容(微信朋友圈怎么定位到别的城市)

    微信朋友圈怎么搜索之前的内容(微信朋友圈怎么定位到别的城市)

  • 不小心充了微云会员怎么退(不小心充了微云会员可以投诉吗)

    不小心充了微云会员怎么退(不小心充了微云会员可以投诉吗)

  • 根据ip地址能查上网记录吗(根据ip地址能查询哪些信息)

    根据ip地址能查上网记录吗(根据ip地址能查询哪些信息)

  • 苹果6s plus充不进去电怎么回事(苹果6s plus充不上电)

    苹果6s plus充不进去电怎么回事(苹果6s plus充不上电)

  • 天猫精灵可以看电视吗(天猫精灵可以看到家里情况吗)

    天猫精灵可以看电视吗(天猫精灵可以看到家里情况吗)

  • 快手直播黄钻怎么兑换(快手直播黄钻怎么算)

    快手直播黄钻怎么兑换(快手直播黄钻怎么算)

  • 手机反向充电怎么解决(手机反向充电怎么关闭不了)

    手机反向充电怎么解决(手机反向充电怎么关闭不了)

  • 9v2a和5v2a可以通用吗(9v2a和5v3a能通用吗)

    9v2a和5v2a可以通用吗(9v2a和5v3a能通用吗)

  • 滴滴叫车怎么叫(滴滴叫车怎么叫面包车)

    滴滴叫车怎么叫(滴滴叫车怎么叫面包车)

  • 小米9自带充电器多少w(小米9自带充电器)

    小米9自带充电器多少w(小米9自带充电器)

  • 小红书如何私信(小红书如何私信别人)

    小红书如何私信(小红书如何私信别人)

  • Win11玩LOL提示无法初始化图形设备怎么解决?(win11无法打开英雄联盟)

    Win11玩LOL提示无法初始化图形设备怎么解决?(win11无法打开英雄联盟)

  • 一体机、笔记本、品牌机、组装机各自的优缺点(一体机笔记本电脑)

    一体机、笔记本、品牌机、组装机各自的优缺点(一体机笔记本电脑)

  • phpcms如何更换模板(phpcms怎么用)

    phpcms如何更换模板(phpcms怎么用)

  • 湖南税务申报期限2023年1月
  • 开增值税发票折扣折让是什么意思?
  • 差额征税是什么时候出现的
  • 个人所得税申报操作流程
  • 制造费用多结转了下月如何调整
  • 不动产租赁属于经营租赁吗
  • 专用发票不抵扣怎么做账
  • 公司个人薪金怎么申报宁波
  • 在公司交社保不满十年,女性按照什么退税
  • 综合利用资源减计收入
  • 申报个税大病医疗如何申报
  • 企业城建税教育费附加和地教费的税率是多少
  • 销售支付产品是什么意思
  • 提供应税服务的企业
  • 怎么设置存货科目
  • 送员工礼物
  • 酒店住宿可以开免税发票吗?
  • 个人独资企业免税销售额
  • 预缴的企业所得税可以税前扣除吗
  • 车辆租赁的增值税率
  • 上月已认证的发票发现错误怎么办
  • 企业筹办期间发生的费用处理
  • 固定资产投资增长意味着什么
  • 员工垫付差旅费 民间借贷
  • 工程施工直接费用包括哪些
  • 个体工商户比如
  • 赊销的账务处理流程
  • 公司原因领不了失业保险要赔偿吗
  • 发给职工的交通补贴
  • 小规模通行费发票可以抵扣吗
  • 出库单可以补吗
  • 直系亲属股权转让免征个人所得税
  • 企业职工工伤赔偿标准税前扣除
  • 没有实际出资的股东怎么退出
  • 财务收支审批制度主要包括
  • 购买加油卡如何开发票
  • 什么情况需要缴纳增值税
  • uniapp传值
  • 征税小规模纳税申报
  • 一朵牛肝菌 (© vnosokin/Getty Images)
  • 房地产公司收到预售款缴纳印花税吗
  • anconda虚拟环境路径
  • 对于企业无法支付的应付账款
  • 新星计划片头好可爱啊
  • 所得税时间性差异
  • 进口关税账务处理办法
  • 当月扣缴的社保是上个月的吗
  • 房东租金收据
  • 织梦专题页模板
  • 国税联网状态怎么没显示
  • 公司出租房屋如何开票
  • 简易计税差额抵扣
  • 预收货款方式销售货物,纳税义务发生时间
  • 厂家给经销商的补贴怎么开票
  • 外贸公司美金账户开立要求
  • 房屋租赁费属于变动成本吗
  • 企业用实物资产出资 增值税
  • 税收优惠应计入那个科目
  • 营改增后建筑行业进项税能抵扣吗
  • linux系统清理磁盘空间
  • windows server 2016最大内存
  • windows怎么定位
  • xp系统纯净版gho
  • win10 20h2 v2
  • fsrec.sys
  • win7 c盘莫名其妙满了
  • win7装win8系统教程
  • 解决在ios8中, cocos2dx 2.x版本里CCClippingNode没有效果的问题
  • js如何使用
  • js获取父级元素
  • linux编写一个脚本
  • Windows10下安装fastdfs
  • 获取控件的值
  • python查找字符串中指定字符的个数
  • unity游戏开发的技术路线有哪些
  • 请不要重复犯我在学习Python和Linux系统上的错误
  • js复制对象的值
  • 图片旋转鼠标键盘怎么弄
  • javascript操作网页
  • 公租房要钱吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设