APP下载

FALane基于深度学习特征聚合的车道线检测网络

2021-03-07金重亮

电子技术与软件工程 2021年19期
关键词:骨干网车道损失

金重亮

(徐州工业职业技术学院 江苏省徐州市 221000)

车道检测任务区别于其他物体检测任务的主要特点是车道由车道短虚线组成,并贯穿整个可视区域,既要对长度较小的短虚线微观特征进行识别又要对短虚线组成的宏观车道线进行检测。针对车道线检测任务的特点使用基于特征聚合设计的网络对车道线微观和宏观两个尺度进行特征取样从而提高检测准确度。传统的车道检测分为两个阶段,第一阶段[1][2]通过提取车道线特征确定坐标点,第二阶段对坐标点进行拟合得出车道线拟合系数[3]。目前流行使用CNN进行特征提取,但是依然使用两个阶段进行车道检测[4][5][6][7]。此种方法对于车道线拟合部分不会将损失传递到网络中进行学习。为了能够直接传递损失进行训练,使用端到端方式进行车道线的检测[8],通过网络直接推理出车道线拟合系数。如图1所示。

图1:基于深度学习特征聚合的网络设计

1 基于特征聚合的网络设计

本文提出FALane net使用基于特征聚合的网络来对车道线进行检测,并使用端到端方式进行车道线的检测。现有DFAnet[9]作为轻量化语义分割网络在通用物体语义分割任务中能够很好的兼顾准确度和推理速度,FALane net基于DFAnet并针对车道检测任务对其进行优化修改,使其能够更加适合车道线检测任务。

1.1 网络设计

FALane net包含三个部分分别为轻量级骨干网、子网络特征聚合模块和子阶段特征聚合模块。为了提高网络模型学习能力并具备足够的感受野,FALane net使用轻量级骨干网进行特征重用并将上下文特征进行融合。Xception[10]网络具有运算量少、实时性强的特点,因此将以Xception网络作为基础修改为骨干网进行使用,在骨干网最后一层增加一个全连接的注意力模块,此方法能够进一步增加准确度同时保留最大的感受野,并且不会增加过多的运算量。

子网络特征聚合模块和子阶段特征聚合模块对应宏观车道线检测和微观车道短虚线检测,可以理解为子网络特征聚合模块反复进行特征重用,从宏观上提取特征并进行精细的像素分类,子阶段特征聚合模块接受不同阶段的特征并对其进行组合。子阶段特征聚合模块将不同阶段的特征变换成相同尺度层进行组合。

上述三个模块本质类似编码器下采样过程,在三个模块后面需要连接解码器进行上采样,使用卷积和双线性上采样操作来使不同阶段的尺度相同并形成输出结果。为了在聚合过程中得到相同尺度的特征,在子网络特征聚合模块后面也使用双线性上采样解码器进行处理配合聚合策略。

1.2 子网络特征聚合模块

如图2所示,FALane net由骨干网络组成,前骨干网的输出提供给下一个骨干网作为输入。骨干网络聚合过程可定义为y=Φ(x),编码器Φn的输出是编码器Φn+1的输入。因此聚合子网络可以表示为:Y=Φn(Φn-1(...Φ1(X)))。此过程可以理解为对高级特征的不断提炼,从粗糙到精细特征的形成过程。

图2:子网络特征聚合模块

使用基于Xception网络结构并对其进行轻量化后的网络XceptionL1、XceptionL2作为骨干网络,Xception网络使用深度可分离卷积并配合残差网络能够实现准确度和实时性的平衡,由于使用多个骨干网进行特征融合可以将单个骨干网进一步轻量化,另一方面也不用担心网络深度带来的无法收敛问题,因为Xception基本构架中使用残差网络能有效抑制深度网络梯度消失等不良影响。

表1中XceptionL1、XceptionL2、XceptionA为骨干网络模型模型构架,其中深度可分离卷积层、激活函数未在表中标出。

表1:骨干网络模型构架

1.3 子阶段聚合模块

子阶段聚合模块将不同子网络中相同阶段进行聚合,在特征聚合过程中保持尺寸相同即在聚合过程中具有相同的分辨率,因此需要在特征提取过程中加入上采样过程,本文使用双线性上采样来实现。子阶段聚合过程相当于组合各种不同尺寸特征并且聚合过程类似残差网络。对于单个子网络,每个阶段可以表示为其中i表示子阶段索引,n表示子网络索引。具体子阶段聚合过程可以表述为:

2 端到端的车道检测

端到端方式能够将两阶段任务简化成一个检测任务,直接使用车道线拟合产生的损失进行反向传播利用梯度下降让网络直接学习,这种方法相较于第一种能够使网络学习到更具体的特征,结合车道线特点设计的网络FALane net能够更有效的提取车道特征。

2.1 端到端车道检测构架

如图3所示,针对单车道进行检测即车辆的左右两侧车道线,为了将车道线拟合过程产生的误差反向传递到网络中利用梯度下降进行学习,需要在网络中增加可微分的拟合车道线层。拟合过程使用最小二乘法矩阵算法来实现,此过程完全可微分能够满足要求。

