论文代码:github.com/tensorflow/tpu/tree/master/models/ official/detection
Abstract
COCO上的实验证明最优化的data augmentation使得模型+2.3mAP,使得单的推理模型取得最优结果50.7mAP。在COCO上最佳的策略可能同样可以改善模型在其他数据集上的结果,例如在VOC上+2,7mAP
Introduction
在图像分类任务中,相较于人工设计数据增强策略,从数据中学习一个最优化策略是更好的。相较于分类任务,目标检测的数据集更少,人工制作数据集更困难。我们设计一个针对目标检测的搜索方法,组合并寻找最优的数据增强方法。
Methods
将data augmentation search视作一个离散优化问题,K个sub-policies的集合。训练时,从K个sub-policies中随机挑选并应用到当前图像上,每个sub-policies顺序执行N个图像变化。
我们建模一个search space。这个search space包括K = 5个sub-policies,每个sub-policies包含N = 2个顺序执行的operation,每个operations又有两个超参:应用这个操作的可能性(probability)以及操作的强度(magnitude)。我们定义了22个实验证明对目标检测任务有效的operations,这些operations用tensorflow实现(链接见上),包含:
- Color operations:改变颜色通道,没有对bbox位置的影响(例如:Equalize, Contrast, Brigtness)
- Geometric operations: 几何地改变图片,需要修改bbox的定位和大小(例如:Rotate, ShearX, TranslationY)
- Bounding box operations:仅改变bbox内的像素(BBox_Only_Equalize, BBox_only_Rotate, BBox_Only_FlipLR)
我们将参数的强度范围标准化到[0, 10],并离散化为L段,probability离散化为M段。我们设置L = 6, M = 6,使得很好的平衡tractbility和学习表现。因此search space包含(22 x 6 x 6)^{2 x 5}
从COCO中抽取了5000张图片。以ResNet-50作为backbone,RetinaNet作为head。将这个离散优化问题建模为RNN的输出空间,采用强化学习方法对模型的权重进行优化。搜索算法是一个控制器LSTM,用于从搜索空间中选择一个策略S。然后用该策略的数据增强方法来训练一个分类模型。接着把训练得到的分类模型在验证集上的分类精度R看作是一个反馈,用于更新控制器RNN的参数。
这篇论文是在:AutoAugment: Learning Augmentation Strategies from Data基础上完成的,最后得到的结论: