开源
Albumentations:提高深度卷积神经网络性能的计算机视觉工具
来源:元经纪     阅读:410
网站管理员
发布于 2023-06-16 03:00
查看主页

概述

Albumentations 是一种计算机视觉工具,可提高深度卷积神经网络的性能。Albumentations 是一个用于快速灵活的图像增强的 Python 库。Albumentations 有效地实现了各种针对性能进行优化的图像变换操作,同时为不同的计算机视觉任务(包括对象分类、分割和检测)提供简洁而强大的图像增强接口。Albumentations 支持不同的计算机视觉任务,例如分类、语义分割、实例分割、对象检测和姿态估计。Albumentations 适用于来自不同领域的数据:照片、医学图像、卫星图像、制造和工业应用、生成对抗网络。

特征

该库是 PyTorch 生态系统的一部分 专辑可以很好地处理来自不同领域的数据 Albumentations 支持不同的计算机视觉任务 Albumentations 有效地实现了丰富多样的图像变换操作 针对性能进行了优化 广泛应用于工业、深度学习研究、机器学习竞赛、开源项目

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

下面是一个示例,说明如何应用 Albumentations 中的一些像素级增强来从原始图像创建新图像:

安装

相册需要 Python 3.7 或更高版本。从 PyPI 安装最新版本:

pip install -U albumentations

文档中描述了其他安装选项。

文档

完整文档可在https://albumentations.ai/docs/获得。

一个简单的例子

import albumentations as A
import cv2

# Declare an augmentation pipeline
transform = A.Compose([
    A.RandomCrop(width=256, height=256),
    A.HorizontalFlip(p=0.5),
    A.RandomBrightnessContrast(p=0.2),
])

# Read an image with OpenCV and convert it to the RGB colorspace
image = cv2.imread("image.jpg")
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

# Augment an image
transformed = transform(image=image)
transformed_image = transformed["image"]

入门

我是图像增强的新手

请从有关为什么图像增强很重要以及它如何帮助构建更好的模型的介绍文章开始。

我想将 Albumentations 用于特定任务,例如分类或分割

如果您想将 Albumentations 用于特定任务,例如分类、分割或对象检测,请参阅深入描述此任务的文章集。我们还有一个针对不同用例应用 Albumentations 的示例列表。

我想知道如何将 Albumentations 与深度学习框架一起使用

我们有使用 Albumentations以及 PyTorch 和 TensorFlow 的示例。

我想探索增强功能并查看 Albumentations 的实际应用

查看库的在线演示。有了它,您可以将增强应用到不同的图像并查看结果。此外,我们还有所有可用增强及其目标的列表

谁在使用Albumentations

空间级变换

空间级变换将同时更改输入图像和其他目标,例如蒙版、边界框和关键点。下表显示了每个转换支持哪些附加目标。

转换 图像 面具 B盒 关键点
仿射
BBoxSafeRandomCrop
中心裁剪
粗漏
庄稼
裁剪和填充
CropNonEmptyMaskIfExists
弹性变换
翻动
网格失真
GridDropout
水平翻转
拉姆达
最长最大尺寸
MaskDropout
无操作
光学畸变
垫如果需要
看法
分段仿射
像素漏失
随机裁剪
RandomCropFromBorders
RandomCropNearBBox
随机网格随机播放
随机调整大小裁剪
随机旋转90度
随机尺度
RandomSizedBBoxSafeCrop
RandomSizedCrop
调整大小
旋转
安全旋转
移位缩放旋转
最小最大尺寸
移调
垂直翻转

再举几个增强的例子

Inria 数据集上的语义分割

医学影像

Mapillary Vistas 数据集上的对象检测和语义分割

关键点增强

基准测试结果

要自己运行基准测试,请按照benchmark/README.md中的说明进行操作

使用英特尔(R) 至强(R) Gold 6140 CPU 在 ImageNet 验证集中的前 2000 张图像上运行基准测试的结果。所有输出都转换为数据类型为 np.uint8 的连续 NumPy 数组。该表显示了单核每秒可以处理多少图像;越高越好。

专辑 1.1.0 imgaug 0.4.0 torchvision(Pillow-SIMD 后端) 0.10.1 喀拉斯 2.6.0 增强器 0.2.8 0.1.9 _
水平翻转 10220 2702 2517 876 2528 6798
垂直翻转 4438 2141 2151 4381 2155 3659
旋转 389 283 165 28 60 367
移位缩放旋转 669 425 146 29 - -
亮度 2765 1124 411 229 408 2335
对比 2767 1137 349 - 346 2341
亮度对比度 2746 629 190 - 189 1196
移位RGB 2758 1093 - 360 - -
转换HSV 598 259 59 - - 144
伽马 2849 - 388 - - 933
灰阶 5219 393 723 - 1082 1309
随机裁剪64 163550 2562 50159 - 42842 22260
PadToSize512 3609 - 602 - - 3097
调整大小512 1049 611 1066 - 1041 1017
RandomSizedCrop_64_512 3224 858 1660 - 1598 2675
色调分离 2789 - - - - -
曝光 2761 - - - - -
均衡 647 385 - - 765 -
2659 1129 - - - -
逐元素相乘 111 200 - - - -
颜色抖动 351 78 57 - - -

Python 和库版本:Python 3.9.5(默认,2021 年 6 月 23 日,15:01:51)[GCC 8.3.0],numpy 1.19.5,pillow-simd 7.0.0.post3,opencv-python 4.5.3.56, scikit 图像 0.18.3,scipy 1.7.1。

[/hidecontent]

 
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
优酷独播 《异人之下之决战!碧游村》定档1月18日:彭昱畅等原班人马回归
“杭州以旧换新”家电补贴在天猫上线 每人至高可领16000元
小米15系列正式开售,澎湃os2全生态系统更新
苹果官宣:Apple智能简体中文4月上线 随iOS 18.4登场
你支持谁!董明珠回应小米空调销量第一:全靠代工你的技术是什么 格力无惧

首页

分类

定制方案

消息

我的