iCurb:基于模仿学习的航拍图像道路路缘石检测用于自动驾驶
摘要
道路路缘检测是自动驾驶的一项关键能力,可用于帮助自动驾驶车辆确定道路上的可行驶区域。通常,道路路缘石通过车载传感器(如视频摄像头和三维激光雷达)进行在线检测。然而,使用视频摄像头进行在线检测可能受到复杂光照条件的影响,而基于激光雷达的方法由于点云稀疏性问题,难以有效检测远处的道路路缘石。近年来,航拍图像在全球范围内变得越来越容易获取。我们发现,在航拍图像中,道路区域与非道路区域的视觉外观通常存在明显差异,因此我们提出一种新颖的离线方法,利用航拍图像进行道路路缘检测。本方法的输入为航拍图像,输出直接为表示道路路缘石的图结构(即顶点和边)。为此,我们将该问题建模为一个模仿学习问题,并设计了一种新颖的网络结构和创新的训练策略,以训练智能体迭代地构建道路路缘图。在公开数据集上的实验结果验证了我们方法的有效性和优越性。本工作附有演示视频和补充文档,详见https://tonyxuqaq.github.io/iCurb/。
索引术语
道路路缘检测,图表示,Imitation Learning,自动驾驶。
一、引言
ROAD-CURB 路缘检测在自动驾驶中起着重要作用,尤其是在结构化道路路缘常见的城市交通环境中。检测结果通常可用于确定自动驾驶车辆的可行驶区域,从而使运动规划算法能够在可行驶道路上进行限制。以往大多数道路路缘检测的研究使用车载传感器,例如视频摄像头[1]–[3]或三维激光雷达[4],[5],以在线检测道路路缘。然而,基于摄像头的方法通常会受到复杂光照条件的影响,例如夜间黑暗以及物体阴影造成的遮挡。基于激光雷达的方法对各种光照条件具有较强的鲁棒性,但可能因点云数据的稀疏性问题而性能下降。例如,在远离自车的区域,激光雷达点云可能过于稀疏,无法提供足够的信息来检测线状的道路路缘石。此外,当前基于深度学习的解决方案需要在自车上安装GPU计算设备,这增加了车辆的成本和功耗。
近年来,航拍图像(例如由无人机或卫星拍摄的图像)在全球范围内变得越来越普及。我们发现,在航拍图像中,道路区域与非道路区域之间的视觉外观通常存在差异。因此,本文提出了一种利用航拍图像进行道路路缘石离线检测的新方法,可缓解上述问题。此外,航拍图像中的离线检测可用于对高精度地图(一种精确的环境模型)中的道路路缘石进行自动标注,而高精度地图已被广泛应用于自动驾驶。自动标注能够减轻繁琐且耗时的人工标注工作。此外,航拍图像相比车载前视图像具有更大的视场角,有助于缓解在线检测中的遮挡问题。
目前,利用航拍图像进行离线路缘检测的研究工作还非常有限,但在线状目标检测领域可以找到类似的研究。这些方法大致可分为两类:一类是采用图像分割结合后处理算法的方法[6]–[8],另一类是基于端到端迭代图生成的方法[9]–[12]。前一类方法通常首先使用图像分割算法对线状目标进行粗略分割,然后通过人工设计的规则来优化结果。由于图像分割不可避免地存在误差,整体检测性能通常受限于分割效果。此外,后处理算法通常基于启发式假设,在真实交通环境中这些假设并不总是能得到满足。为解决这些问题,后一类方法采用了线状目标的端到端学习,将问题建模为端到端迭代图生成问题。其输入为原始传感器数据,输出则直接是线状目标的图。本文采用了与后一类方法相似的范式。值得注意的是,一些道路网络提取的相关工作与我们的研究较为相似[12],[13]。我们的工作与它们的主要区别在于,这些工作通常仅粗略检测道路的中心线,而我们的目标是精确检测道路的两侧路缘。
近年来,模仿学习引起了越来越多的关注,并已应用于许多机器人应用中,例如视觉导航[14]和机器人控制[15]。模仿学习的基本思想是利用一个学习策略ˆπ来模拟专家控制策略 π∗。在本文中,我们使用模仿学习解决道路路缘检测问题,并提出一种名为iCurb的新型端到端模仿学习网络。假设我们有一个位于航拍图像中某个顶点vt的智能体 A,期望其根据vt附近的视觉信息,在ˆπ控制下采取动作以移动到沿道路路缘石的下一个顶点 vt+1。来自 π∗的专家示范可由真实道路路缘石标签生成。我们的网络旨在学习一个策略ˆπ以逼近π∗,从而控制智能体 A从起始顶点行进至端点,沿着道路路缘石移动。通过这种方式,智能体 A能够逐个顶点地学习绘制表示道路路缘石的图。据我们所知,这是首次使用模仿学习进行道路路缘检测的工作。图1展示了我们网络的一个示例结果。本工作的贡献主要有三个方面:
1) 我们创新性地提出了一种基于模仿学习的离线路缘检测解决方案。
2) 我们设计了一个智能体网络,能够为图生成任务预测动作。
3) 我们提出了一种新颖的训练策略,该策略包含两种探索方法和一种动态标注方法。
II. 相关工作
A. 基于图生长的自动标注
手动标注物体是繁琐且耗时的。受人类标注物体方式的启发,Castrejon et al.[16]提出了首个通过扩展表示目标物体边界的图来半自动标注图像中物体实例的算法。该方法随后被Acuna et al.[17]进一步改进,优化了网络结构和训练策略。一些自动驾驶领域的工作[9]–[11]专注于线状物体的自动标注。例如,Homayounfar et al.[9]通过循环计数头首先获取每个车道实例的初始顶点,然后训练另一个循环绘制头来扩展每个车道实例,从而实现车道检测。由于该方法无法处理具有复杂形态的车道复杂拓扑结构,例如分叉或合并,他们添加了另一个头来预测合并或分叉动作[11]。
B. 道路网络提取
随着深度学习技术的进步,近期关于道路网络提取的研究转向使用基于卷积神经网络的语义分割。Mattyus et al.[7]提出了DeepRoadMapper,该方法通过实施一系列后处理算法,能够从粗糙且不连续的分割结果中生成道路图。但这些启发式后处理算法的基本假设限制了该方法在更一般场景中的扩展应用。
与从分割结果中提取道路图不同,一些近期方法直接从输入的航拍图像生成道路图[12],[13],[18],[19]。RoadTracer[12]提出了首个通过迭代图增长来生成道路图的方法。该方法从人工定义的起始顶点开始,迭代地预测下一个顶点,最终获得完整的道路图。在此基础上,[13],[18],[19]通过采用更优的网络结构和训练策略进一步提升了性能。
C. 模仿学习
模仿学习旨在从专家示范中学习策略。与以往研究不同,我们从道路路缘的真实数据中生成标注的训练数据(专家示范)。实际上,过去在自动标注和道路网络提取方面提出的方法可被视为一种简单的行为克隆[20],而行为克隆是一种模仿学习算法。然而,尽管学习者在大多数状态下能够模仿专家行为,但在出现异常情况时往往容易失败,因为它并未学会如何恢复[21]。为解决此问题, Ross et al.[22]提出了一种名为数据集聚合(DAgger)的元算法,用于收集学习者的行为并构建数据集。通过这种方式,DAgger能够覆盖更大的状态空间,从而有能力处理异常情况。我们的方法基于DAgger提出。
III. 所提出的方法
A. 方法概述
图2展示了我们的iCurb的概览图。该问题可以分解为两个子问题:(1)如何找到用于启动迭代图增长的初始顶点;(2)如何从一个初始顶点开始迭代地生长道路路缘实例。针对前者,我们设计了一种算法,基于道路路缘分割结果 S和初始顶点热图 H生成初始顶点候选。由于后者类似于视觉导航任务,受DAgger算法[22]的启发,我们提出了一种新的模仿学习算法来预测高质量的道路路缘图。我们方法的输出是一个图G=(V, E),用于表示道路路缘石。顶点集 V由迭代生成的顶点 v t ={xt , s t} 组成,其中 x t 表示 v t 的二维坐标,s t 是用于控制停止动作的变量。一旦 s t 变为1,智能体 A将停止对当前路缘实例的生长,并转而从Q={qi} N i=1 中未处理的初始顶点开始生长另一个实例。边集 E中的边是通过连接相邻顶点简单获得的图生长过程中的顶点。在我们的工作中,我们对初始折线标签进行稠密化以作为真实道路路缘石。
我们的iCurb包含三个步骤:首先,我们使用特征金字塔网络(FPN)[23]从输入的多通道航拍图像 I中提取特征图 F。通过处理二值分割图 S和初始顶点热图 H,我们找到初始顶点候选 Q={qi} N i=1。为了保存历史信息,我们将时间 t之前被预测的顶点或边覆盖的所有像素在gt中设为1。其次,我们将F和gt拼接成一个新的多通道特征图 Ft。这里, Ft可以被视为模仿学习中的环境。假设当前顶点为vt,我们在以 vt为中心的位置裁剪一个 d× d的方块区域crop(Ft),以表示 vt的局部特征。将 crop(Ft)作为输入,智能体 A对下一个顶点ˆvt+1={xˆt+1,sˆt+1}进行预测:
$$
vˆt+1= argmax_{v t+1 ∈ crop(Ft)} π[vt+1|crop(Ft), vt, vt−1],
$$
其中 π是智能体 A的策略,ˆxt+1和sˆt+1分别由坐标头和停止头预测。最后,根据策略 πupdate更新 gt。在测试过程中, π update直接将预测的ˆvt+1添加到 gt中。但在训练期间,图通过更复杂的策略进行扩展,以生成训练样本来教导智能体。详细的训练策略在第三节-E中描述。在处理完 Q中的所有初始顶点候选后,智能体 A在 D上进行训练,并根据以下公式更新策略 π:
$$
πˆ= argmin_π ∑_t |π[crop(Ft) , v t , v t − 1] − v ∗ t+1 |.
$$
B. 特征提取骨干
我们选择FPN作为骨干网络,因为它已被广泛用于融合多尺度特征以实现视觉感知。在我们的任务中,道路路缘石通常细长,因此骨干网络需要具有较大的感受野,并能够捕捉详细的局部空间信息。将 4 × H × W 航拍图像 I作为输入,FPN网络生成一个 8 × H/2 × W/2特征图 F。 F被上采样4倍,以生成具有原始输入分辨率的特征图,用于图生长。
C. 分割与初始顶点候选
我们模型中的两个分割头旨在定位初始顶点候选。其中一个头输出道路路缘石的二值分割概率图 S。我们首先对1 S进行骨架化,然后过滤掉短骨架段,最后选择每个剩余骨架段的一个端点作为起始顶点顶点候选 Q。由于 S 可能包含错误,我们设计了另一个分割头来预测初始顶点的热图 H。 H 表示初始顶点的概率分布。通过计算 H 的局部最大值,我们可以获得另一组初始顶点候选Q′。然后我们将Q′ 中概率较高的候选添加到 Q 中,并移除 Q 中在 H 概率较低的点。
D. 智能体网络
在iCurb中,智能体 A包含两个预测头:一个预测二维坐标 xt+1,另一个预测停止动作 st+1。它们具有相同的网络结构,仅输出通道数量不同。
1) 坐标头
坐标头以crop(Ft)作为输入,并生成一个表示当前顶点 vt局部空间信息的特征向量。然后,它预测当前顶点在 crop(Ft)范围内的相对位移Δxt。顶点坐标通过 xt+1= xt+Δxt进行更新。在训练期间,Δxt从[0, d]缩放到 [-1, 1]。为了增强历史信息并编码绝对坐标,我们将过去的顶点vt和 vt−1与特征向量拼接在一起。否则, A将无法知道其在整个图像中的绝对位置,这可能会降低最终性能。
2) 停止头
当发生以下任一事件时,停止头输出1以触发停止动作:(1)智能体 A到达路缘实例的端点,例如 A到达 I边缘上的端点;(2) A生成了错误的图,例如A生成的顶点远离真实道路路缘;(3) A在生长一个路缘实例上花费的时间超过阈值,从而避免局部无限循环。当触发停止动作时,如果 Q中仍有剩余顶点,iCurb将开始生长另一个路缘实例;否则,iCurb输出该图像的最终图。停止动作比正常动作更少见,导致训练数据不平衡。因此,在先前研究提出的简单的图增长策略[9],[11],[12]下, D中可能会遗漏某些停止动作,这将使智能体 A难以在图生长过程中处理可能发生的错误。
E. 训练策略
不同于以往研究中采用的简单行为克隆[12]或贪心算法 [9],[11],我们提出了一种基于DAgger的算法,用于教导智能体 A如何模仿专家策略。该算法在算法1中进行了描述,并在图3中进行了可视化展示。它有两种生成训练样本的方法:受限探索方法和自由探索方法。它们共享一个在算法2中描述的通用框架,但具有不同的更新策略πupdate。有关我们算法的更多细节,请参阅补充文档。
1) 受限探索
顾名思义,受限探索方法在某些限制条件下生成训练样本。例如,智能体 A 不应远离真实道路路缘。因此,对于每个预测值ˆvt+1,我们使用图4中描述的方法在真实道路路缘中找到最近点 v∗ t+1 。当距离小于某个阈值(即本文中的15像素)时,我们通过将ˆvt+1 添加到图gt 中来直接更新该图。但当距离大于该阈值时,我们则将v∗ t+1 而非ˆvt+1 添加到 gt中。通过这种方式,我们能够使 A 保持在正确轨迹附近,并生成更多靠近真实道路路缘的训练样本。
IV. 实验结果与讨论
A. 数据集
过去,用于道路路缘检测的大规模数据集非常少,这阻碍了基于学习的方法的发展。最近,纽约市开放数据(NYC OpenData)将道路路缘石作为新特性添加到了NYC‐地形测量数据集[24]中。随后,我们通过预处理[24]创建了自己的数据集。该数据集包含2049张四通道高分辨率航拍图像。这四个通道分别为红、绿、蓝和红外。图像分辨率为0.5 ft/pixel ≈15.2 cm/pixel。
为了便于训练,我们将每张图像及其标注分割成 25 1000 × 1000个较小的补丁。然后移除不含道路路缘石或具有不恰当标注(例如错误标注)的补丁。最终我们得到一个包含 29 000 1000 × 1000张图像的预处理后的数据集。其中,18000张图像用于预训练分割网络。借助预训练权重,我们的 iCurb能够更快收敛。我们使用另外10000张图像来训练我们的iCurb,并用剩余1000张图像进行测试。
B. 训练过程
如前所述,我们首先对分割网络进行预训练。然后,在iCurb的训练过程中,我们加载分割网络的预训练权重,并固定模型参数。iCurb的训练算法在算法1和图3中进行了描述。训练过程通常耗时较长,因为每张图像 A需要进行一次受限探索和 N次自由探索(在我们的实验中为 N= 5)。在训练期间,初始顶点候选Q通过向真实初始顶点添加高斯噪声获得;而在测试期间, Q则由提出的算法根据分割结果 S和 H生成。实验使用单个 GTX1080Ti GPU和Intel i7‐8700 K CPU进行。
C. 评价指标
我们使用像素级指标(即精确率、召回率和F1分数)以及受[9]启发的自定义连通性(CC)指标来评估我们的结果。
假设 PGT是真实图覆盖的像素集合, Ppre是预测图覆盖的像素集合。则精确率定义为在阈值 τ范围内落在真实图内的 Ppre中的像素数量除以Ppre中的像素数量。类似地,召回率是通过计算在 τ范围内落在预测图内的PGT中的像素数量除以 PGT中的像素数量得到的。这些指标的公式为:
$$
P=\frac{|{p|d(p, PGT)< τ, ∀p ∈ Ppre}|}{|Ppre|}, \
R=\frac{|{p|d(p, Ppre)< τ, ∀p ∈ PGT}|}{|PGT|}, \
F1\text{-score}= \frac{2P · R}{P+ R},
$$
其中,函数 d(a, B)用于计算点 a到集合 B中最近点的欧氏距离,{·}表示一个集合,| · | 表示集合中的元素个数。P是精确率, R是召回率。本文中,我们分别报告了 τ设为1.0、2.0、5.0和10.0像素时的实验结果。较大的 τ会带来更好的结果,因为它对预测给予了更大的容差。
指标 CC 的计算方法为:
$$
CC= \sum_{i=1}^{N} K_i, \quad K_i= \begin{cases}
\frac{α_i}{m_i}, & m_i ≠ 0 \
0, & m_i = 0
\end{cases}
$$
其中Ki表示第 i个真实标签路缘实例的连通性, N是真实标签路缘实例的数量。对于每个预测的路缘实例,我们找到距离最近的真实标签实例(假设为第j个真实标签实例),并将 m j加1。直观上, mi表示用于近似第 i个真实标签路缘实例的预测路缘数量,mi越大表示连通性越差。然后,我们将1/mi乘以一个权重系数 αi,其值等于第 i个真实标签路缘实例覆盖的像素数除以所有真实标签路缘实例覆盖的总像素数。对于上述每个指标,数值越大表示性能越好。
D. 消融研究
在本节中,我们研究了网络和训练策略中某些组件的重要性。定量结果如表I所示。
首先,我们通过从特征向量 A 中移除历史顶点 vt 和 vt−1 来创建一个变体。然后 A 将仅基于局部特征 crop(Ft)进行预测,因此它不包含全局图像坐标系中过去位置的信息。该变体在F1分数 和连通性方面均表现出显著更低的性能。因此,历史顶点vt 和 vt−1 在iCurb 中是必要的。
其次,我们移除了受限探索方法。从结果来看,我们发现该变体的表现略逊于原始的iCurb。这是由于自由探索方法的存在,智能体 A仍然能够学习处理异常情况并取得相对满意的结果。然而,缺少限制方法后,训练样本变得嘈杂。因此,该变体的效果无法达到原始iCurb 的水平。此外,由于噪声训练数据的存在,收敛速度也变慢了。实验结果证实了在我们的方法中采用受限探索的必要性。
第三,我们从原始的iCurb中移除了自由探索方法。从表 I可以看出,移除自由探索方法会严重降低结果性能。如前所述,自由探索方法生成覆盖更大状态空间的训练样本,从而使 A能够学习处理异常情况。因此,移除自由探索方法导致该变体无法采取正确的停止动作。召回率仍然较高,是因为错误生成的图覆盖了更大的区域。因此,此处的高召回率并不表示性能更好。由此可见,自由探索方法对我们的方法至关重要。
最后,为了证明基于DAgger的算法的优越性,我们通过在每次训练后清理 D来修改训练策略。这样该算法变得更像 SEARN [25],仅使用单次迭代的数据(即Di)进行训练,而不是使用聚合数据(即 D)。由于 A产生的大多数错误发生在早期阶段,通过多次训练早期样本,数据聚合可以增强 A的鲁棒性。在表I中,我们发现由于缺乏数据聚合,该变体的结果不如初始的iCurb。因此,基于DAgger的算法对 iCurb至关重要。
E. 比较结果
据我们所知,目前尚无关于从航拍图像中进行道路路缘检测的已发表工作。因此,在方法比较中,我们自行构建了基线,包括四种基于分割的基线和三种基于图的基线。对比结果如表II所示,时间分析如表III所示。
对于基于分割的方法,我们首先通过对分割结果 S进行一系列处理(如阈值化和骨架化)来创建一个简单基线。由于语义分割网络提供了良好的初始预测,该简单方法表现出较高的F1分数。然而,其连通性较差,在实际应用中不可接受。随后,我们基于以往的研究工作[6]–[8]构建了三个能够缓解断连问题的基线。其中,[7]可以生成新的连接以桥接分割结果中的断开部分,而[6],[8]则通过另一个深度网络迭代优化分割结果。然而,尽管这三个基线在一定程度上能够提升F1分数和连通性,它们仍然是逐像素的,并且对连通性缺乏足够的约束,因此其结果仍不足以满足我们的任务需求。
与基于分割的方法不同,基于图的方法能够更好地强调连通性。我们调整了三种用于线状目标检测的工作[11]–[13],以使其适用于我们的任务。其中,RoadTracer[12] 具有固定步长,而VecRoad[13] 和DagMapper[11] 具有灵活步长。尽管连通性得到了显著增强,但这些先前的工作都没有意识到基于图的方法与模仿学习之间的相似性,因此它们往往采用过于直接且简单的训练策略。结果,它们在处理异常情况时表现较差,并且无法很好地正确触发停止动作。因此,它们生成了大量的错误顶点,且无法进行相应的修正,导致F1分数 和定性结果差得多。因此, iCurb的训练策略的优越性得以体现。
由于基于图的方法是顺序进行的,并且即时生成标签,因此它们的处理时间通常比基于分割的方法更长。在训练阶段,iCurb 对每幅图像运行 1+ N轮探索,因此相比其他基于图的基线方法需要消耗更多时间。但在推理阶段,基于图的方法的效率令人满意。从表III可以看出,i Curb需要更多的训练时间,但我们的方法在推理速度方面与其他方法相比具有竞争力。
图5. 定性演示。每一行显示一个示例。第一列为真实标签(青色线条);(b) 到 (e)列为基于分割的基线(绿色线条);(f) 到 (h)列为改进的基于图的基线(橙色线条表示边,黄色节点表示顶点);最后一列显示了我们的 iCurb 的结果(橙色线条表示边,黄色节点表示顶点)。与基线相比,iCurb 的结果更准确且拓扑正确。为了更好地可视化,图中线条以较粗的宽度绘制,而实际为单像素宽度。该图建议以彩色查看。请放大以查看细节。
F. 失败案例
在大多数情况下,iCurb 能够处理各种场景并生成满意道路路缘图。从实验结果可以看出,即使 A 中的一个头做出错误预测,另一个头仍然可以保证 A 输出可接受的结果。例如,如果坐标头对 xt+1 的预测错误(例如,远离正确轨迹),停止头会立即停止 A,以防止生成错误的路缘图。类似地,如果停止头未能正确预测停止动作,坐标头仍会持续预测 xt+1与 xt相同,以确保不会添加错误的顶点。然而,当两个头同时失败时,我们的iCurb会产生具有显著错误的图。一些示例在图6中进行了可视化。
图6. 失败案例的定性演示。(a) 真实标签(青色线条);(b) 简单基线的结果(绿色线条);(c) iCurb的结果(边为橙色线条,顶点为黄色节点)。红色矩形表示错误发生的位置。第一行展示了一个在非结构化道路上结果不理想的例子。此类道路在训练集中较为罕见,因此智能体 A无法生成正确的图。第二行展示了由树木遮挡引起的意外智能体行为示例。这些错误在未来可通过使用更强大的骨干网络加以缓解。该图以彩色查看效果最佳。
G. 局限性
iCurb的局限性主要体现在三个方面。首先,iCurb的结果相对不够平滑。这是因为iCurb生成的顶点是离散的,因此用线段连接这些顶点会使图看起来不够平滑。其次,训练过程通常耗时较长。这是因为iCurb会对每张图像运行 1+ N轮探索,这非常耗时。最后,当两个头的 A同时出现错误预测时,iCurb无法生成正确的图。这类错误主要发生在道路路缘石被阴影或植物严重遮挡的情况下。这一问题在未来可能通过使用更强大的骨干网络或多模态语义分割网络[26]来缓解。
V. 结论与未来工作
我们在此提出了一种利用航拍图像进行道路路缘检测以用于自动驾驶的新型解决方案。我们将该问题建模为一个模仿学习问题,并设计了一种新颖的网络iCurb,该网络以航拍图像作为输入,直接输出道路路缘图。在i Curb中,我们设计了一个智能体来迭代生成图。所提出的智能体能够利用历史信息并预测下一个顶点。为了使智能体能够探索更大的状态空间,同时保证获得的图的质量,我们提出了一种创新的训练算法,该算法由受限探索方法和自由探索方法组成。我们基于NYC‐planimetrics数据集创建了一个新数据集。实验结果证明了我们方法的有效性和优越性,尤其是在连通性方面表现突出。未来,我们将尝试更强大的骨干网络或多模态语义分割网络,并探索更高效、更有效的训练策略。此外,iCurb还将在新数据集上进行测试,以评估其泛化能力。
802

被折叠的 条评论
为什么被折叠?