图3:端到端车道检测构架

图片经FALane net检测后产生左侧和右侧车道权重图,分别映射到标准化X轴坐标和标准化Y坐标后对左右车道进行最小二乘法拟合产生车道线参数,车道线参数通过损失函数计算损失后经反向传播梯度下降法对车道权重进行学习。在此构架中需要构建最小二乘拟合层和损失函数,车道线检测采用上文提出的FALane net生成权重图。

2.2 最小二乘拟合层

使用分辨率为256×512的图片,对图片坐标进行标准化并产生标准化X轴坐标和标准化Y轴坐标,其做法是将图片左上角定义为坐标(0,0)右下角定义为(1,1)分别将X轴的512像素映射为X其范围是0到1,Y轴的256像素映射为Y其范围是0到1。FALane net对图片中的像素产生车道权重W,像素个数为m=256×512,可得到(xi, yi, wi)其中i的范围为(1,m)。问题转化为对X、Y、W的最小二乘法拟合,可表示为:

选用二次拟合曲线对车道线进行拟合,对应每个车道线产生3个参数(β1β2β3)共计6个参数。训练过程中6个参数通过最小二乘拟合层产生并和训练集ground_truth真值计算得出损失后反向传播至W权值进行学习进而反向传递至FALane net网络中进行权值学习。为了能够更好的反应损失,下面需要构建损失函数来更好的反应需要学习的特征。

2.3 几何损失函数

损失函数最常用的方式为MSE均方损失函数(L2 loss),针对车道检测选用几何损失函数。为了得到准确的车道线并更好的表达学习的方向,损失函数需要最小化预测值拟合曲线和真值参数ground_truth拟合曲线之间的最小面积,为保证结果为正值取其平方作为损失函数表示为:

其中t的取值为标准化后的X坐标其范围(0,1),在本文取值为0.7。

2.4 优化变换

对于车道拟合过程使用鸟瞰图能够增加拟合准确度,所以首先对坐标进行投射变换使用固定的单应性矩阵H进行鸟瞰图变换,此操作只对坐标进行变换。再将坐标送入网络进行车道拟合并进行学习。为了能够评价拟合曲线是否准确需要构建误差函数,网络在最后会对每个车道推测出三个参数并使用二次函数进行拟合。

误差被定义为在鸟瞰图变换后的标准化坐标系下,预测曲线和参考曲线间的距离之和,此误差作为训练模型的评判标准,用来评判最终拟合曲线是否足够精确。

3 试验测试

使用Pytorch1.1框架Python3.7进行试验,Opencv进行图片采集,罗技720p USB摄像头, GPU RTX2080ti 11G进行训练和推理试验。训练数据集使用TuSimple车道检测数据集中2535张图片作为数据集,其中20%作为验证数据集进行验证。训练和推理过程会转换分辨率至256X512,在训练过程中使用adam优化器,每次训练单卡大约需要7小时。

试验验证FALane net采用端对端方式对于车道检测任务的有效性,使用DFAnet深度聚合网络采用端对端方式进行对比并选取三种骨干网进行试验。XceptionA、XceptionL1及XceptionL2分别为三种不同的轻量化骨干网络具体细节见表1,使用DFAnet+XceptionA网络进行试验并作为基准,经测试此模型相对较大推理速度为16.6FPS。为了保持误差较小变化的前提下尽量提高实时性,使用FALane net+XceptionA进行测试,如表2所示,试验数据表明使用FAlane net能够在误差基本不变的条件下提高推理速度达到提升实时性的要求。

表2:试验数据

为了进一步减少推理时间,在Xception骨干网的基础上进一步轻量化骨干网使用FALane net+XceptionL1进行试验,试验数据表明在误差提高最多5%的前提下,推理时间减少37%。FALane net+XceptionL2推理时间减少52%,这充分的说明FALane net可以高效的提取车道特征并能够使用更加轻量化的骨干网达到相同的误差要求。

4 结论总结

本文使用基于特征聚合的卷积神经网络结构并提出FALane net,使用端到端的方式直接推理出车道拟合曲线。FALane net能够从车道线微观和宏观两个尺度进行特征取样,提高检测准确度从而可以使用更加轻量化的骨干网络兼顾准确度和推理速度。使用GPU RTX2080ti推理速度达到41.6FPS,可通过增加数据集、预训练来进一步提高准确度。

猜你喜欢

骨干网车道损失
北斗+手机实现车道级导航应用
胖胖损失了多少元
避免跟车闯红灯的地面车道线
浅谈MTC车道改造
有轨电车信号系统三层骨干网传输方案分析
玉米抽穗前倒伏怎么办?怎么减少损失?
NGB骨干网中QoS 保证实现机制研究
一般自由碰撞的最大动能损失
OTN和PTN技术在高速公路骨干网中的应用
低速ETC/MTC混合式收费车道的设计与实现