这是个人的学习笔记,如有侵权,请联系本人。
还在更新
代码
车道线检测的过程可以视为近似曲线,如今The popular pipeline分两步解决-特征提取加上后处理这种方法虽然很有用,但是效率不高,并且在处理图片上下文信息和车道的细长结构存在缺陷。为了解决这些问题,本文提出了一种端到端的直接输出车道形状模型参数的方法,能学习更丰富的结构和上下文信息。该模型基于车道线结构和摄像机姿态建立,为网络输出参数提供物理解释。Transformers模型的非局部相互作用以自我注意机制来捕捉更为细长结构和上下文信息。提出的方法在TuSimple测试平台上得到验证,最轻的模型,最先进的精度尺寸和最快速度高达420 fps,单1080Ti。另外,我们的方法在其他数据集上具有极好的适应性,例如FVL数据集。
提出的端到端检测方法旨在重新搭建车道线形状模型的参数,参数由基于Hungarian fitting loss的transformer-based network来预测得到。
车道形状的先验模型定义为道路上的多项式。通常,车道线近似为一条三次曲线
(X,Z)为地平面上的点,当摄像头的光轴平行于地平面时,曲线从道路投影到图片上是:
(u,v)为图片上的一个像素点。
当摄像头的光轴与地平线成一定的角度时,其公式又变为
f代表以像素为单位的焦距。
可将上式变为
除此之外,垂直起点和终点α、 β用于参数化各车道线。这两个参数提供了描述车道线上下边界的基本定位信息线
在实际路况中,车道通常具有全局一致的形状。因此,从左至右车道,近似圆弧的曲率相等。下面这四个参数是共享的(检测到的车道线里面的这四个参数是共享的)
而对于不同车道线,仅在偏差项和上下边界方面有所不同(即gt后面的四个参数)。
世界坐标系、相机坐标系、图像坐标系、像素坐标系之间的转换
Hungarian匈牙利算法是为了在一个图所有匹配中,所含匹配数量最多。在本文中,匈牙利拟合损失在预测参数和地面真实线之间进行二部匹配,然后将匹配结果用于优化特定车道的回归损失。
Bipartite matching:本文预测N条固定的曲线(N大于典型数据集中车道线数量的最大值),预测的曲线为H,真实曲线的像素排列为s ,真实曲线为L。下面公式求的是预测曲线与真实曲线之间的距离,目标是使得距离之和最少(其中使用了Hungarian algorithm)
上图所示的结构包括一个主干网、一个简化的变压器网络、几个用于参数预测的前馈网络和匈牙利损耗。
给定输入图像I,主干提取低分辨率特征,然后通过折叠空间维度将其展平为序列S。S和位置嵌入Ep被馈送到变压器编码器,以输出表示序列Se。接下来,解码器生成输出序列Sd。最后,几个FFNs直接预测建议输出的参数。
原始的ResNet18 [5]有四个块,对要素进行16次下采样。为避免避免过拟合,每个块的输出通道是“64、128、256、512”。本文在backbone对ResNet18简化,其输出通道为“16-32-64-128”,下采样率为8,最终输出格式为HWC,转换成sequence为HW*C。
ResNet
接下来,为了构建序列作为编码器的输入,我们在空间维度上展平该特征,得到大小为HW × C的序列S,其中HW表示序列的长度,C是通道的数量。
在本文的encoder中,有两个标准层(都是包括一个self-attention和前馈层)它们中的每一个都由图2所示的自关注模块和前馈层组成。
给定抽象空间表示的序列S,基于绝对位置的正弦嵌入Ep[19]被用于编码位置信息以避免置换等变。
Ep的大小与s相同。编码器通过等式执行缩放的点积注意力。
其中,Q、K、V表示通过每个输入行上的线性变换的查询、键和值的序列,A表示注意图,该注意图测量非局部交互以捕捉细长结构和全局上下文,而O表示自我注意的输出。具有HW × C形状的编码器输出序列是通过跟随FFNs、具有层标准化的剩余连接[2]和另一个相同的编码器层获得的。
Transformer
self-attention
预测模块使用三个部分生成预测曲线集H。单个线性操作直接将Sd投影到N × 2,然后softmax层在最后一个维度对其进行操作,以获得预测标签(背景或通道)ci,I∑{ 1,.。。,N}。同时,一个具有ReLU激活和隐藏维度C的3层感知器将Sdi投影到N × 4中,其中维度4表示四组车道特定参数。另一个三层感知器首先将一个特征投影到N ×4中,然后在第一维中求平均值,得到四个共享参数。