社区计算机视觉课程文档
计算机视觉任务的预处理
并获得增强的文档体验
开始使用
计算机视觉任务的预处理
既然我们已经了解了图像是什么、如何获取以及它们的影响,现在是时候了解我们可以执行哪些操作以及它们在模型构建过程中如何使用。
数字图像处理中的操作
在数字图像处理中,图像操作多种多样,可分为:
- 逻辑操作
- 统计操作
- 几何操作
- 数学操作
- 变换操作
每个类别都包含不同的技术,例如逻辑操作下的形态学操作或变换操作下的傅里叶变换和主成分分析 (PCA)。在这种背景下,形态学是指通过查看像素邻域的值来生成相同大小图像的操作组。理解逐元素操作和矩阵操作的区别在图像处理中很重要。逐元素操作,例如将图像提升到某个幂或将其除以另一图像,涉及单独处理每个像素。这种基于像素的方法与矩阵操作形成对比,矩阵操作利用矩阵理论进行图像处理。话虽如此,您可以对图像进行任何操作,因为它们是包含数字的矩阵!
图像处理中的数学工具
数学工具在数字图像处理中不可或缺。例如,集合论对于理解和执行图像操作,特别是二值图像,至关重要。在这些图像中,像素通常被分为前景 (1) 或背景 (0)。在集合论中,并集和交集等操作决定了像素坐标所表示特征之间的关系。强度变换和空间滤波是其他数学工具。它们侧重于操纵图像中的像素值,其中运算符应用于单个图像或一组图像,用于各种目的,例如降噪。
空间滤波技术与图像增强
空间滤波在图像处理中涵盖了广泛的应用,主要是通过根据每个像素邻近像素的值来改变其值来修改图像。技术包括线性空间滤波器,它可以模糊(低通滤波器)或锐化(高通滤波器)图像。对比了不同滤波器核的属性和应用,例如高斯滤波器和盒式滤波器。锐化滤波器强调强度转换,并且通常通过数字微分技术(如拉普拉斯算子)实现,突出图像中的边缘和不连续性。
数据增强
数据增强在提高用于图像分类的卷积神经网络 (CNN) 的性能和泛化能力方面起着关键作用。此过程涉及通过对数据点进行修改,无论是通过细微的改变还是通过使用深度学习技术生成新数据,从而人工扩展训练数据集。
增强数据是通过对现有数据应用几何和颜色空间变换等修改来创建的,从而以各种形式丰富原始数据集。相反,合成数据是全新的,并使用深度神经网络 (DNN) 和生成对抗网络 (GAN) 等高级技术从头开始生成,进一步增加了数据集的多样性和数量。这两种方法都显著扩展了可用于训练机器学习模型的数据的数量和种类。数据增强不仅适用于图像,还适用于音频、视频、文本和其他数据类型。这对于训练数据有限的场景非常有利。它提高了模型准确性,防止过拟合,并降低了与数据标注和清理相关的成本。然而,原始数据集偏差的持续存在以及质量保证的高成本等挑战依然存在。
在实践中,数据增强技术因数据类型而异。对于音频,这包括噪声注入和音高调整;对于文本,使用单词打乱和句法树操作等方法。图像增强涉及翻转、裁剪和应用内核滤波器等变换。神经风格迁移和使用 GAN 生成新数据点等高级技术进一步扩展了其能力。这些方法在医疗保健领域的医学成像、使用合成数据的自动驾驶汽车以及自然语言处理(特别是在资源匮乏的语言场景中)等领域发挥着重要作用。特定的图像增强实践,例如随机旋转、亮度调整、平移、翻转和缩放,是使用 Pytorch、Augmentor、Albumentations、Imgaug 和 OpenCV 等工具实现的。这些工具促进了从高斯噪声到透视倾斜等一系列增强,满足了各种机器学习需求。
数据增强的重要性在 CNN 图像分类背景下尤为明显。通常用于初始 CNN 训练的标准化数据集,由于其充足的样本量和由此产生的模型准确性,设定了很高的期望。然而,当这些模型应用于实际问题时,经常观察到性能差距,这强调了对更广泛和更多样化数据的需求。数据增强通过将数据集中的图像数量乘以显著的因子来弥补这一差距,而无需额外的数据收集。这不仅增加了数据集大小,还引入了可变性,增强了训练过程的鲁棒性。通过在模型训练期间实施批次增强,它还可以节省磁盘空间,因为无需存储转换后的图像。
总的来说,数据增强不仅仅是数据集扩展的一种方法:它是开发用于图像分类任务的有效且实用的 CNN 模型的重要组成部分。通过提高模型性能及其从训练数据泛化到实际应用的能力,数据增强是深度学习领域的基础技术,满足了对更全面、更多样化数据的永恒需求。
< > 在 GitHub 上更新