前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习常用图像数据增强库albumentations系列教程(一)

深度学习常用图像数据增强库albumentations系列教程(一)

作者头像
用户9875047
发布2022-12-07 10:20:37
8370
发布2022-12-07 10:20:37
举报
文章被收录于专栏:机器视觉全栈er机器视觉全栈er

目标:

  • • 了解数据增强
  • • 了解albumentation库

0.albumentations简介

Albumentations是一个图像增强库,能够从原始图像中生成大量图像。该库被广泛用于工业、深度学习研究、机器学习竞赛和开源项目。

1.数据增强

深度神经网络模型需要保质保量的训练数据才能获得良好的预测效果,防止过拟合的出现。然而,实际去做深度学习模型训练的时候,你会发现做够的训练样本是很难的,原因如下:

  • • 采集图像:有些图像数据会涉及隐私,如医疗方面的图像,有些图像获取成本很高,如卫星图像,有些操作比较麻烦,如道路场景识别的图像。
  • • 图像标注:对图像进行标注需要耗费大量人力,而且标注质量不好会导致模型识别效果大打折扣,对物体检测任务来说,需要在物体周围画出包围框,框的大小要合适,标注的种类也要正确。

针对样本数据获取困难的情况,可以使用图像数据增强技术。图像增强是一个从现有图像中创造新的训练样本的过程。为了制造一个新的样本,你稍微改变一下原始图像。例如,你可以让新的图像更亮一点,你可以从原始图像上切下一块,你可以通过镜像原始图像来制作新的图像等等。

下面,我们通过一些例子展示原始图像创造新的训练样本的例子:

代码语言:javascript
复制
import random

import cv2
from matplotlib import pyplot as plt

import albumentations as A

image = cv2.imread("assets/cvtutorials.png")
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

transformed_1 = A.HorizontalFlip(p=)
augmented_image_1 = transformed_1(image=image)['image']

transformed_2 = A.ShiftScaleRotate(p=)
augmented_image_2 = transformed_2(image=image)['image']

augmented_images = [image, augmented_image_1, augmented_image_2]

plt.figure(figsize=(, ))
for i in range(, ):
    plt.subplot(,,i)
    plt.imshow(augmented_images[i-])
    plt.axis('off')
plt.show()

图片展示效果如下(原图,水平翻转的图,平移缩放旋转的图)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器视觉全栈er 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0.albumentations简介
  • 1.数据增强
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档