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

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

3天内不再提示

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

Dbwd_Imgtec 来源:DeepHub IMBA 作者:Prabowo Yoga Wicaksan 2022-10-26 11:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

f4a51538-54de-11ed-a3b6-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)

f4b74280-54de-11ed-a3b6-dac502259ad0.png

Cropping

该技术将要选择的图像的一部分应用于新图像。例如,使用 CenterCrop 来返回一个中心裁剪的图像。

transform = transforms.CenterCrop((224, 224)) imshow(path, transform)

f4cf83fe-54de-11ed-a3b6-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)

f4f65376-54de-11ed-a3b6-dac502259ad0.png

Rotation

对图像随机施加旋转角度。我们将这个角设为15度。

transform = transforms.RandomRotation(15) imshow(path, transform)

f5112598-54de-11ed-a3b6-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)

f527cd48-54de-11ed-a3b6-dac502259ad0.png

Grayscale

将彩色图像转换为灰度。

transform = transforms.Grayscale(num_output_channels=3) imshow(path, transform)

f567f7f6-54de-11ed-a3b6-dac502259ad0.png

颜色增强,也称为颜色抖动,是通过改变图像的像素值来修改图像的颜色属性的过程。下面的方法都是颜色相关的操作。

Brightness

改变图像的亮度当与原始图像对比时,生成的图像变暗或变亮。

transform = transforms.ColorJitter(brightness=2) imshow(path, transform)

Contrast

图像最暗和最亮部分之间的区别程度被称为对比度。图像的对比度也可以作为增强进行调整。

transform = transforms.ColorJitter(contrast=2) imshow(path, transform)

f58dc1c0-54de-11ed-a3b6-dac502259ad0.png

Saturation

图片中颜色的分离被定义为饱和度。

transform = transforms.ColorJitter(saturation=20) imshow(path, transform)

f5ad3a00-54de-11ed-a3b6-dac502259ad0.png

Hue

色调被定义为图片中颜色的深浅。

transform = transforms.ColorJitter(hue=2) imshow(path, transform)

f5cd9ffc-54de-11ed-a3b6-dac502259ad0.png

总结

图像本身的变化将有助于模型对未见数据的泛化,从而不会对数据进行过拟合。以上整理的都是我们常见的数据增强技术,torchvision中还包含了很多方法,可以在他的文档中找到:https://pytorch.org/vision/stable/transforms.html

审核编辑 :李倩

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

    关注

    42

    文章

    4827

    浏览量

    106800
  • 图像数据
    +关注

    关注

    0

    文章

    54

    浏览量

    11633
  • 数据集
    +关注

    关注

    4

    文章

    1230

    浏览量

    26046

