描述

详解一篇基于激光视觉融合的道路检测文章,发表在2019年自动化学报英文版(我所主编的业界顶刊)中,第三作者是陶大程,业界大佬,可自行进行百度。

为什么选择这篇文章进行分析呢。查看KITTI数据集的分数榜单leader-board你会发现,这篇文章的结果非常领先。

Abstract

尽管基于视觉图像的道路检测技术发展迅速,但由于光照变化和图像模糊等问题,在视觉图像中鲁棒的识别出道路区域仍然具有挑战性。为此,合并激光雷达的数据可以改进基于视觉图像的道路检测,因为激光雷达数据不太容易受到视觉噪声的影响。然而,将激光雷达信息引入基于视觉图像的道路检测的主要困难是,激光雷达数据及其提取的特征与视觉数据和视觉特征不共享同一空间。空间中的这种间隙可能会限制激光雷达信息用于道路检测的优势。为了克服这个问题,我们引入了一种新的渐进式激光雷达自适应辅助道路检测(PLARD)方法,将激光雷达信息适应到基于视觉图像的道路检测中,并提高检测性能。在PLARD中,渐进式激光雷达自适应包括两个后续模块:1)数据空间自适应,通过应用基于高度差的变换方法,将激光雷达数据转换到视觉数据空间,以与透视图对齐;2)特征空间自适应,通过级联融合结构使激光雷达特征适应视觉特征。对著名的KITTI道路检测基准进行的综合实证研究表明,PLARD利用了视觉和激光雷达信息,即使在具有挑战性的城市场景中也能实现更稳健的道路检测。特别是,PLARD的性能优于其他最先进的道路检测模型,目前在公众可访问的leader-board(KITTI实验结果排名的一个看板)中处于领先地位。

关键词:道路检测、激光雷达处理、计算机视觉、深度学习、自动驾驶

I. INTRODUCTION

鲁棒的城市道路检测对于自动驾驶系统至关重要。如果没有对道路区域的充分认识,自动驾驶车辆就无法做出安全的决定来实现可靠的导航。多年来,分割技术已用于识别单目图像中的道路区域,最近,基于深度卷积神经网络(DCNN)的图像分割方法(如FCN[1]和DeepLab[2])的引入显著提高了基于视觉图像的道路检测的性能。

尽管取得了进展(例如[3-10]),但当存在视觉噪声(如可变照明、过度曝光、模糊外观和模糊图像)时,DCNN可能仍然表现不佳。为了克服这些问题并提高道路检测性能,许多研究[11-13]引入了激光雷达信息以改进道路检测。“激光雷达”是指通过用脉冲激光照射目标来测量到目标的距离而获得的数据[14]。许多研究证明,激光雷达对各种视觉噪声具有鲁棒性,可以补充单目图像数据。例如,Caltagirone等人[12]报告称,3D激光雷达点云提供了足够的信息来检测道路,相对视觉噪声来说具有鲁棒性,因此可以仅使用激光雷达数据来鲁棒检测道路。此外,[15]的作者试图将激光雷达和视觉信息融合用于道路检测。然而,现有的利用激光雷达数据进行道路检测的方法仍然很不有效,与基于视觉图像的道路检测方法相比,仅提供了有限的改进。在此,我们研究了利用激光雷达数据进行道路检测时遇到的困难,并提出了一种新的更有效的方法,将激光雷达信息纳入基于视觉图像的道路检测系统。

通过查询用于道路检测的激光雷达信息和视觉信息,我们得出结论,两个主要因素将给这两种信息之间的有效融合带来困难。首先,由于原始激光雷达数据和原始视觉图像数据位于不同的空间,因此很难定义适当的空间来集成这两种数据类型。例如,在KITTI道路检测数据集[16,17]中,提供的激光雷达数据在三维真实空间中定义,而视觉图像在二维图像平面上定义。虽然研究人员可以使用校准参数将激光雷达数据投影到2D图像平面上,但这可能同时改变了激光雷达数据中的道路表现,使道路区域在激光雷达数据空间中的可辨性降低。因此,对于基于DCNN的道路检测模型来说,依靠激光雷达数据很难学习到可靠的道路检测能力,更不用说改进基于视觉图像的道路检测模型了。此外,还难以将从激光雷达数据中提取的特征与从视觉图像中提取的视觉特征进行适当集成。更具体地说,由于激光雷达数据中的道路外观由离散点描述,而视觉数据中的道路外观由二维图像平面上像素的RGB值描述,因此从两个数据源提取的特征也很可能位于不同的空间中。特征空间中的这种差距可能会对特征融合性能和最终检测精度产生不利影响,因此现有的道路检测特征融合方法很难优于最先进的基于视觉图像的道路检测算法。

为了克服这些问题,我们提出了一种新的渐进式激光雷达自适应技术,使激光雷达信息与视觉信息更兼容,并更有效地改进基于视觉图像的道路检测。为此,在渐进式激光雷达自适应中,我们引入适当的变换函数,将激光雷达数据空间自适应到视觉数据空间,并将激光雷达特征空间自适应到视觉特征空间。因此,渐进式激光雷达自适应过程包括数据空间自适应步骤和特征空间自适应步骤。数据空间自适应步骤将激光雷达数据空间转换并与视觉数据空间对齐,同时仍使道路区域在激光雷达数据中易于区分。然后,通过级联融合结构,特征空间自适应步骤将激光雷达特征空间转换为更好地补充和改善视觉特征的空间。通过将视觉信息与自适应激光雷达信息相结合,我们获得了一个更稳健的道路检测模型:渐进式激光雷达自适应辅助道路检测(Progressive LiDAR Adaptation-aided Road Detection,PLARD)模型。图1显示了我们提出的系统的概述。

图1.渐进式激光雷达自适应辅助道路检测(PLARD)方法概述。我们克服了在城市场景中检测道路区域时,激光雷达信息和视觉信息位于不同空间的问题。特别是,提出的渐进式激光雷达自适应包括数据空间自适应步骤,该步骤调整原始激光雷达数据的视图以对齐视觉图像的视图,以及特征空间自适应步骤,该步骤使激光雷达特征适应视觉特征。通过融合自适应激光雷达信息和视觉信息,PLARD实现了稳健的道路检测。

使用著名的KITTI道路检测基准[16],我们对提出的PLARD系统进行了全面的实验,以评估提出技术不同部分的有效性,以及相对于基于视觉图像的道路检测系统的整体性能增益。实验结果表明,通过我们提出的渐进式激光雷达自适应技术,激光雷达信息为道路检测提供了更多益处。此外,在KITTI道路检测基准测试集上,PLARD显著提高了道路检测精度,优于其他基于视觉图像的道路检测算法、基于激光雷达的道路检测算法以及融合这两种信息的算法。特别是,PLARD在可公开访问的leader-board上实现了最先进的性能。事实上,在撰写本文时,我们的PLARD模型在leader-board中三个子项排名第一。

道路检测有利于各种其他自主任务[18-23]。多年来,已经开发了各种算法来解决道路检测问题[24-27]。例如,基于模型的方法建立形状[28,29]或外观模型[30]来描述道路结构,然后在输入图像中识别道路区域。然后,基于学习的方法尝试使用分类器(例如支持向量机[31]和随机森林[32])来区分道路和非道路区域。在实践中,基于学习的方法通常比基于模型的方法表现更好。

近年来,通过将道路检测任务视为语义分割任务,DCNN被证明在道路检测中特别有用。特别是,一些典型的算法已被证明是有效的语义分割。例如,Long等人[1]提出了全卷积和上采样层来解决像素级语义分割问题。此外,[33,34]的作者通过引入扩展卷积运算实现了引人注目的语义分割性能,该运算可以在不降低特征图分辨率的情况下大大扩大卷积核的感受域。通过利用完全卷积层和扩展卷积运算,一些研究[35-37]在语义分割基准上取得了令人印象深刻的性能。这些技术已广泛用于检测城市场景中的道路[7-9,38]。

为了提高基于DCNN的道路检测的有效性,提出了几种有前景的算法。例如,Mendes等人[8]引入了一个大的上下文窗口和网络结构中的网络以提高准确性,而研究[39]引入了一个高效的深度网络,遵循“U-net”[40]中讨论的“编码器-解码器”原则。然而,DCNN仍然容易受到视觉噪声的影响,通常需要过长的处理时间才能保证更好的性能。例如,[7]中的算法处理图像需要1s左右的时间,[9]中的算法需要2s的时间,两种算法都无法达到最先进的性能,这使得它们不适用于自动车辆等移动平台。

尽管在基于视觉图像的道路检测方面取得了这一进展,但其他人提出,激光雷达对视觉噪声具有鲁棒性,他们尝试使用激光雷达信息检测道路。在[4]中,视觉图像从透视图转换为用于道路检测的鸟瞰图。另一项研究[12]将激光雷达点云作为输入而不是视觉图像,可以在三维真实空间中执行有前景的道路检测。然而,这些研究并没有有效地利用这两种类型的信息,限制了它们的最终检测性能。也有研究[5,15]试图融合视觉和激光雷达信息进行道路检测,但现有的基于融合的算法要么耗时,要么不如其他最先进的算法有效。在本研究中,我们假设使用激光雷达改善道路检测的困难是由于激光雷达信息和视觉信息的数据空间和特征空间之间存在差距。为了克服这个问题,我们引入了一种渐进式激光雷达自适应技术,该技术可以有效地将激光雷达信息适应并集成到基于视觉图像的道路检测通道中,以提高道路检测的鲁棒性和准确性。

III. PLARD SYSTEM

图2是提出的PLARD系统的总体pipeline。在数据空间适配步骤中,我们引入了基于高度差的变换(表示为“ADT”)来适配原始激光雷达数据,从而获得更好的校准过的激光雷达数据空间,其中道路更容易与其他物体区分。在特征空间自适应步骤中,首先使用DCNN分别在视觉和激光雷达数据上检测道路。然后,引入特征空间变换(表示为“FST”)模块来变换激光雷达特征,使其更好地补充和改善视觉特征。在每个“FST”模块中,使用变换网络(表示为“TN”)来学习变换参数。特征变换后,视觉特征和自适应激光雷达特征通过级联结构融合。级联融合集成了除第一阶段外的所有卷积阶段(表示为“S1-S5”)的特征。最后,在解析阶段,PLARD对集成特征进行分类,提供稳健的道路检测结果。

A. Problem Definition

在本研究中,我们将道路检测任务表述为在2D图像平面上分配像素,并使用二进制标签指示像素是否属于道路区域。激光雷达信息将适用于2D图像平面上的道路检测。形式上,假设ŷ表示地面真值标签,f是道路检测函数,Wf的模型参数。以激光雷达数据L和视觉数据I为输入,我们通过优化以下目标来解决道路检测问题:

其中,i在训练示例上索引,xy分别表示图像平面上的水平和垂直偏移,L是损失函数。

我的分析:解释一下以上的函数吧。在融合模型f的参数W下,融合雷达数据和相机数据,使得数据融合后的检测结果与道路真值标签的损失,在图像的每个像素上求和最小化。很自然的一种问题设定方式,只不过通过数学形式描述了一下。算法的结果,是在图像上进行道路/非道路的二分类。

B. Overview

考虑到数据和特征空间之间存在差距,仅使用激光雷达和视觉信息的简单组合很难实现稳健的道路检测。为了克服这个问题并改进道路检测,我们提出了一种渐进式激光雷达自适应技术,使激光雷达信息与视觉信息更兼容,从而更有效地融合这两种信息类型。从数学上讲,我们推导出PLARD系统的道路检测函数f采用以下形式:

其中,g是渐进式激光雷达自适应函数,f_{vis}是基于视觉图像的道路检测函数,W_{vis}W_{lidar}是相应函数的参数,f_{fuse}是一种融合操作,f_{parsing}是从融合特征识别道路区域的最终二元分类函数。具体来说,我们通过引入ResNet101[41]主干来实现f_{vis},并在金字塔场景解析模块[42]之后通过2类softmax函数来实现f解析。

我的分析:利用ResNet网络和图像数据进行图像道路检测,利用点云数据进行自适应步骤得到点云上的道路特征,两者再进行融合,再进行二分类

我们通过引入两个后续的自适应步骤来实现渐进自适应函数g:数据空间自适应步骤和特征空间自适应步骤。在数据空间自适应中,我们将原始激光雷达数据从三维空间转换到二维图像平面,同时保留道路区域的可分辨特征。然后,在特征空间自适应步骤中,我们引入了一个基于学习的模块来转换激光雷达特征,以便转换后的特征更好地补充道路检测中的视觉特征。因此,我们将渐进式激光雷达自适应函数g公式化如下:

其中,g_{data}g_{feat}分别表示数据空间自适应函数和特征空间自适应函数,f_{lidar}是基于lidar的道路检测函数。PLARD的概述如图2所示。在第三节C1中,我们通过研究相对于2D图像平面的高度变化来实现g数据。在第三节-C2中,我们通过在DCNN架构中引入基于学习的模块来实现g_{feat},以将从激光雷达数据中提取的特征转换为更好地补充视觉特征的空间。最后,第四节描述了PLARD方法的实现细节。

我的分析:先将雷达进行数据层面的自适应,然后基于雷达点云数据进行道路检测,再将得到的检测结果利用DCNN将特征适应到可与视觉特征融合的状态

C. LiDAR Adaptation雷达自适应

在渐进lidar自适应的数据空间自适应步骤中,我们引入了一种新的基于高度差的变换方法来变换lidar数据空间。在特征空间自适应步骤中,我们引入变换网络来学习和变换雷达特征空间。

原始激光雷达数据和原始视觉数据位于不同的空间。原始激光雷达数据由三维真实空间中的数万个点组成,每个激光雷达点由三维坐标向量描述,而视觉数据由二维图像平面上的像素组成,每个像素由RGB值描述。因此,直接、平滑地将视觉数据与原始激光雷达数据集成是极具挑战性的。幸运的是,借助标定参数,可以将三维激光雷达点投影到二维图像平面上,从而获得具有投影激光雷达点的图像。尽管获得的图像可用于道路检测,但我们认为在投影后的激光雷达数据中,道路和非道路的表现彼此之间的区分性会降低,从而降低道路检测模型识别道路区域的能力,如图3右上角所示。与其使用直接投影结果,我们提出了一种基于高度差的转换操作,该操作可以更好地保留道路特征以实例化g数据,并有助于使三维激光雷达数据适应视觉数据空间。

上图是直接投影激光雷达数据和基于高度差图像的示例。使用提供的标定参数,可以将由真实世界空间中的三维坐标向量描述的激光雷达点投影到2D图像平面上。右上图显示了投影的激光雷达点,像素点的强度表示归一化的X、Y和Z坐标。根据坐标轴的定义,Z可以被视为高度,然后我们可以计算高度变化相对于两个位置之间空间偏移的绝对值(如图中的Z_{x,y}Z_{N_x,N_y})。利用计算的高度差,获得高度差图像(如图中右下所示)。通过保留激光雷达数据中道路的特征,高度差图像可以更容易地将道路与非道路区域区分开来。最好以彩色方式查看此图。

我的分析:上图是雷达数据自适应的说明图,先简单解释一下。上面三个图片可以理解为点云数据通过外参转换到相机视野范围的前视图,图像的height和width就是相机图像的尺寸。三个图像素点的像素值,分别就是x、y、z坐标归一化后的值,所以你会发现X图像越远像素值越大,Y图像越左像素值越大,Z图更高的地方像素值更大。文章利用了高度差这一个特征,拎出Z图像(上面图像的第三个),遍历Z图像的每个像素点,根据N_x和Ny邻域内的像素值,计算出高度差图像(右下角那个黑白的图)

1) Data Space Adaptation数据空间自适应

在第一阶段,我们引入基于高度差的转换来实现数据空间自适应。我们观察到,与与其他物体(如车辆和建筑物)相比,三维空间中的道路表面在激光雷达点云的高度上是平坦且相对平滑的,因此引入了基于高度差的变换。在将激光雷达点投影到图像平面上后,可以通过记录原始三维激光雷达点的高度来保持这种平滑度。因此,根据图像平面上高度的变化,可以在投影的激光雷达数据中更好地区分道路区域。更具体地说,在激光雷达投影的2D图像平面上,基于高度差的变换根据以下公式计算位于(x,y)处的像素值V_{x,y}

图3其中Z(x,y)是投影在(x,y)上的激光雷达点的高度,(N_x,N_y)表示(x,y)邻域中的位置,M是考虑的邻域位置总数。如果相邻像素与3D点不相关,我们只需忽略它。值得一提的是,等式(4)可以被视为投影点相对于2D图像平面的高度梯度的平均绝对值。因此,如果物体直立且锋利,其投影区域在图像平面上会有很大的高差。例如,在图3中,道路区域通常在高差图像上具有较小的强度,而其他物体通常具有较大的强度,从而将道路与其他物体区分开来。假设HW分别是输入图像的高度和宽度。根据等式4,基于高度差的变换的复杂度为O(MHW)

我的分析:图片解释过一遍了,这里写一些细节。显而易见,道路部分的z值都是近似的,因此在邻域内对高度差值求平均,还是在0附近,数据上也就会呈现黑色。而一但物体是有高度差变化的,高度差值求平均后会有值,因此归一化后会呈现白色。论文中还增加了一个参数M,代表邻域大小,同时我们可以发现高度差会被距离做一个衰减,很合理的方法。

2) Feature Space Adaptation特征空间自适应

除了数据空间中的差距外,从激光雷达数据中提取的特征也可能与从图像中提取的视觉特征不一致,因为道路区域在不同的数据源中可能具有不同的表现。这种特征空间的不一致性可能会进一步阻碍整合激光雷达特征和视觉特征的性能,从而限制引入激光雷达信息的总体效益。因此,我们试图转换激光雷达特征空间,使激光雷达特征更好地补充和改善视觉特征和基于视觉图像的道路检测性能。然而,特征空间自适应的主要挑战是我们对如何正确变换特征空间没有完全的了解。为了解决这个问题,我们引入了一个基于学习的模块来寻找合适的空间适应操作。

我的分析:怎么把雷达特征转换成视觉特征也可以用,我们也不知道,来一波基于学习的方法吧

通常,我们假设线性变换可以正确定义特征空间自适应操作,并且我们有:

其中,α是标量向量,β是偏移向量,f_{lidar}是要调整的激光雷达特征,表示如下:

我的分析:雷达先进行数据自适应(上一节说的高度差出图像),再根据一些参数W和一个函数f提取出点云特征。然后再通过α和β进行一次线性变换

为了正确估计αβ并实现更好的特征空间自适应,我们引入了一种称为变换网络的神经网络来学习和自适应激光雷达特征。相应地,变换网络估计α和β如下:

其中f_αf_β分别表示用于计算αβ的神经网络函数,W_αW_β是其相应的权重参数,f_{vis}是视觉特征,表示如下:

我的分析:α和β两个参数的更新,并不仅仅依靠雷达,还需要视觉的特征检测结果也作为输入。想一想这是很合理的,你要把雷达特征未来去和视觉特征融合,α和β这两个是负责变换雷达特征的参数,其更新过程,一定要有视觉特征的参与啊

在DCNN中,我们通过使用全卷积运算来实现f_αf_β,其权重参数分别由W_αW_β定义。f_{lidar}f_{vis}被连接为f_αf_β的输入。通过优化参数W_αW_β以及整个道路检测系统,我们可以学习提取的lidar特征的适当特征空间转换,从而更有效地改进道路检测。图4示出了特征空间适应阶段的详细示意图。

图4,PLARD中特征自适应模块的结构。接受视觉信息和激光雷达信息的卷积特征作为输入,特征空间自适应引入变换网络(表示为“TransNet”)来学习和变换激光雷达特征。更具体地说,变换网络基于级联的视觉和激光雷达特征,输出标量向量α和偏移向量β。通过残差结构将自适应的激光雷达特征与视觉特征融合,我们获得了改进的特征向量。在该图中,(小圆圈里面有个点)表示按元素相乘,而+表示该图中的加法。

与可能具有数十个卷积层的整体DCNN架构相比,特征空间自适应的复杂性较小,因为它只涉及三个1x1卷积运算和三个元素的乘法或加法运算。假设C是通道数,H_kW_k分别是第k个卷积阶段的高度和宽度,则该阶段的特征空间适应复杂度是3个卷积运算的复杂度:O(4C^2H_k W_k)

我的分析:很简单,视觉特征和点云特征经过一个TransNet,学到两个参数α和β。再将雷达特征经过α和β,融合视觉特征,形成一个融合新特征。有点像一种“前馈”控制吧

D. Cascaded Fusion for Adapted LiDAR Information自适应激光雷达信息的级联融合

根据雷达数据通过g_{data}g_{feat}完成自适应后,我们将激光雷达和视觉信息融合,以实现更鲁棒的道路检测。具体来说,我们使用基于残差的级联融合结构来实现融合函数。在该架构中,我们使自适应的激光雷达特征在残留结构下改善视觉特征。通过将这种基于残差的融合应用于DCNN管道中的每个后续卷积阶段,我们实现了鲁棒的道路检测。

从数学上讲,以视觉特征和基于激光雷达的自适应特征作为输入,我们实现了如下融合功能:

其中,k表示道路检测系统中DCNN第k卷积阶段的特征,λ是标量参数。值得注意的是,当使用ResNet-101[41]作为骨干网络时,有5个卷积阶段。图2右侧显示了该融合的详细结构。

我的分析:数学上表示了一下网络k-1层到第k层的计算关系,主要还是之前几节说的概念

E. Overall Objective总体目标

在优化过程中,我们以端到端的方式训练PLARD,以获得基于视觉图像和基于激光雷达的DCNN的参数。除了利用融合的激光雷达和图像信息进行道路检测外,我们还引入了基于激光雷达的DCNN的loss,使得基于激光雷达的道路检测系统直接从高度差图像中检测道路。此外,我们遵循[42]的设计,在基于视觉图像的DCNN中引入辅助loss,以促进收敛。

根据等式1,训练PLARD是最小化其所有参数的损失函数w.r.t。假设L_{PLARD}是使用融合的激光雷达和图像信息进行道路检测的总损失,L_{lidar}仅表示基于激光雷达的DCNN的损失,L_{aux}是基于视觉图像的DCNN中的辅助损失。然后,PLARD的损失函数可以写成:

其中,w_{parsing}w_{lidar}w_{aux}是相应的损耗权重,它们的设置见第IV-C节。

在本研究中,我们利用多项式交叉熵损失来定义所有这些损失:

公式中 ŷ^c代表类别c的ground truth,y^c代表预测输出。具体的,y_{parsing}^cy_{lidar}^cy_{aux}^c分别是根据公式2和公式6和公式10计算出来的,其中y_{lidar}^c用的是公式6最终卷积出的结果,y_{aux}^c用的是公式10卷积级stage=4时的结果。

我的分析:公式12是文章使用的损失函数,设置极限情况稍加分析可以得出:假设当真值是1(假设1为地面),预测值也为1,那么损失函数的值将是0,而预测值为0时(完全预测成了非地面),损失函数的值将是无穷大。公式11是PLARD算法的总损失的定义,它由3个部分的loss构成,而每一个loss的计算公式都是公式12,只不过带入的预测输入数据来源不同,分别是二分类、雷达和视觉预测结果。

总结

这篇介绍了PLARD这篇文章的算法定义部分。
接下来再继续分析论文的实验部分及结果,并对它的源码进行一定程度的分析。

写的不容易,欢迎各位朋友点赞并加关注,谢谢!