原文链接:IEEE Xplore Full-Text PDF:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9895423
1. 摘要
行人车道检测是视障人群辅助导航中的一项重要任务。它可以提供步行区域的信息,帮助盲人保持在人行道上,并协助障碍物检测。一种准确、实时的车道检测算法可以提高视障人士出行的安全性和效率。非结构化场景行人车道检测对于辅助导航的研究具有重要意义,但尚未引起学术界的足够重视。本文旨在对可用于行人车道检测的方法进行综合综述和实验评价,从而为该领域的进一步研究奠定基础。我们的研究涵盖了行人车道检测、一般道路检测和一般语义分割的传统和深度学习方法。我们还在专门为行人车道检测创建的大型基准数据集上对代表性方法进行了实验评估。我们希望本文能够为辅助技术的研究人员提供信息指南,并促进视障人士急需的研究。
2. 介绍部分
根据世界卫生组织,全世界约有2.53亿视力受损者,其中2.17亿人视力中度或重度障碍,3600万人失明。各种研究表明,视力障碍会导致严重的机动性降低,而且摔倒的风险也更高。由于视觉感知能力下降,盲人在陌生环境中导航有很大困难。
为视障人士提供的传统助行工具包括白色手杖和导盲犬。白手杖使用起来很简单,但它们的探测范围很短。导盲犬可以避开障碍物,记住路线,但它们需要额外的训练和照顾,而且主要在家庭环境中有效。因此,人们越来越需要开发出能够超越传统导航(导盲犬和手杖)的辅助导航系统。在这些辅助系统中,行人车道检测是实现视障人士在行人专用道内行走并保持平衡的核心组件。一个准确,可靠,和实时的行人车道检测算法可以显著提高视障人士的移动性和安全性。尽管它对辅助导航很重要,但行人道路检测并没有引起人们太多的兴趣。本调查论文旨在研究综述与评估适用方法,包括一般道路检测和语义分割方法为辅助导航奠基。这些方法在基线行人检测数据集上的方法和性能是开发新方法时的有用资源。请注意,为车辆道路检测设计的方法是不适宜于人行车道检测,尽管这两个任务有一些相似之处。首先,与人行横道相比,车辆道路(特别是在城市环境中)通常更有条理。例如,车辆道路经常有明确的边界和沥青路面,而行人专用道通常有任意形状和各种路面纹理(例如,砖,混凝土,瓷砖,草,沙子和土壤)。其次,车辆道路检测方法主要处理室外的情况,而行人车道检测方法不仅需要处理室外的情况,还需要考虑室内场景。因此,尽管道路检测方法都可以用来检测行人道,但它们不是行人车道检测的完整解决方案。本文展示了应用在行人道路检测的综合性的回顾和实验性的评估。调研的不敌是作为一个研究者的信息指南。我们希望它可以辅助技术和促进急需的针对视力障碍人群的研究。本文的主要贡献可以突出表现在以下几个方面:
1)我们对传统和深度学习方法进行了全面的回顾和分析,这些方法可以应用于行人车道检测。传统的方法包括基于颜色(color-based)的方法,基于边界(border-based)的方法和两种方法和组合(combined)方法。目前最先进的(SOTA)深度学习方法包括用于道路检测和一般语义分割的深度网络。表1给出了代表性方法的总结。代表性方法的时间轴如图1所示。
2)我们在PLVP3数据集上对代表性方法进行了广泛的性能评估。到目前为止,这是文献中最大的行人道数据集。该评估提供了行人车道检测的基线性能,并允许从业者专注于有前途的方向。
3)我们讨论了行人车道检测的技术挑战和未来的研究方向,以弥补实际辅助导航系统的差距。
本文的其余部分组织如下。第二节回顾了基于手工特征的传统检测方法。第三节回顾了基于深度神经网络的道路分割方法。第四节介绍了PLVP3数据集上主要方法的实验评估。第五部分讨论了行人车道检测的技术挑战和未来发展方向。第六节是结束语。
3. 传统方法
本节回顾了代表性的基于特征的方法,它们分为三种不同的类型:(i)基于颜色的方法(第II-A节);(ii)基于边界的方法(第ii -b节);(iii)使用道路颜色和边界特征的组合方法(第II-C节)。
A. 基于颜色的方法
基于颜色的方法通过将每个像素与参考颜色模型进行比较来对图像像素进行分类。参考颜色模型可以使用不同的颜色空间来构建.Crisman和Thorpe在他们的研究中中提出了一种名为SCARF的道路检测方法。该方法将道路类和非道路类的颜色模型构建为红绿蓝(RGB)颜色空间中的多个高斯分布。首先,选取前一帧中道路和背景对应的区域,构建当前帧的颜色模型。接下来,每个区域被分成四个同质色组。然后,从颜色组中为每个类生成四个高斯分布。最后,构建两个颜色模型对道路和背景区域进行分割。最后,构造两个颜色模型对道路和背景区域进行分割。第一帧中的道路位置需要手动定义或使用其他算法(如UNSCARF)定义。由于颜色模型由多个高斯分布表示,因此该方法可以处理道路颜色和纹理的变化。然而,它严重依赖于相邻帧的连续性,如果两帧之间有突然的变化,可能会产生错误。
Ceryen等人提出了一种使用颜色直方图在归一化的红绿颜色空间中表示道路模型的道路检测算法。与标准RGB色彩空间相比,标准化空间可以更好地应对光照变化。此方法假定输入图像的中下部分是一个均匀的道路区域。因此,将样本区域定义为输入图像中下部分的矩形。对于每帧,从样本区域中的像素生成一个颜色分布。最后的道路模型由不同的帧随时间生成的个四种颜色分布表示。由于该方法考虑多重颜色分布的帧连续性,它提升了检测帧的稳定性。然而,当样本区域包含多个道路颜色时,它是无效的。
Sotelo等人引入了一种具有色调-饱和度-强度(HSI)色彩空间的道路模型。这个方法将像素分为彩色像素和消色差像素。彩色像素使用强度和颜色信息进行分类,而消色差像素(极端强度或低饱和度)只使用强度分类。为了对像素进行分类,将阈值定义为函数的两个参数:(i)像素与先前预测的道路中心之间的距离,以及(ii)上一帧的最大阈值。在假设初始道路宽度的前提下,从7个预定义模型中选择道路中心模型。为了应对极端光照变化,该方法根据预测道路边缘的亮度和颜色特征重新考虑非道路像素。该方法的主要局限性在于,它是从道路中心附近随机选择的少量像素构建颜色模型,这可能无法有效地表示整个路面。
Ramstrom和Christensen采用高斯混合模型(Gaussian Mixture Model, GMM)用三种不同的基于颜色的特征向量来表示道路和非道路类:UV (HUV颜色空间)、归一化的红色和绿色、和信道强度。对于每个特征向量,两个GMMs被产生。道路的GMMs由道路区域内的像素构成。这里,道路区域由道路形状模型(道路中心线)和道路宽度参数确定。道路形状模型连续更新基于每一个新的GMM。出事的道路模型的选择基于假设的道路形状和道路宽度。综上所述,该方法使用了简单的颜色模型和简单的道路形状模型,因此不能很好地处理复杂的道路形状,例如s形车道或十字路口。
Alvarez和Lopez提出了基于光照不变图像的道路模型来解决光照变化问题。这些图像是根据输入的RGB图像计算出来的,相机参数称为光照不变角。该方法将道路建模为输入图像中下部分的一组种子的归一化直方图,如图2所示。由于道路直方图是由样本区域内的一些种子构建的,因此该方法对于具有非均匀表面纹理的道路区域可能无效。
上述基于颜色的方法可以应对道路形状和光照条件的变化,但其泛化能力严重依赖于路面和道路位置的假设。
B.基于边界的方法
基于边界的方法使用车道标记、边缘特征、或者消失点。Le等人使用车道标记来检测交通路口的行人车道。该方法利用归一化互相关模板匹配提取车道标记边缘感兴趣的小块。然后使用随机样本共识(RANSAC)检测车道标记。根据几何约束从车道标记对中分割出车道区域。该方法对清晰的车道标记效果很好,但当标记被遮挡或车道表面在强烈阴影下时往往失效。为了检测未标记车道,一些研究采用了霍夫变换(Hough Transform, HT)或图像梯度。Voisin等人使用Sobel滤波器提取边缘点。然后,HT用于检测由卡尔曼滤波器预测的感兴趣区域内的两个车道边界。该方法将车道边界视为两条直线。在[13]中,Yu和Jain使用HT检测由Canny探测器产生的车道边缘图像的边界。该方法通过对多个图像分辨率应用HT来处理弯曲边界。Yoo等人从RGB图像中提取梯度增强图像来检测车道区域。该方法也使用Canny边缘检测器和HT提取车道边缘。Chen等人使用梯度方向特征增强输入图像中的车道特征(图3)。该方法假定两个车道边界近似平行。
上述方法可以准确检测边界清晰、场景结构化的简单道路,但对于遮挡、车道边缘退化、非典型道路形状等情况,检测效果较差。这是因为用于匹配车道的道路模型是简化的,这些方法的性能高度依赖于清晰的道路特征。
为了克服这个问题,有几种方法使用消失点来确定车道边界。Rasmussen从指向消失点的边缘中选择道路边界。边缘的排序是基于一个目标函数,该函数测量了车道和背景之间的纹理和颜色差异。这个方法是只有当车道区域与非车道区域在颜色和纹理方面没有显著差异时才有效。Kong等人使用消失点来检测车道边缘,然后使用方向一致性比值特征对其进行排序。由于该方法仅依靠边缘进行车道边界检测,对背景边缘敏感。Le等人通过消失点和道路障碍物(行人)确定车道区域。通过从训练集中确定的阈值来选择最优边界对。然而,这种方法可能无法检测复杂的道路形状,因为它将车道边界建模为直线。综上所述,基于消失点的方法可以处理车道边缘退化、遮挡和车道表面纹理变化等问题。这些方法的主要限制是它们只能检测简单的道路形状,例如直线或带有一个弧的曲线。复杂的路面形状可能导致性能不佳。
C.综合方法
为了解决上述局限性,有几种方法将颜色和边界特征结合起来:(i)将颜色分割结果与车道模板匹配,(ii)将色彩分割和边界检测结合,(iii) 使用提取样本区域进行颜色模型构建。Crisman和Thorpe首先使用改进的ISODATA算法将图像像素聚类到均匀的颜色区域。接下来,通过去除小区域(噪声)来提取每组的边缘。最后,通过与车道模板匹配,选择概率最高的车道区域。所选区域的边缘被定义为车道边界。虽然该方法可以处理路面变化,但由于使用了预定义的车道模板,无法处理复杂的道路场景。Chang等人分别使用颜色特征和边界特征估计道路区域。最后的结果由两个分支的信息组合而成。这种方法的实例如图4所示。在颜色特征分支中,首先将输入图像分割成均匀的颜色区域。然后选择第一帧的中下部分的矩形。在RGB色彩空间中,使用样本区域内最大的色彩面积来构建色彩模型。从第二帧开始,从前面预测的道路区域的中下部分的矩形中选择样本区域。在边界分支中,道路边界内的道路区域由消失点和边界分数确定。在最终阶段中,将两个分支的结果合并使用一个卡尔曼滤波器。输出的分割图也作为反馈用于更新两个分支中的道路模型。该方法采用浮动窗口进行样本区域提取,在处理道路位置改变时效率更高。但是,由于第一帧的样本区域是从图像的中下部分提取的,如果第一帧的道路中心距离图像中心较远,这种方法往往会失败。此外,它对帧间的突然变化很敏感。
Miksik等人从RGB色彩空间的样本区域构建道路模型作为gmm。首先,将样本区域初始化为输入图像中下部分的梯形。然后,它消失点改进。为了构建道路模型,输入图像被聚类到均匀的颜色区域。对样本区域内的每个均匀像素组生成一个高斯分布。一个GMM代表一个视频帧中的道路颜色。从不同帧中存储固定数量的gmm用于车道检测。该方法可以处理各种道路形状和路面纹理。然而,由于样本区域是由消失点与图像底部两个预定义点之间的连接线进行细化的,因此该方法不能很好地处理远离图像中心的道路区域。道路形状和路面纹理。然而,由于样本区域是由消失点与图像底部两个预定义点之间的连接线进行细化的,因此该方法不能很好地处理远离图像中心的道路区域。He等人从估计的道路边界内的像素生成高斯分布的颜色模型。首先,对车道投影图像应用边缘检测器生成边缘图像;其次,利用消失点和8个曲率模型从边缘图像中确定伪道路边界。伪道路边界比真实边界窄得多,这确保了这些边界内的所有像素都属于道路类。最后,使用这些像素构建的颜色模型来分割真实的车道区域。由于假设的是预定义的曲率模型,该模型只能检测几种类型的道路结构。在[24]中,Phung等人在RGB颜色空间和光照不变空间中表示道路颜色模型。这种方法的实例如图5所示。颜色模型是从样本区域生成的,这些区域被选为车道边界内区域的下半部分(梯形区域)。车道边界是通过考虑车道的纹理和几何特征的车道评分从指向消失点的假想光线中选择的。通过应用颜色张量和Canny边缘检测器检测消失点。在应用颜色模型检测道路区域之前,首先将输入图像分割成均匀颜色的子区域。这个方法结合车道的几何和颜色特征,可以处理各种道路形状。然而,由于检测是基于均匀的颜色区域,如果场景背景与路面颜色相似,可能会失败。
综上所述,组合方法减少了对先验知识的需求,从而提高了模型在各种变形和遮挡条件下的泛化能力。
4. 深度学习方法
A.道路检测方法
近年来,深度卷积神经网络(cnn)已成功应用于语义分割。由于它们能够从大规模图像数据集中学习并自动提取显著的视觉特征,因此实现了SOTA性能。基于深度cnn提出了许多车道分割方法,并取得了良好的效果。
有几种车道检测方法直接使用语义分割网络进行道路检测。,Bianco等人提出了一个在两个独立数据集上训练的网络:车道检测数据集和障碍物检测数据集。该方法使用ERFNet进行弱标记生成和最终分割。由于ERFNet在准确率和推理速度之间有很好的权衡,因此适合于实时行人车道检测。然而,由于缺乏训练实例,该方法不能处理极端光照或天气条件。Cao等人提出了一种针对盲人的轻量级分割网络。该网络利用深度可分卷积来提高计算效率,并利用密集连接的空间金字塔池模块来增强多尺度和上下文信息。多尺度和上下文信息。然而,这种方法只适用于盲路和人行横道,它们通常具有结构化的形状和较少的外观变化。因此,该方法可能不适用于其他类型的行人专用道。多尺度和上下文信息。然而,这种方法只适用于盲路和人行横道,它们通常具有结构化的形状和较少的外观变化。因此,该方法可能不适用于其他类型的行人专用道。为了提高盲人用户的安全性,还提出了其他方法来生成输出分割图和不确定性图。Nguyen等提出了一种DL-HGP网络,该网络将SegNet编码器-解码器网络(在[35]中提出)与分层高斯过程分类器相结合。HGP分类器生成分段车道图和校准不确定性图,这为视障用户提供了额外的安全性,见图6。然而,由于HGP分类器的计算要求,该网络无法实现实时预测。Le等人提出了一种贝叶斯Gabor网络(BGN),该网络生成带有两个分割校准的不确定度图。该网络包含13个贝叶斯Gabor层,其中每个Gabor参数表示为一个可学习的高斯分布。该方法使用Gabor层代替标准的CNN层,以较小的网络规模实现了较高的预测精度和实时分割。然而,Gabor滤波器的参数形式对复杂的车道纹理的表示能力降低。
已经提出了几种利用道路边界特征改进分割结果的方法。Almeida等人结合了两个单独训练的模型的结果:用于车道分割的ENet和用于车道边界检测的LaneNet。一个后处理步骤被应用于LaneNet从检测到的车道边界创建最终的分割掩码。然后,该方法计算每个模型的输出分割掩码的加权和。对于形状与典型道路(通常为梯形)更相似的区域,赋予更高的权重。然而,如果一个模型产生不精确的预测,这种方法的性能可能会受到严重影响。Yadav等人提出了一种条件随机场(conditional random field, CRF)框架,该框架使用SegNet产生的分割蒙版作为先验知识,创建两个颜色线模型,一个用于道路,另一个用于背景。上述方法使用边界特征来细化分割结果,但只在最后几个阶段使用这些特征,因此可能无法充分利用道路特征。
为了克服这一问题,Zhang等人提出了一种多任务网络,该网络在车道区域分割和道路边界检测两个任务之间遵循固有的几何先验(图7)。在他们的方法中,车道边界被视为车道区域的外轮廓,车道区域被视为车道边界的内轮廓。该网络包含一个用于初始特征提取的共享编码器和两个用于几何关系提取的链接编码器。链接编码器将修改后的初步预测作为输入,为解码器生成精细的特征。该网络是在一个损失函数上训练的,该损失函数结合了交叉熵损失、边界感知损失和区域感知损失。该方法利用车道区域和车道边界之间的几何先验,可以处理复杂的车道类型。然而,复杂的网络结构需要额外的计算资源,增加了推理时间。
上述的车道检测方法都是基于自定义深度神经网络。然而,设计一个高性能的深度网络需要大量的经验和大量的试错实验。为了解决这个问题上述的车道检测方法都是基于自定义深度神经网络。然而,设计一个高性能的深度网络需要大量的经验和大量的试错实验。为了解决这个问题,Ang等人开发了一种神经结构搜索(NAS)算法,用于寻找行人车道检测的最优DNN结构。该方法使用梯度下降算法搜索网络级空间,不依赖辅助数据集,直接在目标数据集上进行搜索。结果表明,该方法构造的网络结构紧凑,推理速度快。然而,在进一步训练网络之前,这种方法需要大量的时间来找到最优的网络结构。
B.通用语义分割网络
行人车道分割可以看作是语义分割的一个子集,其中有两类:行人车道和背景。因此,将语义通用分割网络应用于车道检测是一个可行的方向。因此,本节回顾了用于语义分割的代表性深度网络。该列表包括:全卷积网络,编码器-解码器网络,多尺度和金字塔特征网络,扩展卷积网络和基于注意力的网络。
1)全卷积网络
Long等人提出了全卷积网络(fully convolutional network, FCN)进行语义分割。如图8所示,FCN将分类网络(如VGG-16、AlexNet和GoogLeNet)中的全连接层替换为卷积层。GoogLeNet[48])。它对粗输出进行采样,以产生逐像素的密集预测。此外,FCN采用跳跃连接来提高空间精度。FCN是图像分割领域的一个里程碑,因为它是第一个以端到端方式应用深度学习进行语义分割的研究之一。随后,许多基于fcn的语义分割模型被开发出来。
尽管FCN显示出了好处,但它有两个主要限制。首先,FCN仅使用单层插值从粗糙的热图重建原始输入尺寸,这可能导致丢失详细的边界信息。在车道检测中,网络可能会对远处的道路进行错误分类,导致用户无法提前规划路线。该网络还可能将小障碍物或绊倒危险误判为道路,从而危及用户。其次,FCN更关注局部信息而不是全局信息,这使得预测输出缺乏空间一致性。这可能会导致网络在不正确的地方预测车道,比如在水上或天空。
同样,将分类网络应用于语义分割也存在两个挑战。第一个挑战是图像分辨率的损失。分类网络利用下采样和最大池化操作来提取低分辨率特征图。然而,语义分割任务需要精确的位置信息,这只能通过高分辨率的特征图来实现。第二个挑战是缺乏多尺度语境。图像中的对象在多个尺度上,固定大小核的卷积不足以捕获局部和全局上下文。多年来,已经开发了许多网络结构来解决这两个挑战。
2)编码器-解码器网络
E-D网络通过引入解码器来解决fcn中的分辨率丢失问题。解码器对粗特征映射进行上采样,并结合来自编码器较浅层的空间信息。一些E-D网络还融合了不同层的特征图,以保留更多的局部信息,并降低了训练网络时梯度消失的风险。因此,编码器-解码器网络可以生成高分辨率的车道分割图。Deconvnet提出了一种反卷积网络来产生密集的预测。Deconvnet的编码器采用VGG-16中的前13个卷积层和2个全连通层。解码器与编码器相同,但在层次上相反。它还使用了解池、反卷积和纠偏操作的组合层。Deconvnet记录开关变量中最大激活(在池化操作期间)的位置,并将它们用于解池操作以提高插值精度。由于解池层的输出放大但稀疏,反卷积层通过使用多个学习过滤器将单个输入激活与多个输出关联起来,从而产生密集的预测。
SegNet(图9)采用VGG-16中的13个卷积层作为编码器。解码器有13层,对应于编码器。SegNet记录最大池化步骤中的池化索引,并将它们用于解码器中相应的上采样步骤。从而提高了提取的特征图的空间分辨率。解码器的输出被馈送到softmax层以生成逐像素分割图。与Deconvnet相比,SegNet需要更少的计算资源,因为它不包括VGG-16中的最终完全连接层。
U-Net是一个由收缩路径和扩张路径组成的u形对称网络,如图10所示。 收缩路径由两个3×3卷积的重复模块(每个卷积都有一个整流线性单元(ReLU))和一个用于下采样的2 ×2最大池化层组成。扩展路径由重复的2 × 2卷积模块(也称为上卷积,将特征映射通道的数量减半),特征映射连接操作和两个3 × 3卷积(每个卷积后面都有一个ReLu)组成。来自收缩路径的高分辨率特征映射与来自扩张路径的相应上采样特征映射相连接。这个过程可以产生更高的准确性,但比SegNet需要更多的内存,因为它需要传输整个特征映射,而不仅仅是池化索引。最后,使用1 × 1卷积生成逐像素分割。
unet++是基于U-Net结构开发的图像分割网络。UNet++被设计为在原始收缩路径和扩展路径之间包含多个嵌套子网络;因此,语义差距可以通过跳过路径来弥补,如图11所示为绿色和蓝色.图11中的蓝色。此外,由于unet++在多个语义级别(,
,
,
)上产生全分辨率预测,因此可以使用深度监督来训练网络。在推理时,UNet++可以以快速模式运行,其中最终的分割映射从中间语义层(例如,
,
或
)之一生成。
综上所述,上述E-D网络试图通过使用不同的技术在上采样期间保留视觉信息。值得注意的是,Deconvnet存储了池化期间最大激活的位置。SegNet记录了最大池化过程中的池索引。U-Net将编码器和解码器的相应特征映射连接起来。这些策略可以帮助车道检测网络更好地检测到远处的道路区域和道路上的小绊倒危险。
3)多尺度和金字塔网络
提出了多尺度和金字塔网络,利用不同尺度的特征来解决语义分割中的多尺度挑战。通常有两种方法用于实现金字塔结构:(i)将来自深度CNN不同层次的特征图组合在一起;(ii)将特征映射缩放到不同的尺度,然后将结果连接起来,生成最终的特征表示。这些方法可以更好地结合全局和局部情况,从而减少在错误的地方预测车道的情况,例如在天空或墙上。
特征金字塔网络(Feature Pyramid Network, FPN)最初是针对目标检测任务提出的,但它可以扩展用于语义分割任务。FPN由自下而上通道、自上而下通道和几个横向连接组成(图12)。从自下而上的路径中提取的特征映射首先进行1 × 1的卷积。然后,它们通过横向连接与自顶向下路径的上采样特征图融合在一起。FPN的最终输出是一个在所有尺度上都具有丰富语义表示的特征金字塔。
金字塔场景解析网络(Pyramid Scene Parsing Network, PSPNet)是为了更好地学习全局上下文而提出的一种多尺度网络(图13)。为了避免使用全局平均池来获取全局上下文信息而导致空间信息的丢失,PSPNet提出了一个金字塔池模块。该模块将最后一层特征图划分为4个子区域,然后对每个区域进行平均池化。然后在每个金字塔层之后使用1 × 1卷积来降低上下文表示的维度。最后,将四个特征映射连接起来,形成一个全局特征。这一全球特征涵盖了不同的子区域表示和不同层次的上下文信息。
4)扩展卷积网络
扩展卷积,又称亚特拉斯卷积(atrous convolution),是提取多尺度特征的有效方法。扩展卷积可以在不增加计算和存储成本的情况下扩大接收域,同时保持空间分辨率。在辅助导航中,计算效率对于车道检测非常重要,这需要实时推理和小型模型,以便在移动设备上部署。
DeepLabv1是DeepLab家族的第一个版本。该网络采用扩展卷积来解决由于次采样导致的分辨率下降问题。它还使用一个完全连接的成对CRF,通过鼓励对相似像素使用相同的标签来细化分割。该网络采用VGG-16作为骨干网。
DeepLabv2通过引入自然空间金字塔池(ASPP)模块对DeepLabv1进行了改进。ASPP通过对输入特征映射应用不同膨胀率的多个并行滤波器来利用多尺度特征。最终结果是通过融合来自ASPP模块的输出特征映射来生成的。DeepLabv2采用ResNet-101作为编码器,其编码效果优于VGG-16。
DeepLabv3通过探索更深层次的网络结构来改进DeepLabv2(图14)。采用了四种不同速率的并行亚特鲁卷积和批归一化处理应用于ASPP。此外,ASPP模块通过在最后一个特征映射上应用全局平均池化来融合图像的全局上下文。在DeepLabv3中,使用具有深度可分卷积的ResNet-101作为特征提取器。为了提高计算效率,将dense CRF从网络中去除。
DeepLabv3+是DeepLab家族中性能最高的最新扩展。与DeepLabv3相比,DeepLabv3+采用编码器-解码器架构来恢复空间分辨率(图15)。编码器输出的特征映射以4倍的倍数双线性上采样,然后与低级特征映射连接。DeepLabv3+还使用了atrous可分离卷积,它由一个atrous深度卷积和一个1 × 1卷积组成。自然可分卷积在保持相似或更好的性能的同时显著降低了计算复杂度。综上所述,扩展卷积对于扩大感受野和处理多尺度特征是有效的。
5)基于注意力的网络
注意机制的目的是通过更加强调重要的特征来提高分割性能。它的灵感来自于人类感知图像的方式,即关注重要的部分而不是整个图像。这种机制有助于车道检测任务,因为它强制分割网络关注道路而不是其他不相关的类。其中一篇文献提出了一种基于自注意机制的双注意网络来捕获丰富的上下文信息。所述网络有两个模块:位置模块和通道模块,如图16所示。该网络的编码器是ResNet-101,在最后两个块中扩展了卷积层。特征映射提取自编码器传递的两个平行的注意模块。这两个模块旨在学习空间和通道的相互依赖关系。该网络聚合了两个模块的输出,以获得更好的特征表示,用于密集预测。
文献[40]提出了一种基于注意力的方法,在训练和推理过程中分层融合多尺度信息,如图17所示。在训练时,学习相邻尺度之间的相对注意掩模。在推理时,使用学习到的注意掩模融合相邻尺度的预测。这种方法在推理过程中支持灵活的尺度数量。此外,在推理时使用多个尺度,训练时只需要两个尺度,提高了训练效率。该方法采用HRNet和OCR方法作为网络结构,实现SOTA性能。
C.深度学习模型中的设计模式
本节简要讨论深度学习模型中的常见设计模式。请注意,设计模式是公认的最佳实践,研究人员可以在开发模型以解决问题时使用。
1)嵌入
利用嵌入将图像数据表示为密集的特征映射,以便深度网络可以在输入图像中找到模式。具有下采样操作的编码器网络通常用于嵌入图像数据。
2)迁移学习
训练深度学习模型通常需要大量的计算时间和标记数据。在为下游任务(如车道分割)设计深度网络时,使用在ImageNet数据集上找到的预训练权重的编码器是一种常见的做法。许多道路检测方法还在其他大型道路场景数据集(如cityscape和Mapillary数据集)上对整个网络进行预训练。
3)金字塔结构
捕获多尺度上下文是一个挑战,因为cnn的核大小是固定的。金字塔结构可以通过合并不同尺度的特征图来解决这一挑战。因此,网络可以在多个尺度上捕捉上下文,并更好地学习全局和局部特征。
D.讨论
本节讨论传统和深度学习方法在概念上的差异。关键的区别在于特征提取方法。传统的车道检测方法使用手工设计的特征提取器,这些特征提取器是基于一些先验知识设计的。然而,这些启发式和假设在有限的情况下工作,手工设计的特征提取器在处理不同的车道类型时存在困难。
相比之下,深度学习方法使用cnn从大量车道图像中学习车道特征。cnn在前几层学习低级特征,如线和边,在后几层学习高级特征,如车道。因此,与传统方法相比,它们可以提取更复杂和广义的车道特征。然而,训练数据的质量对于建立准确的车道检测网络至关重要。例如,如果行人车道数据集主要包含被草包围的车道,网络将学习将周围草的存在与车道联系起来。因此,用于训练行人车道检测的数据集必须具有光照条件、车道表面纹理和背景环境的变化。
深度学习方法从大规模图像数据集中学习的能力使它们能够在各种环境中获得更好的准确性。然而,传统的方法仍然可以为设计行人车道检测的深度模型提供有价值的见解。一些先验知识可以用来设计cnn,提高模型的精度。如Zhang等人利用车道边界形成车道区域外轮廓的几何先验,设计了多任务网络,提高了检测精度。此外,两个相邻视频帧之间的车道位置差异通常很小,这一特性可以用来稳定视频的车道分割预测。
5.性能评估与分析
本节介绍了可用于车道检测的代表性方法的实验评估。第4-A节描述了行人车道检测的图像数据集。第4-B节描述了本调查中使用的性能测量和实验设置。第4- c部分给出了该方法在PLVP3数据集上的性能。第4- d给出了不同场景类型下方法鲁棒性的评价。第4- e节对U-Net中不同的编码器进行了分析。
A.行人车道检测的图像数据集
我们在人行车道数据集PLVP3上评估了不同的方法。该数据集是在PLVP数据集和PLVP2数据集的基础上扩展而来的,这两个数据集分别有2000张和5000张图像。PLVP3数据集包含10,000张行人车道图像,并带有相应的ground-truth mask,如图18所示。每个真值掩模都是一个二值图像,其中像素被手动标记为车道或背景。这些彩色图像是在一天中不同时间从众多真实的室内和室外场景中拍摄的。它们包括具有多种表面纹理(例如砖、混凝土和土壤)和形状的无标记步道(例如,直线和曲线)。许多图像是在不利的光照变化下拍摄的,例如弱光照和强阴影。PLVP3数据集的统计信息如表2所示。
请注意,存在其他视障人士的数据集,但它们不包括行人车道或人行道的像素级注释。仅对普通人行道障碍物进行边界框标注,对盲人人行道进行边界线标注。[62]中的数据集仅为常见人行道对象提供逐像素和边界框注释。[63]中的数据集仅对室内场景进行了地板语义标注。因此,这些数据集不用于本调查的实验评估。其他基准数据集,如Mapillary和cityscape包含人行道类的逐像素注释。然而,这些数据集主要用于自动驾驶汽车模型训练,因此不适合行人车道检测。在这些数据集中,图像是在车辆道路的中心附近拍摄的;步行区通常位于相对较小的一侧。换句话说,在这些数据集和我们期望的盲人辅助导航应用之间存在领域差距。
B.性能测量和实验设置
1)性能指标
为了衡量模型的性能,我们使用了三个在语义分割研究中被广泛接受的量化指标:1)像素精度,2)平均交集/并和 3)F1分数。为了获得测试集上的总体评估分数,对单个图像计算度量,然后在整个测试集上取平均值。
1)像素精度是正确分类的像素与像素总数之间的比率。
2)平均交集/联合(mIoU)计算所有语义类的平均IoU。设S为机器预测的分割映射,G为相应的真值掩模。交集/并并(又称Jaccard Index)定义为S与G的重叠面积除以S与G的并并面积:
其中TP、FP和FN为真阳性、假阳性和假阴性的数量。
3) F1分数(又称骰子系数)定义为准确率和召回率的调和平均值:
这里,召回率是正确检测到的车道像素与所有车道像素的比率。精度是正确检测到的车道像素与所有机器检测到的车道像素的比率。
2)实验建立
我们采用5重交叉验证对代表性方法进行评价。数据集被随机分成5个大小相等的分区。对于每个折叠,使用一个分区作为测试集,其余四个分区作为训练集。对于测试分区的不同选择,此步骤重复五次,然后对分割度量进行平均。注意,每个训练集进一步分为90%的图像用于训练,10%的图像用于验证。总的来说,每个交叉验证折叠由7200个训练图像、800个验证图像和2000个测试图像组成。图像的大小被调整为320 × 320 像素。为了训练深度神经网络,我们使用了学习率为0.001的Adam优化器。第一次和第二次矩估计的指数衰减率分别设置为0.9和0.999。所有模型都在ImageNet上对编码器使用预训练的权重,并且用kaiming均匀权初始化做解码器。所有实验均在Intel Xeon Gold 5115 2.4 GHz处理器和NVIDIA TITAN Xp GP102显卡的计算机上进行。所有方法都是使用PyTorch框架实现的。我们训练每个网络150次。提前停止策略用于防止过拟合:如果网络在验证集上的性能在50个epoch内没有提高,则停止训练。
C.有代表性的行人车道检测方法的比较
在本节中,我们评估:(i)专门为行人车道检测设计的两种基于特征的方法和三种基于深度学习的方法,以及(ii)用于通用语义分割的八种深度网络。虽然没有明确提出用于车道检测的8种分割网络,但它们可以应用于场景感知,并且它们在PLVP3数据集上的表现可以为设计有效的车道检测网络提供见解。所检查的方法的实现细节如下。
1)基于边界的方法:设置用于计算方向一致性比的方向一致性点个数为16。我们使用Kong等人提供的MATLAB代码。
2)组合(color & border)法:我们使用MATLAB代码由Phung等人提供。
3) DL-HGP:采用具有5个编码器/解码器单元(共26个卷积层)的骨干SegNet进行特征提取。诱导点的个数和局部高斯过程专家的初始个数分别设置为50和9。我们使用了Nguyen等人提供的Python代码。
4) BGN:我们实现了参考文献中给出的网络结构。根据参考文献的建议,我们使用了局部重新参数化技巧。
5) NAS方法:我们实现了参考文献中提出的网络结构。该方法的搜索阶段采用16层节点和5级尺度进行。输出特征映射的基本通道大小设置为8。
6) FCN-8s:我们按照参考文献的建议,在VGG-16基础上实现该模型。最终的特征图被上采样8倍,然后与来自第三和第四池化层的特征图进行元素求和。
7) U-Net:我们实现了参考文献中提出的网络结构。在上采样之前,输入图像被下采样四次。
8) UNet++:我们实现了参考文献中给出的网络结构。在上采样之前,输入图像最多被下采样4次。这种方法是在没有深度监督的情况下训练的。
9) SegNet:我们实现了参考文献中提出的网络结构。采用13个卷积层的主干VGG-16作为编码器。
10) PSPNet:采用骨干网络ResNet-101作为编码器。我们使用Zhao等人提供的Python代码。
11) DeepLabv3+:我们实现了网络结构在参考文献中提出。我们使用Xception作为编码器,其中深度可分离卷积应用于ASPP和解码器模块。
12)具有多尺度关注的HRNet:我们使用原始HRNet架构作为参考。我们应用一个简单的分割头,从HRNet的输出特征映射中产生密集的预测。分割头由(3 × 3 conv)→(BN)→(ReLU)→(3 × 3 conv)→组成(BN)→(ReLU)→(1 × 1 conv)。在本实验中,我们按照文献[40]的建议,使用两个尺度(0.5x和1x)进行训练,使用三个尺度(0.5x、1x和2x)进行推理。
13)多尺度关注HRNet-OCR:我们采用了原始OCR结构如[57],原始HRNet结构如[56]。训练和推理的尺度配置与多尺度关注的HRNet相同。
表3给出了代表性方法的实验结果。对于基于特征的车道检测方法,组合方法的性能优于基于边界的方法,mIoU提高了12。57%,f1评分提高33.75%。联合方法的推理时间比基于边界的方法快84.67倍。结果表明,将边界特征与颜色特征相结合可以更好地应对车道外观和光照条件的变化。因为这些基于特征的方法是动态构建的,所以我们不比较它们的模型大小。
深度学习方法在分割精度和推理速度上都明显优于基于特征的方法。在11种检测方法中,多尺度HRNet-OCR的检测效果最好,mIoU为95.68%,准确率为97.92%。请注意,该方法还具有最大的模型(289.30 MB)和最低的推理速度(2.61图像/s)。多尺度HRNet以95.59%的mIoU获得了第二好的性能。多尺度HRNet- ocr和多尺度HRNet由于骨干网庞大、推理尺度多,运行速度明显慢于其他深度网络。基于nas的方法的最快推理速度为142.857图片/s, mIoU为92.29%。该方法具有较好的速度-精度折衷性。BGN具有第二好的速度-精度权衡,mIoU为94.92%,推理速度为68.027张图像/秒。
盲人辅助导航需要实时算法。在表3中,U-Net、BGN、DeepLabv3+、PSPNet和基于nas的方法五种方法的推理速度都超过了30fps。其中,BGN和基于nas的方法的推理速度最高。BGN使用贝叶斯Gabor层代替常见的卷积层,这大大减少了可训练权重的数量。基于nas的方法直接搜索人行道数据集,而不是依赖于其他图像数据集找到的网络。从而得到一个具有优化结构的深度网络来完成车道检测任务。注意,分割精度最高的两种方法(多尺度HRNet和多尺度HRNet- ocr)的推理速度最低(低于4 FPS)。图19为不同分割方法产生的行人车道检测结果示例。视觉结果表明,基于边界的方法不能很好地处理车道形状的变化。这是因为它假设所有的车道都是由指向消失点的两条直边组成的。该组合方法的性能优于基于边界的方法。但是,它只有中等的性能,特别是当车道区域具有不同的纹理,或者车道区域具有与背景相似的颜色时。这是因为组合方法使用从车道的下半部分构造的颜色模型来检测整个车道区域。这种方法也很大程度上依赖于检测到的消失点的准确性。例如,在第3行第4列中,该方法错过了真正的车道,并且没有将扶手分类为车道。
与传统方法相比,深度学习方法在推理速度和检测精度方面都取得了显著的进步。然而,它们仍然会产生分割错误,特别是当背景纹理与车道区域相似时(第6行和第8行)。这一发现表明,尽管基于深度学习的方法具有表3所示的高性能,但它们仍然不够鲁棒,无法在复杂场景中保持高精度。例如,如图19所示,即使是表现最好的方法有一些假阳性预测(第2行和第8行)。因为这些错误预测的车道区域可能危及盲人,我们将在下一节进一步讨论这个挑战。
D.不同场景条件下模型性能的比较
一个好的行人车道检测算法应该在各种场景条件下都保持较高的准确率。在本节中,我们评估了PLVP3数据集中六种不同场景类型下的代表性方法:室内场景、夜间场景、大学校园场景、公园场景、郊区场景和城市场景。如表4所示,不同场景下的模型性能差异很大。所有模型在夜间和城市场景中测试时都显示出性能下降,这表明这些场景类型对行人车道检测特别困难,在设计车道检测时需要进一步考虑算法。所有的深度学习方法对于公园场景都有很高的准确率,在公园场景中,人工人行道与自然场景元素有很大的不同。在室内、大学校园和郊区的场景中可以观察到适中的表现。在所有方法中,多尺度HRNet-OCR的性能最好。
为了进一步评估稳健性,我们在PLVP3数据集之外的三种场景上测试了上述方法:一个新的城市(赫斯特维尔)、雨天和有水坑的道路。如图20所示,与图19相比,所有方法的性能都有所下降。11种方法中,多尺度HRNet-OCR、BGN、SegNet和DL-HGP表现出较好的稳定性。传统方法的效果不如深度学习方法。值得注意的是,大多数深度学习模型容易对反射表面(雨天或有水坑的车道)进行错误的分割。结果表明,目前的方法达到了合理的检测性能,但对于未知情况仍需改进。
E.使用u-net编码器的分析
我们选择U-Net作为基础网络架构来研究编码器组件的影响。十四个SOTA实现了骨干网作为U-Net的编码器。实验结果见表5。在分割准确率方面,MobileNetV3的mIoU为96.10%,F1-score为97.98%,表现最佳。effentnet -b6的准确率次之,mIoU为95.92%。与U-Net中的原始编码器相比,SOTA骨干网将mIoU分数提高了1.34%至2.46%。在推理速度和模型大小方面,MobilenetV3具有最小的模型大小(19.80 MB)和第二高的推理速度(64.516图像/s)。MobilenetV2实现了最高的推理速度(64.935张图像/秒)和第二小的模型大小(26.80 MB)。
6.未来发展方向
尽管深度网络取得了很高的性能,但在实际的辅助导航系统成为可能之前,仍有许多方面需要解决。本节讨论了未来的研究方向,以解决当前行人车道检测的技术限制。
1)开发有效去除不正确检测车道区域的综合方法:5-C节的结果表明,即使是性能最好的方法也会产生假阳性。在辅助导航中,这些错误比假阴性更严重,因为它们可能危及盲人用户。假阳性可以通过使用后处理步骤来解决,例如,将两个单独训练的模型的分割结果结合起来[31]。然而,这些启发式步骤不如机器学习方法健壮,在复杂的场景中可能会失败。为了更好地解决这一限制,一种集成的深度学习方法应该以端到端的方式检测行人车道并消除误报。
2)探索应对行人车道变化的方法:如图20所示,新城市或极端天气条件等未知情况将严重破坏深度学习方法的性能。但是,盲人辅助导航没有像自动驾驶汽车那样受到关注,因此很难在多个国家和不同天气条件下收集大规模数据。因此,域漂移是大多数行人车道检测模型面临的技术限制。因此,研究能够适应不同环境的车道检测方法至关重要。
3)研究可以从多个不同数据集学习的方法:许多现有的车道检测方法只提供车道与非车道的分割,这很有用,但不足以让盲人用户安全导航。这限制了当前行人车道检测系统的能力。对于视障用户来说,更详细的车道信息是必要的。已经开发了一些用于行人场景障碍物检测的数据集[61],[62],但它们不包含行人车道的像素级注释。本研究中使用的PLVP3数据集是文献中最大的公共人行道数据集,但它没有对交通场景中其他对象的注解。请注意,创建一个包含辅助导航所需的所有类标签的新大型数据集既耗时又昂贵。因此,开发能够从多个现有道路场景数据集中学习的模型对于解决标记数据的缺乏是有用的。
4)开发压缩车道检测网络的方法,以便在智能手机或边缘设备上进行实时推断:如第5节所示,大多数方法达到高精度还需要更长的推理时间和更大的存储空间。另见图21和图22的摘要。然而,行人车道检测需要准确和快速,以应对实时交通情况。此外,检测网络应该很小,以便部署在移动或边缘设备上,这些设备通常具有有限的存储、计算能力和电池电量。当前检测精度、推理速度和模型大小之间的权衡需要开发减少模型大小和提高推理速度的方法。
7.结论
行人车道检测是视障人士辅助导航系统中的一项重要任务。本文对行人车道检测方法进行了全面的综述,主要分为两大类:(i)传统方法,包括基于颜色的方法、基于边界的方法和组合方法;(ii)深度学习方法,包括车道检测方法和通用语义分割方法。本文报告了几种值得注意的方法在大型标记数据集(PLVP3)上的定量性能。最后,在理论综述和实验评价的基础上,对行人车道检测的未来研究方向进行了展望。我们希望这项调查可以作为辅助导航的基准参考,并促进视力受损人士迫切需要的研究。