《RCLane:Relay Chain Prediction for Lane Detection》论文笔记
Posted m_buddy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《RCLane:Relay Chain Prediction for Lane Detection》论文笔记相关的知识,希望对你有一定的参考价值。
参考代码:RCLane
1. 概述
介绍:在这篇文章中介绍了一种新的车道线描述范式(基于点的车道线建模),也就是通过关键点(文章对应称之为relay points)和关键点之间的关系场构建推理出车道线。具体为文章通过segformer实现车道线二值分割得到分割结果 S S S,并同时通过不同的head预测 T T T(transfer map,用于确定临近点位置)和 D D D(distance map,用于确定终止点),之后在 S S S上做point-nms实现车道线上点的确立,以这些点为起点结合 D D D和 T T T推理出整条车道线。按照这样的思想该算法具有较强的车道线结构适应能力,如分离汇入、弯道场景也能很好建模,目前就公开数据集性能已经超过之前的condlanenet了,还是值得期待完整开源的。
2. 方法设计
2.1 整体pipeline
文章的整体结构见下图所示:
这篇文章是以segformer作为benchmark,并在其基础上添加两个head,分别实现
D
D
D(distance map)和
T
T
T(transfer map)预测工作,也就是对应图中左边半边部分。需要注意的是
T
T
T和
D
D
D预测的都是双向的,这样可以从任意的一个点上进行推理得到整条线。对于推理的起点这里是通过对车道线二值分割结果进行point-nms选择实现的,最后对所有推理出来的线进做IoU-NMS操作得到最终输出结果。因而这篇文章的算法后处理是相对较重的。
2.2 distance map和transfer map的表示
对于这两个map的描述可见下图中的(a)图:
其中
T
ˉ
f
(
p
i
)
,
T
ˉ
b
(
p
i
)
\\barT_f(p_i),\\barT_b(p_i)
Tˉf(pi),Tˉb(pi)表示的是当前点
p
i
p_i
pi(车道线二值mask上的每一个点)到相邻两个点的affine filed(也就是分别对应的forward和backward方向),
D
ˉ
f
(
p
i
)
,
D
ˉ
b
(
p
i
)
\\barD_f(p_i),\\barD_b(p_i)
Dˉf(pi),Dˉb(pi)表示的是当前点
p
i
p_i
pi分别到端点的距离。
distance map:
该图描述的是车道线上点到两个端点的距离关系,这里依据车道线点的y坐标划分forward还是backward,具体为最小y坐标值(对应坐标点
p
e
n
d
f
=
(
x
e
n
d
f
,
y
e
n
d
f
)
p_end^f=(x_end^f,y_end^f)
pendf=(xendf,yendf))和最大y坐标值(对应坐标点
p
e
n
d
b
=
(
x
e
n
d
b
,
y
e
n
d
b
)
p_end^b=(x_end^b,y_end^b)
pendb=(xendb,yendb))。那么当前点
p
i
p_i
pi对应的distance map标注可以描述为:
D
ˉ
f
(
p
i
)
=
(
x
i
−
x
e
n
d
f
)
2
+
(
y
i
−
y
e
n
d
f
)
2
\\barD_f(p_i)=\\sqrt(x_i-x_end^f)^2+(y_i-y_end^f)^2
Dˉf(pi)=(xi−xendf)2+(yi−yendf)2
D
ˉ
b
(
p
i
)
=
(
x
i
−
x
e
n
d
b
)
2
+
(
y
i
−
y
e
n
d
b
)
2
\\barD_b(p_i)=\\sqrt(x_i-x_end^b)^2+(y_i-y_end^b)^2
Dˉb(pi)=(xi−xendb)2+(yi−yendb)2
transfer map:
该图描述的是车道线上点到相邻两个点的关系,这里通过构建当前点和相邻两个点(
p
i
b
=
(
x
i
b
,
y
i
b
)
p_i^b=(x_i^b,y_i^b)
pib=(xib,yib)和
p
i
b
=
(
x
i
b
,
y
i
b
)
p_i^b=(x_i^b,y_i^b)
pib=(xib,yib))的向量场进行描述,需要注意的是这里采样的相邻点是按照距离
d
d
d进行采样得到的,则向量场的描述为:
T
ˉ
f
(
p
i
)
=
(
x
i
f
−
x
i
,
y
i
f
−
y
i
)
\\barT_f(p_i)=(x_i^f-x_i,y_i^f-y_i)
Tˉf(pi)=(xif−xi,yif−yi)
T
ˉ
b
(
p
i
)
=
(
x
i
b
−
x
i
,
y
i
b
−
y
i
)
\\barT_b(p_i)=(x_i^b-x_i,y_i^b-y_i)
Tˉb(pi)=(xib−xi,yib以上是关于《RCLane:Relay Chain Prediction for Lane Detection》论文笔记的主要内容,如果未能解决你的问题,请参考以下文章
未知插件“Relay” - React、GraphQL 和 Relay
如何在 TypeScript 中使用 Relay Modern(babel-plugin-relay 和 relay-compiler)?
Graphql + Relay graphql-relay-js 依赖