基于高效卷积网络的多类车道语义分割
基于高效卷积网络的多类车道语义分割
https://arxiv.org/ftp/arxiv/papers/1907/1907.09438.pdf
Multi-Class Lane Semantic Segmentation using Efficient Convolutional Networks
摘要——车道检测在自动驾驶汽车中起着重要作用。一些研究利用语义分割网络来提取稳健的车道特征,但很少有研究能够区分不同类型的车道。本文主要研究多类车道的语义分割问题。在观察到道路场景图像中的车道是一个小尺寸、窄宽度的物体的基础上,提出了两种技术,即特征尺寸选择(FSS)和去压缩展开块(DD Block)。FSS允许网络使用适当的特征大小来提取细车道特征。为了获得细粒度的空间信息,DD块由一系列具有递减膨胀率的膨胀卷积组成。实验结果表明,所提出的技术在精度上有了明显的提高,同时与基线系统相比,它们实现了相同或更快的推理速度,并且可以在高分辨率图像上实时运行。
关键词——多车道、语义分割、实时、自动驾驶
I.简介
车道检测是自动驾驶道路场景理解中的一项重要技术。通常,车道检测算法包括三个步骤:车道特征提取、特征段分组和车道模型拟合。在这些步骤中,第一步是最关键和最具挑战性的一步,因此在这项工作中重点关注这一步。传统的车道特征提取方法需要精心设计图像处理程序来获取车道特征。例如,基于梯度的方法计算梯度以捕捉车道边界。研究人员进一步结合多种信息来源,包括强度、颜色和边缘,以增强检测能力。车道形状模型建立了检测车道的假设标准,如双曲线对和B-线。
然而,这些传统算法不足以抵抗环境变化的影响,例如噪声、照明变化和天气条件。
近年来,深度卷积神经网络在计算机视觉领域取得了突破性进展。一些研究人员采用语义分割网络进行车道特征提取。这些基于CNN的系统具有更高的鲁棒性,并且对环境变化不太敏感。然而,据所知,现有的研究很少关注一项具有挑战性的任务,即“多类车道语义分割”(见图1)。例如,LMD设计了一种基于SegNet的网络架构来划分车道。LMD以实时推理速度实现了高性能,但它不区分不同类型的车道。
Zang等人使用CNN找到了两类车道像素,黄线和白线,但他们的方法只能处理非常小的32×32图像。识别不同类型的车道,如黄线、红线、双线、实线和虚线,对于自动驾驶车辆至关重要,因为它应该理解这些道路车道标记的含义。然而,众所周知的DeepLabv3是性能最好的细分模型之一,而ICNet则致力于自动驾驶应用,但它们并没有关注细分多类车道。根据经验,如果不进行适当的修改,这些主流架构即使强大,也可能不适合承担多类车道语义分割的任务。
图1. 所提出的技术应用于现有的多类车道语义分割网络。
在本文中,提出了两种技术,即特征大小选择(FSS)和去压缩扩展块(DD块),来修改现有的语义分割网络。观察到,在典型的道路场景图像中,车道标线是一个小尺寸、窄宽度的物体。EDANet在准确性和推理速度之间具有良好的平衡,是一个适合自动驾驶的系统。因此,选择它作为基线架构,并将技术应用于它(见图1)。
EDANet从两个下采样块开始提取特征。然而,下采样过程往往会丢失详细的空间信息,这对小物体尤其不利。一些稀疏的车道甚至可能被完全丢弃。另一方面,如果去除下采样操作,网络的感受野将缩小。
因此,提取不同特征图大小的特征,以研究下采样操作在车道分割中的最佳使用。
将这种策略称为特征尺寸选择(FSS)。接下来,与许多其他网络类似,EDANet使用具有增量扩张率的扩张卷积来逐渐扩大感受野。尽管如此,由于卷积核的稀疏性,扩张卷积跳过了一些空间像素样本,无法聚合小对象的完整和详细信息。Hamaguchi等人开发了LFE模块,该模块由几个具有递减膨胀率的卷积层组成,用于提取局部特征。采用LFE模块的基本概念,但使用一个EDA模块作为单元,而不是一个卷积层。将具有递减膨胀率的堆叠EDA模块命名为递减膨胀块(DD块)。
总之,这项工作探索了一项具有挑战性的任务,即多类车道语义分割。将当前的语义分割系统扩展到能够区分各种类型的车道标线。在工业技术研究所(ITRI)创建的ITRI数据集上评估系统。与基线网络相比,所提出的两种技术明显提高了精度,同时实现了相同或更高的推理速度。它们可以在高分辨率图像上实时运行,因此适用于自动驾驶应用程序。
二、方法在道路场景图像中,车道是一个相对较小且较薄的对象,因此需要开发新的基于小对象语义分割的策略。在本节中,将介绍所提出的两种技术的细节,即FSS和DD块。
这两种方法是在基线网络EDANet上构建的,将它们分别命名为EDA-FSS和EDA-DDB。
A.特征尺寸选择
详细的空间信息对于精确的车道定位非常重要。典型的细胞神经网络有几个下采样层,其中EDANet有三个下采样操作。它在两个下采样块之后开始提取特征,即在大小为输入大小的1/4的特征图上。图2(a)展示了EDANet的体系结构。下采样的特征图往往会丢失精确的边界信息,有时细车道会消失。然而,在大型特征图上提取特征需要更多的计算。此外,更难获得足够宽的感受野。在这两种需求之间取得良好的平衡是一项挑战。
EDA-FSS,所提出的体系结构,如图所示。第2(b)段。它在EDANet的第一个和第二个下采样块之间放置了一个由两个EDA模块组成的附加EDA块0。
使用EDA块0,EDA-FSS能够在较大的特征图(输入大小的1/2)上提取特征,因此可以检测到较小的对象或详细的边界。为了保持相似的计算复杂度以实现高推理速度和公平比较,将EDA块1和EDA块2中的EDA模块数量分别从5个减少到4个和8个减少到5个。每个卷积层的生长速率也从40降低到30。EDA-FSS的总体深度和宽度比EDANet的更浅、更窄,因为在早期阶段执行操作需要更多的计算。对于这一特定任务,这种权衡成功地提高了分割精度。
图2:(a) EDANet。(b) 拟议的EDA-FSS。每个块旁边的数字表示特征图大小与输入图像大小的比率。B.去压缩展开块展开卷积被许多语义分割网络广泛使用。通常,这些结构利用具有增量扩张率的扩张卷积以逐渐的方式扩大感受野。EDANet也采用了同样的概念。然而,这种设计存在这样的问题,即相邻像素的滤波器支持可能会在局部特征中产生不一致的空间信息。换言之,较深层中相邻像素的感受野在较浅层中可能仅略微重叠。此外,由于卷积核的稀疏性,它可能无法收集基本的局部特征。
Hamaguchi等人提出了一种称为局部特征提取(LFE)模块的架构,旨在分割遥感图像中的小实例。LFE模块由几个具有递减膨胀率的卷积层组成,它可以在一定程度上解决上述问题。
受LFE模块的启发,提出了一种新的结构——DD块。与使用一个卷积层作为结构单元的LFE模块不同,它的单元是一个EDA模块。DD块由四个具有递减膨胀率的EDA模块组成:8、4、2和1。将拟建DD区块插入EDANet,以构建EDA-DDB。表I比较了EDANet和EDA-DDB之间的结构。EDA-DDB增加了一个DD块,并将EDA块2中的EDA模块数量从八个减少到四个。膨胀率依次为2、4、8和16。EDADDB具有与EDANet相同数量的参数和计算复杂度。
表I.EDANet和拟建EDA-DDB结构的说明。
这些数字表示每个EDA模块的膨胀率。仅示出EDA块2和DD块,因为这两个网络的其余部分是相同的。
III、 实验
构建了所提出的FSS和DD块的几个变体。然后,进行了一系列实验来分析它们的性能。在本节中,首先介绍使用的数据集。接下来,描述实现细节。最后给出了实验结果。
A.ITRI数据集
工业技术研究所数据集由台湾工业技术研究院机械与机电一体化系统研究实验室创建。据所知,这是第一批对不同类型的车道进行像素标注的数据集之一。该数据集仍在增长,因此仅使用其当前可用的子集。将给定的集合C2、C3、C7、C13、C18和C20组合以形成具有2192个图像的训练集。测试集由集合C4和C14组成,共有567个图像。该数据集共有六个类别,包括四种类型的行车道、道路和未定义类别。
车道的四种类型是双黄实线、单黄虚线、单红实线和单白线。道路上的所有其他标记都标记为道路等级。图像分辨率为480×720。图3显示了一些样本。
B.实施细节
遵循与EDANet中类似的训练设置。网络是通过使用Adam优化[9]进行训练的。重量衰减设置为1e-4,批量大小为16。将初始学习率设置为5e-4,并采用多元学习率政策;
也就是说,学习率乘以(1−𝑖𝑡𝑒𝑟/最大_𝑖𝑡𝑒𝑟) 𝑝𝑜𝑤𝑒𝑟 功率为0.9。数据增强采用随机水平翻转和两个轴上0~2个像素的平移。采用并集交集的平均值(mIoU)作为精度评估的度量。不使用任何测试技巧,例如多作物和多尺度测试。计算设备是单个GTX 1080Ti。
图3. ITRI数据集样本。(a) RGB图像。(b) 地面实况图。
图4.(a) 网络a.(b)网络b.每个块旁边的数字表示特征图大小与输入图像大小的比率。
C.特征尺寸选择
在ITRI数据集上评估了所提出的EDA-FSS的性能。还设计并评估了EDA-FSS的两种网络变体,称为网络A和网络B,以进行比较。它们的架构如图4所示。与EDA-FSS相比,网络A将EDA块0中EDA模块的数量从2个增加到4个,但整个EDA块2被丢弃以保持类似的计算复杂性。
网络B进一步在第一个下采样块前面添加了EDA块-1,该块由两个EDA模块组成。该块提取原始图像大小(480×720)上的特征。
再次,由于考虑到计算成本和公平比较,EDA块0中的EDA模块的数量被设置为1。此外,从网络B移除整个EDA块1。
表二报告了实验结果。从EDANet到网络B,特征图的大小变大,但它们的网络深度变浅,以保持相似的计算复杂度。然后,探讨了特征大小和网络深度之间的权衡。首先,可以看到,基线EDANet在mIoU准确性和运行时间方面都优于另一个著名的高效分割网络ERFNet。其次,所提出的EDA-FSS在精度上超过了EDANet,并实现了更短的运行时间。
因此,得出结论,由于保留了更多的空间信息,在早期阶段放置一些卷积层能够为小对象分割提取更有用的特征。
另一方面,网络A和网络B相对较差的性能表明,尽管非常浅的结构提取了较大尺寸的特征,但它们并不是一个好的解决方案。
它们不能获得足够宽的感受野,并且它们的计算成本甚至更高。显然,EDA-FSS实现了更好的平衡。图5比较了它们的视觉结果。
可以观察到,在第一个样本图像中,ERFNet无法将双实心黄色车道识别为一个联合车道。
EDANet在第二个样本图像中也存在同样的问题。
接下来,网络B在第二个样本图像中的道路上产生洞。通常,EDA-FSS输出最精确的结果,其中图案是完整的并且被正确地检测到。
表二. FSS实验的评价结果。列出了除未定义类别外的每个类别的IoU分数。DS-Y:双实心黄色车道。SD-Y:单点黄色车道。SS-R:单实心红色车道。SS-W:单实心白色车道。
D.减压扩张块
评估了所提出的EDA-DDB的性能。同样,为消融研究设计了几种变体。表III比较了每种变体的结构。EDA-w/o-di不包括任何扩张卷积。它用于评估使用扩张卷积的有效性。
图5. ERFNet、EDANet、网络A、网络B和拟议的EDA-FSS产生的视觉结果示例。
表III.每个变体的结构描述。这些数字表示每个EDA模块的膨胀率。仅示出EDA块2和额外块,因为这些网络的其余部分是相同的。
它用于评估使用扩张卷积的有效性。EDA-DDB-L将DD块直接连接到EDANet,而不减少EDA块2中EDA模块的数量。EDA-Large-1增加了四个具有固定膨胀率1的EDA模块。这个额外的块具有与DD块相同数量的参数和复杂性。
EDA-Large-16与EDA-Large-1几乎相同,不同之处在于其额外块的固定膨胀率为16。EDA-Large-1和EDA-Large-16用于检查EDA-DDB-L中DD块带来的改善是由于递减膨胀设计还是仅仅是由于附加参数。
如表IV所示,EDA-w/o-di的准确性不如EDANet,这证明了扩张卷积的有效性。
其次,EDA-DDB-L的性能比EDANet好,但比EDA Large-16差。因此,EDADDB-L的改进可能是由于增加了参数,而不是DD块的概念。
最后,所提出的EDA-DDB实现了最佳性能,这表明最佳性能,表明以适当的方式利用不断降低的膨胀率仍然能够带来改进。
车道是一个很薄的物体,所以它不会从太深的结构中受益。这也是EDA-DDB虽然参数较少,但仍能超越EDA-DDB-L的原因之一。总之,在相同的网络复杂度下,EDA-DDB成功地使性能明显优于基线。此外,即使在高分辨率图像(480×720)上,它也能保持很短的运行时间。图6展示了EDA-DDB产生的几个视觉结果。基本上,它能够检测道路场景图像中的大部分车道,并能够正确区分不同类型的车道。尽管如此,它有时还是会错过侧车道,尤其是右侧的红色车道。这是可以进一步调查的。
表IV.DD区块实验的评估结果。列出了除未定义类别外的每个类别的IoU分数。DS-Y:双实心黄色车道。SD-Y:单点黄色车道。SS-R:单实心红色车道。SS-W:单实心白色车道。
图6. 拟议EDA-DDB产生的视觉结果样本。(a) RGB输入。(b) 基本事实。(c) EDA-DBB
IV、 结论
在本文中,提出了两种技术,特征大小选择和DD块,用于多类车道语义分割。发现,对于小目标分割,使用较大的特征尺寸可以获得更多的定位信息,但在网络深度和推理速度之间保持良好的平衡至关重要。接下来,所提出的EDA-DDB通过更细粒度的空间信息,在修改后的EDANet中包括DD块,从而显著提高了精度。系统生成了鲁棒的车道特征,车道标记后处理算法可以很容易地使用这些特征。此外,它们能够在高分辨率输入上实时运行,因此对于真正的自动驾驶汽车来说是可行的。这项工作中提出的技术不仅限于车道检测的使用,还可以在其他小对象语义分割任务中进行尝试。
参考文献链接
https://arxiv.org/ftp/arxiv/papers/1907/1907.09438.pdf
Multi-Class Lane Semantic Segmentation using Efficient Convolutional Networks
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2023-01-30 CPU/GPU/FPGA芯片分析
2022-01-30 芯片面积与算力
2021-01-30 TensorFlow简单线性回归
2021-01-30 TensorFlow csv读取文件数据(代码实现)
2021-01-30 TensorFlow优化器及用法
2021-01-30 TensorFlow损失函数
2021-01-30 回归算法分类,常用回归算法解析