PINet: Key Points Estimation and Point Instance Segmentation Approach for Lane Detection 论文笔记

本文介绍了一种创新的车道线检测方法,基于Hourglass网络生成车道线上的精确点,通过点云实例分割解决聚类问题。提出的方法有效降低了假阳性,后处理算法则用于去除冗余点。文章还讨论了数据增强和实验结果,展示了在TuSimple数据集上的应用与优化潜力。
摘要由CSDN通过智能技术生成

Key Points Estimation and Point Instance Segmentation Approach for Lane Detection

论文链接: https://arxiv.org/abs/2002.06604

一、Problem Statement

目前的车道线检测存在着一些缺陷,比如只能检测有限的车道线,较高的 false positive(检测不到车道线)。

二、Direction

提出了一个可以检测任意车道数的网络,并且这个网络具有低的false positive。这个网络可以输出车道线上的实际点,所以把这些生成的点的聚类问题当成是点云实例分割问题,因此提出的模型是segmentation based method。并提出后处理算法消除杂点。

三、Method

一、 Lane Instance Point Network

既然是网络的输出是车道线上的点,网络的基础结构就使用了hourglass network。首先其输入是512x256,然后经过一个resizing层和一个特征提取层。resizing layer使用的是一系列卷积层和池化层。特征提取层使用两个hourglass network。每一个hourglass network block有三个输出分支,分别是confidence, offset,和 feature。

来看一下这个网络的Loss,其包含三个部分:
L t o t a l = a L c o n f i d e n c e + b L o f f s e t + c L f e a t u r e L_{total}=aL_{confidence} + bL_{offset} + cL_{feature} Ltotal=aLconfidence+bLoffset+cLfeature

1. confidence branch

confidence branch 预测每一个单元格的置信度。然后这个值会传递给下一个hourglass block,用来稳定训练。这个分支的loss为:
L c o n f i d e n c e = 1 N e γ e ∑ g ∈ G e ( g c ∗ − g c ) 2 + 1 N n γ n ∑ g ∈ G n ( g c ∗ − g c ) 2 L_{confidence}=\frac{1}{N_e}\gamma_e\sum_{g\in G_e}(g^*_c-g_c)^2+\frac{1}{N_n}\gamma_n\sum_{g\in G_n}(g^*_c-g_c)^2 Lconfidence=Ne1γegGe(gcgc)2+Nn1γngGn(gcgc)2

N e , N n N_e, N_n Ne,Nn表示存在点或者不存在点的单元格的数量。 G G G表示所有单元格, g c ∗ g_c^* gc是ground-truth, g c g_c gc是预测值。

2. offset branch

offset branch是用来找到每个点的确切位置。它的值在0-1区间,是相对于每一个单元格(grid)。offset branch有两个通道,分别预测x轴和y轴。
L o f f s e t = 1 N e γ x ∑ g ∈ G e ( g x ∗ − g x ) 2 + 1 N e γ y ∑ g ∈ G n ( g y ∗ − g y ) 2 L_{offset}=\frac{1}{N_e}\gamma_x\sum_{g\in G_e}(g^*_x-g_x)^2+\frac{1}{N_e}\gamma_y\sum_{g\in G_n}(g^*_y-g_y)^2 Loffset=Ne1γxgGe(gxgx)2+Ne1γygGn(gygy)2

3. feature branch

