公开视频:https://www.bilibili.com/video/BV1664y1o7wg 论文:https://arxiv.org/abs/2008.13719 源码:https://github.com/ZJULearning/resa
现有的车道线检测方法
1.基于霍夫变换的传统车道线检测方法,缺点在于不能处理复杂场景(遇到遮挡),不能检测曲线 2.基于聚类的实例分割,例如lanent,缺点在于需要后处理,实时性较低,而且聚类的结果存在随机性 3.语义分割 例:SCNN 4.基于行分类的网络化,速度快,但是全局信息不强 5.多项式,速度快,但是依赖先验信息,容易受到相机外参的影响,改变摄像头的角度会影响检测效果 6.基于anchor,依赖先验信息 RESA:延续SCNN的思路,将车道线检测当作语义分割问题来处理
摘要
车道线检测存在的难点: (1)车道线会出现严重的遮挡、磨损的问题 (2)车道线稀疏性,即车道线相对于背景,形状是条形,又细又长,很稀疏 针对上面问题,RESA利用车道线的强形状先验信息和捕捉像素间跨行、列的空间信息,将特征图的切片在垂直和水平方向上反复移动,并使每个像素都能手机全局信息。同时,提出一种双向上采样解码器,在上采样阶段结合了粗粒度和细粒度特征,可以将低分辨率特征图细化为像素级预测。
引言
基于语义分割的车道线检测的一般使用编码器-解码器的框架,一般步骤:先用CNN作为编码器,提取车道线的特征信息,然后使用解码器将特征图恢复到原图大小,以便像素点的预测
但这些方法的问题如下:由于车道线的稀薄和长属性,带注释的通道像素的数量远远少于背景像素。(类别不均衡) 这些方法通常难以提取微妙的车道特征,并且可能会忽略先验的强形状或车道之间的高度相关性,从而导致检测性能较差。 同时,当遮挡严重时,传统的语义分割无法预测被遮挡的车道线。
SCNN提出空间卷积的特征,尝试在特征图中的相邻行或列之间传递信息。然而,这种类似于RNN的架构是耗时的。同时,在相邻行或列之间顺序传递信息需要进行多次迭代,并且在长距离传播期间信息可能会丢失。
本文的RESA在特征图中收集信息,并更直接,更有效地传递空间信息。如图1所示,RESA可以通过循环地移动特征图的切片来垂直和水平地聚合信息。RESA将首先在垂直和水平方向上对特征图进行切片,然后使每个切片的特征接收与某个跨度相邻的另一个切片的要素。 每个像素分几步同时更新,最终每个位置都可以在整个空间中收集信息。这样,信息可以在特征图中的像素之间传播。 同时,提出了 the Bilateral Up-Sampling Decoder (BUSD),双边上采样解码器。BUSD有两个分支:一个分支用于捕获粗粒度特征,另一分支是捕获细细节特征。粗支路直接应用双线性上采样并产生模糊图像。相比之下,细分支通过转置卷积实现上采样,然后是两个non-bottleneck模块以修复细微的损失。 结合两个分支,我们的解码器可以将低分辨率特征图精确地恢复为逐像素预测。
RESA有三个优点: (1)信息并行传递,时间消耗低。 (2)stride设置不同,在传播过程中,不同特征图的切片可以聚合到一起而没有信息损失。 (3)该模块可简单并入其他网络中。
方法
网络架构
RESA的网络架构包括编码器、聚合器和解码器,如上图所示。
- 编码器:骨架网络(VGG、ResNet等),用于提取特征。原始图片会变成1/8尺寸的特征图。
- RESA:收集空间特征。在每次迭代中,特征图的切片都会在4个方向上反复移动,并在垂直和水平方向传递信息。 最后,RESA需要进行K次迭代,以确保每个位置都可以接收整个特征图中的信息。
- 解码器:双向上采样模块。每个块两次上采样,最后将1/8特征图恢复到原始大小。 双向上采样解码器由粗粒度分支和细粒度分支组成。
出特征图将用于预测每个车道的存在和概率分布。 紧随其后的是全连接层以进行存在预测,并将执行二进制分类。 将针对车道概率分布预测进行逐像素预测,这与语义分割任务相同。
RESA分析
RESA在4个方向上循环应用特征转换操作,并使每个位置都可以感知和聚合同一特征图中的所有空间信息。 车道检测是一项高度依赖周围线索的任务。 例如,一个车道被多辆汽车遮挡,但是我们仍然可以从其他车道,汽车方向,道路形状或其他视觉线索中推断出它。 RESA优点如下: (1)计算效率高。传统信息传递方法(马尔科夫随机场/条件随机场)是一种全连接的方式,计算密集且冗余。SCNN方法是一种类似于RNN的结构,复杂度随着空间大小的增加而线性增加,并且顺序传播不能充分利用计算资源。而RESA的复杂度是空间尺寸的log级别,每次迭代中,所有位置以并行方式进行更新,在k次迭代后,每个位置可以聚合来自整个特征图的空间信息。 (2)特征信息聚合高效。每个位置可以聚合来自整个特征图的空间信息,且此过程没有信息损失。如图5所示,由于SCNN仅将特征信息传递给相邻的元素,并且在传播过程中丢失信息,因此RESA的性能比SCNN更好。 (3)易于组合到其他网络中。1.实现很简单,只需要在特征图中进行索引操作即可。2.不会更改输入特征图的形状(理想的位置是在提取特征CNN之后,如VGG、ResNet、MobileNet)。 (4).计算时间几乎可被忽略。
双向上采样解码器
上采样特征图到输入尺寸。大多数解码器利用双线性上采样(bilinear upsampling)过程来恢复最终的逐像素预测,这很容易获得粗略结果,但可能会丢失细节。一些方法使用堆叠卷积运算和反卷积运算来获得精确的上采样结果。我们组合他们,得到双向上采样解码器(Bilateral Up-Sampling Decoder ,BUSD)。解码器由两个分支组成,一个分支是恢复粗粒度特征,另一个是修复细微的损耗。如图4所示,输入将通过两个分支,并且将产生通道数量减半的2x上采样输出。 通过这些堆叠的解码器块后,RESA生成的1/8特征图将恢复为与输入图像相同的大小。 粗粒度分支 粗粒度分支将从最后一层快速输出粗略向上采样的特征,这可能会忽略细节。设计了一条简单而浅的路径。 我们首先应用1×1卷积来减少通道数乘以输入特征图的2倍,然后是BN。 双线性插值直接用于对输入特征图进行上采样。 最后,执行ReLU。 细粒度分支 细细节分支用于微调来自粗粒度分支的信息丢失,并且路径比另一个更深。 我们使用步幅为2的转置卷积对特征图进行上采样,并同时将通道数减少2倍。 与粗粒度分支中使用的类似设计一样,对ReLU进行上采样。 Non-bottleneck块由具有BN和ReLU的四个3×1和1×3卷积组成,可以保持特征图的形状并以分解的方式有效地提取信息。 在上采样操作之后,我们堆叠了两个non-bottleneck。
|