一种基于ENet改进的轻量实时车道线分割方法

文档序号:26007964发布日期:2021-07-23 21:27阅读:222来源:国知局
一种基于ENet改进的轻量实时车道线分割方法

本发明涉及车辆自动驾驶领域,尤其涉及车道线实时语义分割方法。



背景技术:

汽车为人们交通出行带来了巨大的便利,但伴随着汽车数量的增加,发生交通事故的次数也在与日俱增,交通事故对人生安全造成极大的威胁,是我国人群伤害死亡首因。因此开发高级辅助驾驶系统的是有效降低交通事故发生率的手段,而车道线分割是该系统最基础、最核心的功能之一,且非常具有挑战性。

如何精确的识别、分割车道线是高级辅助驾驶系统的核心技术问题,目前广泛使用的技术主要是在车辆多个部位安装传感器、摄像头等获取车道路面信息,再结合传统图像处理方法(边缘检测、霍夫变换、直线拟合等)或者结合激光扫描、三维点云,然而传统的处理方法对图像质量、场景环境要求较高,对光照变化、目标遮挡、背景干扰极为敏感,在复杂的城市道路上分割精度低,鲁棒性差,使用场景受限。而基于激光雷达、扫描仪的方法成本昂贵,对车道线质量要求高。

随着计算机gpu算力的不断提升,深度学习技术发展迅速,并在多个应用领域取得突破性成功,其中就包括车道线分割领域,涌现出众多优秀车道线检测算法,比如xingangpan等人提出的scnn,利用卷积层空间信息传递解决车道线形状细长、外观线索少带来的精度低问题;gansbeke等人提出带权重可微的最小二乘拟合算法,将传统算法引入了卷积网络,使其可以自动学习车道线的拟合参数。尽管这些算法在车道线基准数据集上取得客观分割结果,但其分割速度非常慢,scnn仅仅7fps,远远无法满足实时性要求。



技术实现要素:

为了克服车道线分割方法的不足,本发明提供一种基于enet改进的车道线实时分割网络,利用多种策略对enet网络结构进行改进,满足实时性要求的同时在车道线基准数据集culane取得较高的精度,且可部署在行车记录仪上,成本低,鲁棒性强。

本发明解决其技术问题所采用的技术方案是:

一种基于enet改进的轻量实时车道线分割方法,所述方法包括以下步骤:

(1)将enet卷积分解:将其每个二维卷积拆分成两个一维卷积;

(2)将enet所有卷积通道分离再融合、打乱:空间分离卷积模块的每个一维卷积核通道拆分为两组,一个256通道数核拆分成两个128通道核,最后再融合为一组;再经过一个3×3的卷积并随机打乱通道,使两组通道学习到的信息充分共享和通信;

(3)在编码器和解码器增加两条跳跃连接,设置概率预测分支用于预测车道线存在的概率,根据设定的阈值判断某车道的车道线是否存在;

至此,完成车道线分割网络lrtnet的构建;

(4)将车道线图片输入到所述车道线分割网络lrtnet,输出车道线分割结果。

进一步,所述步骤(2)中,引入不同尺寸的空洞卷积。空洞卷积与普通卷积具有相同的计算量但拥有更大的感受野,这非常适合于图像中车道线这类形状细长,外观线索少、空间跨度大的目标。

再进一步,所述方法还包括以下步骤:

(5)将设计的车道线分割网络放在culane上训练和测试。

本发明中,分割领域不断朝着快速、轻量、实时的方向前进,出现一些优秀的轻量实时分割网络,比如enet,在输入分辨率为1280×720的图像情况下,可以获得50fps的分割速度,其网络结果如表1所示。

表1

表1中第一列表示网络层数,第二列表示该层结构类型,第三列表示该层输出特征图的尺寸,第四列为输出通道数。从表中可以看出enet总共21层,可分为三大模块,即初始化模块(initial)(第1层)、编码模块(2-15层)、解码模块(16-21层),编码模块包括bottleneck1、bottleneck2两部分;解码模块包括bottleneck4、bottleneck5、fullconv三部分;其中bottleneck是作者设计的新型瓶颈结构层,该结构中可以引入普通卷积、空洞卷积、反卷积;fullconv是一个普通转置卷积层,因其模型精简、拓展性强,被选为本发明参考网络,本发明主要对其bottleneck结构进行改进。

本发明的有益效果主要表现在:满足实时性要求的同时在车道线基准数据集culane取得较高的精度,且可部署在行车记录仪上,成本低,鲁棒性强。

附图说明

图1是卷积分解示意图;

图2是空间分离卷积结构示意图;

图3是组卷积结构示意图;

图4是scs-fc模块结构示意图;

图5是lrtnet网络结构;

图6是culane数据集样例;

图7是不同算法分割结果对比图;

图8是culane不同场景可视化测试结果图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1~图8,一种基于enet改进的轻量实时车道线分割方法,所述改进方法包括以下步骤:

(1)将enet卷积分解

一个普通的2维卷积可以拆分成两个1维卷积,如图1所示,一个尺寸3×3的卷积核可以用尺寸3×1和1×3的两个卷积核替换,两者具有相同的感受野。假设一个3×3的卷积矩阵为则理论上可以拆成矩阵为和[123]两个1维卷积,因为

原本9个参数的卷积核被分解后,只有6个参数,据计算,一个3×3卷积分离后可以减少33%的参数量。因此本发明将enet网络中卷积进行拆分,如图2所示。将图2(a)普通残差模块的每个尺寸3×3的卷积拆成尺寸3×1和1×3两个卷积串联(图2(b)所示),保持同样的通道数。空间分离卷积模块的参数相比普通残差模块大幅减少,卷积层的计算量为kh×kw×cin×cout,式中kh,kw分别表示卷积核的高、宽,kh,kw分别表示输入、输出特征的通道数。对于图2中两种结构的计算量见表2。

表2

表2可以看出,卷积分解之后,参数量从73k减小到49k。

(2)将enet卷积通道分离再融合、打乱。

稀疏编码理论认为卷积操作时稠密的,全通道卷积是一种通道密集连接方式,此类卷积网络学习到的参数信息存在部分冗余,将卷积的通道分组可以缓解此问题。如图3所示。将(1)中设计的空间分离卷积模块的每个1维卷积核通道拆分为两组,一个256通道数核拆分成两个128通道核,最后再融合为一组,此方式是一种稀疏连接方式,有利于提高网络的泛化能力,且能减小模型参数量,对于图3两种结构计算量见表3。

表3

从表2可以看出,将通道分组只有参数量减小约一半。但分组卷积的缺点是组与组之间没有传递的信息,这可能造成各组之间学习到的特征差异较大,为此本发明采用通道打乱的思路,设计出一种特殊通道分离融合结构,简称scs-fc(split-concat-shuffle-factorization)模块,其结构如图4所示。

在两组通道合并之后,再经过一个3×3的卷积并随机打乱通道,使两组通道学习到的信息充分共享、通信,减小两者特征差异;同时引入不同尺寸的空洞卷积,空洞卷积与普通卷积具有相同的计算量但拥有更大的感受野,这非常适合于图像中车道线这类形状细长,外观线索少、空间跨度大的目标。

(3)增加跳跃连接和概率预测分支结构。参照u-net的长连接设计,本发明设计的lrtnet网络也增加了跳跃连接,如图5所示。在编码器和解码器增加两条跳跃连接(skip-connections),有利于缓解深层网络梯度消失的问题。

概率预测分支,用于预测车道线存在的概率,根据设定的阈值(实验中取0.5)判断某车道的车道线是否存在。部分噪点会被判断成车道线点,但实际车道线并不存在,增加此分支有利于提高分割结果。图5中解码器上支线结构p网络即为概率预测分支。

(4)将设计的车道线分割网络放在culane上训练和测试。

图5便是本发明设计的轻量实时车道线分割网络lrtnet网络结构图。其结构表如表4所示。

表4

从表4中可以看出,lrtnet总共23层,其中1-16层为编码器模块,17-23为解码器模块,编码器相较解码器更大。假设原始输入图像分辨率为360×640,经过预处理缩放至送进网络,和enet一样,首先经过初始化(initial)(表1中第1层)模块减小图像尺寸;再经过下采样瓶颈模块(表1中第2层),输出特征图分辨率为160×90,经过两次下采样模块,保证模型精度的同时大大减小后续模块的网络计算量;3-5层仍采用enet的瓶颈结构普通卷积层,用于稳定初始特征定位;6-7、9-16、18-19、21-22层为lrtnet设计的特殊通道分离融合结构scs-fc模块(其结构如图4所示),是基于enet瓶颈结构的多处改进,其中9-16层引入了空洞卷积的,膨胀率包含有2、4、8等,其它scs-fc层模块是普通卷积;17、20、23为解码器模块反卷积层,用于恢复图像分辨率同时精细化特征边缘细节,23层使用普通串联结构反卷积恢复原分辨率图像。

lrtnet网络训练和测试过程如下:

a.数据集准备

本发明为验证lrtnet的有效性,将其放在车道线基准数据集culane上训练和测试。culane是xingangpan等人在北京录制超过55个小时的行车记录视频,采集共13万多张,其中8多万张作为训练集,3万多张作为测试集,1万张验证集,包含多个场景,官方将其分为正常、拥堵、阴影、夜间等9类场景,数据部分样例如图6所示。

b.初始化模型参数:

首先设置网络的超参数,如表5所示。

表5

从表5可以看出,采用sgd随机梯度下降算法,动量(momentum)设置为0.9,学习率为0.01,训练周期为12epoch,批量大小(batchsize)为12。整个模型损失函数为:

其中是分割损失,采用的交叉熵损失,是判断车道线是否存在的损失,采用均方误差损失,α为系数因子,用于平衡两者,在实验中设置为0.1。

在训练之前,将culane图片缩放至976×208送入lrtnet网络训练。

c.实验结果对比与分析

精度对比:lrtnet在culane上取得73.8的f1-score值,其与其它算法的对比结果见表6。

表6

表6中包括多个算法在culane测试集不同场景取得的测试精度以及总精度,可以看出,lrtnet具有最高的f1-score值,且在正常、夜晚、拥堵等多个场景取得最高精度。将其分割可视化结果与部分开源算法对比如图7所示。从图7中可以看出lrtnet分割结果远胜于renet、mrfnet、resnet-101、略优于scnn。

lrtnet在测试集上不同场景的分割结果如图8所示。图中可以看出,即使在夜间、拥堵、高光、无线的场景,lrtnet仍然能精确分割车道线。

速度对比:统一将不同算法放在culane数据集上测试,输入尺寸均为976×208,其模型速度性能对比见表7所示。

表7

从表7可以看出,本发明设计的lrtnet帧率接近50,满足实时性要求,速度是scnn的7倍,且具有最高的分割精度。

通过以上实验对比和分析,可以证明本发明所设计的轻量实时车道线检测算法lrtnet网络的有效性。

本说明书的实施例所述的内容仅仅是对发明构思的实现形式的列举,仅作说明用途。本发明的保护范围不应当被视为仅限于本实施例所陈述的具体形式,本发明的保护范围也及于本领域的普通技术人员根据本发明构思所能想到的等同技术手段。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1