2.6 道路与车道线检测


2.6 道路与车道线检测

本节摘要:车道线是车辆行驶的参考线。本节讲车道线检测——自动驾驶保持车道、变道、避偏的关键技术。

本节导航

阅读完本节,你应当能够:

  1. 理解车道线检测的作用
  2. 知道传统和深度学习方法
  3. 了解车道线的挑战

概念脉络

车道线检测的作用

车道线告诉车"在哪条车道、车道边界在哪",用于:

  • 车道保持(LKA):居中行驶
  • 车道偏离预警(LDW):压线提醒
  • 变道决策:变道前看相邻车道
  • 路径规划:车道作为行驶参考

车道线的特点

车道线特殊:

  • 细长:不是框,是曲线
  • 类型多:实线、虚线、双线、黄/白
  • 磨损:老旧道路不清晰
  • 弯道:曲线非直线

传统方法

图 2-6 车道线检测方法

图 2-6 车道线检测方法

传统车道线检测:

  1. 边缘检测:Canny 找边缘
  2. 霍夫变换:找直线
  3. 透视变换:转到俯视图(IPM)拟合
  4. 曲线拟合:二次/三次曲线

传统方法快,但磨损、弯道、遮挡时差。

深度学习方法

现代用 CNN 端到端:

  • LaneNet:分割 + 嵌入聚类
  • SCNN:逐行消息传递,处理细长车道
  • PINet:关键点预测
  • CLRNet:交叉层级,参数化车道

深度学习鲁棒,能处理磨损、弯道、遮挡。

车道线输出

车道线检测输出:

  • 参数化曲线(x = ay^2 + by + c)
  • 点序列:车道线上的点
  • 类型:实线/虚线/双线
  • 颜色:黄/白
  • 车道 ID:左/右/相邻

挑战

挑战 说明
磨损/缺失 老旧道路车道线不清
光照 强光、阴影、夜间
弯道 曲线拟合难
遮挡 前车挡车道线
类型区分 实/虚/双线/黄白

车道线与可行驶区域

车道线检测和语义分割(可行驶区域)互补:

  • 车道线:精确车道边界
  • 可行驶区域:整体可开区域

两者结合给规划完整道路信息。

高精地图车道

高等级自动驾驶用高精地图预存车道线,视觉检测做实时校准(定位+车道线匹配),比纯视觉鲁棒。

⚠️ 车道线缺失:无车道线道路(如乡村、施工),纯视觉检测失效。需结合可行驶区域分割或高精地图。

💡 关键直觉:车道线检测用于车道保持/偏离预警/变道。传统(边缘+霍夫+透视)快但复杂场景差,深度学习(LaneNet/CLRNet)鲁棒是主流。输出曲线+类型+颜色。挑战磨损/光照/弯道/遮挡。可结合可行驶区域和高精地图。

一节小结

  • 作用:车道保持、偏离预警、变道、路径规划。
  • 特点:细长曲线、类型多(实/虚/双/黄白)、磨损、弯道。
  • 传统:边缘+霍夫+透视变换+拟合,快但复杂场景差。
  • 深度学习:LaneNet/SCNN/PINet/CLRNet,端到端鲁棒。
  • 输出:参数化曲线/点序列+类型+颜色+车道 ID。
  • 挑战:磨损缺失、光照、弯道、遮挡、类型区分。
  • 结合:车道线+可行驶区域+高精地图互补。

下一节讲交通标志识别。

车道线的三种表示

车道线检测的输出表示直接影响后续消费方式。常见有三种:参数化表示(用二次或三次多项式拟合每条车道线,即 x = a·y² + b·y + c),优点是平滑、占用内存小,规划模块直接拿来算横向偏移;关键点表示(预测车道线上固定网格的关键点),优点是能表达任意形状,包括分岔、环岛;掩码分割表示(像素级分类),信息最全但后续要再做拟合才能变成几何参数。量产方案常组合使用:分割模型出粗略掩码,再在掩码上做聚类或拟合得到参数化车道线。

原图 -> 下采样 -> 网络 -> 车道线概率图 -> 按行取 argmax -> 关键点 -> 聚类分条 -> 多项式拟合 -> 车道线参数

逐行扫描与细长结构

车道线是典型的细长结构——在图像上可能长达数百像素而宽度只有几个像素,普通分割容易把线断开。SCNN 的核心思想就是在行的方向上做消息传递:把特征图按行切分,每一行的特征沿着行方向逐步传播,让模型能"顺着线"看完整条车道。另一个实用技巧是行锚(row anchor):把车道线预测定义为"在每行上,车道线的横向位置",大幅压缩解空间,也让输出天然适合拟合。后处理阶段,弯曲较大的车道要用分段拟合或样条,单条三次多项式拟合急弯会失真。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U