数据增强是一系列技术,用于通过创建现有图像的修改版本来人为地扩展数据集。这有助于提高模型的泛化能力并减少过拟合,尤其是在训练数据有限时。常见的方法包括几何变换、颜色空间调整以及基于神经网络的增强等高级技术。这些方法广泛应用于 TensorFlow 和 PyTorch 等框架,或 Albumentations 和 imgaug 等库中。
基本的几何变换是最直接的。这些包括水平或垂直翻转图像、将图像旋转小角度(例如,10-30 度)以及应用随机裁剪或缩放。例如,水平翻转猫的图像保留了它的身份,但增加了变化。随机裁剪迫使模型即使在部分可见时也能识别对象。仿射变换(如剪切或平移(沿 x/y 轴移动像素))模拟视点变化。这些操作计算成本低且有效,适用于对象检测等任务,其中方向或位置可能会发生变化。
颜色空间调整修改像素值以模拟光照变化或传感器噪声。技术包括调整亮度、对比度或饱和度——例如,使室外场景变暗以模仿黄昏。添加高斯噪声或模糊(例如,使用 3x3 内核)有助于模型处理低质量输入。更细微的方法包括将图像分割为 HSV 或 LAB 颜色空间并更改特定通道。例如,移动色调通道可以改变对象的颜色而不影响其形状。这些增强对于光照条件不一致的数据集特别有用,例如医学成像或卫星照片。
高级方法利用神经网络或概率方法。生成对抗网络 (GAN) 可以合成全新的图像,而风格迁移将一个图像的纹理应用于另一个图像。CutMix 和 Mixup 混合成对的图像和标签——例如,将狗的补丁覆盖到猫的图像上并平均它们的标签。弹性变换扭曲局部区域以模拟自然变形,例如拉伸手写数字的部分。Albumentations 等库通过优化的管道简化了这些技术。应用增强时,开发人员应验证变换不会破坏关键特征(例如,在数字识别中将“6”旋转成“9”)。组合多种技术通常会产生最佳结果,但测试它们对模型准确性的影响至关重要。