imgaug 项目介绍
什么是imgaug?
imgaug是一个Python库,用于图像增强,特别适用于机器学习项目。它可以将一组输入图像转变为一组全新的、数量更大且略微修改过的图像,从而提高模型的泛化能力。
功能特性
-
多种增强技术:imgaug支持多种增强操作,如仿射变换、透视变换、对比度改变、添加高斯噪声、区域丢弃(dropout)、色调/饱和度变化、裁剪/填充、模糊等。这些操作经过优化,能够实现高效的性能。
-
灵活性:
- 可以轻松地选择性地将增强操作应用于部分图像。
- 可以轻松地以随机顺序应用增强操作,这是数据增强的重要特点之一。
-
支持多种数据类型:
- 图像:对于uint8类型的图像提供全面支持,其他数据类型的支持请查阅文档。
- 热图(Heatmaps)、分割图(Segmentation Maps)、掩码(Masks):支持float32、int和bool类型。
- 关键点/地标(Keypoints/Landmarks)、边界框(Bounding Boxes)、多边形(Polygons)、线串(Line Strings):支持整数和浮点坐标。
-
自动对齐随机值:
- 例如,可以通过从均匀分布中采样的相同角度值来旋转图像和其上的分割图,且无需额外代码。
-
概率分布作为参数:
- 例如,通过从
uniform(-10°, 45°)
中采样的角度值来旋转图像。
- 例如,通过从
-
多种辅助函数:提供绘制热图、分割图、关键点、边界框等各种功能,以及图像缩放、平均/最大池化、填充成特定比例(如正方形)等多种实用功能。
-
支持多CPU核心并行增强:提高图像处理的效率。
如何安装
imgaug库支持Python 2.7及3.4以上版本。
Anaconda安装
在Anaconda中安装imgaug,可以执行以下命令:
conda config --add channels conda-forge
conda install imgaug
卸载可使用conda remove imgaug
。
使用pip安装
通过pypi安装(可能比github版本落后):
pip install imgaug
或者直接从GitHub安装最新版本:
pip install git+https://github.com/aleju/imgaug.git
卸载库则执行pip uninstall imgaug
。
文档
项目提供了许多示例Jupyter notebooks和详细的ReadTheDocs页面,涵盖从基本例子、安全发布到API的各个方面。这些资源有助于用户更好地理解如何在项目中利用imgaug进行图像增强。
示例图像与最近更新
文档中包含了大量示例图像,展示了各种增强技术的应用效果。例如,用户可以看到高斯模糊、对比度调整和其他一系列增强操作应用于图像后的变化。
最近更新包括:
- 0.4.0:新增增强器,后端改为批处理增强,支持numpy 1.18和Python 3.8。
- 0.3.0:重构分割图增强,适应numpy 1.17+的随机数采样API,新增多个增强器。
- 0.2.9:新增多边形和线串增强,简化增强接口。
- 0.2.8:性能提升,数据类型支持改进,多核并行增强。
结语
imgaug是一个功能强大且灵活的图像增强库,是机器学习和计算机视觉项目的有力工具。它不仅提供了丰富的功能和高度的灵活性,还支持多种数据类型和复杂的操作组合,适合需要图像增强的各类开发者和研究人员使用。