面向越野地形自动驾驶的语义地形分类
论文 Semantic Terrain Classifification for Off-RoadAutonomous Driving
CoRL2021据说这个会议上的论文都挺狠的
摘要:
利用环境信息得到高密度、高精度的可穿越性地图对于越野导航至关重要。在本文中,我们重点研究将地形划分为4个成本等级(free, low-cost, medium-cost, obstacle)类的问题,以进行可穿越性评估。这需要机器人对这两种语义进行推理(存在哪些对象?)和几何特性(对象位于何处?)保护环境。为了实现这一目标,我们开发了一种新型的鸟瞰网络(BEVNet),这是一种深度神经网络,可以直接从稀疏的激光雷达输入预测编码地形类别的局部地图。BEVNet以时间一致的方式处理地理、度量和语义信息。更重要的是,它利用学到的经验和历史来预测未知空间和未来的地形等级,使机器人能够更好地评估自己的状况。我们定量评估了BEVNet在公路和越野情况下的性能,并表明其性能优于各种baselines。
介绍
尽管最近人们对开发自动驾驶汽车产生了极大的兴趣,但这项工作的主要内容集中在道路和城市驾驶上。然而,可在复杂自然地形下行驶的自主越野车辆可使包括国防、农业、保护和搜索救援在内的广泛应用领域受益。在这种环境中,了解车辆周围地形的可穿越性对于成功规划和控制至关重要。由于越野地形通常具有地平面快速变化、植被茂密、悬垂树枝和负面障碍物的特点,因此从稀疏的激光雷达数据中判断地形是否可穿越是一个具有挑战性的问题。换句话说,一个成功的越野机器人必须研究其周围环境的几何和语义内容,以确定哪些地形是可穿越的,哪些是不可穿越的。
在这项工作中,我们将可遍历性估计表述为一个语义地形分类问题[1,2]。其动机是统一语义(存在哪些对象?)和几何体(对象位于何处?)将地形转换为单一成本本体。从语义角度来看,大型岩石和树干等物体是不可穿越的,而砾石、草和灌木都是越野车可穿越的[3],但难度越来越大。从几何角度来看,可以忽略悬垂障碍物,同一语义类别的对象的可通过性可能因其高度而异(例如,高灌木丛与短灌木丛)。为此,我们使用一组离散的可遍历性级别,以便于根据语义类的可遍历性对语义类进行分组,同时允许我们根据它们的几何结构调整特定实例的通过性级别。
图1:示例目标场景。BEVNet可以在Clearpath Warthog上运行,以生成越野环境的语义地图。
一个有效的地形分类系统应能有效地1)使用噪声里程计收集随时间变化的观测结果[1,4],2)环境中部分可见或甚至尚未可见部分的原因[7,8,9],以及3)检测悬垂结构,如树枝、隧道和电线[10,11]。虽然以前的工作分别解决了这些问题中的每一个,但上述挑战是相互关联的,解决每一个问题都应该使其他人受益。
在本文中,我们提出了一种鸟瞰网络(BEVNet),这是一种递归神经网络,通过激光雷达扫描以2D网格的形式直接预测机器人周围的地形类别。如图2所示,我们的模型有三个主要部分:
1)处理体素化点云的3D稀疏卷积子网络,
2)卷积选通递归单元(ConvGRU),它使用选通递归单元[12]中的卷积层来聚合3D信息,3)基于[13]的高效二维卷积编码器-解码器,可同时修复空白并将三维数据投影到二维鸟瞰图(BEV)地图中。为了训练模型,我们使用过去和未来标记的激光雷达扫描来构建完整的三维语义点云,并构建地面真实二维可遍历性地图。以前的工作[10]利用一组具有地面/悬挑分类的可折叠立方体结构,根据其间隙去除不相关的悬挑,但当难以从稀疏激光雷达扫描中估计准确的地面标高时,这种基于规则的过滤缺乏泛化性。相比之下,我们的模型是用从完全观测和标记的环境中构建的地面真实BEV图来训练的,这允许准确的地面水平估计用于学习。然后,该网络学习检测并移除稀疏激光雷达扫描中的悬垂障碍物,而无需明确的过滤机制。
我们做了一些贡献和经验观察。我们提出了一个新的框架来构建BEV costmap,方法是:1)聚合随时间变化的观测值,2)预测地图中看不见的区域,3)过滤掉不影响可穿越性的无关障碍物,如悬垂树枝。SemanticKITTI[14]和RELLIS-3D[15]的实验结果表明,BEVNet在道路和越野环境中都优于 strong baselines。
2相关工作
由于大多数关于自动驾驶感知的先前文献[16,17,18,19,20,21,22,23]侧重于城市环境和城市和道路网络固有的结构,我们将我们的系统与共享我们的相互组成部分的工作进行比较,即可通过性分析[24,25,26,27],语义映射[1,17,18,19,23,21],复发处理[1,17,19],语义场景完成[7,8,9]。
可通行性分析和语义映射。
可通行性分析和语义映射对于越野自主性至关重要[25,28,29]。可根据各种标准分析通行能力,包括表面粗糙度[24]、负障碍物[25]和地形分类[26,27]。
可通行性信息通常投影到鸟瞰图(BEV)中,该图将本地可遍历性和语义信息存储在自上而下的二维网格中[30]。尽管[16,17,18]等之前的作品利用了事先假定的高清晰度地图,但这样的地图制作成本很高,
因此,我们的系统在网上构建了一个。类似地,Casas等人[19],Wu等人[23]为城市自动驾驶生成在线语义地图,但优先绘制车道和道路对象的地图。相比之下,我们的系统侧重于基于地形可遍历性的更广泛的语义分类。其他工作从图像生成语义图,其中Philion和Fidler[21]从RGB图像端到端生成BEV图,而Maturana等人[1]应用了贝叶斯过滤器。我们的系统学习从激光雷达扫描生成语义地图。我们还将我们的方法与激光雷达分割方法进行了比较,其中来自[31,32]等网络的分割点云可以投影到BEV地图上。我们将在第2节中对此进行详细评估。
时间聚合
时间一致性语义对于稳定映射环境至关重要。最近的工作[17,19]将过去10次扫描直接连接起来作为内存效率的输入。与我们的系统相比,作者的递归神经网络(RNN)是专门为语义占用预测而设计的,而我们的递归架构按顺序累积特征,以更好地估计当前周围地形的可穿越性。Maturana等人[1]通过贝叶斯滤波积累信息,在我们的系统中,贝叶斯滤波也被RNN所取代。
有各种可用的架构来处理复发[4,33,34,35,36,37,38],其中我们的系统利用ConvGRU来积累2D BEV图。
语义场景完成(SSC)
SSC的目标是在单次激光雷达扫描的情况下生成完整的3D场景。[7,8,9]利用语义分割的信息来完成场景,而我们的系统学习直接预测完成的场景,因此不需要从二级网络或地面真相标签进行分割。此外,我们的系统同时执行二维点云投影和场景完成,因为我们工作的主要任务是生成二维BEV地图。我们通过将模型与[7]进行比较来评估系统完成场景的能力,详情见第
3方法
3.1概览
我们考虑一个带360°激光雷达的移动机器人。为了让机器人在新环境(公路或越野)中高效、安全地导航,机器人在其周围构建了一个在线可穿越地图。可遍历性图类似于传统的占用率图以及[1]中的语义图,其中每个单元存储可遍历性标签的概率分布。在这项工作中,我们使用了四个级别的可通过性:free, low-cost, medium-cost, and lethal.。
如果需要,可通过性级别的数量可以简单地扩展。可穿越性地图位于机器人的里程计框架内,因此机器人始终位于中心,其航向指向东方。可遍历性映射通过查找表将每个可遍历性级别映射到相应的成本值,从而转换为成本映射。转换后的成本图可以很容易地与本地规划师[39]或全球规划师(如a*)连接,以找到实现目标的最低成本路径。
我们采用监督学习的方法来预测这个可通过性映射。我们首先通过一个可遍历性感知的投影过程,从激光雷达分割数据集[14,15]构建一个可遍历性数据集。然后,我们介绍了BEVNet,这是一种递归神经网络,它接受当前的激光雷达扫描,并利用其历史来构建密集的可遍历性地图。在以下部分中,我们将详细描述每个组件。
3.2构建可通过性数据集
最近的工作[17,1]侧重于道路驾驶,其中需要对大量细粒度语义类进行推理。在这里,我们考虑一个更一般的驾驶范例,我们只关心周围地形的可穿越性。这使得我们的模型适用于公路和越野驾驶。给定一个具有语义标记的激光雷达扫描的数据集,我们通过以下过程将其转换为可通过性数据集(如图3所示)。
Scan Aggregation扫描聚合。
对于每次扫描,我们将其与过去的t扫描和未来的t扫描进行聚合,并使用步长s构建一个更大的点集。我们将t设置为足够大的数字(例如71),以获得机器人周围大面积的密集可遍历性信息。这些参数可根据车辆速度和激光雷达点的密度进行调整。
可通过性映射
我们将语义类映射到我们的4级本体中。一般原则是将具有相似代价的语义类映射到相同的可遍历性标签。例如,汽车和建筑被映射为致命,而泥土和草地被映射为低成本。详细映射可在补充文档中找到。
点云堆叠和地面高度估计
对于聚合扫描中的每个点,我们进行向下投影,以找到其在可遍历性地图上的位置x,y。因此,地图的每个x、y位置都包含一个点柱。我们通过在地图中每个x,y位置上标记为free and low-cost的点的最低z坐标上运行平均滤波核来估计地面高度地图。此高度图用作最终可通过性投影的参考。
可通过性投影
对于每一个点柱,我们通过将高于当地地面的点移动一定的阈值来过滤掉悬垂的障碍物,因为它们不会与机器人发生碰撞。此外,我们根据某些点离地面的高度和机器人的移动能力来调整这些点的可通过性水平。i、 e.对于大型越野车辆,标记为中等成本但非常接近当地地面的点可被视为可忽略不计,因此,将其重新映射为低成本点,与附近的其他点一样。最后,我们将每个x,y位置的最小可遍历点(即最困难点)作为最终的可遍历性标签。
图2:BEVNet的网络架构。首先将入射激光雷达扫描离散为稀疏体素网格,然后将稀疏体素网格送入一系列稀疏卷积层以压缩z维。压缩后的稀疏特征张量通过ConvGRU单元随时间进行聚合。我们使用可微的仿射翘曲来对齐潜在特征图与当前里程计框架。最后,inpaint网络“inpaint”潜映射以输出密集的可遍历映射。
3.3通过稀疏卷积和Z压缩进行特征提取
BEVNet的体系结构如图2所示。首先将输入激光雷达扫描离散为分辨率为0.2m的512×512×31网格。我们执行稀疏离散化,以便只保留占用的体素。每个体素包含一个4维特征f=1/n ∑[xi,yi,zi,ri],它是体素内点的坐标和值的平均值。该稀疏体素网格被送入一系列稀疏卷积层中,这些层通过跨步卷积压缩z维。我们保持x和y尺寸不变。稀疏卷积层的输出是大小为512×512×C的稀疏特征张量S,其中C是特征维数。
3.4稀疏特征映射的时间聚集
随着距离的增加,单个激光雷达扫描变得越来越稀疏,因此很难对远离机器人的区域的可穿越性级别进行分类。与传统的SLAM不同,SLAM通过人工设计的贝叶斯更新规则[40]随时间聚合激光雷达测量值,我们让网络学习通过卷积选通递归单元(ConvGRU)聚合来自过去激光雷达扫描的稀疏特征图。ConvGRU使用一个2D潜在特征图M,该图与最终可遍历性图共享相同的坐标系和尺寸。潜在特征图M更新为
其中 ∆Tt+1 是机器人坐标从 t to t+1的相对变换. WarpAffifine从先前里程计帧转换为当前里程计帧以便使得潜在特征图从Mt转换为St+1进行空间对齐,请注意请注意,WarpAffifine是可微的,以允许梯度随时间反向传播。
3.5 可通过性修复
由于 ConvGRU 只聚合稀疏特征张量,M 包含的区域信息很少,没有 LiDAR 点。 我们没有将未命中区域视为未知,而是让网络通过修复网络利用本地和全局上下文线索来填充空白空间。 修复网络是受 FCHardNet [13] 启发的全卷积网络,最初是为快速图像分割而设计的。 它由一系列带有跳跃连接的下采样和上采样层组成,使其有效地捕获本地和全局上下文信息以预测丢失的内容。
Implementation Details实验细节
我们从SemanticKITTI[14]和RELLIS-3D[15]构建可遍历数据集,以评估在公路和越野场景下的BEVNet。对于SemanticKITTI,我们用步幅2聚合71帧来生成一个可遍历映射。对于RELLIS-3D,我们将141帧与stride 5相加。这两个数据集都提供每帧里程测量,我们将其用于ConvGRU中的差分翘曲层。可穿越度地图尺寸为102.4m × 102.4m,分辨率为0.2m。请注意,可遍历性映射包含了从未被观察到的额外的“未知”类标记区域。有关网络培训和数据扩充的更多细节,请参阅补充材料中的第4节。
5.1评价指标
我们使用图像分割中广泛使用的度量mIoU (mean Intersection of Union)[13]作为预测精度的定量度量。请注意,我们的模型预测了一个额外的“未知”类,以提高视觉一致性,并且我们在评估中排除了“未知”类。为了更好地理解我们的模型预测未来的能力,我们以三种模式报告miou: seen、seen和all。在“可见”模式中,我们不包括从未来帧中获得的ground truth标签,有效地排除了任何未来预测。对于“看不见的”模型,我们只包括对未来的预测。在“all”场景中,我们对两者进行评估。
5.2 Comparison with LiDAR Segmentation with Temporal Aggregation
构建可遍历图的一个较强的baseline是对即将到来的LiDAR扫描进行语义分割,向下投射得到一个二维稀疏可遍历图,并随着时间的推移对可遍历图进行聚合。为了与该方法进行比较,我们选择性能较强的 Cylinder3D[31](四分类上表现较好)作为LiDAR分割网络,并对输入的LiDAR扫描使用第3节中相同的投影过程来获得单帧可遍历图。我们通过一个统一的狄利克雷先验跟踪可遍历性的类别分布来执行时间聚合。为此,我们保留一个大小为H ×W ×4的计数器映射MC(初始化为0)。除了最后一个维度计算到目前为止观察到的可遍历标签外,它与可遍历映射的大小相同。我们增量地更新MC。对于每个传入的单帧可遍历映射,我们通过双线性interpo ation将MC变形到当前的里程计帧,并通过添加传入的单帧映射的一个热版本来增加计数。
实际的可遍历标签可以通过取MC最后一个维度的argmax来得到。
SemanticKITTI数据集上验证的结果。
在表1的左半部分,我们在语义kitti验证集上比较了BEVNet-Recurrent (BEVNet- r)和气 Cylinder3D+Temporal Aggregation (C3D-TA) 的性能。当仅考虑到迄今为止观测到的(“seen”)和空的的里程计时,C3D-TA优于BEVNet-R。这表明,具有精确时间聚合的激光雷达分割可以很好地应用于结构化环境,如城市驾驶环境。当评估完全的事实(“full”),BEVNet-R优于C3D-TA,因为C3D-TA不能预测未来的可通过性。当评估噪声里程计时,在“可见”和“完全”测试场景下,BEVNet-R都超过了C3D-TA。BEVNet-R使用学习过的递归来“修正”里程计中的小错误,并在错误太大的情况下自适应地忘记历史。相比之下,C3D-TA仅使用所提供的里程计来聚合信息,这可能会导致较大的误差,因为误差随着时间的推移而复合。
RELLIS-3D数据集上验证的结果。
RELLIS-3D(表1右半部分)的结果与SemanticKITTI的结果具有相似的趋势,其中BEVNet-R始终优于C3D-TA,且差距更大。这表明,越野环境更具挑战性,由于缺乏环境结构,很难获得精确的激光雷达点云分割。事实上,在RELLIS-3D上,对于LiDAR的分割,只有64.1 mIoU,低于SemanticKITTI上的87.9 mIoU。有趣的是,噪声里程计对BEVNet-R的影响较小。我们假设这是因为RELLIS-3D数据集包含较少的杂波和遮挡,所以BEVNet-R不太依赖历史来进行可遍历性预测。
结果与三维语义时间聚合的比较。
我们还提供了一个baseline,在使用Octomap[41]进行投影(Cylinder3D-TA-3D)之前在3D中聚集点。结果如表1所示。一般来说,C3D-TA- 3d比C3D-TA工作得更好,甚至可以在可见区域优于BEVNet-R。但是,由于它不能预测未来,它在全场景上的mIoU很差。它的速度明显较慢(低于1帧每秒),而且容易受到C3D-TA等里程计噪声的影响。我们可以选择在Octomap中启用射线追踪来移除动态障碍。虽然这在数量上没有很大的区别,但在接下来描述的定性比较中有一个明显的区别。
5.2.1 结果分析
在图4的左半部分,我们强调BEVNet-R比C3D-TA更能保存自行车等小型动态物体。人工提取的时间聚合图像容易将小型动态对象视为噪音而忽略它们。相比之下,BEVNet可以学习保持动态对象,同时保持静态区域的平滑。右半部分显示了噪声里程计的影响。我们可以看到C3D-TA的大偏差和涂片伪影,而BEVNet-R产生显著清洁的输出。在图5中,我们提供了BEVNet-R、C3D-TA和C3D-TA- 3d的比较。C3D-TA-3D可以在地图上保留更多的细节,但是如果没有光线追踪,它就不能清除动态障碍物如汽车和人留下的残留物。虽然打开光线追踪[41]改善了结果,但它也错误地清除了一些地面点,因为浅激光雷达入射角。相比之下,BEVNet-R没有这些缺点,并预测一个更完整的领域。最后,在图6中,我们看到了SemanticKITTI和RELLIS-3D上的示例。一般来说,BEVNet-R在预测未来可通过性方面表现出较强的性能。它学习用极其稀疏的激光雷达点预测整辆车、小巷入口和小道路径。
图4:Cylinder3D-TA与BEVNet-R的定性比较。左图:BEVNet更擅长保存快速移动的小型物体,如自行车(蓝色圆圈突出显示),而手动更新规则往往会忽略这些物体。(地图被放大50%)。右:当噪声被注入里程计时,BEVNet-R仍然预测一个干净的地图,尽管细节更少,而Cylinder3D+TA没有做到这一点,导致一个模糊的,不准确的地图。
图5:比较BEVNet-R,Cylinder3D-TA-3D和Cylinder3D-TA-3D。虽然气缸3d - ta - 3d会生成更详细的地图,但由于动态障碍,它会引入额外的误差。详情请参阅文本。
5.2.2消融实验
我们对三种BEVNet变体进行消融研究:BEVNet-Single (BEVNet- s)、BEVNet+Single+Temporal Aggregation (BEVNet- ta)和BEVNet- recurrent (BEVNet- r)。
我们想要回答三个问题:
1)习得的递归比时间聚合更好吗?2)历史有助于预测未来吗?3)信息在网络中的何处聚合?我们通过一组在SemanticKITTI和RELLIS-3D数据集上的实验来回答这些问题。
利用历史重建比时间聚合更好吗?
当全面评估时,我们观察到,在公路和越野情况下,BEVNet- r始终优于BEVNet和BEVNet- ta(表1)。值得注意的是,BEVNet- ta也优于BEVNet,这表明任何形式的复发都是有益的。特别地,我们观察到学习的递归比手工设计的TA更好地利用了时间信息。当引入有噪声里程计时,我们观察到与第5.2节中讨论的趋势相同,即BEVNet-R对噪声表现出鲁棒性,并优于BEVNet-TA。
历史有助于预测未来吗?
在表1中,我们可以看到,任何形式的累积历史的递归都有助于预测看不见的区域。特别是,BEVNet-R优于BEVNet-S和BEVNet-TA,表明学习后的递归比单帧模型或手工设计的时间聚合方法能更好地预测不可见区域。
把ConvGRU放在哪里?
递归可以在稀疏卷积之后应用(早期聚合),也可以在2D inpainting网络之后应用(晚期聚合)。我们在表2中用干净的里程数法对SemanticKITTI数据集上的两个选项进行了比较。请注意,我们的模型是用干净里程计训练的。
早聚合比晚聚合效果好。这是因为当早期聚合被应用时,inpainting网络可以获得时间融合的信息,因此可以获得更多的信息来完成场景并保持扫描的时间一致性。此外,我们可以推断,如果应用了后期聚合,对于循环网络来说,学习校正里程计是更困难的,因为它给出的是包含潜在噪声信息的完整场景,而不是稀疏的特征图。
5.3 与其他相关工作的比较和讨论
最近的一些工作集中在稀疏激光雷达扫描场景的语义理解[7,9]。它们解决的是相关但略有不同的问题。它们生成更小的映射,并且不执行时间聚合。由于篇幅限制,我们请读者参阅附录的第4节进行详细讨论。
实际机器人实验
在图7中,我们显示在SemanticKITTI和RELLIS-3D上训练的BEVNet-R可以在ClearPath疣猪机器人上推广到新的环境。该机器人配备了OS1-64激光雷达,该雷达被送入BEVNet-R对地形进行分类。第一环境运河路,是一条草木稀疏的土路;第二环境野草,草木蔓生,参差不齐。在这两种情况下,BEVNet-R都能够通过稀疏激光雷达输入预测出完整的可遍历性地图,并使用语义和几何特征对周围环境的可遍历性进行推理。更多详细信息可以在网站上找到。
结论
我们提出了一个名为BEVNet的框架,该框架对移动机器人周围局部区域的地形可通过性进行分类,目的是帮助机器人在新颖的道路或越野环境中导航。
BEVNet在一个统一的架构中解决了许多挑战,即
:1)学会总稀疏的激光雷达信息随着时间的推移,
2)它学会了推导可遍历性,这涉及到对环境的几何和语义理解,
3)学会填写未知的空间,没有激光冲击,从而为机器人提供了一个更完整的对周围环境的理解。最值得注意的是,BEVNet可以利用过去的信息更好地预测未来。
我们相信,BEVNet为在复杂地形上实现机器人自主迈出了重要的一步,因为在复杂地形上,现有地图是不可用的。
Limitations and Future Work由于BEVNet是数据驱动的,如果训练数据不够多样化,它可能会过度适合某些类型的环境。此外,由于公开的数据集不包含粗糙的地形,我们暂时不将地形的粗糙度计入计数中。然而,BEVNet可以被扩展到预测额外的数量,例如将高程图与当前语义成本图融合,以获得更精确的可遍历性估计。未来,我们将扩展BEVNet的功能,并在更具挑战性的越野场景中进行测试。