0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

12个常用的图像数据增强技术总结

颖脉Imgtec 2022-11-02 17:13 次阅读

作者:Prabowo Yoga Wicaksana来源:DeepHub IMBA


神经网络在训练时的优化首先是对模型的当前状态进行误差估计,然后为了减机器学习深度学习模型的训练的目标是成为“通用”模型。这就需要模型没有过度拟合训练数据集,或者换句话说,我们的模型对看不见的数据有很好的了解。数据增强也是避免过度拟合的众多方法之一。扩展用于训练模型的数据量的过程称为数据增强。通过训练具有多种数据类型的模型,我们可以获得更“泛化”的模型。“多种数据类型”是什么意思呢?本篇文章只讨论“图像”数据增强技术,只详细地介绍各种图片数据增强策略。我们还将使用 PyTorch 动手实践并实现图像数据或计算机视觉中主要使用的数据增强技术。c2491b80-57a8-11ed-b116-dac502259ad0.jpg因为介绍的是数据增强技术。所以只使用一张图片就可以了,我们先看看可视话的代码 import PIL.Image as Image
import torch
from torchvision import transforms
import matplotlib.pyplot as plt
import numpy as np
import warnings

def imshow(img_path, transform):
"""
Function to show data augmentation
Param img_path: path of the image
Param transform: data augmentation technique to apply
"""
img = Image.open(img_path)
fig, ax = plt.subplots(1, 2, figsize=(15, 4))
ax[0].set_title(f'Original image {img.size}')
ax[0].imshow(img)
img = transform(img)
ax[1].set_title(f'Transformed image {img.size}')
ax[1].imshow(img)Resize/Rescale

此函数用于将图像的高度和宽度调整为我们想要的特定大小。下面的代码演示了我们想要将图像从其原始大小调整为 224 x 224。

path = './kitten.jpeg'
transform = transforms.Resize((224, 224))
imshow(path, transform)c26e31ae-57a8-11ed-b116-dac502259ad0.png

Cropping

该技术将要选择的图像的一部分应用于新图像。例如,使用 CenterCrop 来返回一个中心裁剪的图像。transform = transforms.CenterCrop((224, 224))
imshow(path, transform)c27524aa-57a8-11ed-b116-dac502259ad0.png

RandomResizedCrop

这种方法同时结合了裁剪和调整大小。transform = transforms.RandomResizedCrop((100, 300))
imshow(path, transform)

Flipping

水平或垂直翻转图像,下面代码将尝试应用水平翻转到我们的图像。transform = transforms.RandomHorizontalFlip()
imshow(path, transform)

Padding

填充包括在图像的所有边缘上按指定的数量填充。我们将每条边填充50像素。transform = transforms.Pad((50,50,50,50))
imshow(path, transform)c28a0eb0-57a8-11ed-b116-dac502259ad0.png

Rotation

对图像随机施加旋转角度。我们将这个角设为15度。transform = transforms.RandomRotation(15)
imshow(path, transform)c2a9c552-57a8-11ed-b116-dac502259ad0.png

Random Affine

这种技术是一种保持中心不变的变换。这种技术有一些参数

degrees:旋转角度

translate:水平和垂直转换

scale:缩放参数

share:图片裁剪参数

fillcolor:图像外部填充的颜色

transform = transforms.RandomAffine(1, translate=(0.5, 0.5), scale=(1, 1), shear=(1,1), fillcolor=(256,256,256))
imshow(path, transform)

Gaussian Blur

图像将使用高斯模糊进行模糊处理。transform = transforms.GaussianBlur(7, 3)
imshow(path, transform)c2cf7cf2-57a8-11ed-b116-dac502259ad0.png

Grayscale

将彩色图像转换为灰度。transform = transforms.Grayscale(num_output_channels=3)
imshow(path, transform)c2ff673c-57a8-11ed-b116-dac502259ad0.png颜色增强,也称为颜色抖动,是通过改变图像的像素值来修改图像的颜色属性的过程。下面的方法都是颜色相关的操作。

Brightness

改变图像的亮度当与原始图像对比时,生成的图像变暗或变亮。transform = transforms.ColorJitter(brightness=2)
imshow(path, transform)

Contrast

图像最暗和最亮部分之间的区别程度被称为对比度。图像的对比度也可以作为增强进行调整。transform = transforms.ColorJitter(contrast=2)
imshow(path, transform)c3250776-57a8-11ed-b116-dac502259ad0.png

Saturation

图片中颜色的分离被定义为饱和度。transform = transforms.ColorJitter(saturation=20)
imshow(path, transform)c3322550-57a8-11ed-b116-dac502259ad0.png

Hue

色调被定义为图片中颜色的深浅。transform = transforms.ColorJitter(hue=2)
imshow(path, transform)c363152a-57a8-11ed-b116-dac502259ad0.png

总结

图像本身的变化将有助于模型对未见数据的泛化,从而不会对数据进行过拟合。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4718

    浏览量

    100140
  • 图像数据
    +关注

    关注

    0

    文章

    50

    浏览量

    11226
