交通灯检测新标杆:T1GAuG集成天气/相机/信号灯三大变换,Faster R-CNN性能飙升115.5%

大模型数据中台机器学习

点击下方名片,关注「集智书童」公众号


精简阅读版本

本文主要解决了什么问题

自动驾驶系统中交通信号灯检测模型的测试问题 :当前测试主要依赖于手动收集和标注交通信号灯图像,这种方法成本高、效率低,且难以覆盖多样化的驾驶环境。

增强数据多样性不足 :已有方法(如Bai等人的工作)仅考虑了交通信号灯颜色变换,缺乏对天气、相机属性和交通灯属性的系统性建模,导致增强图像多样性有限。

模型鲁棒性不足 :现有交通信号灯检测模型在面对天气变化、相机异常和交通灯状态变化等现实挑战时表现不稳定,存在大量错误行为,缺乏有效的自动化测试和增强机制。

本文的核心创新是什么

提出T1GAuG工具 :一个系统化的交通信号灯图像增强工具,用于自动增强交通信号灯图像,以测试和提升自动驾驶系统中交通信号灯检测模型的性能。

构建两类元变形关系和三类变换

  • • 元变形关系:包括天气/相机变换下的等价关系和交通灯变换下的变化关系,用于检测模型的错误行为。
  • • 变换:分为天气变换(如雨、雪、雾)、相机变换(如曝光、模糊)和交通灯变换(如颜色、位置、旋转、缩放),共12种变换。

大规模实验验证 :在两个主流交通信号灯数据集(LISA和Bosch)和四种主流检测模型(YOLOv5、YOLOX、Faster R-CNN、SSD)上进行了全面评估,验证了T1GAuG在检测错误行为和提升模型性能方面的有效性。

结果相较于以前的方法有哪些提升

增强图像的多样性显著提升

  • • 相比Bai等人仅考虑颜色变换,T1GAuG提出了12种变换,涵盖天气、相机、交通灯属性,大大提升了增强数据的多样性。

模型鲁棒性显著增强

  • • 在增强测试数据上,原始模型的平均mAP下降39.8%,而通过增强数据重新训练后,模型平均mAP提升了67.5%。

合成效率高且自然度可接受

  • • 平均合成一张图像仅需0.88秒,重新训练一个模型平均耗时36小时,效率可接受。
  • • 27.9%的合成图像被认为“非自然”,但它们对模型性能影响较小,表明无需大量人工清理即可使用。

系统性错误检测能力

  • • T1GAuG能够有效识别模型在各种变换下的错误行为,包括假阳性、假阴性和边界框偏差等。

局限性总结

非自然图像仍占一定比例

  • • 27.9%的增强图像被认为不自然,虽然对模型性能影响不大,但在实际部署中可能仍需人工筛选或改进生成方式。

参数配置依赖经验设定

  • • 各变换的参数是经验性设置,可能无法在所有场景下达到最佳效果,未来可探索自适应参数调整机制。

部分变换存在特定问题

  • • 如镜头眩光(LF)在夜间图像中效果不佳,融合过程可能导致边界框不自然等问题,需进一步优化。

模型再训练时间较长

  • • 虽然效果显著,但模型再训练平均耗时36小时,限制了其在快速迭代场景中的应用。

未评估其他数据集或模型的泛化能力

  • • 实验主要基于LISA和Bosch数据集及YOLO系列、Faster R-CNN和SSD模型,未来需扩展到更多数据集和模型结构。
深入阅读版本

导读

自动驾驶技术在过去几十年中随着传感和计算技术的进步而发展。确保自动驾驶系统(ADS)的可靠性和鲁棒性至关重要。尽管在测试ADS各个模块方面取得了近期进展,但很少关注ADS中交通信号检测模型的自动化测试。一种常见做法是手动收集和标注交通信号数据。然而,这种方法工作量大,甚至在不同的驾驶环境下收集多样化数据都不可行。

为解决这些问题,作者提出并实现了T1GAuG,用于自动增强交通信号灯图像,以测试自动驾驶系统中的交通信号灯检测模型。基于对天气环境、相机属性和交通信号灯属性的系统性理解,作者构建了两类元变形关系和三类变换。作者利用增强图像通过特定变换的元变形关系检测交通信号灯检测模型的错误行为,并通过重新训练提升模型性能。大规模实验在四种最先进的交通信号灯检测模型和两个交通信号灯数据集上进行了验证,结果表明:i) T1GAuG在测试交通信号灯检测模型方面是有效的;ii) T1GAuG在合成交通信号灯图像方面是高效的;iii) T1GAuG生成的交通信号灯图像具有可接受的自然度。

  1. 引言

近几十年来,学术界和工业界已将越来越多的精力投入到自动驾驶技术的研发中。这些发展得益于传感和计算技术的近期进步,以及对汽车运输的影响和社会效益(例如减少车辆碰撞,为残疾人提供个人移动能力)[1]。自动驾驶车辆的自动化系统,也称为自动驾驶系统(ADS),通常分为两个主要部分,即感知系统和决策系统[2]。感知系统利用车载传感器(如摄像头和激光雷达)捕获的数据来估计车辆和环境状态,而决策系统则引导车辆从初始位置行驶至最终目的地。

作为安全关键系统,确保自动驾驶系统(ADS)的可靠性和鲁棒性至关重要。然而,特斯拉、Waymo和Uber等领先公司当前采用的状态-of-the-practice ADS仍然容易受到边缘情况的影响,并表现出不正确的行为,这是由于现实世界驾驶环境的极端复杂性和多样性所致。这些不正确的行为可能导致灾难性后果和不可持续的损失,正如许多报道的交通事故[3, 4, 5]所证明的那样。因此,这些领先公司采用道路测试来对ADS进行质量保证。为了进一步测试在现实世界环境中难以或昂贵产生极端条件,这些领先公司也广泛采用模拟测试[6, 7]。

近年来,软件工程领域发展了许多测试方法,以确保自动驾驶系统(ADS)的可靠性和鲁棒性。具体而言,一条主要的研究方向是将基于搜索的测试应用于检测ADS的安全违规行为[8, 9, 10, 11, 12, 13, 14, 15, 16, 17]。他们将测试场景表述为一组变量(例如,车辆速度和雾度),并应用通用算法搜索违反安全要求测试场景。另一条主要的研究方向则集中于测试ADS中的深度神经网络(DNN)模块。他们使用变形测试生成驾驶场景图像[18, 19, 20, 21]和驾驶场景点云[22]。例如,DeepTest[19]利用天气和仿射变换合成图像,用于测试ADS中的转向角决策模型。类似地,LiRTest[22]应用天气和仿射变换合成点云,用于测试ADS中的3D目标检测模型。

尽管在检测ADS(High-Level驾驶辅助系统)各模块中的错误行为方面取得了诸多进展,但人们对ADS中交通信号灯检测模型的测试却关注甚少。交通信号灯用于控制交通流,因此在确保交通安全方面发挥着至关重要的作用。因此,ADS采用交通信号灯检测模型(例如YOLO [23]、Faster R-CNN [24]和

[25])来检测驾驶场景(例如以图像表示)中一个或多个交通信号灯的位置,并识别其状态(例如红灯、绿灯和黄灯)[2]。当ADS无法正确识别交通信号灯时,可能会引发严重的交通事故。例如,特斯拉的自动驾驶系统将月亮误认为黄灯,导致车辆在高速公路上意外减速[26]。优步的自动驾驶车辆在红灯亮起三秒后,且行人正在人行横道时通过红灯[27]。因此,对ADS中的交通信号灯检测进行测试至关重要。

交通信号灯检测的测试严重依赖于 Token 的交通信号灯数据(即交通信号灯图像),这些数据通常需要手动收集。具体来说,采用路测方法通过摄像头捕捉交通信号灯图像。然而,在不同驾驶环境下收集多样化数据既费资源甚至不可能。随后,捕获的交通信号灯图像需要手动 Token 以标示交通信号灯的位置和状态。然而,这是一项劳动密集且耗时的工作,尤其是在交通信号灯图像数量增加时。据作者所知,Bai等人[28]的工作是第一个也是唯一一个自动生成合成交通信号灯图像的工作。然而,他们只考虑了一种变换场景,即改变交通信号灯的颜色,这限制了生成的交通信号灯图像的多样性。

为解决这些问题,作者提出并实现了一种系统化的数据增强方法,命名为T1gAug,用于自动增强交通信号灯图像,以测试自动驾驶系统中的交通信号灯检测模型。基于对天气环境、相机特性和交通信号灯特性的系统性理解,作者系统地构建了两种系列的元形态关系和三种系列的变换。给定一张来自现实世界的 Token 交通信号灯图像,T1GAuG将应用变换来合成增强的交通信号灯图像。然后,它使用现实世界图像与这些增强图像之间的变换特定元形态关系,以识别自动驾驶系统中交通信号灯检测模型的错误行为。此外,增强图像可用于重新训练和改进交通信号灯检测模型。

作者通过大规模实验评估TgAug,使用了四种最先进的交通信号灯检测模型和两个交通信号灯数据集。首先,作者对测试数据进行变换,原始模型的平均精度均值在增强测试数据上下降了

。其次,通过添加增强训练数据获得重新训练的模型,重新训练模型的平均精度均值在增强测试数据上提升了

。这些结果表明T1GAuG在检测错误行为和提高ADS中交通信号灯检测模型性能方面是有效的。第三,作者测量了数据增强和重新训练的时间开销,以评估T1gAug的效率,合成一张图像平均需要0.88秒,重新训练一个模型需要36小时,考虑到平均精度均值的提升,这是可以接受的。最后,作者从合成的图像中手动识别不自然的图像,每个变换合成的图像中有27.9%被认为是非自然的,但它们对模型性能影响很小。这表明作者合成的交通信号灯图像可以直接使用,无需人工清理。

总之,这项工作做出了以下贡献。

  • • 作者构建了两组元形态关系和三组变换,以模拟天气环境、相机属性和交通灯属性对捕获的真实世界交通灯图像的影响。
  • • 作者将所TigAug实现为一个原型工具,命名为TigAug,用于自动增强交通信号图像,以检测错误行为并提升自动驾驶系统(ADSs)中交通信号检测模型的表现。
  • • 作者使用四种最先进的交通信号灯检测模型和两个交通信号灯数据集进行了大规模实验,以展示TigAUG的有效性和效率。
  1. 方法论

作者设计T1GAuG作为一种系统化的数据增强方法,用于自动增强 Token 的交通灯图像,以测试自动驾驶系统中的交通灯检测模型。图1展示了TigAug的概述。该方法基于作者对天气环境、相机属性和交通灯属性如何影响真实环境中相机捕获的交通灯图像的理解而构建。作者针对天气环境、相机属性和交通灯属性构建了两类元形态关系(第2.1节)和三类变换(第2.2节)。

picture.image

基于作者的领域分析,TiGAug首先对来自真实世界的 Token 交通灯数据进行变换(即真实世界数据),以生成增强交通灯数据(即增强数据)。然后,TiGAug利用真实世界测试数据与增强测试数据之间的特定变换元形关系,识别从真实世界训练数据中训练的交通灯检测模型的错误行为。此外,TiGAug通过将增强训练数据添加到真实世界训练数据中,重新训练交通灯检测模型,以提升模型性能。

2.1. 变形关系

交通信号灯数据增强的一个关键挑战在于自动确定增强数据上交通信号灯检测模型的预期输出。元关系[29, 30]已知能够缓解这一测试预言者挑战。在作者的场景中,每个元关系描述了真实世界交通信号灯数据和增强数据上交通信号灯检测模型输出之间的属性。

具体而言,针对三种变换族(第2.2节),作者构建了两族元变换关系。在详细阐述元变换关系之前,作者首先定义相关符号。对于来自真实世界数据集I的交通灯图像i,交通灯检测模型m在i上的输出记为m|i|;经过天气变换族W、相机变换族C或交通灯变换族L中的变换τ增强后的图像记为τ(i)。然后,作者通过公式1定义天气和相机变换的元变换关系。

对于所有

且对于所有

其中

是一个断言真实世界图像和增强图像的检测输出相等的准则。这种元关系表明,无论通过应用天气和相机变换将天气条件和相机效果合成到真实世界图像中,交通灯检测模型在增强图像

上的检测输出都应与在相应的真实世界图像

上的检测输出保持一致。例如,如果将雪效果或过度曝光效果合成到真实世界图像

中以生成增强图像

,则

中的交通灯位置和状态与

中的相同,因此

上的检测输出应相同。否则,违反这种元关系会导致错误行为。

类似地,作者通过公式2来构建交通信号灯转换的变形关系。

对于所有

和所有

这种元变形关系表明,通过应用交通灯变换来改变交通灯的位置和状态时,增强图像

上交通灯检测模型的检测输出预期会通过将变换

应用于相应真实世界图像

上的检测输出而相应改变。例如,如果真实世界图像

中的交通灯从红色变为绿色以合成增强图像

,则

上的检测输出应与将相同颜色变化应用于

上的检测输出相同。最后,作者使用平均精度均值(mAP)来推导等价准则

,因为 mAP 通常用于评估目标检测系统,并且它可以补偿检测边界框与真实边界框之间的小漂移。具体而言,mAP 是不同目标类别(例如,作者场景中的不同交通灯状态)的平均精度(AP)分数的平均值。AP 通过精确率-召回率曲线下的面积计算得出 [31]。因此,AP 同时考虑了精确率和召回率。为了计算精确率和召回率,IoU(IoU)用于测量检测边界框与真实边界框之间的重叠。如果 IoU 大于阈值

(例如,0.5),则检测被分类为真阳性;否则,检测被分类为假阳性。为了考虑

的影响,使用 mAP

[.50, .95] 来计算从 0.50 到 0.95 的 10 个 IoU 阈值(步长为 0.05)下的 mAP 平均值 [32]。此后,作者使用 mAP 来简化 mAP

[.50,.95] 以便于表述。

2.2. 变换

为了以更低的劳动力和时间成本获取更多交通信号灯数据,探索交通信号灯检测模型的输入输出空间,作者实施了十二种变换来生成合成数据,这些数据在短时间内接近真实世界数据。如图1所示,这些变换包括雨(RN)、雪(SW)、雾(FG)、镜头眩光(LF)、过度曝光(OE)、曝光不足(UE)、运动模糊(MB)、交通信号灯颜色变化(CC)、交通信号灯位置移动(MP)、添加交通信号灯(AD)、旋转交通信号灯(RT)和缩放交通信号灯(SC)。这些变换被分为三个家族,即天气变换(模拟不同天气环境的影响)、相机变换(模拟不同相机效果)和交通信号灯变换(丰富不同位置和状态)。

在阐明每个家族中每个变换的详细设计之前,作者首先制定相关符号。对于真实世界的交通灯图像,它包含一组交通灯

及其对应的标签

。交通灯

的标签

表示为一个5元组

,其中

用于表示交通灯的边界框(即图像中围绕交通灯的矩形区域),而 state 表示交通灯的状态(例如,红色交通灯的停止状态)。

是边界框左上角的 x 和 y 坐标,

是边界框右下角的 x 和 y 坐标。

天气变换。自动驾驶车辆在不同的天气环境中行驶,这些环境可能会部分遮挡交通信号灯或降低交通信号灯的可见度。例如,当车载摄像头捕捉图像时,雪花或雨滴可能会恰好遮挡交通信号灯。因此,天气环境可能会对交通信号灯检测的性能构成挑战。为了模拟不同的天气环境,作者设计了四种变换,即雨(RN)、雪(SW)、雾(FG)和镜头眩光(LF)。作者使用图像增强Python库imgaug [33] 来实现RN、SW和FG。基本思想是在图像的每个像素上生成并叠加一层扰动,以模拟天气条件。具体来说,对于RN,作者将drop_size参数设置为(0.1,0.2)以控制雨滴的大小,并将speed参数设置为(0.2,0.3)以控制雨滴的密度。对于SW和FG,作者将severity参数设置为2以控制雾或雪的浓度。此外,作者使用Adobe Photoshop来实现LF,该效果模拟了摄像头捕捉到的眩光。具体来说,作者在Adobe Photoshop中合成一个新的镜头眩光层,并将其叠加在真实世界的交通信号灯图像上,该图像的亮度和对比度会自动调整 [34]。图2(a-h)展示了作者四种天气变换合成的部分交通信号灯图像及其原始图像(OI)。

picture.image

相机变换。众所周知,车载相机拍摄图像的质量可能会影响交通信号检测模型的性能。由于车载相机型号多样,且其年龄和损坏程度各不相同,相机捕获的图像可能质量不佳(例如曝光过度或曝光不足)。此外,自动驾驶汽车可能以高速行驶或在交叉路口转弯,这可能会在一定程度上使捕获的图像模糊。为了模拟这些相机效果,作者开发了三种变换,即曝光过度(OE)、曝光不足(UE)和运动模糊(MB)。类似于天气变换,作者使用库imgaug [33]来实现OE、UE和MB。对于OE和UE,通过调整HSL色彩空间中的亮度来线性调整图像亮度,作者将严重性参数分别设置为4和1,以控制曝光程度,分别模拟曝光过度和曝光不足。对于MB,通过卷积在图像上应用一个使用核的滤波器,作者将核大小参数

设置为15,以控制模糊程度(即使用

像素的核)。图2(i-n)展示了作者三种相机变换合成的部分交通信号图像及其原始图像(OI)。

交通信号灯变换。交通信号灯可能具有不同的状态,并且可能位于现实世界中的不同位置。为了丰富图像中交通信号灯的位置和状态的多样性,并确保合成的交通信号灯尽可能遵循现有法规,作者设计了五种交通信号灯变换,即改变交通信号灯的颜色(CC)、移动交通信号灯的位置(MP)、添加交通信号灯(AD)、旋转交通信号灯(RT)和缩放交通信号灯(SC)。

CC旨在改变图像中交通信号灯的颜色。为确保不同交通信号灯之间的语义关系,作者选择将所有交通信号灯变为它们的相反颜色(即红灯变为绿灯,绿灯变为红灯,黄灯保持不变)。因此,经过变换后,状态相同的两个交通信号灯仍然表示相同的方向。具体而言,作者根据其边界框定位

中的每个红灯和绿灯

,并提取它(即提取后,边界框对应的区域将变为空白)。然后,作者使用Adobe Photoshop提供的内容感知 Patch 填充空白区域。接下来,作者使用HSV颜色空间改变提取的交通信号灯的色调,使红色变为绿色,绿色变为红色,并相应地改变交通信号灯状态,即

。然后,作者将提取的交通信号灯翻转过来,以确保红灯泡位于交通信号灯的顶部或左侧。值得一提的是,一些交通信号灯也包含箭头,在变换过程中作者也考虑了这些特殊情况,以确保停车左行信号灯变为左行信号灯。最后,作者使用图像融合算法(例如泊松融合)将变换后的交通信号灯粘贴回原始区域。

MP旨在移动图像中交通信号灯的位置。作者首先随机选择交通信号灯的一个子集

。对于每个

,作者提取

并填充空白区域。然后,作者将

粘贴到一个新位置,通过水平偏移

(作者设置

为边界框的宽度,以便交通信号灯不会移动到不切实际的位置,例如与其他信号灯重叠)。最后,作者按照以下方式修改

中的边界框坐标。

AD旨在向图像中添加交通信号灯。新添加的交通信号灯数量是在一个和原始交通信号灯数量一半之间的随机数。基本思路是复制原始交通信号灯并将其粘贴到图像中。从这个角度来看,AD的实现方式与MP相似。不同之处在于,这里作者不修补原始交通信号灯,而是保留它们。

旋转交通信号灯旨在将图像中的交通信号灯进行旋转,使得水平交通信号灯变为垂直,垂直交通信号灯变为水平。对于每个

,作者提取

并填补空白区域。然后,作者确定

的中心,即

。为了确保红灯位于交通信号灯的顶部或左侧,而绿灯位于交通信号灯的底部或右侧,如果交通信号灯是水平的,作者围绕中心顺时针旋转90度;如果交通信号灯是垂直的,作者围绕中心逆时针旋转90度。类似于CC,作者也考虑带箭头的交通信号灯,例如,在RT变换后,作者将左行交通信号灯变为直行交通信号灯。最后,作者将变换后的交通信号灯粘贴到原始区域的中心,并相应地修改

中的边界框坐标如下。

SC旨在通过模拟从更远距离拍摄图像的效果来调整交通信号灯的大小。作者借助Adobe Photoshop的批量处理功能实现SC。首先,作者将每张图像导入Adobe Photoshop,并根据其原始尺寸扩展画布(例如,对于16:9的图像,增加宽度320像素,高度180像素)。然后,作者用单色填充扩展区域,并使用Adobe Photoshop中的图像修复技术进行拼贴。最后,作者将新图像缩放到原始尺寸。由于缩放,每个交通信号灯的边界框相应地按以下方式缩放,其中

表示边界框的原始宽度和高度,

表示中心。

图2(o-x)展示了由作者的五种交通灯变换合成的一些样本交通灯图像及其原始图像(OI)。

  1. 评估

作者首先介绍研究问题,然后详细阐述作者的评估设置,最后展示作者的结果。

3.1. 研究问题

作者设计了以下四个研究问题,以评估T1GAUG的有效性和效率。

  • • RQ1 鲁棒性评估:作者的增强交通信号图像在识别现有交通信号检测模型中的错误行为方面有多有效?
  • • RQ2 重新训练评估:作者增强的交通信号灯图像在提升现有交通信号灯检测模型性能方面的有效性如何?
  • • RQ3 效率评估:TiGAuG 在合成图像和重新训练模型时的时间开销如何?
  • • RQ4 自然度评估:增强交通信号灯图像的自然度如何,以及它是否影响现有交通信号灯检测模型的表现?

RQ1旨在通过研究增强测试数据与真实世界测试数据在模型训练数据为真实世界训练数据的情况下对模型性能的差异,检测现有交通灯检测模型中的潜在错误行为。RQ2旨在分析使用由十二种转换产生的增强训练数据重新训练模型后潜在的性能提升。具体而言,作者比较了真实世界测试数据和增强测试数据的性能差异。RQ3旨在分析应用转换的时间成本以及重新训练模型的时间成本。作者旨在研究TigAug在检测错误行为和提高模型性能方面的实际成本。RQ4旨在通过手动检查和排除“不自然”图像来评估增强图像的自然性,使其余图像更接近真实世界图像。作者进一步研究了清理后的增强数据对模型性能的影响。

3.2. 评估设置

数据集。作者选择了两个数据集,LISA [35, 36] 和 Bosch [37]。它们是自动驾驶研究领域中最受欢迎的两个数据集之一。LISA 包含在美国加利福尼亚州收集的连续测试和训练视频序列。原始 LISA 数据集共有 43,007 张图像和 113,888 个标注的交通信号灯。原始 Bosch 数据集包含 13,427 张图像和大约 24,000 个标注的交通信号灯。标注内容包括交通信号灯的边界框以及每个交通信号灯的当前状态。作者从原始 Bosch 数据集中筛选出单色图像。作者还从 LISA 和 Bosch 数据集中移除重复图像。此外,在交通信号灯转换过程中,作者根据标注数据跳过没有交通信号灯的图像,但保留这些不包含交通信号灯的图像用于训练和测试。最终,作者获得了预处理后的原始数据集,其中 LISA 包含 36,265 张图像和 109,475 个标注的交通信号灯,Bosch 包含 10,300 张图像和 24,242 个标注的交通信号灯。每个数据集按 4:1:1 的比例分为训练数据、验证数据和测试数据。在数据增强之前,作者用 0 表示真实世界数据集。

为获取RQ1、RQ2和RQ3所需的增强数据集,作者对LISA和Bosch应用了作者的十二种变换。作者分别从LISA和Bosch数据集的相同训练和测试图像中生成12种变换的训练和测试数据集。结果,作者获得了24个增强数据集。作者使用相应的变换名称和'

'符号来表示每个增强数据集;例如,RN

表示应用了作者的RN变换后的增强数据集。此外,为了支持RQ4中的自然度评估,作者招募了三名研究生手动检查由LISA产生的12个增强数据集中每个变换图像的"自然度"。为了减少人工工作量,作者没有分析较小的Bosch数据集。两名参与者首先对随机采样的6,000图像进行初步标注,以确定变换后的图像是否"自然"。当两名参与者之间出现分歧时,第三名参与者会参与小组讨论并达成共识。这个过程进行了3轮,直到Cohen Kappa系数达到0.845。最后,两名参与者对剩余的增强数据进行筛选,以过滤掉"不自然"的图像。整个过程耗时2个人月。作者使用相应的变换名称和''符号来表示经过人工清理后的每个增强数据集;例如,RN-表示应用了作者的RN变换和人工清理后的增强数据集。

模型。作者选择了四种最先进的交通信号灯检测模型,即YOLOv5、YOLOX、Faster R-CNN和SSD。这些模型在自动驾驶研究中被广泛使用[38, 39, 40, 37, 41]。简而言之,YOLO模型及其系列(例如YOLOv3、YOLOv5和YOLOv&)[23]在各种任务中都是前沿和最先进的模型,包括目标检测、图像分割和图像分类。作者选择YOLOv5是因为它成熟且稳定。此外,YOLOX是YOLO的一个流行变体,专为 Anchor-Free 点设计以及其他改进以获得更好的性能。Faster R-CNN[24]是基于深度卷积网络的目标检测框架,包括一个区域 Proposal 网络和一个目标检测网络。这两个网络都经过训练以共享卷积层以实现快速测试。SSD[25]是在单次多框检测器上实现的。

针对RQ1,作者通过使用LISA和Bosch提供的两个原始训练数据集,对YOLOv5、YOLOX、Faster R-CNN和

四种模型进行训练,获得了八个原始模型。针对RQ2和RQ3,作者通过使用24个增强训练数据集重新训练YOLOv5、YOLOX、Faster RCNN和

,获得了96个重新训练的模型。具体来说,为了减少重新训练的时间成本,作者随机选择每个增强训练数据集的20%合并到原始训练数据集中。需要注意的是,现有的测试用例选择方法[42]可以在此处使用,以进一步提高重新训练的有效性。此外,为了研究将所有变换结合在一起的效果,作者通过将上述12个增强训练数据集的20%全部合并到原始训练数据集中,获得了另外八个重新训练的模型。针对RQ4,作者通过使用LISA提供的12个清理后的增强训练数据集重新训练YOLOv5和YOLOX,获得了24个重新训练的模型。为了与RQ2和RQ3中的重新训练保持一致,作者首先使用相同的20%增强训练数据集,然后如果其中一些数据集被清理为“非自然性”,则添加额外的清理增强训练样本。这里作者不重新训练Faster R-CNN和

,因为它们的训练时间远长于YOLOv5和YOLOX,且它们的检测性能远低于YOLOv5和YOLOX。

作者使用以下概念来区分原始模型和重新训练的模型。首先,M-0 表示一个原始模型,其中 M 是模型的符号,

表示原始训练数据集。其次,

表示使用通过变换

增强的训练数据集进行的重新训练模型。例如,M-RN

表示使用作者的 RN 变换增强训练数据集进行的重新训练模型。第三,M-

  • 表示在手动清理后,使用通过变换

清理的增强训练数据集进行的重新训练模型。例如,M-RN- 表示使用作者的 RN 变换清理增强训练数据集进行的重新训练模型。第四,作者还使用具体的模型名称来表示 M。例如,yoLOx-0 表示使用原始训练数据集的原始 YOLOX 模型;而 yoLOX

(或 yOLox-)表示使用(或清理)增强训练数据集且不区分变换的重新训练 YOLOX 模型。

度量与环境。作者使用mAP(一个介于0和1之间的值),如第2.1节所述,来衡量模型性能。作者在一台Ubuntu 20.04.4 LTS服务器上进行实验,该服务器配备4块NVIDIA GeForce RTX 3090 GPU、Intel Core i9-10980XE CPU(处理器频率3.00GHz)和128GB内存。

3.3. 鲁棒性评估 (RQ1)

原始模型的mAP下降。图3报告了原始模型在原始和增强测试数据集上的mAP。与原始测试数据集相比,所有四个模型在增强测试数据集上的mAP在所有十二种转换下都显著下降。这种mAP下降表明原始模型对增强图像不具有鲁棒性。

picture.image

关于不同模型,YOLOv5、YOLOX、Faster R-CNN和

分别平均mAP下降31.4%(从原始测试数据集的0.615下降到

在增强测试数据集上,LISA的mAP分别下降了31.7%(从0.624降至0.426)、53.9%(从0.459降至0.212)和46.7%(从0.315降至0.168)。类似地,在Bosch上,它们分别平均下降了42.4%(从0.283降至0.163)、29.1%(从0.220降至0.156)、48.0%(从0.155降至0.081)和35.4%(从0.057降至0.037)。此外,YOLOv5、YOLOX、Faster R-CNN和SSD分别下降了0.031(UE在Bosch上)至0.443(RT在LISA上)、0.013(FG在Bosch上)至0.464(RT在LISA上)、0.026(UE在Bosch上)至0.388(FG在LISA上)和0.005(UE在Bosch上)至0.212(RT在LISA上)。

对于不同的变换,天气变换使mAP下降了42.6%,相机变换下降了41.8%,交通灯变换下降了36.5%。在四种天气变换中,FG的mAP下降最为显著(平均下降50.3%);在三种相机变换中,MB的mAP下降最为显著(平均下降63.5%);在五种交通灯变换中,RT的mAP下降最为显著(平均下降63.9%)。

检测到错误行为。作者进一步分析了T1GAug检测到的违反元变形关系的错误行为,并总结了原始模型在增强测试数据集上报告的假阳性结果和假阴性结果。图4展示了揭示错误行为的交通灯图像样本,其中绿色和红色框由交通灯检测模型生成,紫色框由作者标注。来自三个家族的所有变换都表现出错误行为。一方面,关于天气和相机变换,存在三种错误行为。首先,原始模型未能检测到交通灯,导致假阴性,如图4(a)和4(b)所示。其次,原始模型对交通灯预测了错误标签,导致假阳性,如图4(c)和4(d)所示。第三,原始模型将汽车尾灯误识别为交通灯,导致假阳性,如图4(e)和4(f)所示。另一方面,关于交通灯变换,也存在三种错误行为。首先,原始模型未能检测到变换后的交通灯,导致假阴性,如图4(g)和

所示。其次,原始模型成功检测到变换后的交通灯,但未能检测到未变换的交通灯或生成错误标签,导致假阴性或假阳性,如图4(i)和4(j)所示。第三,原始模型检测到变换后的交通灯,但发现边界框与真实值差异过大,导致假阴性,如图4(k)和

所示。

picture.image

。在两个数据集上的所有十二种转换中,所有四个模型在增强测试数据集上的mAP均有所下降。平均而言,每个模型的mAP下降了39.8%。此外,这些模型在天气和相机转换方面比在交通灯转换方面更容易出现错误行为。平均mAP下降幅度从SC的17.1%到RT的63.9%。因此,T1GAUG在检测所有模型的错误行为方面是有效的。

3.4. 再训练评估 (RQ2)

原始数据集上的mAP变化。图5展示了原始模型和重新训练模型在原始测试数据集上的mAP。总体而言,重新训练模型在原始测试数据集上实现了与原始模型相似的mAP。

picture.image

具体而言,针对重新训练的模型,在所有变换下,重新训练的YOLOv5、

模型在原始

测试数据集上的平均mAP分别为0.615、0.628和0.326(见图5(a)),这些数值比原始模型略高1.4%。只有重新训练的Faster R-CNN模型的平均mAP有所降低;即平均mAP为0.443(仅比原始模型低3.6%)。类似地,在原始Bosch测试数据集上(见图5(b)),重新训练的YOLOv5、

模型平均mAP分别为0.292、0.225和0.065,这些数值比原始模型略高6.4%。只有重新训练的Faster R-CNN模型的平均mAP有所降低;即平均mAP为0.153(仅比原始模型低1.3%)。

关于变换,与原始模型相比,所有12种变换的重新训练模型的平均mAP略有提高。SW导致平均mAP最大增加4.4%。MP导致平均mAP最小增加0.3%。增强数据集上的mAP变化。图6给出了原始模型和重新训练模型在增强测试数据集上的mAP。所有重新训练模型在增强测试数据集上的mAP均显著高于原始模型。

picture.image

具体而言,对于重新训练的模型,在四个模型中,重新训练的Faster R-CNN模型在平均mAP方面获得了最大的提升,即在增强的LISA和Bosch测试数据集上分别提升了115.5%和65.5%的平均mAP。同时,重新训练的YOLOv5、YOLOX和SSD模型在增强的LISA和Bosch测试数据集上的平均mAP提升分别为57.1%和60.1%、71.5%和42.8%以及76.8%和51.0%。

在变换方面,RT对改进原始模型贡献最大。它在增强的LISA和Bosch测试数据集上分别将平均mAP提升了210.5%和118.7%,其次是FG,平均mAP提升分别为193.5%和59.6%。SC的提升最少,即在增强的LISA和Bosch测试数据集上平均mAP分别提升了6.4%和13.6%。

包含所有增强训练数据集的模型重新训练后mAP变化。图7展示了在原始测试数据集、分别针对12种变换生成的增强测试数据集以及所有增强测试数据集合并的情况下,原始模型(红色条形)、使用单独12种变换生成的增强训练数据集重新训练的模型(蓝色条形)以及使用所有12种变换生成的增强训练数据集重新训练的模型(黄色条形)的mAP对比结果。作者报告了YOLOv5在LISA上的结果。其余结果类似,可在https://tigaug.github.io/查阅。

picture.image

首先,在原始测试数据集(即0)上,使用所有增强训练数据集一起重新训练的模型比原始模型具有稍高的mAP。其次,在所有增强测试数据集(即ALL)上,使用所有增强训练数据集一起重新训练的模型的mAP达到0.608,比原始模型的mAP显著提高了46.2%。第三,在由12种变换(即

)生成的增强测试数据集上,重新训练的模型取得了巨大改进。特别是,使用所有增强训练数据集一起重新训练的模型,其mAP大多比使用一种类型增强训练数据集重新训练的模型稍高。

。重新训练的模型在原始测试数据集上实现了与原始模型相似的mAP,但在增强测试数据集上,其mAP显著高于原始模型(即高出67.5%)。RT对提升原始模型性能的贡献最大。使用所有变换的重新训练模型比仅使用一种变换的重新训练模型表现更好。因此,TigAug通过提供增强数据进行重新训练,有效提升了模型性能。

3.5. 效率评估 (RQ3)

作者首先测量了转换的时间成本。通常,T1GAug在24项转换任务中的22项上耗时少于10小时,除了两项,即LISA上的CC和LISA上的SC,每项耗时约30小时。总共,T1GAug花费137小时生成24个增强数据集。平均而言,合成一张图像需要0.88秒。极端情况下,通过CC合成一张图像最多需要3.03秒。

然后,作者进一步分析了模型再训练的时间成本。作者针对LISA和Bosch数据集的每种数据转换(共12种)测量了每个模型的平均再训练时间。作者还测量了原始模型的训练时间以供比较。YOLOv5的再训练时间最短,不到10小时,而使用增强的LISA训练数据集的Faster R-CNN的再训练时间最长,超过30小时。使用增强的Bosch训练数据集时,这一结果同样成立。此外,再训练平均比训练原始模型多耗时12.35%。总共,使用原始数据集训练8个原始模型,并使用增强数据集再训练96个模型,需要1464小时。平均而言,使用一种类型的数据转换来提升性能,TiGAuG再训练一个模型需要14小时。

当使用所有转换一起重新训练模型时,平均重新训练时间增加到36小时。请注意,作者在网站 https://tigaug.github.io/ 上提供了转换和重新训练的详细时间成本。T1GAuG平均需要0.88秒合成一张图像,分别需要14小时和36小时通过一次变换和所有变换来重新训练模型。鉴于其在检测错误行为和提高模型性能方面的有效性,时间成本是可以接受的。

3.6. 质量评估 (RQ4)

非自然图像的数量和百分比。作者通过图8中所示的变换,报告了每个增强数据集中非自然图像(在作者的手动分析中识别出)的数量和百分比。具体而言,TiGAuG通过五种变换(即RN、OE、UE、MB和SC)生成的非自然图像数量最少。通过这些变换增强的图像中,不到10%被认为是非自然的。对于其余的变换,非自然图像的百分比在32%到56%之间。平均而言,每种变换合成的图像中有27.9%被认为是非自然的。因此,由于移除了非自然图像,清理后的增强测试图像数量比原始测试图像数量减少了1.3%到56.2%。考虑到有6,166张原始测试图像,清理后的增强测试数据集仍然被认为是足够的。

picture.image

非自然图像的影响。图9展示了原始模型(即红色条形)、在RQ2中使用单次转换的重新训练模型(未移除非自然数据,即蓝色条形)以及在原始数据集中移除非自然数据后使用单次转换的重新训练模型(即黄色条形)在原始

测试数据集上的mAP比较结果。通常,这三种模型实现了相似的mAP,表明这些非自然数据不会影响模型在原始真实世界数据上的检测能力。

picture.image

此外,类似于图9,图10报告了这三种模型在增强LISA测试数据集(用

符号表示,例如RN

)以及清洗后的增强LISA测试数据集(用''符号表示,例如RN-)上的mAP比较结果。首先,原始模型在移除非自然数据后mAP的下降幅度较小。这是合理的,因为原始模型并未使用此类非自然数据进行训练。其次,在增强测试数据集上,未移除非自然数据的重新训练模型在大多数情况下mAP略高于未移除非自然数据的重新训练模型;即蓝色条形图大多高于黄色条形图。因此,未移除非自然数据的重新训练模型似乎更鲁棒。第三,在清洗后的增强测试数据集上,未移除非自然数据的重新训练模型在大多数情况下mAP与未移除非自然数据的重新训练模型相似。这表明使用这些非自然数据进行重新训练不会影响模型在自然数据上的能力。

picture.image

请注意,此处作者仅报告了YOLOv5的结果。YOLOX的结果相似,可在作者的网站https://tigaug.github.io/获取。

。27.9%的合成图像被认定为非自然图像。然而,如果使用这些非自然数据进行再训练,当所有增强训练数据集一起用于再训练时,它们不会影响模型在原始真实数据和增强自然数据上的能力。

3.7. 有效性的威胁

数据集选择。不同数据集中驾驶环境的质量和差异对有效性构成威胁。为此,作者选择了两个广受研究界关注的知名数据集,即LISA和Bosch [35, 36, 37]。这些数据集在真实世界环境中采集,涵盖不同的光照和天气条件,包含超过10k张图像和20k个标注的交通灯。因此,这两个数据集覆盖了广泛的驾驶环境范围。作者相信作者的评估结果可以推广到其他数据集。

模型选择。不同交通信号检测模型之间的性能差异影响其有效性。为此,作者选择了YOLOv5、YOLOX、Faster R-CNN和

以多样化模型并评估作者的结果。这些模型在自动驾驶系统研究界被广泛使用[38, 39, 40, 37, 41]。作者从这四个模型中获得了稳定的结果,表明它们可以推广到其他模型。

变换。作者针对生成尽可能逼真的道路场景交通灯图像,设计和实现了12种变换。除了传统的天气条件考虑外,作者还设计了新的变换,如通过精心设计改变交通灯的颜色、位置和类型。例如,为了使生成的图像更接近真实情况,作者在改变交通灯位置时仅移动微小距离,确保交通灯仍然位于灯柱上,而不是其他不合理的位置。通过旋转交通灯,作者将原本垂直的交通灯变换为水平交通灯,作者认为这在现实生活中具有实际意义。由于作者的精心设计,作者相信作者的变换是新颖且合理的。此外,每种变换中的参数配置是经验性地设置的,以合成更自然的图像。因此,作者的评估结果可能无法推广到其他参数配置。作者计划持续扩大作者的变换集。

自然性。在计算机视觉文献中,合成图像的“自然性”通过一些指标进行测量,这些指标通过比较合成图像及其对应的原始图像来评估,例如结构相似性指数度量(SSIM)[43]、学习感知图像块相似性(LPIPS)[44]和方向梯度直方图(HOG)[45]。然而,这些指标用于测量合成图像与原始图像之间的距离,假设合成图像与原始图像越相似,其自然性就越高。这与作者的工作不符,因为作者可能大幅改变原始图像,但这并不意味着作者生成的图像是不自然的。在变换过程中,作者考虑了交通信号灯的语义关系(即在CC和RT中)。在改变交通信号灯位置时,作者也施加了某些约束(即在MP和AD中)。然而,仍然可能存在不自然的图像。因此,作者设计了RQ4来手动排除不自然的图像,并进一步研究它们的影响。作者招募了三名未被告知作者所应用变换的参与者。作者仅向他们提供作者的合成图像,并要求他们判断这些图像是否自然。作者发现,SW和FG合成的许多不自然图像是由于使交通信号灯变得不可见。即使是人类也无法识别交通信号灯,对模型来说似乎也没有检测的必要。对于LF,大多数合成的不自然图像是由于在夜间图像中添加了镜头眩光。作者计划改进LF,使其不增强夜间图像。对于CC、MP、AD和RT,其合成图像的不自然性是由过大的真实边界框引起的,这导致融合步骤产生不自然性。此外,作者发现不自然的图像似乎不影响模型对自然数据的检测能力。因此,作者相信TigAug的增强能力是有用的。研究不自然数据与不良数据之间的相关性是很有趣的。

  1. 相关工作

测试自动驾驶系统。测试已被认为是自动驾驶系统软件工程中的一个挑战[46, 47, 48]。基于搜索的测试已被广泛研究,用于寻找自动驾驶系统的安全违规行为[8, 9, 10, 11, 12, 13, 14, 15, 16, 17]。它们通常将测试场景定义为一个包含多个变量的向量(例如,车辆速度),并应用通用算法搜索输入空间,以找到可能违反一组安全要求的测试场景。不同地,Tian等人[49]通过从真实交通轨迹中挖掘有影响力的行为模式来生成安全关键测试场景。

此外,在测试基于深度神经网络(DNN)的模块在自动驾驶系统中的应用方面取得了一些进展。Pei等人[18]设计了一种神经元覆盖引导方法DeepXplore,通过改变光照条件和遮挡物(使用小矩形)来生成驾驶场景图像。Tian等人[19]也设计了一种神经元覆盖引导方法DeepTest,通过更完整的变换集更系统地生成驾驶场景图像。与他们不同,Zhang等人[50]使用生成对抗网络[51]合成具有不同天气条件的驾驶场景图像。为了应对动态变化的驾驶条件,Zhou等人[52]设计了DeepBillboard来生成可以贴在路牌上的对抗性扰动,以误导转向模型。为了测试目标检测模型,Wang和Su[21]以及Shao[20]提出通过向背景图像中插入额外目标来生成驾驶场景图像。为了测试3D目标检测模型,Guo等人[22]对激光雷达点云应用仿射变换和天气变换进行增强。

此外,Gambi等人[53]结合自然语言处理与领域特定本体,从警方报告中自动生成汽车碰撞场景。Secci和Ceccarelli[54]总结了车辆摄像头的潜在失效模式,并生成相应的失效图像以分析其对自动驾驶系统的影响。Deng等人[55]将驾驶记录切分为片段,通过移除冗余来缩短片段长度,并根据驾驶场景特征的覆盖程度对生成的片段进行优先级排序。尽管取得了这些最近的进展,但仍然存在许多测试挑战,以更好地确保自动驾驶系统的安全性[56, 57, 58]。

据作者所知,除Bai等人[28]的研究外,以往的研究均未专注于测试交通信号灯检测模型。在Bai等人研究中,通过 Token 交通信号灯灯泡并按照特定规则将单一颜色(如红色(255,0,0))分配给灯泡来改变交通信号灯的颜色。相反,作者使用HSV来调整交通信号灯的色调,这使得生成的图像更接近真实世界,且无需对交通信号灯灯泡进行额外 Token 。此外,虽然Bai等人通过改变交通信号灯的颜色来生成交通信号灯图像,但作者的研究引入了一套更完整的变换来增强交通信号灯图像。

深度学习的变形测试。由于变形测试[29, 30]能够缓解测试预言机问题,它已被广泛应用于测试自动驾驶系统以外的各种深度学习系统。例如,Dwarakanath等人[59]使用变形测试来识别图像分类器中的实现错误。Sun等人[60]将变异测试与变形测试相结合,以检测机器翻译系统中的不一致错误。Chen等人[61]设计了一种基于属性的方法,通过七种关于不同语言属性的变形关系来验证机器阅读理解系统。Liu等人[62]使用具有基尼不纯度指导的特定于转换的变形关系来测试对话系统。Ji等人[63]基于变形关系引入了三种转换家族,即特征变异、噪声注入和回声模拟,以测试语音识别系统。Yu等人[64]提出了一种变形测试方法来验证图像描述系统。

  1. 结论

作者提出了一种原型工具,名为TiGAug,用于自动增强交通信号图像,以检测错误行为并提高自动驾驶系统(ADSs)中交通信号检测模型的表现。作者进行了大规模实验,以验证TiGAug的有效性和效率。作者的工具源代码和实验数据可在https://zenodo.org/records/8213894获取。

参考

[1]. Graphical Abstract.

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
CV 技术在视频创作中的应用
本次演讲将介绍在拍摄、编辑等场景,我们如何利用 AI 技术赋能创作者;以及基于这些场景,字节跳动积累的领先技术能力。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论