详细解读 | Google与Waymo教你如何更好的训练目标检测模型!!!(附论文)(一)

简介: 详细解读 | Google与Waymo教你如何更好的训练目标检测模型!!!(附论文)(一)

1简介


通过更好的模型架构、训练和推理方法的结合,目标检测系统的速度-精度Pareto曲线得到了改进。在本文中系统地评估了各种各样的技术,以理解现代检测系统的大多数改进来自哪里。

本文用RetinaNet和RCNN检测器在普通的ResNet-FPN backbone上对这些改进进行benchamrk测试。普通检测器的准确率提高了7.7%,速度提高了30%。

作者进一步提供了简单的scale策略来生成形成两条Pareto曲线的模型族,分别命名为RetinaNet-RS和Cascade RCNN-RS。这些简单的rescale检测器探索了one-stage RetinaNet检测器和two-stage RCNN检测器之间的速度-精度权衡。

最大的Cascade RCNN-RS模型使用ResNet152-FPN backbone实现了52.9%的AP,使用SpineNet143L backbone实现了53.6%。最后,展示了ResNet架构作为目标检测和实例分割系统的backbone,通过3个微小的架构变化后,其性能优于EfficientNet。

本文主要贡献

  • 确定了关键的架构变化、训练方法和推理方法,显著提高了目标检测和实例分割系统的速度和准确性;
  • 强调了关键的实现细节,并为RetinaNet和Cascade RCNN模型建立了新的baseline;
  • 提供了2个目标检测模型家族作为未来研究的新baseline,RetineNetRSCascade RCNN-RS
  • 探索了one-stage RetinaNet和two-stage RCNN模型之间的速度-精度权衡。


2主要改进方法


2.1 修改ResNet架构

这部分作者从3方面改进了标准的ResNet体系结构,以在较小的计算代价下提高其性能。Bello等人证明了SE Block和ResNet-D对于分类模型都是有效的。最近的检测方向也显示了像Sigmoid线性单元激活这样的非线性激活函数对提高检测性能也是有效的。

Squeeze-and-Excitation

作者将SE模块应用于ResNet体系结构中的所有残差块中。接下来,在最后的1×1卷积层之后放置一个注意力模块,但在将残差部分与shortcut连接合并之前。所有实验都采用0.25的squeeze ratio。

ResNet-D stem

作者将原始的ResNet stem修改为ResNet-D stem。综上所述,作者将3个特征维数为64的7×7卷积层替换为特征维数分别为32、32、64的3×3卷积层。第1个3×3卷积的stride=2。同时在每个卷积层之后应用批处理归一化和激活层。

Sigmoid Linear Unit activation

计算的单元(SiLU)作为ReLU的替代可以得到良好的效果。在本研究中,作者将模型架构中的所有ReLU(backbone、FPN和检测头)替换为SiLU。

2.2 训练和推理方法

训练方法

Strong data augmentation

作者应用了水平翻转和图像比例抖动,随机比例在[0.1,2.0]是主要的数据扩充策略。例如,如果输出图像的大小是640×640,首先将图像的大小调整为随机在64×64和1280×1280,然后填充或裁剪调整后的图像到640×640。

Strong regularization

应用4e-5权重衰减和初始dropout rate为0.2的随机深度进行模型正则化。根据network block在网络中的深度设置network block的dropout rate。一个block的最终dropout rate是通过将初始dropout rate乘以block的顺序除以总block数来计算的。

Longer training schedule

强数据增强和正则化方法与较长的训练计划相结合,以充分训练模型收敛。在不同的数据集上,不断增加训练的epoch,直到找到最佳schedule。

推理方法

对于推理,作者使用与训练相同的正方形图像大小。调整图像的较长边到目标尺寸,并填充0以保持宽高比。在batchsize为1的Tesla V100 GPU上测量推理速度,设置仅包括模型前向传递时间和前向传递加上后处理(例如,NMS)时间。作者报告了用float16精度和float32精度测量的延迟。进一步的推理时间加速可以通过TensorRT优化,这在本工作中没有使用。

2.3 Model Scaling Method

作者提出了一种简单而有效的缩放方法,用于one-stage RetinaNet和two-stage RCNN检测器。EfficientDet中的复合缩放规则将输入分辨率与模型深度和所有模型组件(包括backbone、FPN和检测头)的特征维度一起进行缩放。

image.png

作者发现,在速度精度Pareto曲线的大多数阶段中,仅在输入分辨率和backbone深度上扩大模型是相当有效的,同时也非常简单。作者通过经验控制图像分辨率和backbone模型,然后进行如表1所示的网格搜索来确定Pareto曲线。

对于RetinaNet,将输入分辨率从512提高到768,ResNet backbone深度从50到152。把RetinaNet作为一阶段目标检测,作者发现大的缩放输入分辨率会带来大分辨率的特征图,因此更多的锚点处理。这将导致更高密度的预测Head和复杂的NMS计算。RetinaNet的输入分辨率为768×768。缩放方法如表2所示。作者将重新缩放的RetinaNet模型命名为RetinaNet-RS

image.png

对于RCNN模型,提高输入分辨率比单阶段检测器更有效。RCNN采用两阶段目标检测机制。

第一阶段是区域建议阶段通常是轻量级和类无关的,因此输入解析不会在第一个阶段造成太多的开销。

第二阶段总是处理从第一阶段产生的固定数量的预选框。作者设计了新的缩放方法,将输入分辨率从512扩展到1280,将ResNet backbone深度从50扩展到200。RCNN模型的缩放方法如表3所示,重新缩放的模型族称为RCNN-RS

image.png

相关文章
|
1月前
|
人工智能 自然语言处理 API
Google Gemma 模型服务:开放的生成式 AI 模型服务
Google Gemma 模型服务:开放的生成式 AI 模型服务
111 4
|
2月前
|
定位技术 TensorFlow API
Google Earth Engine (GEE)——张量流水灾模型数据集(Sentinel-1)
Google Earth Engine (GEE)——张量流水灾模型数据集(Sentinel-1)
52 0
|
2月前
|
编解码 数据可视化 定位技术
Google Earth Engine(GEE)——NOAA海平面上升数字高程模型(DEMs)
Google Earth Engine(GEE)——NOAA海平面上升数字高程模型(DEMs)
68 1
|
2月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
106 0
|
1月前
|
运维 监控 Serverless
一键开启 GPU 闲置模式,基于函数计算低成本部署 Google Gemma 模型服务
本文介绍如何使用函数计算 GPU 实例闲置模式低成本、快速的部署 Google Gemma 模型服务。
164782 57
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
再超Transformer!Google提出两个新模型(Griffin、Hawk),强于Mamba,更省资源
【2月更文挑战第15天】再超Transformer!Google提出两个新模型(Griffin、Hawk),强于Mamba,更省资源
149 1
再超Transformer!Google提出两个新模型(Griffin、Hawk),强于Mamba,更省资源
|
2月前
|
编解码 人工智能 算法
Google Earth Engine(GEE)——高度可扩展的时间自适应反射率融合模型(HISTARFM)数据库
Google Earth Engine(GEE)——高度可扩展的时间自适应反射率融合模型(HISTARFM)数据库
47 0
|
2月前
|
存储 编解码 人工智能
Google Earth Engine(GEE)——LandCoverNet训练标签 v1.0
Google Earth Engine(GEE)——LandCoverNet训练标签 v1.0
29 0
|
2月前
|
编解码
Google Earth Engine(GEE)——加拿大高分辨率数字高程模型(HRDEM)
Google Earth Engine(GEE)——加拿大高分辨率数字高程模型(HRDEM)
38 0
|
2月前
|
API
Google Earth Engine(GEE)——全球哥白尼数字高程模型(GLO-30 DEM)
Google Earth Engine(GEE)——全球哥白尼数字高程模型(GLO-30 DEM)
64 0

热门文章

最新文章