本节摘要:车道线是车辆行驶的参考线。本节讲车道线检测——自动驾驶保持车道、变道、避偏的关键技术。
阅读完本节,你应当能够:
车道线告诉车"在哪条车道、车道边界在哪",用于:
车道线特殊:

传统车道线检测:
传统方法快,但磨损、弯道、遮挡时差。
现代用 CNN 端到端:
深度学习鲁棒,能处理磨损、弯道、遮挡。
车道线检测输出:
| 挑战 | 说明 |
|---|---|
| 磨损/缺失 | 老旧道路车道线不清 |
| 光照 | 强光、阴影、夜间 |
| 弯道 | 曲线拟合难 |
| 遮挡 | 前车挡车道线 |
| 类型区分 | 实/虚/双线/黄白 |
车道线检测和语义分割(可行驶区域)互补:
两者结合给规划完整道路信息。
高等级自动驾驶用高精地图预存车道线,视觉检测做实时校准(定位+车道线匹配),比纯视觉鲁棒。
⚠️ 车道线缺失:无车道线道路(如乡村、施工),纯视觉检测失效。需结合可行驶区域分割或高精地图。
💡 关键直觉:车道线检测用于车道保持/偏离预警/变道。传统(边缘+霍夫+透视)快但复杂场景差,深度学习(LaneNet/CLRNet)鲁棒是主流。输出曲线+类型+颜色。挑战磨损/光照/弯道/遮挡。可结合可行驶区域和高精地图。
下一节讲交通标志识别。
车道线检测的输出表示直接影响后续消费方式。常见有三种:参数化表示(用二次或三次多项式拟合每条车道线,即 x = a·y² + b·y + c),优点是平滑、占用内存小,规划模块直接拿来算横向偏移;关键点表示(预测车道线上固定网格的关键点),优点是能表达任意形状,包括分岔、环岛;掩码分割表示(像素级分类),信息最全但后续要再做拟合才能变成几何参数。量产方案常组合使用:分割模型出粗略掩码,再在掩码上做聚类或拟合得到参数化车道线。
原图 -> 下采样 -> 网络 -> 车道线概率图 -> 按行取 argmax -> 关键点 -> 聚类分条 -> 多项式拟合 -> 车道线参数
车道线是典型的细长结构——在图像上可能长达数百像素而宽度只有几个像素,普通分割容易把线断开。SCNN 的核心思想就是在行的方向上做消息传递:把特征图按行切分,每一行的特征沿着行方向逐步传播,让模型能"顺着线"看完整条车道。另一个实用技巧是行锚(row anchor):把车道线预测定义为"在每行上,车道线的横向位置",大幅压缩解空间,也让输出天然适合拟合。后处理阶段,弯曲较大的车道要用分段拟合或样条,单条三次多项式拟合急弯会失真。