《用于自动越野导航的实时语义映射》论文笔记

Real-time semantic mapping for autonomous off-road navigation

用于自动越野导航的实时语义映射


0 概要

terrain         地面,地形
obstacle        障碍
trajectories    轨迹

这篇论文里,描述了一种全地形车辆(ATV)自动越野驾驶的语义映射。这个系统的目标是提供一种比纯几何地图更丰富的环境表示,使其能够区分例如来自障碍的高草。该系统构建了一个2.5D网格地图,编码几何地图语义信息。几何和语义信息分别从LiDAR图像传感器中在线和实时估计。使用这个语义图,运动规划者可以创建语义感知的轨迹。为了实现高效的语义分割和鲁棒性,我们设计了一个定制的CNN,并为此建立了一个新的越野图像数据集,对其进行训练。离线评估语义分割,显示出与顶尖的性能和很低的延迟。我们还展示了一个自主的ATV驾驶在具有挑战性的越野地形上的闭环场结果,使用语义图和一个简单的路径规划器。我们的模型和标签数据集将公开提供。

enormous        庞大的,巨大的
immense         巨大的,广大的,无边无际的
mature          成熟的
primary         主要的,初级的
stereo          文体的,
roof            屋顶,最高处,顶部
perceive        察觉、感觉、理解
leaf            叶子
litter          垃圾
rocky           岩石的,摇晃的,

1 介绍

puddle          水坑,泥潭
suboptimal      次最优的,最适度下的
counter         n.柜台、对立面、计数器、筹码。
                v. 反击、还击、反驳
INS             Inertial Navigation System
                惯性导航系统

在这里插入图片描述

在过去的几年中,自动驾驶汽车的3D传感功能取得了巨大进步。成熟而强大的LiDAR和INS技术使自动驾驶汽车对其周围的几何结构具有准确,实时的了解,从而极大地简化了与导航相关的任务。

但是,我们已经观察到,主要依赖几何信息会导致越野环境中自主导航的结果令人失望。主要原因是几何结构本身无法为诸如我们这样的轮式全地形车(ATV)提供许多重要的区别,如图1所示。例如,高高的草丛可能被视为障碍,但是我们的如果需要,亚视可以穿越它。同样,树叶垃圾可能看起来像是岩石地形,或者可能是水坑或光滑的表面出现水坑。所有这些都可能导致路径规划中的次优决策,甚至是危险决策。在越野机器人技术领域,例如[11、15、22、10],已经有很多次类似的观察。

在本文中,我们描述了一种通过构建语义图来解决此问题的系统,该语义图是对车辆周围环境的一种表示,对几何(例如,高度,粗糙度)和语义信息(与导航相关的类,例如步道,草地,障碍物)进行编码等)。该地图存储为以车辆框架为中心的2.5D网格,并随着获取新的传感器数据而不断更新。使用这种表示,运动计划者可以创建语义感知的轨迹。

我们的主要贡献是一个简单而有效的系统,该系统结合了基于完全卷积网络[14]的定制卷积神经网络体系结构和2.5D以车辆为中心的语义网格图,该图融合了车辆的几何和语义测量移动并获取更多数据。我们在离线基准测试中显示了语义分割CNN的有效性。通过使用带有语义图的简单计划程序,我们将展示定性示例,说明我们的系统已成功用于导航具有挑战性的越野地形。

此外,用于训练我们的网络的带有标记的越野图像数据集将公开提供。

couple          n.对,夫妇
                v.结合
couping         耦合,结合
qualitative     定性的,质的,性质上的。
imagery         像,意象,比喻,形象化

2 相关工作

paradigm            范例
modality				形式,形态;程序;物理疗法;主要的感觉

我们的系统受到有关越野导航任务语义方法的丰富文献的启发,最早可追溯到1990年[7]。

十年后,各种实用系统在此方面取得了令人瞩目的成果,通常结合使用LiDAR和图像[11、15、22、25、26]。

LAGR程序[10]具有各种高度相关的系统,例如[18、12、24、2],这些系统使用手工设计的视觉管道执行语义分类。 [9]是一个例外,它具有用于语义分割的早期深度神经网络系统。

在最近的工作中,[21]展示了具有轻量级语义分割系统的自主导航。与我们的系统不同,它们使用传统的视觉特征工程,导致噪点像素化预测,并使用新颖的正则化方法进行平滑处理。相比之下,我们基于完全卷积网络(FCN)[14]的体系结构则结合了可以自然地平滑输出的空间上下文。另一个相关的工作是[23],它使用类似于FCN的编码器-解码器网络体系结构。他们探索了超越RGB的模式,并获得了令人印象深刻的分割结果。但是,它们不构建度量标准图或显示闭环导航。

很大程度上爱越野导航任务语义分割的文献 的启发,可以追溯到1990年。
十年后,各种结果,通常是雷达和图像的结合。
我们的系统基于FCN,结合了空间上下文,输出自然平滑。他们没有构建度量地图或者演示闭环导航。

3 方法

在这里插入图片描述

concurrent          并发的,一致的,同时发生的
recede              后退,减弱
omit                省略

概述。图2概述了该系统架构。有两个主要传感器流,即RGB图像和LiDAR点云数据。 RGB图像被馈送到语义分割模块,该模块使用CNN生成pix elwise标记。同时,LiDAR点云用于在语义映射模块中更新2.5D网格图。语义映射模块还从语义分割模块接收逐像素预测图像,并将其投影到2.5D网格图上,该图将语义预测随时间融合。结果是以车辆为中心的2.5D栅格地图编码进行了不断更新的相关几何和语义信息的估计,以用于越野导航。最后,该地图用于语义感知的路径规划。在我们的初始测试中,我们使用了一个简单的后备地平线规划器,该规划器将遍历成本分配给每个语义类,并连续选择一条路径以使成本最小化。整个系统以10Hz运行,该速率由语义映射模块处理图像的速度决定。

硬件平台。我们的车辆如图1所示。这是一款商用全地形车,经过改装和检测,可用于自动越野驾驶的实验。该传感器套件包括INS / GPS系统,64线Velodyne LiDAR和由Carnegie Robotics制造的基线为21 cm的RGB立体摄像机。请注意,本文中的系统当前不使用立体声深度信息。所有计算都是在两台通过高速以太网连接的COTS笔记本电脑上进行的。用于语义映射的笔记本电脑包括一个NVIDIA GT980M GPU,用于实现CNN分类器的实时执行。

软件平台。所有计算机都运行Ubuntu Linux。不同的系统模块同时作为ROS节点运行,并通过ROS消息进行通信。节点使用CUDA(通过Theano库[3]生成)以C ++和Python实现,以有效利用GPU。

  1. 概述
    RGB图像喂给语义分配模块,生成像素级标记。
    同时,雷达的点云用于更新2.5D网格地图。

  2. 硬件平台

  • INS/GPS 系统
  • 64线雷达
  • RGB深度相机(没有用深度信息)
  • 两个笔记本,其中语义分割使用了NVIDIA GT980M。
  1. 软件平台
  • Ubuntu
  • ROS
  • Theano
  • CUDA

3.1 语义分割

两种架构:

  1. cnns-fcn
    基于VGG,输入227x227,输出109x109。

  2. dark-fcn
    输入、输出都是300x300。

2D语义分割的目标是将K个预定义类之一分配给图像中的每个像素。像计算机视觉中的许多任务一样,深度学习(尤其是卷积神经网络)最近已彻底改变了该任务的最新技术。

对于此任务,最成功的神经网络体系结构是完全卷积网络(FCN)[14]。这些网络中的关键思想是利用卷积结构,通过与更传统的CNN非常相似的网络同时标记所有像素。由于池化,导致输出分辨率低;为了解决这个问题,添加了所谓的反卷积deconvolution层以对输出进行上采样。为了保留高频细节,添加了将早期图层与上采样特征图连接起来的跳过层。以UpNet [23]为例的编码器-解码器体系结构[17,1]相似,但是省略了跳过层。

在项目开始时,我们发现最先进的体系结构相对较慢,因为它们针对速度方面的准确性进行了优化。因此,我们使用Theano [3]和Lasagne [6]库来实现和训练我们自己的体系结构。当前,我们发现了各种可能的体系结构对于我们的越野语义分割任务显示出非常相似的准确性,主要是时间成本上的差异,而时间成本又主要由体系结构和输入/输出分辨率的驱动。这是由于使用了相对较小的数据集,但值得进一步研究。