原文标题:12个常用的图像数据增强技术总结

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ADC12D1000 12 位超高速模数转换器(ADC)产品手册总结

    的 LVDS 接口,支持多个可编程 SPI 这些选项用于促进板设计和FPGA/ASIC数据采集。LVDS输出兼容以下 IEEE 1596.3-1996,并支持可编程共模电压。 ADC12D1x00采用带铅或无铅的292针热增强
    的头像 发表于 11-21 15:42 497次阅读
    ADC<b class='flag-5'>12</b>D1000 <b class='flag-5'>12</b> 位超高速模数转换器(ADC)产品手册<b class='flag-5'>总结</b>

    用于高速成像,科学和太阳蛋白紫外线应用的图像增强器解决方案

    图像增强器用于增强低照度图像,直至单光子的检测和成像。Photonis 是 Exosens 的一部分,为科学应用 (IIT) 提供各种图像
    的头像 发表于 11-19 07:36 42次阅读
    用于高速成像,科学和太阳蛋白紫外线应用的<b class='flag-5'>图像</b><b class='flag-5'>增强</b>器解决方案

    ADC12D500RF 12 位中高速 RF 采样 ADC 技术文档总结

    12位1.6/1.0 GSPS ADC12D800/500RF是一种射频采样GSPS的ADC,可以直接实现 采样输入频率最高可达2.7 GHz及以上。ADC12D800/500RF增强
    的头像 发表于 11-18 15:15 328次阅读
    ADC<b class='flag-5'>12</b>D500RF <b class='flag-5'>12</b> 位中高速 RF 采样 ADC <b class='flag-5'>技术</b>文档<b class='flag-5'>总结</b>

    ADC12D1000RF 12 位高采样率 RF 采样 ADC 技术文档总结

    12位3.2和2GSPS ADC12D1x00RF是一款射频采样GSPS数字计算机,可以直接采样输入频率,最高可达2.7 GHz及以上。ADC12D1x00RF增强了非常大的奈奎斯特区
    的头像 发表于 11-18 15:05 317次阅读
    ADC<b class='flag-5'>12</b>D1000RF <b class='flag-5'>12</b> 位高采样率 RF 采样 ADC <b class='flag-5'>技术</b>文档<b class='flag-5'>总结</b>

    图像采集卡:机器视觉时代的图像数据核心枢纽

    一、图像采集卡的技术本质:从信号到数据的“转换器”与“传输通道”图像采集卡(ImageCaptureCard)是机器视觉系统的核心硬件组件,本质是通过专用芯片(如FPGA、ASIC)实
    的头像 发表于 11-12 15:15 290次阅读
    <b class='flag-5'>图像</b>采集卡:机器视觉时代的<b class='flag-5'>图像</b><b class='flag-5'>数据</b>核心枢纽

    基于FPGA的CLAHE图像增强算法设计

    CLAHE图像增强算法又称为对比度有限的自适应直方图均衡算法,其算法原理是通过有限的调整图像局部对比度来增强有效信号和抑制噪声信号。
    的头像 发表于 10-15 10:14 395次阅读
    基于FPGA的CLAHE<b class='flag-5'>图像</b><b class='flag-5'>增强</b>算法设计

    Photonis图像增强器:技术原理、核心优势与应用领域

    Photonis是一家全球领先的光电传感器与夜视技术制造商,总部位于荷兰,专注于高性能图像增强器、光电倍增管(PMT)和微通道板(MCP)的研发与生产。其产品广泛应用于科研、医疗和工业领域,尤其在低
    的头像 发表于 10-10 09:28 279次阅读
    Photonis<b class='flag-5'>图像</b><b class='flag-5'>增强</b>器:<b class='flag-5'>技术</b>原理、核心优势与应用领域

    Photonis 科学图像增强器介绍

    对于寻求先进图像增强技术增强相机制造商,Photonis 提供具有无与伦比规格的科学级图像增强
    的头像 发表于 09-19 09:20 232次阅读
    Photonis 科学<b class='flag-5'>图像</b><b class='flag-5'>增强</b>器介绍

    常用PromQL查询案例总结

    在云原生时代,Prometheus已经成为监控领域的事实标准。作为一名资深运维工程师,我见过太多团队在PromQL查询上踩坑,也见过太多因为监控不到位导致的生产事故。今天分享10实战中最常用的PromQL查询案例,每一都是血
    的头像 发表于 09-18 14:54 455次阅读

    ‌TLC59711 12通道16位增强型PWM RGB LED驱动器技术文档总结

    TLC59711是一 12 通道恒流灌电流驱动器。每个输出通道都有 可单独调节的电流,具有 65536 PWM 灰度 (GS) 步长。此外,每个颜色组可以是 由 128 恒流灌电流步长控制,具有
    的头像 发表于 08-29 14:20 637次阅读
    ‌TLC59711 <b class='flag-5'>12</b>通道16位<b class='flag-5'>增强</b>型PWM RGB LED驱动器<b class='flag-5'>技术</b>文档<b class='flag-5'>总结</b>

    DLPC350图像总保持一原来常用的条纹,断电后仍然可以观察到那个条纹图的潜像,请问是DLP的问题吗?

    DLPC350图像总保持一原来常用的条纹,断电后仍然可以观察到那个条纹图的潜像,请问是DLP的问题吗?怎么解决?
    发表于 02-26 07:57

    常用运放电路总结笔记

    带你理解运算放大器 对于运放的使用,存在着一些经典常用的应用电路,这个其实网络上已经有大量的文章做记录总结了,作为电子工程师必备的知识,我自己也觉得有必要用一篇文章来做个记录总结。 本文的电路分析
    的头像 发表于 02-20 10:58 3748次阅读
    <b class='flag-5'>常用</b>运放电路<b class='flag-5'>总结</b>笔记

    图像采集卡:现代图像处理技术的关键组件

    在现代科技快速发展的背景下,图像处理技术已成为信息技术领域不可或缺的一部分。图像采集卡,作为连接计算机与各种图像采集设备的重要硬件组件,扮演
    的头像 发表于 02-20 10:42 929次阅读
    <b class='flag-5'>图像</b>采集卡:现代<b class='flag-5'>图像</b>处理<b class='flag-5'>技术</b>的关键组件

    大模型领域常用名词解释(近100

    本文总结了大模型领域常用的近100名词解释,并按照模型架构与基础概念,训练方法与技术,模型优化与压缩,推理与应用,计算与性能优化,数据与标
    的头像 发表于 02-19 11:49 1284次阅读
    大模型领域<b class='flag-5'>常用</b>名词解释(近100<b class='flag-5'>个</b>)

    【「基于大模型的RAG应用开发与优化」阅读体验】+Embedding技术解读

    今天学习大模型RAG 检索增强生成技术Embedding,即嵌入,是一种将离散数据(如文字、图像、音频等)转换为连续的密集向量表示的技术。这
    发表于 01-17 19:53