简介:车道线和路沿的检测 在自动驾驶中起到很关键的作用。最近和做高精地图的朋友沟通, 激光雷达在构建高精地图中起到非常关键的作用。 如下图所示, 激光雷达作为多帧拼接,动态障碍物去除, 将点云的intensity信息和颜色做一个对应, 车道线/路沿就非常明显。
为什么基于激光雷达的车道线/路沿的工作很少呢?
所以很好奇, 基于图像的车道线,路沿检测学术界/工业界有很多人在研究, 但是基于激光雷达的实时车道线/路沿检测 很少有人研究, 并且做这块的参考和论文也特别少。问题也出来了, 实时的基于激光雷达的车道线/路沿检测有价值吗?
价值是有的, 看场景和应用!
个人认为,和基于摄像头的车道线/路沿检测相比, 主要的缺点有这么几点:
-
没有专门的开源激光雷达车道线,路沿的数据集
-
激光雷达的车道线缺少纹理信息, 需要依赖车道线漆和地面的反射率不同来区分, 识别的能力没有图像强
-
激光雷达的点云数据比较稀疏, 而且往往受到安装位置的影响, 照不到很远的地面
-
激光雷达没有颜色信息, 对于车道线的颜色无法识别
-
然而, 和图像相比, 激光雷达的车道线和路沿检测也有那么几个优点:
-
对光源和阴影的抗干扰能力强, 黑夜光线不好的时候, 进出隧道等Camera很头痛的corner case, 对于lidar 来说完全不是问题
-
提供的3d位置非常准确, 能直接输出给定位,预测, 规划控制等模块使用, 不需要像图像2d 转 3d等步骤 ,能在大区率弯道提供准确的车道线/路沿3d位置
-
实际应用 看 场景和需求
-
在L3 干线物流卡车这条赛道里, 长途卡车经常半夜2/3点就出发, 长的一直要在路上跑十几个小时, 我们组也有小伙伴实际跟过长途卡车做体验。在L3 卡车干线物流中, 对于车道线/路沿识别有那么特点:
-
基本是以高速为主, 中国的高速公路的车道线/路沿质量相对比较好
-
车道线/路沿需要识别的非常远, 通常对于车道线的距离希望能在100m以上, 对于路沿的识别在150m以上
-
对于定位精度高,车道线c0, c1, c2, c3 的精度直接决定了 LCC这个功能的体验
-
卡车作业经常是黑夜,在某些地区光线不是特别好, 在隧道进出的时刻, 容易收到光照变化的影响。
在L3干线卡车这个场景中, lidar能够给 车道线/路沿检测这个任务带来很多的帮助, 和图像一起互为冗余 ,各自发挥各自的优点:
1. 装的高, 照的远
卡车车头比较高, lidar安装高度可达离地面3.5m, 能照的特别远。可以在下图中看到, 场景比较好的时候,车道线能照到140m, 路沿能照到240m.
2. 对光照不敏感, 在黑夜,进出隧道等场景能很好地弥补图像 。
3. 位置精度高, 对于大区率弯道的道路居中功能(LCC), 自动进出闸道给图像很好的补充 。
参考方案:
参考方案1:2D Segmentation based
采用语义分割比较经典的Encoder - Decoder 结构, 通过RESA模块,将水平和垂直方向上其他pixel上的信息进行聚合。从而使feature map中的每个pixel都能包含其他pixel的信息。将每个车道线实例作为一个语义类别进行多类别语义分割,背景像素也单独作为一个语义类别。
优化了基于2分类的主流车道线检测方案, 省去了后续聚类或者实例分割的工作。该方法利用Affinity Field结合二分类分割的方法进行车道线检测和实例分割,该方法性能好,且能检测数量变化的车道线。
参考方案2:Anchor based
-
提出结构信息导向的车道线检测框架,对于车道的数量没有限制
-
预测消失点, 并且提出基于消失点的车道线anchor 生成策略
-
提出 多层次的结构约束,提出 sense pixel-level unary details, model lane-level Relation , Image Level attention 等模块来构建场景和车道之间的结构约束
很经典的基于anchor based的方法, 和华为的一个小伙伴交流, 华为有一个团队把 LaneATT 用在了激光雷达路沿检测上面, 据说效果不错 。
参考方案3:2D Grid Based
基于关键点检测 的车道线检测,在Tusimple 和 CuLane取得SOTA. 因为需要生成heatmap, 将此方法并入 gird-based, 和我们采用的方法比较像。
backbone 特征出来以后, 提取4个 特征图。
1. 关键点位置heatmap
2. 距离关键点在δy偏移处,y轴上距离真实车道线点的偏移δXup
3. 距离关键点在δy偏移处,y轴上距离真实车道线点的偏移δXdown
4. 距离关键点在0偏移处,y轴上距离真实车道线点的偏移 δXhor
将图像切分成多个横长条, 再把横向切分成多个gird, 来预测每个包含车道线的grid的位置。
计算量较小, 运行速度比较快。使用了全局感受野,利用了车道线的先验信息, 加入了 structual loss。
可能无法处理纵向的车道线?
参考方案4:Panoptic SegFormer - Nvidia - 单目2d 全景分割
DETR的全景分割升级版。DETR 在全景分割的潜力还没有被挖掘, Panoptic Segformer填上了这个洞。
设计主要基于这几点观察
-
Deep Supervision 在 mask decoder 对于学习 high-qualities discriminative attention 表征非常重要
-
将things 和 stuff 同步对待 是有问题的, 因为特征不同
-
常用的后处理 中的 pixel-wise argmax 会产生 false - positive
贡献点:
提出mask decoder, 利用 多尺度的attention map 来 高分辨率的mask.
-
Mask decoder 是 深度监督的, 促进在中间层的attention 表征 来实现更好的mask quality 和 更快的收敛
提出 query decouping strategy, 将things 和 stuff 的queries分开来。
-
Things queries -> 2分匹配
-
Stuff queries -< class-fixed assign
-
这个策略显著地提升了things 和 stuff 的干扰, 显著提高对象分割的质量
提出 improved post-processing method 来生成全景分割的结果
-
效果优于pixel - wise argmax
-
Mask-wise merging strategy 考虑了 分类可能性 和 预测mask 的质量
-
在DETR上使用这种后处理 就可以达到1.3% 的提升
参考方案5:PersFormer - PerceptionX Lab - 单目3d车道线检测
相机3dBEV车道线检测的新范式 , 代码也已经开源, 非常良心, 上一篇文件已经具体介绍过。
基本的思路就是通过perspective transformer 来构建 Enhanced BEV Feature, 然后在 BEV上做3d车道线检测, 在2d图像上做2d车道线检测,检测头用的anchor based, 并且统一了2d和3d的anchor
这个工作能做很多拓展:
-
加入多相机就可以构建周围一圈的车道线,
-
加入时序信息 就可以构建局部地图
-
加入lidar就可以做BEV层面下的 多传感器融合车道线检测
参考方案6:HDMapNet - 清华Mars Lab - 前融合/hdmap构建
很厉害实用的工作,代码也已经开源, 清华Mars Lab 和 PercetionX Lab YYDS, 希望可以多开源好的方案促进工业界的发展。
提出了一种生成局部HDmap的新方法, 可以替换之前的SLAM建图, 人工标注的方法 。(论文中也没有提供和SLAM建图对比的结果, 估计精度上还是达不到HDmap建图的要求, 但是可以作为一个很好的技术backup, 等积累的数据集足够多了,精度上来了可以, 估计厉害的图商应该有类似的数据启动的HDMap生成的方法。)
论文也证明了, 激光雷达检测路沿比较强, 图像检测车道线比较强,如果2者做融合,无论是lane, boundary, crossroad, 都有大幅的提升。
由于路沿和车道线都是静止信息, 加入时间维度上的特征会有很大的帮助, 我准备之后在HDMapNet的基础上,在网络中加入时间维度(时序多相机 + 时序多激光雷达), 来逐步替换4d离线真值系统中的 定位建图 -> 点云地图标注 这条链路, 这边先挖个坑。
参考方案7:基于激光雷达的一些方法:
Mixer-based lidar lane detection network and dataset for urban roads
我们的方案:
受限于车端的算力限制, 和目标检测网络的兼容,我们这边初步选择了基于grid-based 的简单网络, 可以让目标检测网络和车道线/路沿检测网络共用backbone。回归的grid比较大(节省算力)并且每个grid 回归1/2个关键点位置, 类似于 Focus On Local 里的关键点回归。这个地方设计非常巧妙, 回归两个关键点可以很好的让车道线连续,在后处理上也非常简单。
当然离线的网络用来构建离线真值系统, 花里胡哨的结构就没有任何限制了, 精度怎么高怎么来!
识别的结果:
目前正在拓展的一些工作:
-
利用多帧时序数据 (memory bank), 融合历史信息到当前帧, 促进检测
-
和高精度图做融合, 1方面利用高精度图的数据做先验信息, 1方面利用高精地图做监督, 参考MapFusion 的架构。
-
融合图像传感器的 多相机BEV 检测 , 做多传感器融合, 参考Persformer 和 HdMapNet.
MapFusion: A General Framework for 3d Obejct Detection with HDMaps
如何降低数据标注的成本:
这边额外讲一个比较有意思的点, 如何做激光雷达/相机的联合3d车道线路沿标注。
可以遇见, 随着 多相机BEV 检测 的兴起,需求也会越来越大, 如何自动化高效低成本的产生3d 车道线路沿真值 也会是一个非常有意思并且挑战的工作。
如果走 SLAM 建图 , 人工标注, 这个成本也很高, 并且还有全局和局部不匹配的问题 。
如果走语义分割标注的方式,估计成本根本无法接。
这块也是一些非常核心的技术点了,透露几个点:多帧时序,数据驱动, 局部建图, hdmap做辅助监督 。细节就不透露啦。
Anyway, 想要效果好, 数据量得上来, 数据标注的时间成本都是非常重要的, 花在这块的时间可能是算法的好几倍了。
版权声明:本文为知乎「柴可宁」的原创文章,已获作者发表许可。
原文始发于微信公众号(汽车ECU开发):基于激光雷达的车道线/路沿检测
Welcome to join us.Aibang lidar industry communicationThere are currently 2,700 people, including relevant persons in charge from major lidar manufacturers and OEMs. Click on the tags below to filter
Lidar OEM Autonomous Driving application terminal laser VCSEL light detector sensor Optical element Optical module filter Galvanometer Optical components radome cover adhesive Electronic component semiconductor chip tier1 Parts Non-standard automation Hardware circuit board motor Coating Coating equipment Plastic Products vehicle electronics Surface treatment auto parts equipment Testing Equipment Connector plastic Material software trading acting College graduate School other
Download: