A Deep Learning based Radar and Camera Sensor Fusion Architecture for Object Detection
Lyndon Wong

论文笔记,原创内容;未经许可,请勿转载

Abstract

利用深度学习的方法进行图像数据的目标检测在近些年来已经表现的非常成功了。不断提高的识别率和更高效的网络结构把这些技术推向了在量产车型上的应用。然而,图像传感器的质量受到恶劣天气条件的限制,并且传感器噪声会随着弱光环境和夜间环境而增大。我们的方法通过将相机数据和投影的稀疏雷达数据在网络层相互融合,强化了现有的2D目标检测网络。该CameraRadarFusionNet (CRF-Net) 能够在最有利于提升融合结构的融合层次进行自主学习。除此之外,我们采用了___BlackIn___,一种由Dropout提出的训练策略,它可以使得将学习过程聚焦到某一个具体的传感器类别上。我们的结果显示该融合网络可以在两种不同的数据集上性能超越目前最先进的只基于图像的网络。该研究的代码可以向公众开放,位于:https://github.com/TUMFTM/CameraRadarFusionNet

  • why?:image-only的融合方法受到天气,环境光的影响大
  • how?: 神经网络 :1. 融合雷达和相机数据 2. 自动学习融合层深度 3.BlackIn
  • result?:两种不同数据集上面成功超越现有image-only的网络

Introduction

P1:问题引出

雨天相机遮挡、弱光、夜间环境会影响相机感知效果,从而影响自动驾驶的安全性。

P2:本文解决问题的方法

为了解决这个问题,本文研究了用神经网络融合雷达和摄像机传感器数据的方法。该方法能够更可靠地检测nuScenes数据集和为本研究创建的TUM数据集中的目标。此外,我们还展示了我们的融合网络的局限性和未来的发展方向。

雷达:直接获取目标的距离和径向速度信息。它能够在与地面平行的二维平面上定位物体。与相机相比,雷达传感器无法获得高度信息。

P3:文章的内容结构

  • 第二节:讨论了目标检测和传感器融合的相关方法。
  • 第三节:描述了我们在将雷达数据融合到网络之前对其进行预处理的方法。
  • 第四节:继续描述网络架构。
  • 第五节:对该方法进行评估和讨论。
  • 第六节:结论

Related Work

P1 :卷积神经网络的发展

  • [4]: 第一个成功将卷积神经网络应用于图像分类的公司
  • [5][6]: 用于分类的神经网络结构被增强以执行额外的任务,如目标检测和语义分割
  • [7]: 实际应用中,单镜头结构(single shot architectures)已经被证明在保持合理低计算时间的情况下执行准确
  • [8]-[11]: 近年来,人们又提出了新的特征提取体系结构,将其应用于特定的元体系结构中,可以提高目标检测的性能。
  • [12][13]: 最近的研究又出现了了自动调参(auto-tune)和初始神经网络结构设计,以增加检测性能或者减少运行时间,(在不明显影响检测性能表现的情况下)

P2:激光雷达融合的发展

  • [14]: 将激光雷达数据进行[^鸟类视觉投影]到2d地面,并且将相机数据与之结合以进行3d目标检测。

  • [15]: 将激光雷达分别投影到地面和垂直图像平面,然后将两者和相机数据结合在一个神经网络中进行融合。

  • [16]: 将激光雷达和相机数据在一个神经网络中进行融合来进行可行驶路段的分割。这些分支之间的互连是可训练的,这样在训练过程中,网络就可以在网络中学习到一个优化的深度级别,以便进行数据融合。

  • [17]: 利用了和[16]相似的融合方式但是对于激光雷达和相机同时应用了[^鸟类视觉投影]

P3-5:雷达融合的发展

  • [18]: 使用雷达探测在相机图像中创建感兴趣的区域,以便用一个简单的神经网络在这些区域分类对象。
  • [19]-[22]: 一系列利用雷达来得到目标检测的感兴趣区域的相似方法
  • [24]: 融合每个传感器的独立跟踪检测,以产生一个包含两个传感器读数的最终位置估计。
  • [25]: 提出了一种深度学习方法与生成对抗网络(GANs)融合相机数据和雷达数据,合并到一个2D鸟瞰图网格图,以执行自由空间检测(free space detection)。
  • [26]:给出了传感器融合的深度学习方法的概览。他们指出原始数据层的相机数据和雷达数据很少被考虑,这方面的研究应该需要进一步进行。
  • [27]:将低空雷达数据投影到垂直于道路的摄像机图像平面上,提出一种与摄像机图像融合的神经网络。他们使用距离和距离率的雷达作为额外的图像通道。 该论文提出了两种传感器的融合策略:
    • 一种是在初始分离层之后在固定层上进行合并(concatenation).
    • 一种是在初始分离层之后在固定层上进行元素方式的添加(element-wise addition).

P6: 本文的工作及方法

  • 用了一个类似于[27]中的投影方法将雷达数据投影到相机图像的垂直面上当进行融合

  • 提出了一个融合网络,它可以使得融合结果最有利于减少网络损失的情况下进行学习。

  • 在图像空间中操作2D真实标注(ground truth)数据,与3D标签相比,这大大方便了训练数据的生成。

P7:对运动目标滤波的说明

  • 由于有范围测量,通过雷达数据可以将运动的物体和环境区分开。对于某些实际应用,例如自适应巡航驾驶(Adaptive Cruise Control, AAC),其对运动的物体进行了滤波以减少错误的雷达回波。同时,重要的静止物体,例如,停在红绿灯前面的车辆也被过滤了出来。在这篇文章中没有对运动目标进行滤波,所以我们可以同时检测到运动和静止的交通目标。

RADAR DATA PREPROCESSING

P1:雷达数据处理总述

雷达数据的处理主要有四点问题

  • 雷达和相机数据的空间校准
  • 如何应对雷达回波丢失的高度信息
  • 如何应对雷达数据的稀疏性
  • 真实标注信息滤波(ground-truth filtering, GF)方法来消除雷达数据的噪声和杂波

P2: 雷达和相机数据空间校准

雷达输出的是具有雷达性质的2D-稀疏-点云信息,本工作中应用的雷达信息主要有方位角距离雷达散射截面(radar cross section, RCS)。我们将雷达信息从2D地面平面转换到了图像面的垂直面上。雷达回波信息被在扩维图像(augmented image)上面被保存为像素。无雷达回波的位置上,投影的雷达通道值的像素被标记为0。输入的相机图片信息包含三通道(红,绿,蓝);我们将先前提到的雷达通道作为神经网络的输入。在我们的数据集中,三个雷达的the field of view(FOV)和前视鱼眼相机的FOV重合。我们将三个雷达点云信息合并到一个中去,然后利用这个作为投影雷达输入信息源。投影的算法不尽相同,例如nuScenes利用70°FOV相机,但是TUM利用180°FOV鱼眼相机。在nuScenes中,提供了摄像机内外映射矩阵,用于将点从世界坐标转换为图像坐标。而鱼眼透镜的非线性不能用线性矩阵运算来映射。我们使用[28]提供的校准方法将世界坐标映射到我们自己的图像坐标。

总结重点:

  • 三个雷达点云信息合并为一个,作为雷达信息源
  • 雷达信息源投影到图像平面上
  • 鱼眼相机的世界坐标投影到图像坐标上
  • 投影雷达数据作为图像信息的扩维,无回波的地方像素就为0

P3: 应对雷达高度信息缺失

  • 首先考虑到我们检测的目标主要是车,卡车,摩托车,自行车和行人

  • 我们假设了雷达得到的回波点的高度都是3m,以覆盖这些目标的高度

  • 然后这个高度线也作为像素投影到了图像平面

P4: 应对雷达信息的稀疏性

  • nuScene中激光雷达一次返回约14000点(相同水平张角下)[29], 这大概等同于雷达每周期探测57次的信息量.
  • 为了解决稀疏性问题,[25]利用了概率网格图(probabilistic grid maps)来获得雷达的连续性信息.
  • 我们通过融合最后13次雷达周期(约1s)的图像来提高雷达数据的密度.
  • 在这个方法中,我们补偿了自身运动(Ego-motion),但是目标车辆的运动无法补偿
  • 这种方法也增加了噪声,因为前一时刻对移动目标的检测与当前目标物体的位置不一致.但是为了增加额外信息,这个缺点是可以忍受的.
  • 下图展示了神经网络的输入数据的形式,雷达数据(距离和RCS)被标记在相同位置所以这里有均匀的颜色
    image-20201027020717937

P5: 雷达数据的滤波

雷达回波会返回需要与目标无关的检测信息,例如幽灵目标,无关目标和地面检测. 这些检测信息就是所说的噪声或杂波。在评价中,我们比较了融合原始雷达数据和利用两种额外滤波方法的雷达数据融合的效果。首先在nuScene中,只有一些标记目标被雷达检测到。在训练和估计中,我们因此实施了一种注解标注滤波器annotation filter,AF),这样经过滤波后的真实标注信息只包含至少同时被雷达点检测到的目标。这种方法对于可能被两种模式检测到的目标能发挥它的潜力。第二,我们采用了真实标注信息滤波器ground-truth filter来移除3D真实标注信息边界外的雷达探测点。当然,这个步骤如果实际场景是无法进行的。本文的目的是在输入信号杂波较少的情况下,证明融合概念的普遍可行性。经过雷达滤波后的图像在图像2b中被展示。注意,**GRF(ground-truth radar filter)**并没有输出完美的雷达数据,其中滤掉了部分数据的相关检测,原因有四:…(总结中有)

image-20201027022608947

总结:

  • 两种滤波器:
    • AF:过滤没有同时被雷达数据检测到的目标
    • GRF:过滤超出真实标注边界的目标
  • 滤波无法输出完美雷达数据的四点原因:
    • 没有对运动目标的补偿。雷达探测频率2Hz,探测周期中间的目标可能就消失了
    • 雷达数据和相机数据具有轻微的空间错校准
    • 雷达数据和相机数据不是刚好都是同一时间产生的
    • 虽然雷达距离测量非常可靠,但其测量并不完美,轻微的误差就会导致探测落在真实标注边界之外。在图2b中可以看到对部分相关数据进行了无意的过滤

NETWORK FUSION ARCHITECTURE

P1: 训练网络

我们的神经网络架构建立在 RetinaNet[30]上 ,其中实现了一个[^VGG]的backbone[31][11]。这个网络被扩展以处理扩维图像的额外的雷达通道。网络的输出是边界盒(bounding box)的坐标系和分类分数的2D回归。该网络利用焦损失(focal loss)[30]进行训练。我们的基本方法是在第一个卷积层利用[^VGG]特征提取器

P2: 雷达数据的特征提取和融合网络

  • 为什么不能直接融合(在第一层就开始融合)?

雷达投影数据中的像素与图像数据中的像素意义是不同的,前者代表了目标的距离,对于驾驶任务更为相关。如果要直接融合这两种数据,我们需要假设他们是语义近似的;然而,由于上一点的原因,我们显然难以做出这种假设!

  • 那如何融合?

在神经网络的更深层,输入数据被压缩为更密的形式,这种形式理想上包含所有相关的输入信息。即然我们无法确定两种传感器类型的信息的抽象层次,我们将网络设计为自主学习在哪种层次进行融合最有利于减少全局损失的形式。

image-20201027030428076

  • 网络介绍
    • 相机和雷达数据在顶排被输送给该网络。
    • 在左侧,原始雷达数据通过[^max-pooling]来改变尺寸以送进更深的网络层。
    • 雷达数据被合并到前一级融合网络层的主要分支上
    • 特征金字塔网络(Feature Pyramid Network, FPN)[33],其中雷达数据被分级融合进去,通过将雷达通道合并到额外的通道上去
    • 最后FPN的输出通过回归和分类块进行处理[30]
  • 网络优势
    • 通过调节雷达特征在各个层的权值,优化器隐式地教会了该网络在何种深度将雷达数据进行融合具有最好的影响

    • 类似的技术被[16]所采用

P3: 训练策略

  • BlackIn :有意在部分训练中禁用了所有图像数据输入神经元,这个比例大概是0.2。这样做的目的是:图像数据的丢失能更加刺激该网络更依赖于雷达数据。‘教育’该网络稀疏的雷达数据是独立于密集的图像数据的。
  • 用预先在图像上训练的权重开始训练,用于特征提取器。

EXPERIMENTS AND RESULTS

数据集

image-20201027032257258

评价

image-20201027032430797

一个例子

下图的对比能很好低表现CRF-Net的优势:

image-20201027032539422

CONCLUSIONS AND OUTLOOK

P1:本文工作

  • 提出了CRF-Net结构来融合雷达和相机数据
  • 本研究适应了激光雷达和相机数据处理的思路,为雷达数据融合研究开辟了新的方向。
  • 对雷达数据处理的难点和解决方案进行了讨论
  • 引入了BlackIn训练策略进行雷达和相机数据的融合。
  • 证明了采用神经网络对雷达和摄像机数据进行融合,可以有效地提高目前最先进的目标检测网络的精度
  • 由于对雷达与相机数据的神经网络融合的研究是最近才开始的,寻找优化的网络架构还需要进一步的探索。

P2:未来工作

  • 计划研究一种能滤除雷达数据中的噪声的预处理神经网络结构
  • 与其他传感器形式(如激光雷达数据)的融合可以进一步提高检测精度,但是同时会因为引入新层数和新设计概率而增加复杂性。
  • 神经网络融合方法对传感器空间和时间误校准的鲁棒性研究需要评估。
  • 我们看到了在恶劣天气条件下驾驶的多模态神经网络融合的增长潜力。需要创建具有这些条件的其他数据集来研究这一假设。
  • 最后,由于雷达传感器将距离信息引入到检测方案中,融合概念在三维目标检测中的适用性是我们想要探索的方向
  • 在硬件方面,高分辨率或成像雷达[38]有望增加雷达数据的信息密度,减少杂波。硬件方面的进步有望提高我们方法的检测结果

附录-某些基础概念:

由于我初接触神经网络相关知识,一些基本概念理解也附录上。

mAP:

  • mAP: mean Average Precision, 即各类别AP的平均值

  • AP: PR曲线下面积,后文会详细讲解

  • PR曲线: Precision-Recall曲线

  • Precision: TP / (TP + FP)

  • Recall: TP / (TP + FN)

  • TP: [^IoU]>0.5的检测框数量(同一Ground Truth只计算一次)

  • FP: [^IoU]<=0.5的检测框,或者是检测到同一个GT的多余检测框的数量

  • FN: 没有检测到的GT的数量

  • IoU:交并比(Intersection over Union)。[^IoU] 计算的是 “预测的边框” 和 “真实的边框” 的交集和并集的比值。

ground truth:

在*有监督学习中,数据是有标注的,以(x, t)的形式出现,其中x是输入数据,t是标注.正确的t标注是ground truth, 错误的标记则不是。(也有人将所有标注数据都叫做ground truth)

来源:知乎:https://www.zhihu.com/question/22464082

RetinaNet(Focal Loss):

RetinaNet由以下处理步骤组成提取、特征金字塔网络(FPN)和用于分类和回归的检测头。

Focal loss主要是为了解决one-stage目标检测中正负样本比例严重失衡的问题。该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘。

目标识别有两大经典结构:

  1. 第一类是以Faster RCNN为代表的两级识别方法,这种结构的第一级专注于proposal的提取,第二级则对提取出的proposal进行分类和精确坐标回归。两级结构准确度较高,但因为第二级需要单独对每个proposal进行分类/回归,速度就打了折扣;

  2. 第二类结构是以YOLO和SSD为代表的单级结构,它们摒弃了提取proposal的过程,只用一级就完成了识别/回归,虽然速度较快但准确率远远比不上两级结构。

那有没有办法在单级结构中也能实现较高的准确度呢?Focal Loss就是要解决这个问题。

参考内容:

RetinaNet: Focal loss在目标检测网络中的应用

RetinaNet(Focal Loss)

[^VGG]:VGG16相比AlexNet的一个改进是采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核(11x11,7x7,5x5)。对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。下图是一个用3层3x3代替5x5的例子image-20201027082637014

[^max-pooling]:max pooling 的操作如下图所示:整个图片被不重叠的分割成若干个同样大小的小块(pooling size)。每个小块内只取最大的数字,再舍弃其他节点后,保持原有的平面结构得出 output。image-20201027083205749

[^IoU]:IoU 的全称为交并比(Intersection over Union),通过这个名称我们大概可以猜到 IoU 的计算方法。IoU 计算的是 “预测的边框” 和 “真实的边框” 的交集和并集的比值。image-20201027084858913

 评论