UFLDv2 混合锚点(Hybrid Anchor)原理
一、UFLDv1 单一行锚(Row Anchor)的缺陷
UFLDv1 只使用水平行锚:预先在图像垂直方向均匀采样多条水平线(row anchor),每条车道在每条水平线上预测一个横坐标 x;把车道建模成「多条水平线上的离散点集合」。
核心缺陷:定位误差放大效应
设车道线与行锚水平线夹角为\(\theta\),真实定位误差\(\varepsilon\)会被放大为:
\(\text{Error} = \frac{\varepsilon}{\sin\theta}\)
自车道(Ego Lane,中间两条):车道接近垂直,\(\theta\)接近 90°,\(\sin\theta≈1\),误差几乎不放大,预测准;
侧边车道(Side Lane,最左 / 最右):车道倾斜平缓、接近水平,\(\theta\)很小,\(\sin\theta→0\),误差被急剧放大; 结果就是 v1 侧边车道召回、精度暴跌,CULane 整体 F1 仅 68.4(Res18),弯道、拥堵场景掉分严重。
单独列锚(Column Anchor)的互补特性
列锚是垂直竖线,在图像水平方向采样竖线,预测每条竖线上车道的纵坐标 y:
- 侧边车道倾斜平缓,和竖线接近垂直,\(\theta≈90°\),误差极小;
- 中间自车道接近垂直,和竖线夹角极小,误差放大、精度变差。
二、混合锚点(Hybrid Anchor)核心设计思想
1. 车道分类分配规则(论文固定策略)
CULane 标准 4 车道划分:
- 中间 2 条自车道(Left Ego / Right Ego):使用行锚(Row Anchor)预测;
- 两侧边缘车道(Left Side / Right Side):使用列锚(Column Anchor)预测。
双向锚点互补,完美抵消「误差放大」问题:
- 行锚擅长垂直车道(中间车道);
- 列锚擅长平缓倾斜侧边车道; 两者结合后,四条车道定位精度全部提升,CULane ResNet34 F1 从 72.3 →76.0。
三、混合锚配套:有序分类(Ordinal Classification)机制
UFLDv1 是普通独立分类,v2 针对混合锚新增有序分类,进一步提升坐标精度:
- 把锚线上的坐标位置离散划分为 N 个有序类别(如横坐标 0~639 划分为 200 类);
- 相邻类别存在天然数值顺序关系,使用有序损失约束预测分布平滑;
- 最终坐标 = 各类别概率加权数学期望,而非单纯取最大概率类别,定位更连续、抑制车道断裂抖动。
双分支预测头结构
网络骨干输出全局特征后,分两个独立分支并行推理:
- Row 分支:预测中间两条车道,36 条行锚的「存在置信度 + 横坐标有序分类」;
- Column 分支:预测两侧两条车道,36 条列锚的「存在置信度 + 纵坐标有序分类」; 训练时两个分支联合损失优化,推理后合并两类锚点输出,拼接得到完整四条车道的所有关键点。
四、损失函数(混合锚联合监督)
总损失 = 行锚分支损失 + 列锚分支损失 单分支损失由三部分组成:
\(L_{\text{branch}} = L_{\text{exist}} + \lambda_1 L_{\text{ordinal}} + \lambda_2 L_{\text{structure}}\)
- \(L_{\text{exist}}\):二分类交叉熵,判断当前锚线上是否存在车道;
- \(L_{\text{ordinal}}\):有序分类损失,约束坐标预测平滑;
- \(L_{\text{structure}}\):车道结构连续性损失,约束同一条车道所有锚点坐标平滑连贯,抑制扭曲、断点(继承 v1 结构损失)。
五、混合锚的核心收益
- 全车道均衡精度:解决 v1 侧边车道检测问题,curve 弯道场景 F1 上涨;
- 无速度损耗:仅新增轻量列锚分支,参数量、FPS 几乎不变,依旧实时;
- 有序分类平滑输出:遮挡场景下车道不会断裂,召回率显著提升。
UFLDv2 PDF 直链:https://arxiv.org/pdf/2206.07389.pdf
参考文献:[1] Z. Qin, P. Zhang and X. Li, “Ultra Fast Deep Lane Detection With Hybrid Anchor Driven Ordinal Classification,”IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 46, no. 5, pp. 2555–2568, May 2024, doi: 10.1109/TPAMI.2022.3182097.