前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >车道线检测与分割:UNet与LaneATT算法原理解析

车道线检测与分割:UNet与LaneATT算法原理解析

作者头像
博文视点Broadview
发布2023-09-07 09:23:10
1.7K0
发布2023-09-07 09:23:10
举报
文章被收录于专栏:博文视点Broadview

车道线检测是自动驾驶中最基本、最关键的安全任务之一,可以应用在 ADAS (高级驾驶员辅助系统)中,如车道保持功能,以及其他更高级别的自主任务(如与高清地图和轨迹规划的融合等)。给定在自动驾驶车辆上收集的 RGB 图像,车道线检测算法旨在图像上提供结构化线的集合。

车道线检测是自动驾驶中的一个基础模块,也是一个由来已久的任务。早期已有很多基于传统图像处理实现的车道线检测算法。但随着研究的深入,车道线检测 任务所应对的场景越来越多样化,且逐步脱离了对于“白、黄色线条”这种传统车 道线样条式的理解。目前更多的方式是寻求对于语义上车道线存在位置的检测,即使它是模糊的、被光照影响的,甚至是完全被遮挡的。

目前,车道线检测算法主要有以下两大难点。

1)基于图像分割的车道线检测算法由于是逐像素分类的任务,所以计算量很大。

2)No-Visual-Cue 问题,即遮挡问题。如图1所示,在实际场景中存在车道 线被遮挡的情况。在这种情况下,只有靠车流走向这种全局信息才能很好地定位车 道线。另外,实际场景中还存在极端光照条件影响识别结果的情况。在这种情况下, 车道线检测迫切需要更高层次的车道语义信息。

图1 车道线示意图

目前,基于深度学习的车道线检测算法通常分为两种类型:一种基于视觉特征 进行语义分割,如 LaneNet 和 UNet 等;另一种通过视觉特征来预测车道线所在位置 的点,以此来解决 No-Visual-Clue 问题,如LaneATT。由于篇幅限制,本章仅以 UNet 和LaneATT 为例进行介绍。

01 UNet算法的原理

UNet 是在 FCN 的基础上进行修改与拓展所实现的神经网络。FCN 的思想是通过连续的卷积层来修复常用的缩放网络,其中池化层中的部分操作被上采样操作替代,从而能提升输出的分辨率。同时,为了进行定位,FCN 将压缩路径的高分辨率特征与上采样结合,使得一个连续的卷积层能够根据信息得到一个更准确的输出。

UNet 的提出者在上采样部分也有较大的修改。UNet 也有大量的特征通道,从而允许网络的上下文信息能够传播到具有更高分辨率的层上。因此扩展路径与压缩路径接近对称,产生一个 U 形结构。

由于该网络没有完全连接的层,且只使用每个卷积的有效部分,即分割映射只包含像素,这样完整的上、下两部分能够在输入图像上使用,从而实现对任意大的图像进行无缝切割。为了预测图像的边界区域中的像素,该网络通过镜像来输入图像,推断缺失的部分,这样能够保证分辨率不会受到 GPU 内存的影响。

由于实际应用中的数据量可能不会很多,所以 UNet 的提出者在其中增加了数据增强的内容,保证神经网络能够进行较好的训练。在许多细胞分割任务中,难点 是如何分离同一类的触摸对象。为此,UNet 的提出者建议使用加权损失,即通过在接触单元之间增加分离背景标签,使得其能够在损失函数中获得很大的权重,从而能够实现较好的分割效果。UNet 使用包含压缩路径和扩展路径的对称 U 形结构来进行特征的编/解码工作,且在一定程度上影响了后续语义分割网络的研究。

UNet 非常简单,其前半部分(左边)的作用是进行特征提取,后半部分(右边) 的作用是进行上采样,在一些文献中也把这样的结构叫作 Encoder-Decoder 结构。因为此网络的整体结构类似大写的英文字母 U,故得名 UNet。如图2所示,其中每个蓝色竖状条对应一个多通道特征图,通道数在竖状条顶部标出,x 和 y 的大小位于竖状条的左下方;灰色箭头表示复制和拼接特征图。

该网络由压缩路径和扩展路径组成。其中,压缩路径用于获取上下文(Context) 信息,扩展路径用于精确定位(Localization),且两条路径相互对称。

UNet 能从极少的训练图像中依靠数据增强手段将有效标注数据更为有效地利用起来。与其他常见的分割网络(如 FCN)相比,UNet 主要有以下不同点。

1)采用完全不同的特征融合方式:拼接(Concat)。

2)UNet 把特征在通道维度上进行拼接,形成通道更深的特征图;而 FCN 融 合时使用的是逐点相加方式,并不形成通道更深的特征图。

可见,语义分割网络在进行特征融合时有以下两种方法。

1)FCN 式的逐点相加。

2)UNet 式的通道维度拼接融合。

除了上述新颖的特征融合方式,UNet 还有以下几个优点。

1)5 个池化层实现了对图像特征的多尺度特征生成。

2)上采样部分会融合特征提取部分输出,这样做实际上将多尺度特征融合在了一起。以最后一个上采样为例,它的特征既来自第一个卷积 Block 的输出(同尺度特征),又来自上采样的输出(大尺度特征),这样的连接是贯穿整个网络的。如图 2 所示,网络中有4 次融合过程,而 FCN 只在最后一层进行融合。

图2 UNet 架构图

02 LaneATT算法的原理

现有车道线检测算法在实际应用中已取得了不错的性能,但是诸如 UNet 之类 的语义分割的方法普遍存在运行实时效率问题,这对自动驾驶落地来说是不可取的。

因此,LaneATT 的提出者受传统基于 Anchor 的目标检测方法的启发,设计了一 个基于 Anchor 的车道线检测模型。类似其他通用的目标检测器,LaneATT 将 Anchor 用于特征池化。

因为车道线遵循规则的模式高度相关,所以 LaneATT 假设在某些情况下,全局信息对推断其位置可能至关重要,尤其在诸如遮挡、缺少车道标记等情况下。因此, LaneATT 中还设计了一种新颖的基于 Anchor 的注意力机制,这在一定程度上可聚集全局信息,进而提升模型性能。

LaneATT 主要做了以下设计。

1)Lane 的 Anchor 表征。

2)基于 Anchor 的特征图池化。

3)局部注意力机制。

4)Proposal 预测。

如图3 所示,使用从安装在车辆上的前置摄像头拍摄的 RGB 图像作为输入, 输出是车道线。为了得到这些输出,CNN 会生成一个特征图,并将其池化,以提取每个 Anchor 的特征。这些特征与注意力模块生成的一组全局特征结合在一起。

图3 LaneATT架构图

通过组合局部特征和全局特征,该模型可以更轻松地使用来自其他车道的信息, 这在有遮挡或没有可见车道标记的情况下可能是必需的。

最后将合并的特征传递到全连接层,以预测最终的输出通道。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 博文视点Broadview 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档