数据增强之MixUp

度量学习DML之Contrastive Loss及其变种_程大海的博客-优快云博客

度量学习DML之Triplet Loss_程大海的博客-优快云博客

度量学习DML之Lifted Structure Loss_程大海的博客-优快云博客

度量学习DML之Circle Loss_程大海的博客-优快云博客

度量学习DML之Cross-Batch Memory_程大海的博客-优快云博客

度量学习DML之MoCO_程大海的博客-优快云博客

数据增强之SpecAugment_程大海的博客-优快云博客

数据增强之MixUp_程大海的博客-优快云博客


 

MixUp

        论文:《mixup:Beyond Empirical Risk Minimization》

        参考:GitHub - facebookresearch/mixup-cifar10: mixup: Beyond Empirical Risk Minimization

        其中,数两个数据样本,是原始的输入数据(如图像矩阵),对应所属类别的one-hot编码,用来控制mix的强度。

        Mixup的Pytorch代码实现实例如下,mixup的官方实现代码中关于的计算以及loss的计算与下图有所不同。

        下面看一下mixup在猫狗数据集上的mix效果:

        上图中,第一行是原始数据,第二行是对第一行数据进行随机mix之后的数据,第二行的第一幅图就是将第一行的第一幅图和第二幅图进行mix之后得到的。

### YOLO 中 Mixup 数据增强实现与应用 #### 原理概述 Mixup 是一种基于样本混合的数据增强方法,通过线性插值的方式将两个训练样本及其标签组合在一起形成新的训练样例。这种方法能够有效增加数据多样性并减少过拟合的风险[^2]。 具体来说,在目标检测领域中,Mixup 的核心思想是随机选取两张图像 \(I_1\) 和 \(I_2\) 及其对应的标注框集合 \(\{B_1\}\) 和 \(\{B_2\}\),按照一定的比例系数 \(\lambda\) 进行加权平均操作: \[ I_{new} = \lambda \cdot I_1 + (1-\lambda) \cdot I_2 \] 对于标注框,则按相同的比例调整权重分布: \[ B_{new} = (\lambda, 1-\lambda) \cdot (B_1, B_2) \] 其中,\(\lambda\) 通常是从 Beta 分布中采样的一个随机数,用于控制两种输入之间的贡献程度。 #### 实现细节 以下是 Mixup 方法在 YOLO 系列中的典型实现方式之一(以 Python 表达为例): ```python import numpy as np def mixup(image1, image2, boxes1, boxes2, alpha=0.2): """ 实现 Mixup 数据增强 参数: image1: 图像1 (H x W x C) image2: 图像2 (H x W x C) boxes1: 图像1的目标边界框列表 [(x_min, y_min, x_max, y_max)] boxes2: 图像2的目标边界框列表 [(x_min, y_min, x_max, y_max)] alpha: 控制 lambda 的参数 返回: mixed_image: 混合后的图像 mixed_boxes: 调整后的边界框列表 """ # 随机生成 lambda lam = np.random.beta(alpha, alpha) # 创建新图象 height, width, _ = image1.shape mixed_image = lam * image1 + (1 - lam) * image2 # 合并边界框信息 mixed_boxes = [] for box in boxes1: mixed_boxes.append((lam, box)) for box in boxes2: mixed_boxes.append(((1-lam), box)) return mixed_image.astype(np.uint8), mixed_boxes ``` 上述代码片段展示了如何利用简单的 NumPy 函数来完成两幅图片以及它们对应边界的融合过程。 #### 应用场景分析 在实际项目里,Mixup 广泛应用于多个版本的 YOLO 算法之中。例如,在 **YOLOX** 当中,除了 nano 和 tiny 版本外的所有预设模型均启用了此功能;而在其他较大型号如 s/m/l/x 上更是默认开启该选项以提升精度表现。此外,相比传统的水平翻转或者颜色抖动等方式而言,Mixup 提供了一种更加灵活且高效的手段去扩充有限规模的数据集资源[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值