社区计算机视觉课程文档

计算机视觉任务的预处理

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

计算机视觉任务的预处理

既然我们已经了解了什么是图像、图像是如何获取的以及它们的影响,现在是时候了解我们可以执行哪些操作以及这些操作在模型构建过程中是如何使用的。

数字图像处理中的操作

在数字图像处理中,图像上的操作是多种多样的,可以分为

  • 逻辑运算
  • 统计运算
  • 几何运算
  • 数学运算
  • 变换运算

每个类别都包含不同的技术,例如逻辑运算下的形态学运算,或变换下的傅里叶变换和主成分分析 (PCA)。在此上下文中,我们将形态学称为一组操作,这些操作使用结构元素,通过查看像素邻域的值来生成相同大小的图像。理解元素级运算和矩阵运算之间的区别在图像处理中非常重要。元素级运算(例如将图像升幂或将其除以另一图像)涉及单独处理每个像素。这种基于像素的方法与矩阵运算形成对比,矩阵运算利用矩阵理论进行图像处理。话虽如此,你可以对图像做任何你想做的事情,因为它们是包含数字的矩阵!

图像处理中的数学工具

数学工具在数字图像处理中是不可或缺的。例如,集合论对于理解和执行图像运算(尤其是二值图像)至关重要。在这些图像中,像素通常分为前景 (1) 或背景 (0)。在集合论中,并集和交集等运算确定由像素坐标表示的特征之间的关系。强度变换和空间滤波是其他数学工具。它们侧重于处理图像内的像素值,其中运算符应用于单个图像或一组图像,以实现各种目的,例如降噪。

空间滤波技术和图像增强

空间滤波涵盖了图像处理中广泛的应用,主要是通过根据每个像素的相邻像素值更改其值来修改图像。技术包括线性空间滤波器,它可以模糊(低通滤波器)或锐化(高通滤波器)图像。对比了不同滤波器内核(例如高斯滤波器和盒式滤波器)的属性和应用。锐化滤波器强调强度过渡,通常通过数字微分技术(如拉普拉斯算子)实现,突出显示图像中的边缘和不连续性。

数据增强

数据增强在提高用于图像分类的卷积神经网络 (CNN) 的性能和泛化能力方面起着至关重要的作用。此过程涉及通过创建数据点的修改版本(通过细微更改或使用深度学习技术生成新数据)来人为地扩展训练数据集。

增强数据是通过将几何和色彩空间变换等修改应用于现有数据而创建的,从而以各种形式丰富原始数据集。相反,合成数据是全新的,并且使用深度神经网络 (DNN) 和生成对抗网络 (GAN) 等先进技术从头开始生成,从而进一步增加了数据集的多样性和容量。这两种方法都显着扩展了可用于训练机器学习模型的数据的数量和种类。数据增强不仅适用于图像,还适用于音频、视频、文本和其他数据类型。这对于训练数据有限的场景很有用。它可以提高模型准确性,防止过拟合,并降低与数据标记和清理相关的成本。然而,原始数据集偏差的持续存在和质量保证的高成本等挑战仍然存在。

在实践中,数据增强技术因数据类型而异。对于音频,这包括噪声注入和音调调整;对于文本,使用诸如单词混洗和语法树操作之类的方法。图像增强涉及诸如翻转、裁剪和应用内核滤波器之类的变换。神经风格迁移和使用 GAN 生成新数据点等先进技术进一步扩展了其功能。这些方法在医疗保健(用于医学成像)、使用合成数据的自动驾驶汽车和自然语言处理(尤其是在低资源语言场景中)等领域发挥着重要作用。诸如随机旋转、亮度调整、移位、翻转和缩放等特定图像增强实践是使用 Pytorch、Augmentor、Albumentations、Imgaug 和 OpenCV 等工具实现的。这些工具促进了一系列增强,从高斯噪声到透视倾斜,满足了多样化的机器学习需求。

数据增强的重要性在 CNN 图像分类的背景下变得尤为明显。标准化数据集通常用于初始 CNN 训练,由于其充足的样本量和由此产生的模型准确性,因此设定了很高的期望。然而,当这些模型应用于现实世界问题时,经常会观察到性能差距,这突显了对更广泛和更多样化数据的需求。数据增强通过将数据集中的图像数量成倍增加(可能增加显着倍数),而无需额外的数据收集,从而解决了这一差距。这不仅增加了数据集大小,还引入了可变性,增强了训练过程的鲁棒性。通过在模型训练期间实施批次式增强,它还可以节省磁盘空间,因为无需存储转换后的图像。

总之,数据增强不仅仅是一种数据集扩展方法:它是为图像分类任务开发有效且实用的 CNN 模型的关键组成部分。通过提高模型性能及其从训练数据泛化到现实世界应用程序的能力,数据增强成为深度学习领域的一项基石技术,解决了对更全面和多样化数据的永久需求。

< > 在 GitHub 上更新