论文解读——When, Where and How Does it Fail? A Spatial-Temporal Visual Analytics Approach for Interpretable Object Detection in Autonomous Driving

这篇论文解读是我加入FDU-VIS的直博考核!

概述

这篇论文探讨了在自动驾驶系统中提高物体检测算法的可解释性的重要性。自动驾驶系统广泛依赖计算机视觉技术来识别外部环境,其中物体检测是理解场景的关键。目前的物体检测算法常表现为“黑盒”,一旦模型出错,开发者难以获知错误的具体时间、地点和原因。为应对这一问题,作者提出了一套视觉分析系统,该系统整合了神经网络的时空信息。

主要贡献包括:

  • 提出一种视觉分析方法,从宏观角度分析时空信息,从微观角度探索CNN的特征。
  • 开发了一个物体检测的视觉分析框架,支持交互式地分析物体检测算法的结果。
  • 设计了一个视觉分析系统,帮助开发者详细解释模型错误发生的时空条件及原因。

引言

主要概括了自动驾驶技术的迅速发展及其带来的挑战,重点讨论了AI算法的黑箱问题和模型开发中的困难——模型经常需要根据结果做微调(炼丹没有梯度),具体怎么调是不知道的。它介绍了可解释性人工智能的研究努力,提出了一种视觉分析系统,整合了空间-时间信息和神经网络特征,以解决模型开发中缺乏上下文信息的挑战。

目前已有一些方法试着把CNN这样的网络结构给可视化了,但是这种可视化只关心了网格本身的架构以及内部信息,但是没有关心外部的输入;作者认为有一部分外部输入也对整个系统影响很大,基于此提出了本文 的创新点,即是现有的方法往往只关注算法本身,而没有考虑算法使用的上下文环境,例如外部环境、车辆状态等。特别是在自动驾驶中,3D物体检测模型对环境和车辆的移动方式非常敏感,模型开发者必须同时考虑模型特性和具体情景中的外部因素。

用大白话讲就是认为神经网络在应用情景下不能只关注方法本身,还需要关注在使用方法时的环境参数。

基于这个点子,作者做出了三项贡献,一是从宏观角度分析时空信息、并从微观角度观察CNN特征,可以独立或是联合地探索这些信息;二是针对自动驾驶提出了一个框架,可视化了物体检测算法的分析结果,且允许交互;三是提供了一个用来解释模型失败的Where When How,辅助研究者高效地改进模型。

(研究)方法总览

首先进行了需求分析,接着根据确定的需求设计了系统,最后通过实际案例验证了系统的有效性。

Q:和我想的不太一样,感觉更侧重于软件工程实践而非数学原理设计,像是一种应用型的研究。

设计需求分析

总览

研究团队在设计需求分析阶段采取了以下步骤:

  1. 行业专家合作
    • 与一位在自动驾驶感知阶段拥有十年经验的行业专家(称为P1)合作,从中获得了第一手的专业信息和见解。
  2. 文献分析
    • 并行地对相关文献进行了深入分析,以验证和补充与P1的交流所得。
  3. 了解模型开发者的工作
    • 结合专家互动和文献分析,初步了解了模型开发者的工作内容,并识别出他们在工作中面临的主要问题。
  4. 系统目标推断
    • 基于对模型开发者的需求的理解,明确了系统设计的目标。
  5. 设计需求的制定和验证
    • 草拟设计需求清单,并邀请P1包括其他三位领域专家进行评审。
    • 根据反馈多次修订后,最终在所有专家的共识下敲定了设计需求。、

完全的需求导向的工程研究,不知道可视化领域是不是更多都做这样的内容。

自动驾驶中的目标检测

这一章对自动驾驶领域的物体检测方法进行了梳理:

  • 自动驾驶领域经常需要对各个对象进行识别和分类,同时需要对结果进行追踪。(实时化的)

  • 输入数据只有一系列的2d图像,输出数据包括物体在屏幕空间和场景空间的坐标、物体类型、遮挡和截断、3D信息、物体角度和检测的置信度。

  • 自动驾驶领域神经网络的内部,每个卷积层之后的输出称为特征图。

  • 基本评估指标主要是GT包围盒和检测包围盒之间的交并比,以及检测的置信度

  • 最终评估指标是不同召回率下的平均精度(AP)

问题形式化定义

作者对问题进行了抽象的表述,制定了从三个角度对物体检测算法的评估的目标,也就是标题的When、Where和How。When代表队特定时间段、时间节点下车辆状态的描述,Where表示车辆的地理位置、道路情况和周围环境,How捕捉了对象是如何被模型检测到的,以及模型提供的数据与证据。

作者认为这些问题同等重要。

数据特征描述

自动驾驶的物体检测技术分为两个不同类的数据,原始数据和模型输出。原始数据包括轨迹(被标记对象的类别、尺寸和位置)、GPS数据(车辆经纬度、速度和行驶数据)、点云(SLAM)和图像(车内摄像机),模型输出包括特征和检测结果,这一过程中模型内部的参数也可以被提取出来。作者把所有这些数据又分类为三类,分别是模型数据、时间数据和空间数据:

  • 模型数据就是输入的图像、模型的特征和检测结果
  • 空间数据包括点云和轨迹片段
  • 时间数据就是GPS提供的车辆状态数据和轨迹片段提供的对象序列。

为什么空间数据不关心GPS数据提供的经纬度?

Guess:经纬度信息并不直接影响输入图像内容本身以及模型基于这些图像生成的检测结果。而图像中物体的检测是基于图像数据进行的,不直接涉及到它们的地理位置。

需求分析验证&最终需求分析

这里花了很大的篇幅描述作者怎样确定的视觉分析系统设计要求,以及邀请的多个专家对这个系统提出了怎样的意见(给了我很强的应用型工程既视感,和以往的研究模式完全不一样)。作者团队甚至根据根据专家意见对项目开发目标进行了多次改进,力求让所有专家都”Acceptable to the design requirements“。可能在这个领域是稀疏平常的事情,但是这下真的见外了。

可视分析设计

根据需求,作者设计了一套可视化分析系统:

(a) 微观解释模块:特征可视化,包括密度图和对象投影;(b) 宏观解释模块:时间可视化,包括自动驾驶车辆状态和对象级别密度图;(c) 宏观解释模块:空间可视化,包括场景和轨迹;(d) 控件用于选择和过滤对象类别、结果和位置。(e) 一个图例,用于参考所有视图,介绍颜色编码。(f) 一个指导示例,用于使用作者的分析工作流

吐槽一下我找f找了好久没找到在哪里。

同时给出了一个探索式的工作流:

模型数据、时间数据和空间数据通过两个模块——微观和宏观分别导入系统,并在三个视图中进行可视化——特征视图、时间视图和空间视图。一个控制面板允许用户进行筛选和选择操作。提供了三种交互方法来支持三个分析要求,并深入了解失败案例中的“When”、“Where”和“How”。探索分布(Explore Distribution)意味着选择控制面板作为概览,并通过筛选探索其他三个视图的细节。发现相关性(Discover Correlation)意味着选择其中一个视图作为概览,然后进一步探索其他两个视图和控制面板的信息。迭代刷选(Iterative Brush)意味着选择两个视图,然后探索另一个和控制面板。

探索分布Example:设置时间轴和空间位置,在其它视图上探索详细细节

发现相关性Example:选择一个特定空间区域,查看该区域在时间视图上的表现

迭代刷Example:(说实话这个没太理解)选一个一个特定时间和特定地点,筛选特征视图中的相应数据。

接下来,作者先后介绍了模型特征数据的可视化和时空数据的可视化。

微观视角:模型特征可视化

这一部分主要集中于对CNN模型的特征可视化。隐藏在模型中的特征信息由密度图(Density Map)和物体投影(Object Projection)呈现。

从图上看物体投影似乎是投影到俯视图上。

特征处理

隐藏在神经网络每一层背后的特征信息是十分抽象的,研究者很难从大量的数据中得到有效内容。为了解决这个问题,作者开发了分别处于图像层级和物体层级的可视化方法来处理模型中的特征,并据此获取密度图和物体投影。

  • 图像层级处理:基于已有的一些研究,作者使用了一种简单高效的方法来可视化从网格中提取的区分性特征,即,直接使用最后一个卷积层的特征图,并对特征图沿通道做了全局的平均池化。

    密度图的生成方式:对于输入进神经网络的大小为h*w的图像,我们提取最终卷积层的大小为h’*w’*c’的特征图,其中c’为通道数。随后对各通道取平均,得到灰度图,并将灰度图用插值的形式恢复到h*w的大小,此时我们就得到了单通道的灰度图。随后我们将其归一化,并映射到特定的颜色空间,就得到了密度图。

  • 物体层级处理:从图像大小的特征图中选取了一个区域,把它们缩放到同样的ho*wo尺寸,这在对象提取层被命名为对象级特征图,并将它们重塑为一维向量,用于在对象投影中进行 t-SNE 投影(图1-a2)。

t-SNE一般用于降维度,为什么这里会用到t-SNE投影?

特征视图
  • 密度图

    作者认为,原始图像、密度图和物体投影回答了文章所提出的问题中的“How”。

    密度图的结果:在自动驾驶中,边界框通常使用绿色来表示标记的结果,红色来表示预测的结果。如图所示,左图中有五个对象被绿色边界框标记,但只有三个对象的红色边界框与密度图中高边缘激活值和低内部激活值的三个部分一致。在右图中,两个对象的检测与两个激活区域的部分一致。全局区分性密度图突出了富含语义信息的区域。通过这种可视化方法,开发者可以识别那些对象的语义信息未被很好捕捉的失败案例。为了避免分散用户的注意力,并使系统的颜色设计更加协调,作者选择了灰度色阶。

    1

    左图中,密度图在五个物体的识别中指示了其中三个物体,与实际的检测情况一致;右图中则正确显示了两个物体检测结果的密度,实验结果说明密度图确实可以很好地指示卷积层训练的结果。

  • 对象投影

    在对象投影中,作者用红到绿的颜色来标识对物体检测的表现,还有一种灰色点,表示这些物体直接被忽略了。对于在当前视图里被选中的对象,作者中橙色进了描边;对于其它视图选中的对象,使用蓝色描边;对于两者的交集,则使用黄色描边。 作者认为物体投影进一步回答了How的问题。

对象投影的直观程度能否进一步加深?能否直接构造一个三维空间,并在三维空间中显示这些内容?

宏观视角:时空数据可视化


论文解读——When, Where and How Does it Fail? A Spatial-Temporal Visual Analytics Approach for Interpretable Object Detection in Autonomous Driving
https://tridiamond.tech/post/readWWH.html
作者
想变成一只白泽
发布于
2024年4月26日
许可协议