孙鹏飞 宋聚宝 张婷 周玉祥
摘 要:车道线检测是完全无人驾驶的关键推动因素。本文综述了近年来基于视觉的车道线检测技术的研究进展。车道线检测通常采用三个步骤进行处理,首先图像预处理得到感兴趣区域,然后预测车道线标记高频出现的区域,最后在该区域进行车道模型拟合。在这项工作中,我们对每个步骤的实现方法进行了详细分析,并展望了车道线检测技术的发展。得益于深度学习技术的进步,车道线检测技术取得了长足的发展,但同时带来了大规模数据集的需求和网络模型的不可解释性,未来的车道线检测技术挑战与机遇并存。
关键词:车道线检测;计算机视觉;深度学习;目标检测分割
1 前言
完全自动驾驶是计算机视觉和机器人学研究的主要焦点,其第一个关键步骤是通过各种传感器全面识别和理解车辆周围的环境。车道线检测能够使车辆正确地定位在车道内,遵守车道规定的交通规则,并辅助随后的车道偏离或轨迹规划决策[1]。因此,实时执行精确车道线检测是实现完全自动驾驶的关键推动因素。基于视觉的成像在车道线检测任务中起主导作用,其原因有二:首先,车道线的设计使人类驾驶员能够在所有驾驶条件下观察到它们,使用视觉作为计算等效系统获得相同的视觉提示非常有意义[2];其次,视觉是目前自动驾驶中价格最低、鲁棒性较好的模态,视觉模态可以用于环境理解的所有相关阶段[3]。因此,我们将主要讨论基于视觉的车道线检测技术。
基于视觉的车道线检测技术已经广泛应用在辅助驾驶系统,通过提前预警的方式提醒人类驾驶员即将到来的危险[4]。但是其在车道属性上使用许多假设,例如路面平坦、天气晴朗、能见度变化平稳等[5]。由于上述假设,现有的车道线检测技术的鲁棒性低,容易受到以下影响:车道线的复杂性、受污损程度以及磨损程度;道路上来往车辆对于车道线的遮挡程度;沿途建筑物、树木、高架桥、过街天桥等道路阴影的影响;夜晚光照的变化;车辆光照条件的突然变化等[2,6]。迄今为止,车道线检测技术在上述环境中准确率和召回率会严重下降,与普通人类驾驶员相比缺乏自适应能力。
本文将车道线检测技术分解为图像预处理、特征检测、车道模型拟合等三个模块,并列举建议实施每个模块的可能方法。功能模块分解如图1所示。
在后续的第1、2、3章节分别介绍了上述三个模块的研究现状,并在第4章节进行了验证评估,第5章节对本文进行了总结。
2 图像预处理
这个模块的目标是消除杂乱、误导性的伪成像和不相关的图像部分。图像预处理方法可以归纳为三类:光照效果处理、感兴趣区域(Region Of Interest,ROI)检测以及路面与图像之间的映射。
2.1 光照效果处理
光照自适应性和镜头光晕是影响车道线检测的关键要素。鲁棒的车道线检测系统可以应对不同的光照条件并排除镜头光晕的影响。[7,8]使用了多曝光增強动态范围技术改善光照适应性,[9,10]使用颜色空间转换和边缘滤除获得光照鲁棒图像。[7]在不同的相机曝光设置下多次捕捉目标场景,然后将得到的一组图像组合创建高动态范围图像。[8]提出在多曝光图像生成过程中涉及的相机灵敏度、曝光时间以及图像噪声、运动模糊等问题。[9]使用HSL、LAB等颜色空间转换,通过组合不同的颜色通道减少投射阴影效果。[10]首先使用两个不同的颜色空间减少干扰,然后将方向梯度用于检测车道线边缘,从而检测不同复杂度下的车道线。
2.2 感兴趣区域检测
通过ROI检测可以删除与车道线检测任务不相关或误导性信息。[11]直接将图像的下半部分作为ROI。[12-14]使用不同的逆透视技术估算路面和图像之间的映射,并将此映射作为ROI定义规则。[12,13]根据计算的深度对图像进行截断,自适应地确定了ROI的上边界。[14]在将计算出的地平线用于ROI检测。
2.3 路面与图像之间的映射
该映射贯穿于车道线检测任务的所有阶段,可以通过不同的方法计算。[14]假设相机与车辆的连接在行驶过程中保持不变,计算了出了固定的映射矩阵。但是这一假设在路面坡度突然变化、车辆变道和并线的情况下存在失效问题。[15,16]估计了相机相对于地平面的间距。[15]通过检测道路的消失点对应的图像灭点的高度计算相机的俯仰角。[16]建立相机三维模型参数矢量,通过计算该矢量与车道线边界的位置和方向估计俯仰角与其余模型参数。
3 特征检测
本章节主要包括图像ROI的特征检测以及上述映射在特征检测中的应用。车道边界通常由不同类型的车道线组成,[17,18]详细阐述了车道线的外观变化。除了外观形状颜色多样之外,车道线在图像中占比低,形状窄长,这些特点均增加了特征检测的难度。同时,需要考虑图像预处理模块不能滤除的车辆靠近产生的严重遮挡和附近树木和建筑物的阴影产生的误导性边缘和纹理。上述条件的合理覆盖对特征检测模块的鲁棒性提出了较高的要求。
3.1 传统特征检测方法
传统的车道线检测方法依赖于高度专业化、手工制作的特征来检测车道线[19]。这些特征选择包括基于颜色的特征[20]、条形滤波器[21]、脊线特征[16,22],这些方法可以归纳为基于梯度的特征及其变体。[16,21-23]假设车道线具备窄长、高亮的特征,沿着图像行搜索低-高-低强度图案。[21,23]使用了条形滤波器,[16,22]进一步使用了脊线特征。由于车道线在图像中占比低,在图像处理过程中易滤除车道线区域。[24]将图像分割为8×8的像素块,并将像素块分类为车道线或背景,提高了特征的可靠性。上述基于梯度的车道线边缘检测方法均使用了图像滤波技术,我们需要确定卷积核的尺寸。又由于透视失真,单个尺寸的卷积核不适用于整幅图像。[25]根据预估的车道线宽度和预测的图像行的深度,为每个图像行调整内核的尺寸。另一种更加常用的技术[15,26]通过逆透视变换使图中车道线的宽度恒定,避免卷积核尺寸的变化。
3.2 基于深度学习的特征检测方法
近年来,基于深度学习(Deep Learning,DL)的特征检测方法被引入自动驾驶领域并表现出了强大的能力。卷积神经网络(Convolution Neural Network,CNN)以特征提取器和分类器的形式进行车道线与背景的分类[6]。[27]使用一个8层的CNN进行车道线检测。[28]使用一个7层的CNN完成基于侧视图的车道线与背景的像素行分类。随着R-CNN[29]、Faster-RCNN[30]、YOLO[31]等网络模型的检测精度和效率越来越高,研究者们将目标检测网络引入车道线检测系统。[32]研究使用CNN在单次正向推断中执行车道线的检测和分类。他们使用六维向量回归预测车道边界局部直线的两个端点及其相对于相机的深度。由于目标检测网络的输出不能精确的表示车道线的边界,语义分割网络[33]具备对图像进行逐像素分类的能力,研究者们提出了一系列基于像素分割、实例分割的变体[34,35]。[34]训练实例分割网络将每条车道输出为一个实例,从而处理任意数量的车道线。然而,上述方法同样存在传统特征检测方法遇到的问题,即目标在图像中占比小导致的漏检、车道线遮挡导致的误检、车道线结构特征明显导致的信息使用不充分等,影响了车道线检测技术准确率和召回率的提高。借鉴传统车道线检测方法在时空图像、消失点、车道宽度和形状、车道线轨迹[36-38]方面的成果,研究者们将这些方法引入将深度神经网络。[39]提出两级语义分割网络提高车道边界(弱类对象)的检测精度。[40]使用由15个点组成的单车道线坐标向量避免车道线边界检测不准确的问题。[41]受人类从环境中(如道路结构和交通流)识别车道布局的直觉启发,将消失点检测任务加入多任务网络,提高了网络整体精度。与[24]类似,[41]还使用像素块替代回归,使用像素块组合表示车道边界。[17]将传统的逐层卷积替换为特征图中逐层卷积,为CNN架构增加了跨行和跨列像素之间的信息流,增加了车道线结构在网络中的权重。[42]将RNN(Recurrent Neural Net)引入特征检测模块。RNN可以对输出结构进行编码并且内部状态可以从一个实例保存到另一个实例[43],符合车道线检测中目标多且结构关联的特点。[44,45]验证了RNN可以在缺失车道线标记和无先验的情况下成功进行车道线检测,得到更加鲁棒的特征检测模型。
4 车道模型拟合
本章节主要包括滤除误检测线段和组段以形成最终车道。一般通过平滑路径模型自下而上的进行车道拟合,并通过逆透视变换使边界曲率趋于一致。
车道模型拟合的一般实施方式为点抽样、候选点群处理和路径回归。首先,从车道线段出现概率较高的区域进行采样。然后,使用聚类、RANSAC[46]等方法对候选点群进行处理。因为在大多数情况下,由于图像处理过程中存在噪声,候选点群包含大量野点。最后,使用多项式拟合[19,26]、样条插值[47,48]、卡尔曼或粒子滤波器[49,50]等方法进行路径拟合。车道模型拟合技术已经趋于成熟,不再是限制车道线检测技术的瓶颈。
随着DL在车道线检测技术中的发展,[28,51]将CNN应用到车道模型拟合模块,建立了端到端的车道线检测模型。上述传统模型拟合算法有数学理论支撑,而深度卷积神经网络具有不可解释性。因此,DL在该模块中的应用不是研究的焦点。使用DL进行特征检测,之后使用传统算法进行车道模型拟合,在目前的车道线检测技术中更加合理。
5 验证评估
为了比较不同方法的性能,需要建立基准。然而,由于缺乏公认的测试协议、性能指标和数据集,现有的车道线检测文献并没有统一的基准。Caltech Lanes数据集[52]、Road Marking 数据集[53]图像数量少,且均为晴朗空旷场景中收集,不适用基于DL的车道线检测技术。tuSimple lane数据集[54]包含晴天和中等天气下的6,408幅图像,但是存在严重的类间数据不平衡问题。CULane数据集[17]包含133,235幅图像,包含了各种天气、车道线重度遮挡、车道线磨损等场景,但是其仅标注了自车车道和相邻车道。BDD100K数据集[55]包含100,000幅图像,不仅包含了恶劣天气情况,而且为车道线增加了连续性和方向两个标注属性。Apolloscapes数据集中的Lane Segmentation子集[18]包含超过110,000幅立体图像,这些图像来自不同城市的街道场景并且具有像素级标注。上述数据集中的图像数量、图像采集条件、图像采集地点各不相同,图像中包含的车道线的种类以及对应的数量也多种多样,CULane数据集、BDD100K数据集和更新后的Apolloscape数据集已经取得了规模上的突破,但是他们对车道线属性的标注仍然存在不一致,难以形成统一标准的公共数据集。除此之外,检测成功的持续时间、检测方法的算力需求,现在都缺乏统一的测试协议与性能指标。[28,35,56]在不同的硬件环境下进行了检测效率的评估,[14]以车速为指标进行了评估。
在具有挑戰性的场景中进行稳健识别的关键是一个大型数据集。在大型数据集的基础上,统一车道线检测技术的测试协议与性能指标,为不同的方法提供基准。
6 总结
车道线检测是完全自动驾驶需要走出的第一步,其算法必须在各种环境中保持精确并且具有快速的计算时间,对算法的鲁棒性提出了极高的要求。DL对基于视觉的车道线检测技术的发展产生了深远的影响,尤其体现在大型数据集方面,并对测试协议与性能指标提出了更高的要求。将CNN和RNN引入特征检测模块,促进了车道线检测技术在各种天气、各种光照、各种遮挡阴影等恶劣场景中性能的提升。将CNN引入图像预处理模块,消除了车道线检测技术在车道属性上使用的许多假设,增加了其在各种道路环境中的鲁棒性。但是DL的不可解释性,为车道线检测技术带入了不确定性。现有的车道线检测技术在稳定性上仍然远远不能令人满意,开发出鲁棒高效的车道线检测方法仍然任重而道远。
[17]X. Pan,J. Shi,L. Ping,et al. Spatial As Deep:Spatial CNN for Traffic Scene Understanding [J]. https://arxivorg/abs/180306459,2017.
[18]X. Cheng,X. Huang,Q. Geng,et al. The ApolloScape Dataset for Autonomous Driving [J]. https://arxivorg/abs/180306184v1,2019.
[19]H. Tan,Z. Yang,Z. Yong,et al. A novel curve lane detection based on Improved River Flow and RANSA; TITS,2014 [C].
[20]I. Somawirata,F. Utaminingrum. Road detection based on the color space and cluster connecting; ICSP,2017 [C].
[21]S. Wu,H. Chiang,J. Perng,et al. The Heterogeneous Systems Integration Design and Implementation for Lane Keeping on a Vehicle [J]. TIST,2008,9(2):246-63.
[22]A. López,J. Serrat,C. Ca?ero,et al. Robust lane markings detection and road geometry computation [J]. International Journal of Automotive Technology,2010,11(3):395-407.
[23]Z. Teng,J. Kim,D. Kang. Real-time lane detection by using multiple cues; ICCAS,2010[C].
[24]X. Shi,B. Kong,Z. Fei. A New Lane Detection Method Based on Feature Pattern; ICISP,2009 [C].
[25]A. Kornhauser,O. St,A. Atreya,et al. DARPA Urban Challenge Princeton University Technical Paper.
[26]A. Borkar,M. Hayes,M. Smith. Robust lane detection and tracking with ransac and Kalman filter; ICIP,2010 [C].
[27]J. Kim,M. Lee. Robust lane detection based on convolutional neural network and random sample consensus [J]. 2014.
[28]A. Gurghian,T. Koduri,S. Bailur,et al. DeepLanes:End-To-End Lane Position Estimation Using Deep Neural Networks; CVPR,2016 [C].
[29]R. Girshick,J. Donahue,T. Darrell,et al. Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation; CVPR,2014 [C].
[30]S. Ren,R. Girshick. Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks [J]. TPAMI,2017,39(6):1137-49.
[31]J. Redmon,S. Divvala,R. Girshick,et al. You Only Look Once:Unified,Real-Time Object Detection; CVPR,2016 [C].
[32]B. Huval,W. Tao,S. Tandon,et al. An Empirical Evaluation of Deep Learning on Highway Driving [J]. Computer Science,2015.
[33]K. He,G. Gkioxari,P. Dollar,et al. Mask R-CNN [J]. TPAMI,2017,P(99).
[34]D. Neven,B. Brabandere,S. Georgoulis,et al. Towards End-to-End Lane Detection:an Instance Segmentation Approach [J]. CVPR,2018.
[35]Y. Hsu,Z. Xu,Z. Kira,et al. Learning to Cluster for Proposal-Free Instance Segmentation [J]. CVPR.
[36]J. Fritsch,T. Kuhnl,F. Kummert. Monocular Road Terrain Detection by Combining Visual and Spatial Information[J]. TITS,2014,15(4):86-96.
[37]S. Jung,J. Youn,S. Sull. Efficient Lane Detection Based on Spatiotemporal Images [J]. TITS,2015,17(1):289-95.
[38]K. Hui,S. Sarma,T. Feng. Generalizing Laplacian of Gaussian Filters for Vanishing-Point Detection [J]. TITS,2013,14(1):408-18.
[39]S. Chougule,A. Ismail,A. Soni,et al. An efficient encoder-decoder CNN architecture for reliable multilane detection in real time; IV,26-30 2018,[C].
[40]S. Chougule,N. Koznek,A. Ismail,et al. Reliable Multilane Detection and Classification by Utilizing CNN as a Regression Network; ECCV,2018 [C].
[41]S. Lee,J. Kim,J. Yoon,et al. VPGNet:Vanishing Point Guided Network for Lane and Road Marking Detection and Recognition [J]. ICCV,2017.
[42]X. Shi,Z. Chen,W. Hao,et al. Convolutional LSTM Network:A Machine Learning Approach for Precipitation Nowcasting; ICONIP,2015 [C].
[43]L. Feldkamp,D. Prokhorov,T. Feldkamp. Simple and conditioned adaptive behavior from Kalman filter trained recurrent networks [J]. Neural Networks,2003,16(5):683-9.
[44]J. Li,X. Mei,D. Prokhorov. Deep Neural Network for Structural Prediction and Lane Detection in Traffic Scene [J]. TNNLS,2017,28(3):690-703.
[45]Q. Zou,H. Jiang,Q. Dai,et al. Robust Lane Detection from Continuous Driving Scenes Using Deep Neural Networks [J]. CVPR,2019.
[46]F. Martin,Bolles,et al. Random sample consensus:a paradigm for model fitting with applications to image analysis and automated cartography [J]. Readings in Computer Vision,1987.
[47]Z. Whan,Kim. Robust Lane Detection and Tracking in Challenging Scenarios [J]. TITS,2008,9(1):16-26.
[48]K. Zhao,M. Meuter,C. Nunn,et al. A novel multi-lane detection and tracking system; IV,2012 [C].
[49]W. Fiedler. Stochastic Lane Shape Estimation Using Local Image Descriptors [J]. TITS,2013,14(1):13-21.
[50]B. Shin,J. Tao,R. Klette. A superparticle filter for lane detection [M]. Elsevier Science Inc,2015.
[51]W. Brabandere,D. Neven,M. Proesmans,et al. End-to-end Lane Detection through Differentiable Least-Squares Fitting [J]. CVPR,2019.
[52]M. Aly. Real time Detection of Lane Markers in Urban; IV,2008 [C].
[53]W. Tao,A. Ranganathan. A practical system for road marking detection and recognition; IV,2012 [C].
[54]The tuSimple lane challange [J]. http://benchmarktusimpleai/,2017.
[55]F. Yu,W. Xian,Y. Chen,et al. BDD100K:A Diverse Driving Video Database with Scalable Annotation Tooling [J],CVPR,2018.
[56]Y. Hou. Agnostic Lane Detection [J]. CVPR,2019.