本文主要是介绍Scene Understanding for Autonomous Driving Using Visual Question Answering,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
摘要
本文研究了dot-products存在于自我注意机制作为自动驾驶的可解释性技术的可行性。一个视觉问题识别(VQA)框架实现了三种类型的问题有关的道路标志和交通灯的存在或不存在。该模型进行评估的编码单模态和多模态编码:标准版本和修改版本的学习跨模态编码器表示从变压器(LXMERT)框架。我们提出的两个模型架构的问答任务的数值结果,与整体准确率分别为79.7%和78.5%,整体F1分数分别为0.749和0.693。此外,我们表明,这些问题,尽管包含和询问没有信息的对象的位置,间接调整模型,使自我注意dot-products提供风景的理解问题的视觉地图的形式。模型输出的池化选择和可视化地图的绘制参数影响可视化的可靠性和准确性。最后,论证了这种方法对自动驾驶的好处。
索引术语-场景理解、自动驾驶、视觉提问
1.介绍
自动驾驶是一个快速发展的领域,有可能彻底改变交通运输。然而,自动驾驶汽车的决策过程可能是不透明和容易出错的,正如近年来发生的几起事故所证明的那样[22],[26]。由于自动驾驶任务涉及的高安全要求和高风险成本,可解释人工智能(XAI)正在成为自动驾驶最重要的组成部分之一,因为它旨在了解模型的决策过程。从机器学习模型中获得解释的一种方法是让它回答关于它用来做出决策的元素的问题。视觉问答(VQA)[1]旨在根据图像中存在的对象或主题提供问题的答案,也称为查询。VQA的挑战是捕获准确的语言和图像语义,同时对齐它们的相应部分,这对于图像推理和场景理解至关重要。这项工作研究了VQA技术在自动驾驶领域的应用,以便使用Transformer架构提取有意义的可视化和解释。
现有的与自动驾驶相关的VQA数据集很少,特别是与场景理解相关的数据集。因此,我们基于BDD 100K数据集生成新的交通信号灯和交通标志注释[28]。这些对于自动驾驶行为和决策更为关键。回答任务使用基于transformer的模型进行监督训练[24],其自我注意机制提供了一种更直观的方式来融合不同模态的特征。此外,从Transformer中提取的注意力热图允许视觉可解释性,并提供对网络决策过程的洞察。通过分析这些不同模态的热图,我们可以更清楚地了解网络如何达到其输出响应,以及它是否真正理解输入图像场景。
2.相关工作
计算机视觉中的场景理解旨在提供环境的结构化高级表示,其中包括2D语义分割和各种3D任务[18],[20]。在自动驾驶的背景下,场景理解涉及识别物体和周围环境,以及解释自我汽车的行为[12],[25]。
与纯文本问题回答[15]或语言基础[13]不同,VQA旨在回答与视觉输入相关的问题[1],[9],[16],[27]。在[2]中创建了自动驾驶背景下基于图像集的VQA数据集,并采用了从Transformers学习跨模态编码器表示(LXMERT)框架[21]来回答预测。点云LIDAR数据用于回答[14]中自动驾驶的基于定位的问题。此外,XAI [3]是自动驾驶中的一个关键主题,在该领域有一些与基于transformer的注意力相关的工作[4],[10]。我们还在问题和输入图像之间采用了基于transformer的注意力,以获得更好的可解释性。
问题部分如何影响最终答案是VQA任务中的一个关键问题。在[23]中研究了不相关问题的问题,它解决了图像与问题中提到的主题或对象不匹配的情况。类似地,[19]将问题分为三类-非视觉,视觉假前提和视觉真前提-旨在减少产生无意义答案的风险。然而,正如[29]中所指出的,在一些最先进的VQA模型中缺乏高级逻辑推理,这可能是由于利用了VQA数据集中的偏差[7],[30]。因此,我们的论文集中在一个特定的任务设计,涉及到生成多个反问题的一个给定的事实。我们的目标是确保VQA模型需要平等地理解问题和图像,没有任何偏见。
3.方法
A. Problem Formulation
VQA的任务是在给定视觉输入V的情况下预测与图像相关的问题Q的答案A。这可以表示为A = f(V,Q)。视觉输入通常是图像V ∈ Rh×w×c,问题Q是lQ个令牌的序列。输出答案可以是类别或文本的形式,但在我们的特定任务中,我们只关心yes-no问题,因此答案可以表示为二进制标签{0,1}。如图1所示,VQA任务是用监督学习训练的,同时我们还生成了直观的热图,以实现视觉可解释性。
图1:我们的管道由三个部分组成,数据集生成,监督表示学习和自我解释的热图生成。
B. Task Design and Dataset Generation
如相关工作中所述,在自动驾驶的背景下,用于场景理解的VQA数据集很少。神经网络可以被认为是通用函数逼近器[11],并且可以在具有封闭问答对集合的特定VQA训练数据集上实现完美的结果,但泛化是困难的。因此,在设计VQA任务时,确保答案同时依赖于图像和输入问题,并具有泛化的潜力至关重要,这样我们就可以获得更多关于网络如何做出决策或回答问题的见解或解释。为了确保文本信息是必不可少的,我们建议提出询问是否存在一类对象的问题。交通信号灯和交通标志由于其在驾驶环境中的重要性而被选择为感兴趣的对象。为了提高模型的鲁棒性,还设计了所谓的反问题,即询问对象不存在的可能性。在本文中,查询类别1、2和3分别指针对红色交通灯、绿色交通灯和道路标志的问题和反问题。数据集中的问题和反问题的完整列表见表I,包括17个问题和10个反问题。
对于我们的定制数据集,从BDD 100 K中随机选择了2000个视频[28]。这些视频分为三个子集:1250用于训练,250用于验证,500用于测试。从每个20-40秒长的视频中,我们随机选择两个图像帧。最终,训练分割包含2500个图像样本,其中498个包含红色交通灯,656个绿色交通灯和1469个路标。数据集中的所有图像都被标记为0或1,其中0表示不存在某些先前提到的对象,1表示它们存在。对于反问题,我们可以反转相应查询类别的标签。因此,我们的新数据集包含4000个带注释的图像样本,可以与上述27个问题配对,形成更多不同的训练对。
C. Model Architecture and Pipeline
图1显示了我们模型的工作流程。对于给定的输入图像,可以随机选择表I中提出的任何问题作为模型输入,这给训练对带来了相当大的增强。在我们的任务中,我们将输入的问题编码成嵌入Q ∈ R(lQ×dQ)的语言。Mask R-CNN对象检测算法[8]应用于输入图像,并提出k个潜在的感兴趣对象。因此,图1中的视觉编码器的输入是V ∈ Rk×(dV+4),其包含k个边界框。这里dQ、dV是指每个特征嵌入维度,而数字4表示边界框的位置信息。LXMERT框架[21]用于执行跨模态特征融合。它由三个主要编码器组成:语言编码器,视觉编码器和跨模态编码器。在跨模态编码层中,在最后一个编码层中探测交叉注意力模块以提取用于生成可视化的注意力分数。
跨模态编码器由两个分支组成:语言分支和视觉分支。然后,两个分支的输出通过一个只选择基本信息的“POSTRANGE”。最后,一个回答头预测最终的答案,这是使用二进制分类损失函数训练。与原始的LXMERT算法和预测头不同,我们提出了一个修改后的版本,如图2所示。LXMERT基线算法仅依赖于语言分支的输出,并且仅考虑CLS令牌(一个额外的可学习令牌[5])来生成最终答案,而忽略了两个不同分支的特征融合。我们提出了一个替代方案,如图2所示,它处理来自语言和视觉分支的信息。这种方法允许对所有可用信息进行平均并发送到预测头而没有任何损失,从而提高模型的性能。
图2:基线方案(左)与拟议方案(右)的比较。
D. Self-explanatory Heatmap Generation
表示学习通过执行VQA任务通过监督学习完成。学习过程使模型能够在语言和视觉领域获得有价值的特征和表示,以完成VQA任务。一旦学习,模型参数被分析,以更好地理解其内部表示。注意力分数仅从跨模态编码器的语言分支提取,因为它们提供更准确的见解。我们取语言特征zlanguage ∈R^(lQ×d)和视觉特征z vision ∈ R^(k×d)的点积,这导致注意力机制[24]:
矩阵Wq,Wk ∈ R^(d×d′)将矩阵zlanguage,zvision变换到目标嵌入空间.(1)中的dot product具有几何解释,其测量两个向量的相似性。
这里我们也采用了多中心注意,但是把所有的注意中心都加起来,考虑了所有的词-宾语对。图3表示出了针对一个示例图像问题对生成的注意力分数矩阵。通过选择与答案预测相关的对象并在原始图像上绘制其边界框来构建可视化。为了执行该选择,使用两种注意力分数池化策略,其被称为“池化模式”。第一种模式称为“CLS池化”,只考虑CLS令牌中元素的幅度。该模式非常适合LXMERT基线模型。第二种模式称为“求和池”,涉及将矩阵的行相加在一起,不包括第一行。该模式用于所提出的模型。池化操作会产生一个k维向量(k表示建议的边界框的数量),然后将其可视化为条形图而不是热图。图4示出了两种方法之间的差异。在条形图中,与答案相关的对象具有高振幅值,而不相关的对象具有低振幅值。如图1所示,我们采用一种称为DBSCAN [6]的聚类算法来过滤出最相关的目标对象。在第四节B中可以看到更多的可视化。
图3:一个示例图像问题对的注意力得分矩阵。顶部:LXMERT基线模型,底部:我们提出的模型。
图4:两种合并模式的可视化。顶行:CLS合并和总和合并,底行:条形图可视化。
4.实验和结果
A. Numerical Evaluation of VQA
表II总结了VQA任务的两种模型响应的数值分析。Co-Acc代表组合准确性,并指示同时正确回答所有三个查询类别的问题的频率。请注意,这些评估结果仅考虑模型答案的准确性。在接下来的两个小节中给出了可视化质量的定量和定性评估。
与验证分割相比,这两个模型在测试分割上的性能略差,表明模型对训练和验证数据有轻微的过拟合。两个分割之间的性能平均绝对下降是0.049的准确性得分(不包括组合准确性)和0.1的F1得分,两个模型都考虑。
在验证和测试分割方面,所提出的模型总体上优于基线。当在所有测试场景上进行评估时,所提出的模型实现了79.7%的准确度,而基线的准确度为78.5%。此外,前者的F1得分为74.9%,而后者为69.3%,表明对概率的修改提高了模型正确标记阳性病例的能力。所有三个场景的组合准确度证实了这一观察结果,建议模型和基线模型分别为50%和47.8%。
结果表明,红色交通灯的检测提出了一个挑战,因为它表现出较低的F1分数比其他两个类别时,独立评估。表现不佳的主要原因之一是红色交通灯与其他类似物体的相似性,例如汽车尾灯,这在夜景中很常见。模型很难区分这两个不同的对象,导致F1得分较低。另一个原因可能是与训练数据集中的绿色交通灯和道路标志相比,红色交通灯的正样本数量较少,因为较高数量的正样本通常导致更好的泛化。
B. Visual Interpretability
在本节中,我们分析了模型选择有意义的对象来回答所提出的问题的能力,并比较了所提出的模型与基线模型的可视化质量。在图5和图6中示出了针对两个不同的查询类别的由所提出的模型构造的可视化。
图5:检测绿色交通灯任务的可视化。并非所有感兴趣的对象都被检索,并且另外绘制了错误的绿色餐厅灯。
图6:检测路标任务的可视化。大多数,但不是所有的感兴趣的对象被检索。
对于图5中的输入图像,识别了大多数相关的交通灯,缺少一些相关的交通灯。还标记了属于餐厅灯的一个错误边界框。这个例子提供了进一步的证据,区分感兴趣的对象和相似的外观,不相关的对象仍然是一个困难的任务,在这项研究中提出的模型。
图6示出了另一个示例,其中选择了大多数但不是全部的相关道路标志,并且没有发现误报。通常,由于驾驶场景中经常存在大量道路标志,因此模型不会检测并绘制所有道路标志。
图7:针对不同问题在相同图像样本上针对所提出的模型和基线模型获得的可视化的比较。
图7中示出了所提出的模型和基线模型之间的可视化性能的直接比较。选择该图像是因为它包含与所有三个查询类别相关的对象。我们可以看到,所提出的模型能够识别一个红灯,但未能检测到其他四个红灯(见图7a)。此外,模型错误地将左侧汽车的尾灯识别为与答案相关。挡风玻璃的边界框特别值得注意,因为它与回答这个问题无关。另一方面,基准模型无法正确定位任何红色交通灯,而是给出了两个大区域,分别包含两个和一个交通灯。
图7 b示出了三个交通灯中的两个绿色交通灯被检索。基线模型和建议模型都突出显示相同的对象。
当查询道路标志时,所提出的模型发现几乎所有可见的标志(参见图7c),但它也错误地标记了红色交通灯。相比之下,基线模型无法识别该图像中的任何道路标志。
C. Numerical Evaluation of Attention Alignment
到目前为止,我们已经证明了我们提出的模型和基线模型在VQA任务中的性能,并定性地比较了生成的可视化。为了定量地确保空间注意力可视化突出显示正确的对象,需要对这些边界框进行地面实况注释。为此,我们从测试集中随机选择了100个图像样本,并根据三个查询类别为每个图像手动标记了100个边界框,总共有30000个注释。这个注释过程使我们能够获得可视化生成过程的性能的数值结果,可以在表III中找到。
所提出的模型实现了0.555的F1分数,0.777的精度和0.432的召回率。换句话说,在选择算法检索到的所有对象中,77.7%实际上与输出相关,在测试分割中的所有相关对象中,43.2%被算法选择。基线模型在使用CLS合并模式时表现最好,F1得分为0.118,精确度为0.427,测试分割的召回率为0.078。这意味着只有不到一半的检索对象实际上与输出相关,并且在测试分割中的所有相关对象中,只有7.8%被算法选中,这表明所提出的模型在所有三个指标上都大大优于基线模型。虽然建议和基线模型在问答任务中取得了高性能的分数,建议的模型优于基线模型的视觉可解释性,最有可能是由于诱导的重点放在词-对象的关系,而不是词-对象的关系。本文中描述的管道获得的可视化高度依赖于模型架构,VQA任务的设计,以及选择算法及其参数的选择。无法产生有意义的可视化可能有几个原因:
缺乏对问题的依赖性可能表明任务设计有缺陷,或者可能是由于模型无法捕捉问题的语义而导致的;
·具有不正确对象的可视化可能是由于模型的语言、视觉或跨模态编码器中的语义的不正确计算或匹配,或者由于对象选择算法的参数的错误选择。
5.总结
这项工作演示了如何将基于transformer的VQA模型应用于自动驾驶中的场景理解。我们的模型在与交通标志和交通灯相关的问题和反问题的自定义数据集上进行训练,通过回答问题和突出显示场景中感兴趣的对象,为用户提供了有价值的事后解释能力。考虑到训练数据的数量,它在给定的任务上表现出显着的性能,并且有可能扩展更多的注释来处理更复杂的推理任务。
这篇关于Scene Understanding for Autonomous Driving Using Visual Question Answering的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!