对于语义分割任务来说,一种有效的提升性能的办法就是对现有数据进行增强,扩充现有数据的多样性。
本文介绍一种比较好用的数据增强工具:Augmentor
(1)安装 Augmentor
在终端中输入命令:
pip install Augmentor
即可完成安装。
(2)数据增强
语义分割任务需要同时对原始图和掩码图(mask)进行增强,因此,很多现有的深度学习框架中自带的图像增强工具都不能直接使用。但是通过Augmentor可以很方便的实现该功能。下面举例说明。假设有四张图像以及它们对应的掩码图,分别放在test1文件夹以及test2文件夹中,如下图所示:
可以使用下面的python代码进行数据增强:
#导入数据增强工具
import Augmentor
#确定原始图像存储路径以及掩码文件存储路径
p = Augmentor.Pipeline("test1")
p.ground_truth("test2")
#图像旋转: 按照概率0.8执行,最大左旋角度10,最大右旋角度10
p.rotate(probability=0.8, max_left_rotation=10, max_right_rotation=10)
#图像左右互换: 按照概率0.5执行
p.flip_left_right(probability=0.5)
#图像放大缩小: 按照概率0.8执行,面积为原始图0.85倍
p.zoom_random(probability=0.3, percentage_area=0.85)
#最终扩充的数据样本数
p.sample(20)
执行后,最终在test1文件目录下会生成一个output文件夹,该文件夹中即为增强过后的图片,如下图所示: