Benchmarking Robustness in Object Detection:Autonomous Driving when Winter is Coming

参考   Autonomous Driving when Winter is Coming - 云+社区 - 腾讯云

目录

摘要

1、简介

1.1、贡献

1.2、相关工作

2、方法

2.1、鲁棒检测基准

2.2、类型迁移作为数据增强

3、结果

3.1、图像损坏会降低模型性能

3.2、用骨干容量来提升鲁棒性

3.3、对程式化数据的训练提高了鲁棒性

3.4、性能下降并不简单地随微扰大小伸缩

4、讨论

附录

A、训练细节

B、腐化的任意图片

C、额外的结果

C.1、实例分割结果

C.2、可变形的卷积网络


摘要

不受图像失真或天气条件影响的目标检测能力,对于自动驾驶等深度学习的实际应用至关重要。我们在这里提供了一个易于使用的基准来评估当图像质量下降时目标检测模型的性能。由此产生的三个基准数据集(称为Pascal-C、Coco-C和Cityscapes-C)包含各种各样的图像损坏。我们证明了一系列标准的目标检测模型在退化的图像上存在严重的性能损失(下降到原始性能的30-60%)。然而,一个简单的数据增强技巧——对训练图像进行风格化——可以显著提高破坏类型、严重性和数据集的健壮性。我们展望我们的全面基准,以跟踪未来的进展,建立健全的目标检测模型。

1、简介

在不久的将来的某一天:自动驾驶汽车正在世界各地的街道上蜂拥而至,不知疲倦地收集数据。但在这个寒冷的11月下午,交通突然停止,因为突然开始下雪:冬天来了。巨大的雪花从天而降,自动驾驶汽车的摄像头无法识别周围环境,导致紧急刹车。一天后,一个调查交通意外灾难表明,大尺寸的雪花是混乱的原因:尽管先进的视觉系统训练在各种常见的天气类型,他们的训练数据几乎不包含任何这种规模的雪花……

这个虚构的例子突出了卷积神经网络(CNNs)遇到不明确属于其训练机制的设置时所产生的问题。例如,最先进的目标检测算法,如Faster R-CNN,在向图像中添加雪时无法识别目标(如图1所示),即使这些目标仍然清晰可见。与此同时,对数据进行若干不同方式的增强不足达到通用的鲁棒性来对抗以前未知的恶劣情况。最近的研究表明,尽管CNNs被训练用于各种各样的其他失真,但它很难推广到新的失真类型。即使是一个无害的分布变化,例如从训练时的小雪花过渡到测试时的大雪花,也会对当前的视觉系统产生强烈的影响。

                     

作为一个例子,自驾车辆需要能够应对变化多端的户外条件如雾、霜、雪,沙尘暴,或落叶,只列出了其中的一些(如图2)可视化。自动汽车的一个主要原因还没有变成主流是不能识别的模型函数在不良天气条件。许多常见的环境条件可以(并且已经)建模,包括雾、雨、雪和白天和黑夜的过渡。然而,不可能预测“在野外”可能发生的所有潜在情况。

                   

如果我们能够构建出对所有可能的图像退化都具有鲁棒性的模型,天气变化就不会成为问题。然而,为了评估模型的鲁棒性,首先需要定义一个度量。在测试模型的集合所有可能的损坏类型是不可能的,我们认为一个有用的近似评估模型在各种各样的退化情况没有训练数据的一部分:如果一个模型处理与十几个退化情况,它从未见过的,我们希望它能够很好地应对另一个类型的退化情况。在

这个工作中,我们提出三个易于使用的数据集分别为PascalC、Coco-C和Cityscapes-C来评估目标检测中的失真鲁棒性。Cityscapes-C 评估失真的鲁棒性每个数据集包含原始目标检测数据集的版本,这些数据集有15个失真,每个失真度跨越5个严重级别。这种方法直接受到Hendrycks和Dietterich的启发,他们引入了常用分类数据集(ImageNet-C、CIFAR10-C)的损坏版本作为标准基准。在对这些基准数据集上的标准目标检测算法进行评估之后,我们展示了一种简单的数据增强技术——对训练图像进行风格化——如何在破坏类型、严重程度和数据集之间显著提高鲁棒性。

1.1、贡献

我们的贡献可以总结如下:

  1. 我们证明了广泛的目标检测和实例分割模型在退化图像上存在严重的性能损失。
  2. 为了量化这种行为并跟踪未来的进展,我们提出了鲁棒的检测基准,它由三个基准数据集组成,称为Pascal-C、Coco-C和Cityscaps-C。
  3. 我们展示了一种简单的数据增强技术——对训练数据进行风格化——可以在不增加任何额外标签成本或架构更改的情况下,对所有评估的错误进行大规模的鲁棒性改进。
  4. 我们使我们的基准,恶略情况和程式化代码公开可用,在一个易于使用的范式。
  • 基准,数据和数据分析在

https://github.com/bethgelab/robust-detection-benchmark

  • 我们的pip可安装映像损坏库在

https://github.com/bethgelab/imagecorruptions

  • 代码,以风格化任意数据集提供在

https://github.com/bethgelab/stylize-datasets

1.2、相关工作

基准测试恶劣环境鲁棒性:近年来,有几篇论文研究了DNN对常见退化的脆弱性的效果。道奇和卡拉姆测试了四种最先进的图像识别模型在非分布数据上的性能,结果表明,DNNs特别容易受到模糊和高斯噪声的影响。Geirhos等研究表明,当扰动水平在大范围的相关类型中增加时,DNN在识别损坏图像时的性能下降得比人类快得多。Azulay和Weiss研究了几种最先进的DNN对小变换的不变性。Hendrycks和Dietterich最近提出了一个评估常见退化环境识别模型鲁棒性的基准。

提升恶略环境鲁棒性:恢复退化数据的性能下降的一种方法是对数据进行预处理,以消除退化。Mukherjee等提出了一种基于CNN的方法来恢复多雨和多雾图像的质量。Bahnsen和Moeslund以及Bahnsen等人提出了一种从图像中去除降雨的算法作为预处理步骤,并报告了随后识别率的提高。这些方法面临的一个挑战是,噪声去除目前只针对某一种失真类型,因此不能推广到其他类型的失真。另一项工作是通过数据扩充来提高分类器的性能,即直接将损坏的数据包含到训练中。Vasiljevic等研究了分类器对模糊图像的脆弱性,并通过对模糊图像进行微调来提高其性能。Geirhos等研究了不同恶劣类型之间的泛化,发现对一种恶劣类型进行微调并不会提高其他退化类型的绩效。Geirhos等人在ImageNet数据集的一个样式化版本上训练了一个识别模型,报告说由于更倾向于忽略纹理和关注目标形状,增强了对不同退化的总体鲁棒性。Hendrycks和Dietterich报告了几种提高恶劣基准性能的方法:直方图均衡化、多尺度网络、对抗Logit配对、特征聚合和更大的网络。

评估自动驾驶对环境变化的鲁棒性:近年来,天气状况已经成为目前最先进的自动驾驶系统的一个主要限制因素。虽然有许多具体的方法,如模拟天气条件或收集具有不同天气条件的真实和人工数据集,但还没有出现针对这个问题的通用解决方案。Volk等人考虑了自动驾驶环境下CNNs的鲁棒性分析和优化问题。Volk等人以Hospach等人的研究为基础,研究了雨图像目标检测模型的脆弱性,识别出模型失效的角点,并将人工降雨变化的图像纳入训练集,他们报告了真实雨图像的性能增强。von Bernuth等人报道了一个训练在KITTI数据集上的循环滚动卷积网络的AP下降,当摄像机图像被挡风玻璃上的模拟雨滴修改时。von Bernuth等人模拟了逼真的雪和雾条件,以增强真实和虚拟视流。当对损坏的数据进行评估时,它们报告了目标检测模型的显著性能下降。Pei等人介绍了VeriVis框架,该框架使用真实世界中的图像损坏(如亮度、对比度、旋转、平滑、模糊等)来评估不同目标识别模型的安全性和鲁棒性。

2、方法

2.1、鲁棒检测基准

我们在ImageNet-C目标分类基准的启发下引入了鲁棒性检测基准,以评估对损坏图像的目标检测鲁棒性。

恶劣类型:在Hendrycks和Dietterich之后,我们提供了15种恶劣环境,每种恶劣环境的严重程度各为5个级别(见图3),以评估各种不同类型的退化对目标检测模型的影响。退化分为四类:噪声、模糊、数字和天气。需要注意的是,损坏类型不是用来作为训练数据增强工具箱的,而是用来度量模型对以前不可见的错误的健壮性。为了模型验证的目的,还提供了ImageNet-C中额外的四种out -out损坏类型,尽管它们没有用于评估鲁棒检测基准上的性能。

基准数据集:在众多可用的目标检测数据集中,我们选择使用Pascal VOC和Cityscapes作为最常用的目标检测和街景数据集。我们按照常规选择测试分割(VOC2007测试集用于Pascal-C, Coco 2017验证集用于Coco- C, Cityscapes验证集用于Cityscaps - c)。

性能度量:由于原始数据集之间的性能度量不同,因此采用数据集特定性能(P)度量,定义如下:

                                                           

其中AP代表“平均精度”度量。在损坏的数据上,基准测试的表现以损坏情况下的平均表现(mPC)来衡量:

                                                            

其中,P_{c,s}为在严重级别s下,对c破坏的测试数据进行的数据集特异性性能度量,\large N_c = 15, \large N_s = 5分别表示破坏的数量和严重级别。为了度量损坏下的相对性能下降,引入损坏下的相对性能(rPC)定义如下:

                                                           

rPC度量损坏数据的性能相对于干净数据的性能的相对下降。

递交:提交给基准测试的内容应该作为一个简单的拉请求提交给健壮检测基准测试4,并且需要包含所有三个性能度量:干净性能(P)、退化下的平均性能(mPC)和腐败下的相对性能(rPC)。而mPC的指标用于等级模型健壮的检测基准,其他措施提供额外的洞察性能增加的原因,因为他们解决收益更高的清洁性能(以P)和收益更好的泛化性能退化数据(以rPC)。

Baseline模型:我们提供了一组常见目标检测模型的baseline结果,包括Faster R-CNN、Mask R-CNN、Cascade R-CNN、Cascade Mask R-CNN、RetinaNet和Hybrid Task Cascade。我们使用ResNet50和Feature Pyramid Networks作为所有模型的骨干,除了Faster R-CNN,我们还测试了ResNet101、ResNeXt101-32x4d和ResNeXt-64x4d的骨干。附录C中我们还提供了Faster R-CNN和Mask R-CNN模型的结果。我们将稳健性基准集成到mmdetection toolbox中,并训练和测试所有具有标准超参数的模型。详细信息可以在附录A部分和健壮检测基准页面中找到。

2.2、类型迁移作为数据增强

在图像分类方面,样式转移(将图像的内容与另一图像的样式相结合的方法)已被证明可以极大地提高鲁棒性。在这里,我们将此方法转移到目标检测数据集,测试两个设置:1、用程式化的版本替换每个训练图像。2、将每个图像的风格化版本添加到现有数据集。我们应用AdaIN超参数超参数 训练数据,替换原有的纹理与随机选择纹理Numbers5 Kaggle的画家的信息数据集。图4给出了Coco图像风格化的例子。我们在https://github.com/bethgelab/styliize -datasets上为任意数据集的样式化提供了现成的代码。

3、结果

3.1、图像损坏会降低模型性能

为了评估图像损坏的影响,我们在第2节定义的三个基准数据集上评估了一组常见的目标检测模型。相对于Pascal VOC中相对简单的图像,Faster R-CNN可以保留大约60%的相对性能(rPC),而同样的模型在Cityscapes数据集上的相对性能(rPC)却大幅降低到33%,而Cityscapes数据集包含许多小目标。通过一些变化,这种效果出现在所有测试的模型中,也适用于实例分割任务(实例分割结果请参见附录3)。

3.2、用骨干容量来提升鲁棒性

加强骨干力量建设。似乎几乎所有的退化(除了模糊类型)都会对编码器造成固定的惩罚,这与baseline性能无关。对于两种不同骨架∆mPC≈∆P的模型(对比表1和附录图10)。因此,在退化的情况下,更强大的骨干导致相对性能的提高。支持这一发现在调查模型与可变形的旋转(见附录C)和当前最先进的模型混合任务级联,它不仅在干净数据上比最强的基线模型高出9% AP,而且在损坏数据上与自己的距离也相差相似,在损坏(rPC)下达到领先的相对性能64.7%。然而,并不是所有的变更都导致类似的改进。Cascade R-CNN从复杂的头部结构中获得性能提升,但相对于Faster R-CNN,它并没有表现出相对的性能提升。这说明改进的鲁棒性主要来自于图像编码,如果原始编码受到足够的破坏,较好的头部结构无法提取更多的信息。

3.3、对程式化数据的训练提高了鲁棒性

为了减少上述模型性能受到的严重影响,我们测试了一种简单的方法(对训练数据进行风格化)是否能够提高鲁棒性。我们用三种不同的训练数据方案评估了完全相同的模型(Faster R-CNN)(如图4所示):

  • 标准:各数据集未经修改的训练数据
  • 程式化:训练数据完全程式化
  • 组合:将标准和程式化的训练数据连接起来

图5显示了我们的三个数据集Pascal-C、Coco-C Cityscapes-C 的结果。我们观察到Geirhos等人报道的在ImageNet上进行目标分类的类似模式——一个训练于样式化数据的模型比只训练于原始“干净”数据的模型受到更少的退化。然而,它在干净数据上的性能要低得多。将风格化的数据和干净的数据结合起来似乎可以达到两全俱美的效果:干净数据上的高性能,以及退化下的性能显著提高。从表2的结果可以看出,程式化训练和组合训练都提高了退化(rPC)下的相对绩效。在退化(mPC)条件下,对所有三个数据集,联合训练的绝对性能最高。这种模式对于每种退化类型和严重程度都是一致的,只有一个例外。附录中报告了不同退化类型的详细结果(图7、图8和图9)。

                        

                                          

                                        

                                        

3.4、性能下降并不简单地随微扰大小伸缩

我们研究了退化对图像像素值的影响与退化对模型性能的影响之间是否存在直接关系。图6显示了Faster R-CNN对Pascal-C中退化的相对性能,依赖于用均方根误差(RMSE)测量的扰动大小。可以看出,没有这样简单的关系。例如,脉冲噪声只改变了少量的像素,但对模型的性能有很大的影响,而亮度或雾改变了所有的像素值,但对模型的性能影响很小。然而,退化对模型性能的影响似乎与退化组(噪音、模糊、数字或天气)之间存在关系。例如,与模糊退化相比,数字退化对性能的影响似乎要小得多。

                             

4、讨论

我们在这里展示了目标检测和实例分割模型在退化的图像上遭受了严重的性能损失,这种模式以前在图像识别模型中已经被观察到。为了跟踪这一重要问题的未来进展,我们提出了鲁棒检测基准,其中包含三个易于使用的基准数据集Pascal-C、Coco-C和Cityscaps - C。除了提供用于比较未来模型和技术的baseline之外,我们还演示了一个简单的数据增强技术(添加一个训练数据的程式化副本,以减少模型对纹理信息的关注)如何带来强大的健壮性改进。对于退化的图像,我们一致地观察到性能的提高(大约10到40%),而干净数据的损失很小(0-0.2%)。这种方法的优点是它可以应用于任何图像数据集,不需要额外的标签或模型调优,因此基本上是免费的。与此同时,我们的基准数据显示,还有改进的空间,而最有希望的健壮性增强技术是需要架构修改、数据增强方案、对损失函数的修改,还是这些技术的组合,还有待确定。我们鼓励读者以新颖的退化类型扩展基准。为了实现健壮的模型,对各种不同的图像退化进行测试是必要的,没有“太多”。

由于我们的基准是开源的,我们欢迎新的退化类型,并期待你的拉请求https://github.com/bethgelab/imagecorruptions!我们设想我们的综合基准来跟踪未来的进展,以建立可靠的目标检测模型,可以“在野外”可靠地部署,最终使它们能够应对意想不到的天气变化、各种损坏,如果有必要,甚至偶尔的蜻蜓。

附录

A、训练细节

训练:我们用每个GPU 2张图片来训练我们所有的模型,这相当于8个GPU上16张图片的批量大小。在Coco上,我们调整图像的大小,使其短边为800像素,训练12个epoch,初始学习率为0.02,8和11个epoch后学习率降低了10倍。在Pascal VOC上,图像被调整大小,使其短边为600像素。对12个epoch进行训练,初始学习率为0.01,9个epoch后衰减步长为因子10。城市风光,我们住尽可能描述的过程重新调节图像更短的边缘尺寸之间的800和1024像素和64年火车时代(匹配24 k步骤8)的批量大小,最初学习速率的0.02和衰减因子10步后48时代。对于评估,只使用一个尺度—1024像素—。在我们所有的实验中,我们都采用了线性缩放规则Goyal等[2017]来降低训练中使用少于8个gpu时的学习率。具体来说,我们使用4个GPU来训练Coco模型,使用1个GPU来训练所有其他模型,从而使Coco的学习效率降低了2倍,pascal和cityscapes的学习效率降低了8倍。通过简单地交换dataset文件夹或将其添加到要考虑的dataset文件夹列表中,就可以使用程式化数据进行培训。要了解更多细节,请参考我们实现中的配置文件。

B、腐化的任意图片

在ImageNet-C的原始损坏基准中,硬编码了两个技术方面:图像维数和通道数。为了允许具有不同图像维数的不同数据集,几个独立定义的损坏函数,如make cifar c、make tinyimagenet c、make imagenet c和make imagenet c inception。此外,许多腐蚀期望二次图像。我们修改了代码来解决这些约束,现在所有的损坏都可以应用于不同大小的非二次图像,这是将损坏基准调整到Pascal VOC和Coco数据集的必要前提。对于损坏类型“frost”,将提供的frost图像中的农作物添加到输入图像中。由于Pascal VOC和Coco中的图像具有任意大的尺寸,因此我们在必要时调整frost图像的大小,以适应最大的输入图像尺寸。

原始的损坏基准也期望RGB图像。我们的代码现在允许灰度图像。

motion blur和snow都依赖于Imagemagick的motion-blur功能,这导致了一个外部依赖,而标准python包管理器无法解决这个依赖。为了方便起见,我们在python中重新实现了运动模糊功能,并消除了对非python软件的依赖。

C、额外的结果

C.1、实例分割结果

我们在实例分割上对Mask R-CNN和Cascade Mask R-CNN进行了评估。结果非常类似的目标检测任务的相对性能略低(1%,见表3)。我们也训练好Mask R-CNN程式化的数据集上再次找到非常相似的趋势对实例细分任务目标检测任务(表4)。一方面,这不是很令人惊讶的Mask R-CNN、Faster R-CNN非常相似。另一方面,由于风格化过程的影响,物体的轮廓会发生变化,仅对风格化的图像进行训练,预计会导致分割性能较差。我们没有看到这样的效果,而是找到了Mask R-CNN的实例分割性能,以反映Faster R-CNN在训练程式化图像时的目标检测性能。

C.2、可变形的卷积网络

我们测试了可变形卷积对退化鲁棒性的影响。可变形卷积是骨干结构的一种改进,它在编码器的最后阶段用具有自适应滤波器的卷积交换一些标准卷积。已有研究表明,可变形卷积可以帮助完成目标检测和实例分割等一系列任务。这也是这里的情况与变形分布网络不仅损坏图像上执行更好的清洁也相对性能改善的6 - 7%的基线标准骨干(参见表5和6)。似乎是一样的影响等骨干修改使用更深的架构(参见第三节主纸)。

Image rights & attribution
Figure 1: Home Box Office, Inc. (HBO).

                               

                                    

                                    

                                      

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wanderer001

ROIAlign原理

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值