图像分割 语义分割 Augmentor数据增强(数据扩充)

简介: 一句话:使用Augmentor创建一个对象,向对象里添加各种带有概率值和参数的图像操作,使用该对象处理你的原始图像。

1. Augmentor

Augmentor is an image augmentation library in Python for machine learning. It aims to be a standalone library that is platform and framework independent, which is more convenient, allows for finer grained control over augmentation, and implements the most real-world relevant augmentation techniques. It employs a stochastic approach using building blocks that allow for operations to be pieced together in a pipeline.
Augmentor是Python中用于机器学习的图像增强库。它的目标是成为一个独立于平台和框架的独立库,这更方便,允许对增强进行更精细的控制,并实现最真实的相关增强技术。它采用随机方法,使用构建块,允许在管道中将操作拼凑在一起。
Augmentor的目的是自动化图像增强(人工数据生成),以便扩展数据集作为机器学习算法的输入,尤其是神经网络和深度学习。
该包的工作原理是构建扩充管道,您可以在其中定义一系列要对一组图像执行的操作。旋转或转换等操作将逐个添加以创建扩充管道:完成后,可以执行管道并创建增强数据集。

一句话:使用Augmentor创建一个对象,向对象里添加各种带有概率值和参数的图像操作,使用该对象处理你的原始图像。

安装:pip install Augmentor
GitHub源码
帮助文档

2. 数据增强代码

# 导入数据增强工具
import Augmentor

# 确定原始图像存储路径以及掩码mask文件存储路径
p = Augmentor.Pipeline("demo1")
p.ground_truth("demo2")

# 图像旋转:按照概率0.8执行,最大左旋角度10,最大右旋角度10
# rotate操作默认在对原图像进行旋转之后进行裁剪,输出与原图像同样大小的增强图像
p.rotate(probability=0.8, max_left_rotation=10, max_right_rotation=10)

# 图像上下镜像: 按照概率0.5执行
p.flip_top_bottom(probability=0.5)

# 图像左右镜像: 按照概率0.5执行
p.flip_left_right(probability=0.5)

# 图像等比缩放,按照概率1执行,整个图片放大,像素变多
# p.scale(probability=1, scale_factor=1.3)

# 图像放大:放大后像素不变,先根据percentage_area放大,后按照原图像素大小进行裁剪
# 按照概率0.4执行,面积为原始图0.9倍
p.zoom_random(probability=0.4, percentage_area=0.9)

# 最终扩充的数据样本数
p.sample(200)

demo1文件夹下的output文件包含最终扩充的数据样本数的所有文件

3. 问题解决

output文件只有原图的增强,只有demo1中原图的数据增强文件,没有demo2中的mask文件的数据增强文件
原因:demo1和demo2中的文件,文件名不一致,需修改为文件名及扩展名都一致。

参考博客

相关文章
|
4月前
|
机器学习/深度学习 算法 机器人
【论文速递】TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
【论文速递】TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
|
9月前
|
PyTorch 算法框架/工具
语义分割数据增强——图像和标注同步增强
其中常见的数据增强方式包括:旋转、垂直翻转、水平翻转、放缩、剪裁、归一化等。
369 0
|
9月前
|
JSON 算法 数据格式
优化cv2.findContours()函数提取的目标边界点,使语义分割进行远监督辅助标注
可以看到cv2.findContours()函数可以将目标的所有边界点都进行导出来,但是他的点存在一个问题,太过密集,如果我们想将语义分割的结果重新导出成labelme格式的json文件进行修正时,这就会存在点太密集没有办法进行修改,这里展示一个示例:没有对导出的结果进行修正,在labelme中的效果图。
87 0
|
10月前
|
机器学习/深度学习 编解码 人工智能
【计算机视觉】MaskFormer:将语义分割和实例分割作为同一任务进行训练
目标检测和实例分割是计算机视觉的基本任务,在从自动驾驶到医学成像的无数应用中发挥着关键作用。目标检测的传统方法中通常利用边界框技术进行对象定位,然后利用逐像素分类为这些本地化实例分配类。但是当处理同一类的重叠对象时,或者在每个图像的对象数量不同的情况下,这些方法通常会出现问题。
【计算机视觉】MaskFormer:将语义分割和实例分割作为同一任务进行训练
|
10月前
|
机器学习/深度学习 自动驾驶
使用迭代方法为语义分割网络生成对抗性
使用迭代方法为语义分割网络生成对抗性。
82 0
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
MaskFormer:将语义分割和实例分割作为同一任务进行训练
目标检测和实例分割是计算机视觉的基本任务,在从自动驾驶到医学成像的无数应用中发挥着关键作用。目标检测的传统方法中通常利用边界框技术进行对象定位,然后利用逐像素分类为这些本地化实例分配类。但是当处理同一类的重叠对象时,或者在每个图像的对象数量不同的情况下,这些方法通常会出现问题。
4741 0
|
11月前
|
机器学习/深度学习 存储 计算机视觉
【目标检测】常用数据增强从原理到实现
【目标检测】常用数据增强从原理到实现
199 0
|
12月前
|
传感器 机器学习/深度学习 数据采集
CMNEXT: 基于编解码架构的强大语义分割基线,解锁多模态语义分割的正确姿势!
CMNEXT: 基于编解码架构的强大语义分割基线,解锁多模态语义分割的正确姿势!
89 0
|
12月前
|
机器学习/深度学习 人工智能 自然语言处理
视觉大模型系列 | SEEM : 一种比 SAM 交互能力更强,且具有语义感知的分割大模型
视觉大模型系列 | SEEM : 一种比 SAM 交互能力更强,且具有语义感知的分割大模型
1187 0
|
12月前
|
机器学习/深度学习 编解码 数据可视化
SPM: 一种即插即用的形状先验模块,可轻松嵌入任意编解码架构,助力涨点并显著改善分割效果!
SPM: 一种即插即用的形状先验模块,可轻松嵌入任意编解码架构,助力涨点并显著改善分割效果!
212 0

相关实验场景

更多