这个分支的训练是用来使具有相同实例的网格特征更接近,不同实例的特征距离更远,是一个聚类的过程。看一下它的loss:
L f e a t u r e = 1 N e 2 ∑ i N e ∑ j N e l ( i . j ) L_{feature}=\frac{1}{N_e^2}\sum_i^{N_e}\sum_j^{N_e}l(i.j) Lfeature=Ne21iNejNel(i.j)
l ( i , j ) = { ∣ ∣ F i − F j ∣ ∣ 2 i f C i j = 1 m a x ( 0 , K − ∣ ∣ F i − F j ∣ ∣ 2 ) i f C i j = 2 l(i,j)=\left\{ \begin{matrix} ||F_i-F_j||_2 & if &C_{ij}=1\\ max(0,K-||F_i-F_j||_2) & if & C_{ij}=2\\ \end{matrix} \right. l(i,j)={FiFj2max(0,KFiFj2)ififCij=1Cij=2
其中 C i j C_{ij} Cij表示点 i , j \Large i,j i,j 是否是同一个实例,如果是同一个实例,则等于1,否则为2。 F i F_i Fi表示输出的特征点。 K > 0 K>0 K>0是一个常量。然后使用简单的distance based 聚类算法区分点的类别。

二、 后处理算法

目的消除杂点,但是根据实际跑起来的程序来看,这个步骤处理的很慢,可以注释掉或者优化提升速度。步骤为:

  1. 找六个开始点。开始点是最低的点,三个来自最左边和三个来自最后边的点。如果预测的车道在图像中心的左边,最左边的三个点就会被选择。
  2. 选择三个最接近开始点的点。
  3. 从第一步和第二步选出的点中,做一条直线。
  4. 计算其他点和这个直线的距离。
  5. 计算在阈值范围内有多少个点。
  6. 选择计数大于阈值的点作为新的起始点,考虑该点与起始点属于相同的集群。我们将阈值设置为剩余点的20%
  7. 重复2-6步,知道在第二步中找不到点。
  8. 对所有起始点重复1-7步,最大聚类长度作为结果线。
  9. 对所有预测车道线重复1-8步骤。

三、 数据增强
通过翻转、平移、旋转、添加高斯噪声、亮度增强、增加阴影来进行数据增强。

四、Conclusion

简单明了的一个网络,但是TuSimple数据集较为简单,感觉源代码训练有点过拟合。实际运用起来效果也不错,再加上TensorRT加速可以有比较好的效果,但是精度会稍微下降。如果需要一条线段而不是点的话,可以采用多项式拟合。对一些边沿或者轨道,可以采用此网络进行检测。

References

1.https://zhuanlan.zhihu.com/p/115170109

### 回答1: MA-PINet 网络模型是基于多智能体系统的关系网络模型,主要用于解决图像处理中的图像分割任务,包括语义分割和实例分割。该模型通过对多智能体系统中智能体之间的相互作用进行建模,实现了对图像中不同部分的划分。 ### 回答2: MA-PINet是一种用于深度学习的网络模型,其名称均来自于英文单词。M代表多任务(Multi-Task),A代表注意力(Attention),P代表图像分割(Segmentation),I代表实例分割(Instance Segmentation),Net代表网络(Network)。 MA-PINet的设计目标是同时处理多个任务,并且能够自动学习图像中不同目标的特征表示。这种网络模型结合了多任务学习和注意力机制以及分割技术,使其在目标识别、图像分割以及实例分割等任务中具有出色的性能。 首先,在多任务学习方面,MA-PINet可以同时处理多个任务,例如目标识别、图像分割和实例分割。通过共享多个任务之间的特征表示和权重参数,使得神经网络能够更好地解决这些任务。这样的设计有助于提高模型的效率和准确性。 其次,MA-PINet中的注意力机制允许模型集中学习目标感兴趣的区域。通过分析图像中不同位置的重要性,可以自动调整模型的关注程度。这意味着模型将更加专注于目标区域,从而提高目标识别和分割的性能。 最后,MA-PINet还利用了图像分割和实例分割技术。图像分割是将图像分成若干个区域的过程,而实例分割则是将每个区域分配给不同的目标实例。这种结合可以更好地理解图像的语义内容,并实现对不同目标实例的准确识别。 总之,MA-PINet是一种多任务、注意力和分割相结合的网络模型,具有处理多个任务和自动学习目标特征的能力。通过将这些技术融合在一起,MA-PINet在目标识别、图像分割和实例分割等任务中具有较高的性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值