收藏 人收藏

    评论

    相关推荐

    深圳单片机开发公司常用12硬件电路,你用过几个?

    在电子产品开发的广阔领域中,硬件设计是构建创新产品的基石。无论是消费级产品、工控还是科研仪器等,都离不开精心设计的电路。英锐恩科技的技术工程师老唐将介绍在硬件设计实战中常用12电路
    发表于 09-25 16:07

    图像采集卡:增强视觉数据采集

    图像采集卡介绍:在视觉数据采集领域,图像采集卡在捕获和处理来自各种来源的图像或视频方面发挥着关键作用。在本文中,我们将深入探讨图像采集卡的世
    的头像 发表于 09-24 11:06 125次阅读
    <b class='flag-5'>图像</b>采集卡:<b class='flag-5'>增强</b>视觉<b class='flag-5'>数据</b>采集

    说明增强现实技术的产生原因

    增强现实技术(Augmented Reality, AR)的产生,主要源于人类对信息获取和交互方式的不断追求与探索,以及计算机技术图像处理、传感器
    的头像 发表于 09-15 14:44 264次阅读

    Cricket XL全新亮相:革新图像增强技术的解决方案

    由法国知名光电科技公司PHOTONIS生产的像增强器是一种先进的光电设备,主要用于提高图像的亮度和清晰度。像增强器凭借其高性能和多功能性,在科学研究、工业检测和生物医学成像等多个领域发挥
    的头像 发表于 07-25 06:32 208次阅读
    Cricket XL全新亮相:革新<b class='flag-5'>图像</b><b class='flag-5'>增强</b><b class='flag-5'>技术</b>的解决方案

    图像识别算法的提升有哪些

    方法。 数据增强 数据增强是提高图像识别算法性能的一种有效方法。通过对训练数据进行变换和扩展,可
    的头像 发表于 07-16 11:12 445次阅读

    增强现实技术的特点有哪些

    增强现实技术(Augmented Reality,简称AR技术)是一种将计算机生成的虚拟信息叠加到现实世界中的技术。它通过实时地计算摄像机影像的位置及角度,将相应的
    的头像 发表于 07-08 10:56 555次阅读

    基于FPGA的常见的图像算法模块总结

    意在给大家补充一下基于FPGA的图像算法基础,于是讲解了一下常见的图像算法模块,经过个人的总结,将知识点分布如下所示。
    的头像 发表于 04-28 11:45 444次阅读
    基于FPGA的常见的<b class='flag-5'>图像</b>算法模块<b class='flag-5'>总结</b>

    机器视觉中采集的图像太暗时要如何增强图像亮度?

    Q图像太暗时要如何增强图像亮度?A:通俗来讲,普遍认为图像亮度就是图像的明暗度。我们知道一幅8bit的黑白
    的头像 发表于 12-15 08:36 719次阅读
    机器视觉中采集的<b class='flag-5'>图像</b>太暗时要如何<b class='flag-5'>增强</b><b class='flag-5'>图像</b>亮度?

    机器视觉中采集的图像太暗时要如何增强图像亮度?

    Q 图像太暗时要如何增强图像亮度?   A:  通俗来讲,普遍认为图像亮度就是图像的明暗度。我们知道一幅8bit的黑白
    的头像 发表于 12-08 13:01 581次阅读
    机器视觉中采集的<b class='flag-5'>图像</b>太暗时要如何<b class='flag-5'>增强</b><b class='flag-5'>图像</b>亮度?

    图像增强三大类别介绍

    图像增强图像模式识别中非常重要的图像预处理过程。图像增强的目的是通过对
    的头像 发表于 11-14 14:34 1295次阅读

    常用图像处理模块是什么?

    在实际应用中常用图像处理模块有哪些
    发表于 10-30 06:20

    机器视觉之图像增强图像处理

    一、图像处理技术概述1.定义对原始获取图像进行一系列的运算处理,称为图像处理。图像处理是机器视觉技术
    的头像 发表于 10-26 08:07 826次阅读
    机器视觉之<b class='flag-5'>图像</b><b class='flag-5'>增强</b>和<b class='flag-5'>图像</b>处理

    机器视觉之图像增强图像处理

    对原始获取图像进行一系列的运算处理,称为图像处理。图像处理是机器视觉技术的方法基础,包括图像增强
    发表于 10-23 10:43 445次阅读
    机器视觉之<b class='flag-5'>图像</b><b class='flag-5'>增强</b>和<b class='flag-5'>图像</b>处理

    机器视觉:图像处理技术图像增强技术

    对原始获取图像进行一系列的运算处理,称为图像处理。图像处理是机器视觉技术的方法基础,包括图像增强
    发表于 10-20 10:17 1052次阅读
    机器视觉:<b class='flag-5'>图像</b>处理<b class='flag-5'>技术</b>、<b class='flag-5'>图像</b><b class='flag-5'>增强</b><b class='flag-5'>技术</b>

    机器视觉技术之空域图像增强技术解析

    用这种方式倒转图像的强度产生图像反转的对等图像。该方式适用于增强嵌入于图像暗色区域的白色或灰色细节,特别是当黑色面积占主导地位时。
    发表于 10-08 11:10 819次阅读
    机器视觉<b class='flag-5'>技术</b>之空域<b class='flag-5'>图像</b><b class='flag-5'>增强</b><b class='flag-5'>技术</b>解析