Skip to main content

a package for local images augment in deep learning

Project description

LocalAugment

本 python 包用于深度学习的本地数据增强。

Feature

  • 不同于一般图像增广库,本LocalAugment库是先在本地图片上做增强,导出增强后的图片直接作为训练集使用,而不是加在网络的图像预处理部分。
  • LocalAugment库采用矩形中心框与长宽的标签定位模式,支持在本地进行图像增强的同时,记录下标签变换后的位置与大小,能够保证图像在经过变换后,标签依然能够被正确地定位,省去转换后手动打标签的繁琐工作。

install

pip install local-augment

Quickly Start

import LocalAugment as LA
source_dir = "dataset\\images"
output_dir = "dataset\\images\\tested"
label_dir = "dataset\\labels"
num_images = 30 # 需要增强的图片数量

LocalAugment库提供随机抽取图片的randomTransformer()类与可以指定图片列表的customTransFormer()类,下面对两个类分别做介绍。两类均需要定义图片数据集路径、标签路径、转换后保存路径,并将其按顺序输入类中生成实例。

randomTransformer(source_folder, target_folder, label_folder, img_number)

img_number参数指定了需要从source_folder中随机抽取img_number张图片做数据增强。

customTransFormer(source_folder, target_folder, label_folder, images_list)

images_list参数指定了需要增广图片文件名列表,需要包含后缀名,目前支持.png.jpg两种图片格式。该列表中文件要保证在source_folder中存在,若不存在,程序会报错。

增广转换器

LocalAugment提供了以下几种数据增广转换器

Crop(crop_size)

图像裁剪转换器

  • crop_size: tuple(int) 矩形裁剪的尺寸,具体到图像上的像素坐标,以 tuple 结构输入,依次存储为(x1, x2, y1, y2),采用矩形左上角和右下角的坐标定位。

经裁剪转换器处理后的图像会在其文件名后加入_c标识。

Rotate(angle, shuffle=True)

图像旋转转换器,该转换器默认以图像中心作为旋转中心,支持自定义旋转角度或采用随机角度。

  • angle: int/tuple(int) 指定旋转角度,角度制,正数为顺时针旋转,负数为逆时针旋转
  • shuffle: boolean Bool 变量,指定是否采用随机角度值。当 shuffleTrue 时,应将 angle 指定为tuple数组,规定随机角度的取值范围。随机角度值采取指定范围内的均匀分布。

经旋转转换器处理后的图像会在其文件名后加入_rot<angle>标识。

flipHorizontal()

图像水平翻转转换器

经水平翻转转换器处理后的图像会在其文件名后加入_hf标识。

randomFlipHorizontal(p)

图像随机水平翻转转换器,该转换器支持自定义翻转概率 p

  • p: float 指定翻转概率,取值范围为 [0, 1]p=1 表示全部翻转,p=0 表示不翻转。

经水平翻转转换器处理后的图像会在其文件名后加入_hf标识。

flipVertical()

图像垂直翻转转换器

经垂直翻转转换器处理后的图像会在其文件名后加入_vf标识。

randomFlipVertical(p)

图像随机垂直翻转转换器,该转换器支持自定义翻转概率 p

  • p: float 指定翻转概率,取值范围为 [0, 1]p=1 表示全部翻转,p=0 表示不翻转。

经垂直翻转转换器处理后的图像会在其文件名后加入_vf标识。

randomGammaLight(dark,light)

图像亮度调整转换器

  • dark: tuple(float) 指定亮度调暗范围,取值范围为 [0, 1]dark=(0.2, 0.8) 表示将亮度下调到 0.20.8 之间,视具体图片生成效果而定
  • light: tuple(int) 指定亮度调亮范围,取值范围为 [0, 10]light=(2, 8) 表示将亮度上调到 28 之间,视具体图片生成效果而定

经亮度调整转换器处理后的图像会在其文件名后加入_l标识。

randomGaussionNoise(noise_scale)

图像高斯噪声随机添加转换器

  • noise_scale: tuple(int) 指定高斯噪声添加范围,默认为(10,20),具体视图片生成效果而定

经高斯噪声转换器处理后的图像会在其文件名后加入_n标识。

randomResize(time, shuffle=True)

图像缩放转换器

  • time: int/float 图像缩放因子,>1为放大比例系数,<1为缩小比例系数
  • shuffle: boolean Bool 变量,指定是否采用随机缩放比例系数。当 shuffleTrue 时,应将 time 指定为tuple数组,规定随机缩放因子的取值范围。随机缩放因子采取指定范围内的均匀分布。

经缩放转换器处理后的图像会在其文件名后加入_res标识。

Sharpen()

图像锐化转换器,利用拉普拉斯算子对图像进行锐化处理。

经锐化转换器处理后的图像会在其文件名后加入_sh标识。

转换器串联

Compose(func_list:list[func])

LocalAugment提供了Compose()函数用于各类转换器的串联

保存

Save()

在运行完所有转换器之后,需要加入Transformer.Save()函数来保存增强后的图片。

图片可视化

Show(num_cols, num_rows)

LocalAugment库提供了Show()函数来可视化增强后的图像,以便观察标签的跟踪是否正确。

  • num_cols: int 显示图片列数
  • num_rows: int 显示图片行数

注意输入的图片总数不得超过增强数据集中的图片数目。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

localaugment-0.2.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

localaugment-0.2.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file localaugment-0.2.0.tar.gz.

File metadata

  • Download URL: localaugment-0.2.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.3 Windows/10

File hashes

Hashes for localaugment-0.2.0.tar.gz
Algorithm Hash digest
SHA256 edae92a1fa75bffb314a92c588843d5ad2970a0f71df581abd89add44111ecad
MD5 b0bf2ac99bfe5094733ce60c2b83bc24
BLAKE2b-256 0a035e6333ea39d9108a322773d51f58bba9a3501803414cbe385d1b2b3bae29

See more details on using hashes here.

File details

Details for the file localaugment-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: localaugment-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.3 Windows/10

File hashes

Hashes for localaugment-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c487ae62e62b3eb0d9d139bab93772044e3b8cb3fedc31d5a5d2615225aeff86
MD5 e882441109e4c5e944fda05985298be0
BLAKE2b-256 605f41ebb04566519f38b89fb8f3ea0fa44446ee7e1beea9c9632c9900ed0598

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page