迄今为止,我们主要使用两种架构。第一个是cnns-fcn,它基于我们对[4]中的VGG-CNN的“卷积”,输入尺寸为227×227,输出尺寸为109×109。第二个,dark-fcn,是基于我们自己对Darknet架构的总结[19],它反过来与VGG16相似,但效率更高[20]。对于dark-fcn,输入和输出均为300×300,以便于与UpNet进行比较。尽管分辨率更高,dark-fcn仍比cnns-fcn快:GT980M为21毫秒和37毫秒。 UpNet [23]的作者描述了在GTX Titan X上使用Caffe的时间为50毫秒,根据我们的经验,它的速度与GT980M相似。这使我们相信我们的模型应该更快或更可比。图3显示了我们的两种架构。还将提供代码和训练有素的模型。

Fig. 3 我们的两种网络架构。 “ conv”表示卷积层; “pool”,一个池化层; 以“ nin”结尾的层是1×1卷积层; “fuse”是逐元素求和层; “norm”是本地响应规范化层。 除非另有说明,否则假定输入为上一层。 对于卷积层,“size”是内核大小; 对于池化层,它是池化接受域。 请注意,对于dark-fcn,由于大小限制,我们拆分了表格。

在这里插入图片描述

3.2 语义映射

suffice         使满足
potential       潜在的
overhang        悬垂,悬于……之上;(危险、邪恶等)逼近,威胁
tunnel          隧道;坑道;洞穴通道
scroll          滚动
finite          有限的;限定的
raytrace		光线追踪

语义映射步骤的输出是在2D图像空间中,但是车辆在3D公制空间中进行规划就自然得多。 在我们的情况下,为简单起见,采用2.5D网格或高度图表示。 这足以满足大多数环境的要求,但在悬垂的树木或隧道上可能会出现问题。

为了保持车辆周围环境的最新高度图,我们使用了滚动网格数据结构(a scrolling grid data structure),该结构在文献中已被多次重塑。此结构是环形缓冲区的二维概括,其主要特征是可以在不复制其数据的情况下进行移位(转换),而是更新指示其极限的变量。这是速度优化;从逻辑上讲,网格的行为类似于以车辆为中心的有限2D阵列,每个网格单元都包含有关地形的各种属性。在我们的论文中,每个网格单元为0.25m×0.25m,地图上有400×400个单元。每个网格单元都维护该网格单元中最小和最大高度的运行估算,这是通过使用从LiDAR射线得出的占用率和自由空间约束来计算的,类似于[8,28]。对于点云中的每个点,我们使用Bresenham的3D算法在网格上进行光线追踪;穿过和上方的单元格被认为是空的,而光束停止下方的单元格被认为是空的。

顾名思义,语义图还集成了语义度量。要将2D语义分段的输出投影到高度图表示中,我们遵循图4中描述的简单过程。

在这里插入图片描述

假设我们知道了摄像头和LiDAR的相对位置以及摄像头的内部特性,我们可以使用简单的几何图形将2D语义预测投影到2.5D网格单元上。 但是,为了增加鲁棒性,我们会随时间融合测量结果。 为此,我们采用了一种由占用图的顺序过滤过程启发的方案[16],但将其推广到K类。

为此,我们使用分类器的概率(softmax)像素方向输出。 我们维护投影到每个网格单元的K个类的对数几率的运行总和。 尽管可以直接使用这种软的多类表示形式,但为简化起见,当与其他系统连接时,我们将K类的argmax用作每个网格单元当前对语义类的最佳估计。 请注意,此表示假设每个单元格只有一个类,这在某些环境中可能是一个限制。

图5显示了现场直播中语义图的示例累积输出。

Fig. 5 Example output of semantic map in a field run.
在这里插入图片描述

3.3 路径规划

Fig. 6 路径规划。 a)候选路径库,覆盖在语义图的顶部。 红色表示可行的路径。 b)说明我们如何计算车辆宽度。 对于每条轨迹,我们计算轨迹的七个偏移版本的成本(或报酬),覆盖车辆的足迹。 c)一个示例选择的轨迹,根据它所覆盖的语义类的可遍历性得分进行选择。

在这里插入图片描述

recede          后退
yaw             偏航
discrete        离散的,不连续的
velocity        速度
derive          源于
trail           足迹
trajectory      轨道,轨线

为了演示自主操作,我们实现了一个非常简单的后退地平线规划器。规划器有一个30条轨迹的库,分别对应于-15º/s至15º/s的偏航率,以1º/s的离散度和9km/h的恒定速度离散;参见图6a)。

每次更新地图时(发生频率为10 Hz),都会从库中选择一条轨迹。轨迹的选择使从语义图得出的奖励函数最大化,如下所示。标记为“平滑”或“粗糙”路径的单元格的奖励为1,标记为“草”的单元格的奖励为0.1。其他所有类别的奖励均为零。轨迹的总奖励是源自车辆的20 m轨迹长度上的奖励总和。为了说明车辆的宽度,我们对此计算进行了少许修改,如图6b)所示。

该计划程序的优势在于,在极其简单的情况下,其性能很大程度上取决于我们语义映射的输出,而不会受到其他因素的干扰,而其他因素将在更复杂的多层系统中出现。但是,我们的系统也被用作更深思熟虑的计划者的额外输入,为此,主要代表是使用LiDAR构建的几何图。在此计划程序中,我们的语义预测主要用于避免将草当作障碍。

4 实验

概述。 我们以两种方式评估我们的系统。 首先,我们在两个数据集中运行语义分割模块的脱机基准测试。 其次,我们在现场实验中演示了整个系统的自主运行。

density             密度
densify             致密,使增加密度

4.1 离线基准

为了评估语义分割模块,我们使用了两个数据集,即Valada等人的DeepScene数据集。 [23]和我们自己的数据集,Yamaha-CMU越野数据集。

DeepScene数据集
该数据集由233个训练图像和139个验证图像组成,这些图像密集地标记了六个语义类别:无效,道路,草丛,植被,树木,天空和障碍物。尽管此数据集由于一天中的不同时间表现出一些有趣的外观,但它却很小,并且在天气和位置方面似乎缺乏多样性。该数据集的关键特征是各种模式(深度,NIR),但我们目前未使用它们。

Yamaha-CMU越野数据集
为了训练和评估我们的方法,我们收集了自己的数据集,我们将其称为Yamaha-CMU-Off-Road或YCOR。它由在西宾夕法尼亚州西部和俄亥俄州的四个不同位置收集的1076张图像组成(8个),涵盖三个不同的季节(图7)。使用基于多边形的界面对数据集进行标记,该界面具有八类:天空、崎岖小道、光滑小道、可穿越的草丛、高植被、不可穿越的低植被、障碍物。使用Dense CRF [13]对多边形标签进行后处理,以使标签更致密。手动检查了CRF的输出,并在某些情况下进行了更正,以确保没有创建任何错误的标签。

我们相信我们的数据集比DeepScene更多样化和更具挑战性。在图8中,我们显示了每个数据集的平均RGB图像和逐像素标签模式。 DeepScene数据集比我们的数据集显示了左右偏斜和更可预测的结构;如果我们使用逐像素模式作为基线分类器,则在DeepScene中将获得0.30 逐像素错误率,而在我们的情况中将为0.51。但是,我们承认,与最近的努力相比,这两个数据集都相对较小。 cf. CityScapes [5],带有25000个带标签的图像。

图7:YCOR数据集的帧蒙太奇。
在这里插入图片描述

图8:前两列:数据集统计数据的比较。我们显示平均RGB帧和
所使用的每个数据集的训练集中标记帧的像素模式。最后一列:
映射YCOR收集的位置。
在这里插入图片描述

我们当前的划分有931个训练图像和145个验证图像。此拆分是随机生成的,确保训练和验证拆分中的图像之间的数据收集会话中没有重叠。但是,使用的位置存在重叠。我们将提供获取元数据的位置和时间,以便就这些因素的概括性进行进一步评估。

quality             质量
qualitative         定性的
quantity            数量,大量
quantitative        定量的

定量结果。我们在两个数据集上评估了我们的模型。在每种情况下,我们都使用预定义的训练集从头开始训练模型,直到与SGD收敛为止,然后用初始学习率(0.0001)除以10的三倍。我们使用具有较小L2正则化因子(0.0005)的标准像素方向交叉熵损失。在GT980Ti GPU上进行培训大约需要两天。我们在训练时使用裁剪,旋转和颜色增强,而在测试时则不使用。我们使用基于类的联合交集(IoU)作为评估指标,这是语义分割中最常用的指标。

表1显示了DeepScene的结果,表2显示了YCOR的结果。在这两种方法中,除标准300×300外,我们还包含448×448分辨率的dark-fcn模型。我们报告了他们论文中的数字[23],其中用频率加权IoU (fw-(IoU) 表示为IoU,并加上由我们自己计算的均值IoU(mIoU)。如我们所见,两个模型的性能相当,dark-fcn稍有优势。在DeepScene数据集中,我们还可以将这两个模型与RGB UpNet进行比较。我们看到我们的模型在fw-IoU中略有优势,尽管它们在障碍物方面表现出明显更差的性能,这严重扭曲了mIoU指标。我们注意到,数据集中的障碍像素数量比其他类别少了三个数量级,因此网络倾向于忽略它。尽管如此,它还是一门重要的课程,我们正在研究如何更准确地检测它。最后,我们看到增加输入分辨率会稍微提高性能。

定性结果。 我们在图9中显示了每个数据集的cnns-fcn结构的定性标记。可以看出,结果通常是相当准确的。 对于YCOR,大多数混淆来自平滑与粗糙的轨迹,这是人类很难始终如一地做出的区分。

Fig. 9 Montage of predictions from cnns-fcn in the YCOR dataset (top four rows) and DeepScene (bottom four rows). In each case, we show three images: input, ground truth labels, and predicted labels.
在这里插入图片描述

4.2 现场实验

我们于2017年3月和2017年7月在宾夕法尼亚州匹兹堡附近的测试场所的各个位置进行了各种自动驾驶实验。尽管我们的计划程序简单易行,但该车辆还是成功地穿越了对于以前的仅限LiDAR系统而言具有挑战性的各种路径。这些位置包括水坑、小路中间的草丛和狭窄的小路。我们会将视频上传到项目网站,网址为http://dimatura.net/offroad。图10示出了处于自主操作中的车辆。

Fig. 9 Montage of predictions from cnns-fcn in the YCOR dataset (top four rows) and DeepScene (bottom four rows). In each case, we show three images: input, ground truth labels, and
predicted labels.
在这里插入图片描述
Fig. 10 Action shots of autonomous off-road driving in our testing site. The left-hand side shows screenshots of the sensor data and map as seen from the vehicle. Videos will be made available on the project page.
在这里插入图片描述

Fig. 11 Aerial action shots of autonomous off-road driving in our testing site. The left-hand side shows the vehicle, and the right-hand side shows the semantic map as seen by the vehicle. Video will be made available on the project page.
在这里插入图片描述
在这里插入图片描述

另一方面,我们观察到了当前系统的一些局限性。许多局限性是由于后退的地平线规划器的简单性,它通常在较宽的路径中从一边转向另一边。

某些失败还归因于我们的语义分类系统。例如,有时它无法检测到小路旁的稀疏草丛,导致车辆偏离轨道。在一种情况下,它还会使大型不可穿越的灌木丛与可穿越的草丛混淆,迫使我们手动进行干预。

为了解决这些问题,我们将使用更加慎重和安全的计划程序,更多的训练数据以及更好的网络体系结构。

时间上。我们使用配备6GB GT980M GPU的i7笔记本电脑在车上运行所有计算。系统的瓶颈在于语义映射,语义分割每个图像大约需要35毫秒,标签投影每个图像大约需要60毫秒。这些步骤依次发生,导致系统的工作频率约为10Hz。这对于中速操作已经足够了,我们希望即使不更改我们的体系结构,GPU的进步也将在不久的将来使运行速度提高至少2倍。

5 结论

我们为越野导航引入了一种高效且强大的语义映射系统,该系统具有最新的CNN分类器。 为了训练CNN,我们已经收集并标记了越野图像的新数据集。 我们已经在离线基准测试中对其进行了评估,其结果可与最新技术相媲美,但延迟时间却较短。 我们还展示了在充满挑战的越野地形中的闭环运行。

在未来的工作中,我们感兴趣的是将语义分割领域的最新进展纳入其中,例如扩散层[27]和多种输入模态,例如[23]。

亲身验证了准确标记大量数据的难度后,在以后的工作中,我们对手动标记的替代方法感兴趣,例如自我监督和逆强化学习。

猜你喜欢

转载自blog.csdn.net/sdlypyzq/article/details/110727405