什么是卷积网络中的平移不变性?平移shft在数据增强中的意义

今天来介绍一下数据增强中的平移shft操作和卷积网络中的平移不变性。

1、什么是平移

Shift 平移是指在数据增强(data augmentation)过程中,通过对输入图像或目标进行位置偏移(平移),让目标在图像中呈现出不同的位置。Shift 平移的目的是增加训练数据的多样性,从而提高模型对目标在不同位置上的泛化能力。

具体的平移以及操作步骤可以参考这篇:详解数据增强中的平移shft操作-CSDN博客

1.1、平移的定义

  • 平移是将目标或图像内容在水平或垂直方向上移动。
  • 平移范围(shift range):定义平移的最大像素数,例如 ±16 像素表示目标可以随机移动 -16 到 +16 像素。

1.2、操作步骤

以图像为例:

  • 输入:目标所在的图像(即"搜索区域")和目标框(目标的坐标)。
  • 平移操作
    • 选择一个随机平移的值:从范围 [−r,r](如 -16 到 +16 像素)中随机生成一个水平平移值 Δx和一个垂直平移值 Δy。
    • 移动目标框:将目标框的位置平移为(x+Δx,y+Δy)。
    • 对整个图像应用相应的平移:图像的内容会被相应地向左、右、上或下移动,边界位置的空白部分可以用填充值(如 0、均值或镜像填充)补充。

**具体示例:**假设我们有一张 255×255像素的图像,目标位于中心位置。

  1. 未平移(0-shift)
    • 目标始终在图像中心。
    • 输出的目标框位置不变,例如:(128,128)。
  2. 16-shift
    • 随机生成 Δx=10和 Δy=−12,目标向右移动 10 像素,向上移动 12 像素。
    • 输出的目标框位置为 (138,116)。
  3. 32-shift
    • 假设 Δx=−20,Δy=25,目标向左移动 20 像素,向下移动 25 像素。
    • 输出的目标框位置为 (108,153)。

2、什么是平移不变性?

  • 定义 :平移不变性是指当输入图像或特征图中的物体发生位置平移时,模型的输出不会因为这种平移而改变。
    换句话说,如果我们将目标在输入图像中向某个方向移动,模型的输出(如特征图或预测结果)也应该随之平移,而不发生其他变化。
  • 例子:假设一个模型能正确识别目标"猫"在图像的中心。如果我们把"猫"平移到图像的左边,模型也应该能够以相同的准确度识别"猫"。
  • 重要性:在视觉任务(如目标检测与跟踪)中,目标可能出现在图像的任何位置。如果模型具有平移不变性,就能在不同位置上正确地识别目标,而不是依赖目标固定出现在某个位置(如中心)。

3、为什么填充(padding)会破坏平移不变性?

  • 卷积操作中的填充
    • 卷积神经网络(CNN)通常会在输入图像边界加上填充(padding)以保持输出特征图的大小不变。
    • 常见的填充方法是零填充(用0填充边缘),即在图像周围增加一圈"0"值。
  • 填充破坏平移不变性的原因
    • 当目标发生平移时,图像边界附近的特征会受到填充值(如0)的影响,而非目标本身的真实像素值。这会导致模型对目标位置的响应不一致。
    • 举例:假设一个目标平移到图像边缘,其周围的像素会被填充值取代,导致卷积结果与目标在中心时不同。这种边界效应直接破坏了平移不变性。
    • 当目标平移到边界时,模型的感受野中包含了填充值(非目标信息),这会使模型输出的特征发生偏移或变化。

4、为什么引入随机平移(shift)能缓解填充对平移不变性的破坏?

该问题在这篇论文中进行了详细的分析,具体可看这篇分享:

论文速读:SiamRPN++,利用深度网络实现Siamese视觉跟踪的进化-CSDN博客SiamRPN++:利用深度网络实现Siamese视觉跟踪的进化-CSDN博客

(1)引入shift的作用:

  • 随机平移指在训练时,将目标的位置在图像中随机移动一定范围(shift range)。
  • 例如,目标可以被随机平移±16或±32像素,这相当于模拟目标在图像中出现的各种位置。

(2)随机平移如何缓解问题:

  • 打破中心偏置
    • 如果训练中目标总是在中心,模型会习惯性地"认为"目标只会出现在中心(即学习了一个中心偏置)。
    • 随机平移让目标出现在图像的不同位置,迫使模型学习处理目标在各种位置的情况,而不是依赖中心区域的特性。
  • 增加边界数据的多样性
    • 随机平移可以让目标多次接近边界,从而让模型在边界位置"见过"更多真实的数据,而不仅仅是填充值。
    • 这缓解了填充导致的边界效应,使模型学会更好地处理边界位置的输入。

(3)训练效果的改善:

  • 在训练中随机平移目标后,模型学习到的分布更接近真实世界中目标的位置分布(目标可能出现在任何位置,而不是总在中心)。
  • 这使得模型在测试时表现得更加鲁棒,不再依赖目标的具体位置。

5、Shift 平移在数据增强中的意义

  1. 多样性增加
    • Shift 平移让目标在训练集中出现在不同位置,而不是总在中心位置。
    • 增强了模型的泛化能力,使其能够处理目标在图像中任何位置的情况。
  2. 缓解中心偏置
    • 如果目标总是出现在中心,模型可能会依赖中心区域的特性(中心偏置)。
    • Shift 平移打破了这种依赖,使模型能够更均匀地处理图像中的所有位置。
  3. 边界学习
    • Shift 平移可以使目标更频繁地出现在图像的边界区域,帮助模型学习如何处理边界效应,尤其是填充(padding)对模型的影响。
相关推荐
小陈phd31 分钟前
高级RAG策略学习(五)——llama_index实现上下文窗口增强检索RAG
人工智能
凯禾瑞华养老实训室2 小时前
人才教育导向下:老年生活照护实训室助力提升学生老年照护服务能力
人工智能
湫兮之风3 小时前
Opencv: cv::LUT()深入解析图像块快速查表变换
人工智能·opencv·计算机视觉
Christo34 小时前
TFS-2018《On the convergence of the sparse possibilistic c-means algorithm》
人工智能·算法·机器学习·数据挖掘
qq_508823404 小时前
金融量化指标--2Alpha 阿尔法
大数据·人工智能
黑金IT4 小时前
`.cursorrules` 与 `.cursorcontext`:Cursor AI 编程助手时代下的“双轨配置”指南
人工智能
学弟4 小时前
快捷:常见ocr学术数据集预处理版本汇总(适配mmocr)
计算机视觉
dlraba8025 小时前
基于 OpenCV 的信用卡数字识别:从原理到实现
人工智能·opencv·计算机视觉
IMER SIMPLE5 小时前
人工智能-python-深度学习-经典神经网络AlexNet
人工智能·python·深度学习
小憩-7 小时前
【机器学习】吴恩达机器学习笔记
人工智能·笔记·机器学习