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