数据增强主要解决深度学习中的两个关键问题:

  • 防止过拟合 (Overfitting): 当数据量较少时,模型容易记住训练集特征。增强引入了噪声和变化,迫使模型学习更鲁棒的特征。

  • 提高泛化能力 (Generalization): 模拟真实场景中可能出现的光照、角度、遮挡等变化,让模型在未见过的测试数据上表现更好。

1.基础增强策略 (Basic Augmentation)

这些是传统且计算成本最低的方法,通常在数据加载(DataLoader)阶段在线进行。

 几何变换 (Geometric Transformations)

改变图像的空间几何结构。对于目标检测和语义分割任务,标签(Bounding Box 或 Mask)必须随图像同步变换

  • 翻转 (Flip): 水平翻转(常用于自然场景)、垂直翻转(常用于俯视视角或显微镜图像)。

  • 旋转 (Rotation): 随机旋转一定角度。

  • 缩放与裁剪 (Resizing & Cropping):

    • Random Resized Crop: 随机裁剪图像的一部分并缩放到固定尺寸(这是训练 CNN 最常用的增强之一)。

    • Center Crop: 仅保留中心区域。

  • 平移 (Translation): 在水平或垂直方向移动图像。

  • 仿射变换 (Affine Transformation): 包含剪切 (Shear)、缩放、平移的组合,可以模拟视角的轻微变化。

光度与色彩变换 (Photometric & Color Transformations)

改变图像的像素值,不改变空间结构。标签通常不需要变换。

  • 色彩抖动 (Color Jitter): 随机调整亮度 (Brightness)、对比度 (Contrast)、饱和度 (Saturation) 和色相 (Hue)。

  • 噪声注入 (Noise Injection): 添加高斯噪声 (Gaussian Noise)、椒盐噪声,模拟传感器噪点。

  • 模糊与锐化 (Blur & Sharpen): 使用高斯模糊 (Gaussian Blur) 模拟对焦不准,或运动模糊 (Motion Blur) 模拟物体移动。

  • 灰度化 (Grayscale): 随机将图像转为单通道,强迫模型关注纹理而非颜色。

  • 直方图均衡化 (Histogram Equalization): 增强图像对比度。

2.高级混合策略 (Advanced Mixing Strategies)

近年来,通过混合多张图像来生成新样本的策略在“强增强”(Strong Augmentation)中表现卓越,尤其在分类和检测任务中效果显著。

  • Mixup: 将两张图像及其标签按比例线性叠加(例如:0.7 * 图A + 0.3 * 图B)。模型需要预测混合后的标签。这有助于平滑决策边界。

  • Cutout / Random Erasing: 随机在图像中选取一个矩形区域并填充为黑色或随机噪声。这迫使模型不依赖物体的某个特定部分进行识别(例如,遮住猫头,模型需通过猫身识别)。

  • CutMix: 结合了 Mixup 和 Cutout。从图B剪切一块区域覆盖到图A上,标签也根据面积比例混合。比单纯的 Cutout 信息损失更少。

  • Mosaic (马赛克增强):(YOLO v4 引入)将 4 张训练图像按随机缩放、裁剪、排布拼接成一张大图。这极大地丰富了检测目标的背景,并允许模型在单次迭代中学习更多目标,对小目标检测特别有效。

3.深度学习生成策略 (Deep Learning Approaches)

利用深度学习模型本身来生成数据,通常用于数据极度匮乏的场景(如医学影像)。

  • GANs (生成对抗网络): 使用 GAN(如 CycleGAN)进行风格迁移,将白天图像转换为黑夜,或将模拟环境(仿真)图像转换为真实世界风格(Sim-to-Real)。

  • Neural Style Transfer: 改变图像的艺术风格或纹理,增强模型对纹理变化的鲁棒性。

4.自动数据增强 (AutoAugment)

手动设计增强策略组合(例如:先旋转还是先调亮度?参数设多少?)非常耗时。AutoAugment 旨在通过搜索算法自动找到最优策略。

  • AutoAugment: 使用强化学习搜索针对特定数据集的最佳增强策略组合。

  • RandAugment: 简化版 AutoAugment。不需要昂贵的搜索过程,只需要调整两个参数:增强操作的数量 (N) 和增强的幅度 (M)。它在很多任务上达到了 SOTA 效果,是目前的工业界主流选择。

5.CopyPaste

如果说 Mixup 是“混全图”,那么 Copy-Paste 就是“混对象”。这是 CVPR 2021 Google 团队提出的一种极其简单但效果惊人的策略,专门用于实例分割目标检测

  1. 从图片 A 中根据 Mask 抠出一个或多个物体(Instance)。

  2. 对这些物体进行随机的缩放、翻转、抖动。

  3. 将它们直接“粘贴”到图片 B 的随机位置上。

  4. 处理遮挡关系(更新 Mask 和 BBox)。

  • 核心优势

    • 制造遮挡 (Occlusion):真实场景中,物体遮挡是检测的一大难点。Copy-Paste 可以近乎无限地生成各种复杂的遮挡样本,强迫模型学习局部特征。

    • 长尾问题克星:对于数据集中数量很少的类别(比如工地上少见的特定设备),我们可以反复“复制”它,粘贴到各种背景图上,人为增加其出现频率。

    • 即插即用:它不需要调整网络结构,也不需要复杂的对抗训练,只是单纯地“搬运像素”。

  • 与 CutMix 的区别

    • CutMix 是剪切一个矩形框(包含背景),适合分类和检测。

    • Copy-Paste像素级地剪切物体(不含背景),更精细,适合实例分割(Instance Segmentation)。

6.测试时增强 (Test-Time Augmentation, TTA)

上述策略主要用于训练阶段(Training)。TTA 是指在推断/测试阶段使用的策略:

  • 对同一张测试图片进行多次不同的增强(如原图、翻转、多尺度缩放)。

  • 将模型对这些增强图的预测结果进行平均或投票。

  • 作用: 不改变模型权重,直接提升现有模型的准确率(通常能提升 1-2% mAP 或 Accuracy),但会增加推断时间。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