【论文阅读笔记】Learning Data Augmentation Strategies for Object Detection

本文探讨了针对目标检测任务的数据增强策略,指出其应区别于分类任务。通过强化学习搜索算法,作者找出了特定的增强组合,并在小数据集上验证了这些策略的泛化能力。实验表明,这些策略能有效提升多种backbone和检测算法的性能,且在不同数据集上表现稳定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文地址:https://arxiv.org/abs/1906.11172

论文总结

  本文是19年关于目标检测数据增强的论文,也没有提出啥开创性思想,主要思想就是“目标检测的数据增强应该和分类不一样,要有一些不同的数据增强策略”,然后做了一些实验来验证数据增强的组合。

  然后通过搜索,得到了几组数据增强策略。还有就是,可以在小数据集上进行策略的应用,该策略在大数据集上也能有足够的泛化效应。

  作者的贡献主要在搜索方法上,通过强化学习等工具,离散优化搜索策略空间。

  学习到的5个子策略,如下图所示:

论文介绍

  数据增强策略很多,要找出合适目标检测任务的数据增强策略。

  作者将数据增强策略定义成了K个子策略,K个子策略被随机选择应用,因此能变成一个离散优化问题。最后的搜索空间有 K = 5 K=5 K=5个子策略,每个子策略有 N = 2 N=2 N=2个增强操作应用在单张图像上。每个操作有 2 2 2个参数,一个是概率,一个是操作的幅度大小。下图展示了学习到的5个子策略,概率参数在增强策略中引入了随机性的概念。

  在初始试验中,为搜索空间确定了22个有利于目标检测的增强操作,可以大致分为以下三个方向:(1)扭曲的颜色通道,这种数据增强不影响位置;(2)几何扭曲图像,这种会改变bounding box大小和位置;(3)只在bounding box内部进行数据增强操作,即只破坏bounding box中的像素内容。

  同时,在搜索时,将操作的幅度大小映射到0-10,这样方便离散优化等间距值。

  前期实验时,发现 L = 6 L=6 L=6 M = 2 M=2 M=2可以为强化学习算法提供一个计算容量和学习性能的一个好的平衡点。所以搜索空间变成了 ( 22 L M ) 2 ≈ 9.6 ∗ 1 0 28 (22LM)^2\approx9.6*10^{28} (22LM)29.61028,这是非常大的,故需要一个有效的搜索技术。

  搜索技术不太懂,先不写了。

实验结果

学习数据增强策略

  使用ResNet-50作为backbone的RetinaNet。在不同数据集,不同数据集大小和不同的网络架构配置上进行泛化性实验,以检查有限的数据限制下的通用性和策略。

  经过检查,Rotate是最常用的好的策略。旋转整个图像和边框,旋转后的边框会变大,尽管有这种影响,但似乎仍是一个好的策略。另外两个是Equalize(均衡化)和BBox_Only_TranslateY(概率地在框内向上或向下移)。

学习到的数据增强策略对目标检测的改善

  训练参数为:网络为RetinaNet,batch size为 64 64 64,网络输入大小为resize到 64 ∗ 0 ∗ 640 64*0*640 640640,学习率为 0.08 0.08 0.08,权重衰减值为 1 e − 4 1e-4 1e4,focal loss超参数为 α = 0.25 , γ = 1.5 \alpha=0.25,\gamma=1.5 α=0.25,γ=1.5,训练 150 150 150个epoch,学习率衰减策略为stepwise decay,在 120 120 120 120 120 120衰减学习率10倍。

  RetinaNet 的baseline网络使用分类训练定制的标准数据增强技术,包括 50 % 50\% 50%概率水平翻转图像,多尺度将图像调整到512到786之间,再Crop到 640 ∗ 640 640*640 640640

  下表显示,本文的数据增强策略,可以在多个backbone上获得收益。

  为了知道收益从哪儿来,打破了ResNet-50的数据增强策略,分成了三部分:(1)颜色通道的操作;(2)几何操作;(3)边框内部操作;各个部分的改善结果如下表所示。表中也展示了DropBlock具有不错的正则化能力。

  这种搜索策略,只在5000张图像上进行的,仍然具有不错的泛化能力。

在不同的检测算法上探索学习到的数据增强策略的效果

  backbone上,使用AmoebaNet-D代替ResNet-50;在detector上,使用NAS-FPN代替RetinaNet。

  在ImageNet上对AmoebaNet-D进行预训练,因为发现如果从零训练是无法达到具有竞争效果的模型的。用余弦学习率衰减,初始学习率为0.8,训练150个epoch。

  另外还有输入图像分辨率的实验,图像大小从 640 ∗ 640 640*640 640640 1280 ∗ 1280 1280*1280 12801280

  实验结果如下表所示:

学习到的数据增强策略在其他目标检测数据集上的迁移能力

  数据集迁移能力的实验,如下表所示:

### 数据增强技术在多模态3D目标检测中的应用 对于多模态3D目标检测,在计算机视觉领域内,数据增强方法旨在通过变换输入数据来增加模型训练的有效样本数量并提升泛化能力。具体到多模态场景下,这些方法不仅涉及图像层面的操作,还包括点云和其他传感器信号的处理。 #### 图像域的数据增强 传统的二维图像上的几何变换同样适用于基于摄像头获取的RGB图片或热成像图等: - **随机裁剪与缩放**:通过对原始图像执行不同尺度下的裁切操作,可以模拟远近变化的效果[^1]。 - **颜色抖动**:调整亮度、对比度、饱和度等因素有助于提高算法应对复杂光照条件的能力。 ```python import torchvision.transforms as transforms transform = transforms.Compose([ transforms.RandomResizedCrop(size=(224, 224), scale=(0.8, 1.2)), transforms.ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2), ]) ``` #### 点云域的数据增强 针对LiDAR或其他雷达设备产生的三维空间坐标集合——即点云数据,则有专门设计的技术手段用于扩充其多样性: - **旋转和平移扰动**:沿任意轴向施加微小角度偏转或是位移量级内的变动能够有效防止过拟合现象的发生。 - **噪声注入**:引入高斯分布形式的小幅波动至各维度数值上,以此检验网络结构鲁棒性的强弱程度。 ```python import numpy as np def apply_noise(points, sigma=0.01): noise = np.random.normal(scale=sigma, size=points.shape) noisy_points = points + noise return noisy_points ``` #### 跨模态联合增强策略 考虑到多种感知源之间可能存在关联性特征共享的情况,跨模态同步实施相同类型的转换动作显得尤为重要。比如当对相机视角做水平翻转变换时,也应相应地改变激光雷达所记录下来的物体朝向信息;同理,在调节色彩参数的同时保持其他物理属性不变等等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值