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

  • vivox70pro+怎么给微信加密(vivox70pro怎么给别的手机充电)

    vivox70pro+怎么给微信加密(vivox70pro怎么给别的手机充电)

  • 腾讯会议可不可以匿名投票吗(腾讯会议可不可以手机电脑双开)

    腾讯会议可不可以匿名投票吗(腾讯会议可不可以手机电脑双开)

  • 华为nova5安卓手机信号上的hd怎么关(华为nova5安卓版本)

    华为nova5安卓手机信号上的hd怎么关(华为nova5安卓版本)

  • 手机应用锁怎么设置(手机应用锁怎么设置指纹)

    手机应用锁怎么设置(手机应用锁怎么设置指纹)

  • 怎么删除电脑上下载的软件(怎么删除电脑上的软件)

    怎么删除电脑上下载的软件(怎么删除电脑上的软件)

  • b站缓存的视频在哪个文件(b站缓存的视频怎么提取音频)

    b站缓存的视频在哪个文件(b站缓存的视频怎么提取音频)

  • 华为手机流量用不了是怎么回事(华为手机流量用多少从哪里能看到)

    华为手机流量用不了是怎么回事(华为手机流量用多少从哪里能看到)

  • 抖音私信已送达对方能看到吗(抖音私信已送达 是对方没有看吗)

    抖音私信已送达对方能看到吗(抖音私信已送达 是对方没有看吗)

  • oppo手机强制分屏(oppo怎么强行分屏)

    oppo手机强制分屏(oppo怎么强行分屏)

  • 定时说说在哪里查看(定时说说在哪里编辑)

    定时说说在哪里查看(定时说说在哪里编辑)

  • 开通抖音直播要钱吗(开通抖音直播要营业执照吗)

    开通抖音直播要钱吗(开通抖音直播要营业执照吗)

  • 美版有锁和无锁的区别(美版有锁和无锁差多少钱)

    美版有锁和无锁的区别(美版有锁和无锁差多少钱)

  • 拼多多助力享免单是什么意思(拼多多助力享免单是真的吗)

    拼多多助力享免单是什么意思(拼多多助力享免单是真的吗)

  • 荣耀20可以双击亮屏吗(荣耀20可以双击截图吗)

    荣耀20可以双击亮屏吗(荣耀20可以双击截图吗)

  • 毒app能退换货吗(毒app不可以退货吗)

    毒app能退换货吗(毒app不可以退货吗)

  • 微信收款码怎么作废(微信收款码怎么发给对方)

    微信收款码怎么作废(微信收款码怎么发给对方)

  • a1722是第几代airpods(a1523和1722是一代还是二代)

    a1722是第几代airpods(a1523和1722是一代还是二代)

  • qq空间关闭好友热播(qq空间关闭好友访问显示什么)

    qq空间关闭好友热播(qq空间关闭好友访问显示什么)

  • 拼多多商品详情图尺寸(拼多多商品详情是真实的吗)

    拼多多商品详情图尺寸(拼多多商品详情是真实的吗)

  • 苹果8可以开空调吗(苹果8可以开空调遥控吗)

    苹果8可以开空调吗(苹果8可以开空调遥控吗)

  • iphonexr有耳机吗(iphonexr有耳机送吗)

    iphonexr有耳机吗(iphonexr有耳机送吗)

  • 为什么苹果系统越来越大(为什么苹果系统数据占那么多)

    为什么苹果系统越来越大(为什么苹果系统数据占那么多)

  • 饿了么如何加盟(饿了么怎么加盟地区代理)

    饿了么如何加盟(饿了么怎么加盟地区代理)

  • 手机自带wifi怎么设置(手机自带wifi怎么弄)

    手机自带wifi怎么设置(手机自带wifi怎么弄)

  • login命令  登入系统(login user)

    login命令 登入系统(login user)

  • 新领的发票怎么分发
  • 房产税从价改从租,多缴税款要加收滞纳金吗
  • 税务行政诉讼是由税务机关进行审理并作出裁决
  • 增值税纳税义务发生时间的规定
  • 财务管理考试时间多长
  • 可供出售金融资产和长期股权投资
  • 财务软件续费怎么记账
  • 成本 费用区别
  • 进料加工手册核销是什么意思
  • 联营企业和合营企业长期股权投资的方式
  • 特许权使用费怎样向海关申报
  • 事业单位收到借款分录
  • 退货报废计入哪类费用
  • 以资抵债是利空还是利好
  • 补缴所得税要调账吗
  • 报表中利润为什么税后比税前大?
  • 营改增行业注释
  • 景区门票入什么费用
  • 劳务税在地税局开还是国税局
  • 个人所得税的标准有几档
  • 分公司的发票可以由总公司开吗
  • 事业单位固定资产报废处置流程
  • 计提个税怎么做
  • 华为鸿蒙harmony os
  • 营业外收入冲减销售费用
  • 工资达到起征点 报税时没有税款
  • 汇算清缴申报表怎么填
  • PHP:mb_ereg_search_setpos()的用法_mbstring函数
  • 深度deepin系统安装教程
  • 微软win11预览版
  • 小规模纳税人购车是怎么抵税的
  • fssm32.exe是什么进程 有什么作用 fssm32进程查询
  • 若依官网
  • 阿巴拉契亚国家步道的英文怎么说
  • 哈士奇宠物狗
  • 前端微信小程序支付功能怎么实现
  • 利润分配的顺序依次是什么
  • 上年科目记错如何更正
  • 开票显示税收分录怎么办
  • 当月确认收入可以下月确认成本吗
  • 帝国cms模型
  • 设计模式golang
  • 购买一台电脑2400元贵吗
  • 个税由公司承担怎么计算工资
  • 坏账准备抵消期初未分配利润
  • 增值税专用发票上注明的价款含税吗
  • sql分页语句
  • 什么情况下需要做心脏造影
  • 交易性金融资产属于流动资产
  • 旅行社开具的发票可以作为福利费税前支出吗
  • 工人晚上加班的说说心情
  • 无法收回离职员工合法吗
  • 购进材料,已付,材料尚未验收入库
  • 退休职工取暖费发放标准2023年
  • 审计 调整分录
  • 股权激励费用摊销意思是
  • 公司收不到的账款怎么办
  • 工业用地使用年限30年与50年有什么区别
  • system表空间满了怎么处理
  • 一个简单的群规怎么写
  • win2000系统
  • unix du
  • freebsd中文手册
  • 硬盘读盘慢修复
  • 怎么更改window系统字体
  • frontpage软件
  • windows 自启动
  • 飞信安卓下载
  • win7打开回收站
  • 安装音乐库
  • Win10 Mobile Redstone预览版14295出现问题 屏幕闪烁/应用自动关闭等
  • Tutorial 6:Translation Transformation
  • node.js编译
  • css中有序列表
  • python和js哪个好
  • unity物体边缘发光
  • socket python
  • js右键菜单
  • python如何用pi
  • 保税区社会车辆能进吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设