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

本文涉及的产品
视觉智能开放平台,视频资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,图像资源包5000点
简介: 一句话:使用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中的文件,文件名不一致,需修改为文件名及扩展名都一致。

参考博客

相关文章
|
6月前
|
机器学习/深度学习 算法 机器人
【论文速递】TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
【论文速递】TMM2023 - FECANet:用特征增强的上下文感知网络增强小样本语义分割
|
1月前
|
机器学习/深度学习 算法 数据挖掘
稀疏促进动态模态分解(SPDMD)详细介绍以及应用
稀疏促进动态模态分解(SPDMD)结合了动态模态分解(DMD)的数学优雅性和稀疏优化技术,有效提取高维数据中的关键特征。SPDMD通过稀疏约束自动筛选出最重要模态,去除冗余信息,提升模型的可解释性和计算效率。该方法在流体动力学、图像处理、时间序列分析及金融数据等领域广泛应用,能够识别主要趋势、周期性模式及异常现象。SPDMD不仅提高了数据分析效率,还为各领域研究提供了强有力的工具。通过自动选择最相关的模态,SPDMD尤其适用于大规模数据集和实时应用。
61 4
|
1月前
|
数据采集
遥感语义分割数据集中的切图策略
该脚本用于遥感图像的切图处理,支持大尺寸图像按指定大小和步长切割为多个小图,适用于语义分割任务的数据预处理。通过设置剪裁尺寸(cs)和步长(ss),可灵活调整输出图像的数量和大小。此外,脚本还支持标签图像的转换,便于后续模型训练使用。
17 0
|
4月前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型:图像语义分割与对象检测
【7月更文挑战第15天】 使用Python实现深度学习模型:图像语义分割与对象检测
76 2
|
6月前
|
计算机视觉
论文介绍:像素级分类并非语义分割的唯一选择
【5月更文挑战第24天】论文《像素级分类并非语义分割的唯一选择》提出了MaskFormer模型,该模型通过掩模分类简化语义与实例级分割任务,无需修改模型结构、损失函数或训练过程。在ADE20K和COCO数据集上取得优异性能,显示处理大量类别时的优势。MaskFormer结合像素级、Transformer和分割模块,提高效率和泛化能力。掩模分类方法对比边界框匹配更具效率,且MaskFormer的掩模头设计降低计算成本。该方法为语义分割提供新思路,但实际应用与小物体处理仍有待检验。[链接](https://arxiv.org/abs/2107.06278)
52 3
|
机器学习/深度学习 自然语言处理 算法
TabR:检索增强能否让深度学习在表格数据上超过梯度增强模型?
这是一篇7月新发布的论文,他提出了使用自然语言处理的检索增强*Retrieval Augmented*技术,目的是让深度学习在表格数据上超过梯度增强模型。
144 0
|
机器学习/深度学习 编解码 人工智能
【计算机视觉】MaskFormer:将语义分割和实例分割作为同一任务进行训练
目标检测和实例分割是计算机视觉的基本任务,在从自动驾驶到医学成像的无数应用中发挥着关键作用。目标检测的传统方法中通常利用边界框技术进行对象定位,然后利用逐像素分类为这些本地化实例分配类。但是当处理同一类的重叠对象时,或者在每个图像的对象数量不同的情况下,这些方法通常会出现问题。
【计算机视觉】MaskFormer:将语义分割和实例分割作为同一任务进行训练
|
机器学习/深度学习 人工智能 自然语言处理
MaskFormer:将语义分割和实例分割作为同一任务进行训练
目标检测和实例分割是计算机视觉的基本任务,在从自动驾驶到医学成像的无数应用中发挥着关键作用。目标检测的传统方法中通常利用边界框技术进行对象定位,然后利用逐像素分类为这些本地化实例分配类。但是当处理同一类的重叠对象时,或者在每个图像的对象数量不同的情况下,这些方法通常会出现问题。
4855 0
|
PyTorch 算法框架/工具
语义分割数据增强——图像和标注同步增强
其中常见的数据增强方式包括:旋转、垂直翻转、水平翻转、放缩、剪裁、归一化等。
698 0
|
JSON 算法 数据格式
优化cv2.findContours()函数提取的目标边界点,使语义分割进行远监督辅助标注
可以看到cv2.findContours()函数可以将目标的所有边界点都进行导出来,但是他的点存在一个问题,太过密集,如果我们想将语义分割的结果重新导出成labelme格式的json文件进行修正时,这就会存在点太密集没有办法进行修改,这里展示一个示例:没有对导出的结果进行修正,在labelme中的效果图。
212 0

热门文章

最新文章