⾯向越野地形⾃动驾驶的语义地形分类
⾯向越野地形⾃动驾驶的语义地形分类
论⽂ 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数据集上的实验来回答这些问题。
利⽤历史重建⽐时间聚合更好吗?
发布评论