基于结构信息的车道线检测方法与流程

专利2022-06-29  63


本发明涉及计算机视觉和深度学习技术领域,尤其是指一种基于结构信息的车道线检测方法。



背景技术:

语义分割是计算机视觉领域中的重要课题之一,其核心任务是将输入数据(例如平面图像)转化为能够突出显示感兴趣区域的掩模。作为计算机视觉和图像理解中的核心任务之一,语义分割有助于实现更高级、更复杂的计算机视觉任务,极具研究价值和工业价值。

近些年,随着深度学习的迅猛发展,深度卷积神经网络在语义分割领域也取得重大的突破。基于深度卷积神经网络的语义分割方法被广泛用到各种不同的场景中,例如地质检测、面部分割、精准农业、自动驾驶等。其中车道线检测就是语义分割在自动驾驶中的一个应用场景。

车道线是路面上的重要标识之一,指示和规范着车辆行驶。实现车道线检测技术有助于安全稳定的自动驾驶或者辅助驾驶,例如车道保持、自适应巡航控制、车道变换等等。传统的车道线检测方法主要依赖于人工提取的特征,例如车道线的颜色、边缘、梯度等信息,这些特征的语义信息不足,容易将其他线状物体误检为车道线。深度卷积神经网络可以提取高层语义信息,有助于实现准确度更高、鲁棒性更好的智能车道线检测方法。现有基于深度学习的车道线检测方法致力于融合上下文的特征,提取更连续的车道线,但是它们的方法在车道线不明显的情况(例如夜间道路等)下容易漏检或误检车道线。



技术实现要素:

本发明的目的在于提高复杂场景下车道线检测的准确度,提出一种基于结构信息的车道线检测方法,该方法考虑到车道线和车道的相对结构特征、车道线自身细长的结构特征,在复杂场景中可以更好的检测到完整、连续的车道线。

为实现上述目的,本发明所提供的技术方案为:基于结构信息的车道线检测方法,包括以下步骤:

1)数据获取

训练模型使用公开的车道线检测数据集提供的图像数据和车道线点标注,并将这些数据划分为训练集、验证集和测试集;

2)数据处理

车道线检测数据集中的车道线点,用多项式曲线拟合成指定宽度的线,然后用作模型训练的标签,最后标签和图像经过处理后输入到模型中;

3)模型构建

该模型是编码-解码结构,编码部分包括一个特征提取网络和车道线结构信息提取网络,后者包含多个语义信息引导的注意力机制模块和多尺度可变形卷积模块,解码部分用解码网络恢复编码部分输出特征图的分辨率;

4)定义损失函数

损失函数由主损失函数和多个辅助损失函数组成;

5)模型训练

先初始化模型的参数,再用随机梯度下降方法更新模型参数,并在模型收敛或者达到预设迭代次数后停止训练;

6)模型验证

模型验证用于验证训练得到的模型的泛化性能,选取验证效果最优的模型用于车道线检测,以得到准确的检测结果。

所述步骤2)包括以下步骤:

2.1)将输入图像和标签的长随机缩放到[m1,m2]范围内,宽随机缩放到[n1,n2]范围内,其中m1和m2分别表示图像的长度且m1≠m2,n1和n2分别表示图像的宽度且n1≠n2;

2.2)将缩放后的图像和标签以0.5的概率水平翻转;

2.3)将翻转后的图像和标签在[-0.2п,0.2п]角度范围内随机旋转;

2.4)从翻转后的图像和标签的中心区域剪裁出m×n大小的图像,其中m和n分别表示剪裁图像的长度和宽度;

2.5)将剪裁后的图像归一化到[-1,1]的范围内。

所述步骤3)包括以下步骤:

3.1)构造特征提取网络

所述特征提取网络能够是任意分类网络的特征提取层,它由串联的下采样层组成,其中包括卷积层、批量正则化层、非线性激活函数层以及池化层;在特征提取层中,随着网络深度的增加,特征图的分辨率下降,特征图的感受野增加,根据特征图的分辨率大小将网络划分为不同“stage”,高stage的特征图分辨率小、感受野大、语义信息强,但细节信息不完整,低stage的特征图分辨率大、感受野小、语义信息不足,但细节丰富,它们互补的特征共同使用,有助于更准确的定位和检测车道线;

3.2)构造语义信息引导的注意力机制模块

所述语义信息引导的注意力机制模块作用在相邻stage的特征图上,用高stage特征图中的语义信息指导低stage特征图的学习;复杂道路场景中,车道线区域占图像的比例小,使用低stage特征图时会引入噪声信息,该注意力机制模块利用高stage特征图强语义信息的特点,帮助增强低stage特征图中对车道线区域响应的部分,抑制对非车道线区域响应的部分;考虑到高stage特征图中存在冗余,它的部分通道未被激活,该注意力机制模块先对高stage特征图进行选择,再用选择后的高stage特征图引导低层stage,详细流程如下:

高stage特征图依据每个通道全局平均池化后的权重值w选择通道,其中w是一维向量;首先,所有通道按照w值降序排列,然后保留前p%的通道,p为超参;选择后的高stage特征图再用全局平均池化得到一维权重向量v经过1×1的卷积降维后与低stage特征图进行点乘,得到特征调整后的低stage特征图,该特征图输出到步骤3.3)的多尺度可变形卷积模块中;

3.3)构造多尺度可变形卷积模块

所述多尺度可变形卷积模块作用在每个stage上,紧跟注意力机制模块,它的目的是捕获车道线细长而不连续的结构特征;在之前模块中使用的卷积层均为标准卷积层,它们的卷积核为方形,只能学习固定感受野的特征,不适用于车道线细长的结构;该多尺度可变形卷积模块中使用可变形卷积层,它自适应地为每个卷积核学习一个偏移量,并将偏移量加到原有的卷积核上,改变每个卷积核的采样位置,实现卷积核变形;对于车道线,可变形卷积的卷积核接近车道线形状;另外,在不同尺度上使用可变形卷积,能够学习到复杂环境中不同不连续程度车道线的特征;所述多尺度可变形卷积模块的结构具体如下:

它包括多个分支,每个分支用不同尺度的自适应池化层下采样到不同分辨率的图像,然后用3×3的卷积降维和3×3的可变形卷积捕获车道线的结构特征,其中每个卷积层后紧跟批量正则化层和非线性激活函数层;最后所有分支的特征图上采样到输入特征图尺寸,并相加得到输出特征图;

3.4)解码网络

所述解码网络的输入是多尺度可变形卷积模块的输出,它将低分辨率特征图恢复至输入图像大小;解码网络由串联的上采样层组成,其中包括反卷积层、批量正则化层和非线性激活函数层;它首先将高stage特征图上采样2倍,然后和相邻低stage特征图相加,并将得到的特征图作为高stage的特征图和下一个低stage的特征图重复上述过程,直至特征图的分辨率恢复。

所述步骤4)包括以下步骤:

4.1)定义主损失函数

所述主损失函数是解码网络输出和标签之间的损失,用于优化整个模型;主损失函数是一个带权重的交叉熵损失函数,权重用于平衡车道线区域和非车道线区域的比例不平衡问题,它的公式如下所示:

l=-ylogp-wb(1-y)log(1-p)

式中,l表示损失函数的值,y代表标签值,其中y∈{0,1},p表示模型预测的概率值并且p∈[0,1],wb表示非车道线区域损失的权重,是一个超参;

4.2)定义辅助损失函数

所述辅助损失函数用于缓解深层神经网络中梯度消失的问题,它使用多尺度可变形卷积的输出特征图,然后将其上采样回原图尺寸,再和标签计算带权重的交叉熵损失;

4.3)定义总损失函数

将步骤4.1)和步骤4.2)中定义的主网络损失函数和辅助损失函数加权组合得到总损失函数;计算总损失过程中,对辅助函数乘以小权重,保证主损失函数的主导地位,使得解码网络的输出结果最优;总损失函数的公式如下所示:

式中,loverall表示总损失函数值,ls和lf分别表式辅助损失函数值和主网络损失函数值且均使用交叉熵损失函数,ws和wf分别表示辅助损失函数和主损失函数的权重,s表示不同的stage。

所述步骤5)包括以下步骤:

5.1)初始化和更新模型参数

使用imagenet预训练好的resnet或vgg16模型初始化特征提取网络的参数,并随机初始化模型的其它部分参数;随机初始化服从均值为0,标准差为0.1的高斯分布;训练过程中用随机梯度下降法更新模型参数;

5.2)训练模型

训练模型具体是更新模型的参数,使得模型预测结果不断趋近和真实结果;它是一个迭代的过程,每次迭代过程如下:

从训练集中随机选取任意张图,经过数据处理后输入模型提取特征,模型的输出特征图和标签计算损失,该损失反传播回模型,并用随机梯度下降法更新模型参数。

在步骤6)中,模型验证是用验证集或者测试集的图像,预处理后输入训练过的模型中,计算模型的预测结果和真实结果之间的调和平均值,以衡量模型训练的优劣,最后选取所有训练模型中,验证结果最优的模型用于车道线检测。

本发明与现有技术相比,具有如下优点与有益效果:

1、设计语义信息引导的注意力机制模块,帮助增强车道线区域的特征,抑制对非车道线区域的响应。

2、设计多尺度可变形卷积模块学习车道线细长且不连续的结构特征并增大感受野,使检测的车道线更见完整连续。

3、针对复杂道路场景下车道线检测问题提出新的模型,该模型利用神经网络互补的特征,并集成了语义信息引导的注意力机制模块和多尺度可变形卷积模块。

4、本发明模型在三个公开数据集上都取得最好的效果,表明其有很强的泛化性能。

附图说明

图1为本发明方法流程图。

图2为特征提取网络示意图。

图3为语义信息引导的注意力机制模块示意图。

图4为多尺度可变形卷积模块示意图。

图5为解码网络的示意图。

具体实施方式

下面结合具体实施例对本发明作进一步说明。

如图1所示,本发明所提供的基于结构信息的车道线检测方法,其具体情况如下:

步骤1,获取车载摄像头拍摄车道线数据集,并将其划分为训练集、验证集和测试集。

步骤2,将图像数据集的图像和标签数据通过预处理转化为深度卷积神经网络输入所需格式,包括以下步骤:

步骤2.1,将输入图像和标签的长随机缩放到[256,320]范围内,宽随机缩放到[768,832]范围内,对于不同输入大小的图像,缩放的尺寸应进行相应的调整。

步骤2.2,以0.5的概率随机水平翻转缩放后的图像和标签。

步骤2.3,在[-0.2п,0.2п]角度范围内随机旋转翻转后的图像和标签。

步骤2.4,在旋转后的图像和标签中,中心剪裁出800×288像素大小的区域,裁剪区域应依据输入图像尺寸进行调整。

步骤2.5,将剪裁后的图像的值从[0,255]归一化到[-1,1]的范围内。

步骤3,构建网络模型,包括特征提取网络、语义信息引导的注意力机制模块、多尺度可变形卷积模块和解码网络,包括以下步骤:

步骤3.1,构造特征提取网络。特征提取网络的输入为3×800×288的图像,输出为不同尺度的特征图(例如64×400×144、128×200×72、512×100×36和1024×50×18)。该网络是由多个级联的下采样模块组成,每个下采样模块中包括多个卷积层、批量正则化、非线性激活函数、池化层,它的详细结构如图2所示,图2中包括50和101两种不同深度的resnet的结构,50层的resnet包括7×7的卷积层下采样、3×3的池化层下采样和其它4个下采样模块,例如第一个下采样模块,它包含3个重复子模块,每个子模块中包括1×1的卷积(通道数为64),3×3的卷积(通道数为64)和1×1的卷积(通道数为128),并输出128×200×72尺寸的特征图,其它模块以此类推。

步骤3.2,语义信息引导的注意力机制模块。注意力机制模块的输入和输出大小相同,均为256×200×72或512×100×36或1024×50×18或2048×25×9。该模块主要包括卷积层、全局平均池化层,它的详细结构如图3所示。图3从上到下,高stage的特征图经过平均池化后得到权重值w,然后将该权重值二值化后和原特征图点乘,得到选择后的高stage特征图。该特征图再经过全局平均池化后得到一维向量v,将向量v降维后和低stage的特征图点乘,得到模块的输出。

步骤3.3,多尺度的可变形卷积模块。该模块的输入和注意力机制模块的输出大小相同,它的输出特征图为64×200×72或64×100×36或64×50×18或64×25×9。本方法中使用三种不同尺度的池化层,分别为下采样为原图的1倍、2/3倍和1/2倍,池化层后的卷积层和可变形卷积层的卷积核大小均为3×3,结构图可参见图4。

步骤3.4,解码网络。该模块的输入为相邻两层的特征图,例如64×200×72和64×100×36,它的输出特征图尺寸和输入特征图中较大的特征图相同,例如,如果输入为64×200×72和64×100×36的特征图,那么输出特征图为64×200×72。解码网络由多个级联的图5所示模块构成,其中卷积层的卷积核都为1×1,反卷积层的卷积核大小为3×3。

步骤4,定义模型的损失函数,包括以下步骤:

步骤4.1,定义主网络的损失函数。主损失函数是解码网络输出和标签之间的损失,用于优化整个模型;主损失函数是一个带权重的交叉熵损失函数,权重用于平衡车道线区域和非车道线区域的比例不平衡问题,它的公式如下所示:

l=-ylogp-wb(1-y)log(1-p)

式中,l表示损失函数的值,y代表标签值,其中y∈{0,1},p表示模型预测的概率值并且p∈[0,1],wb表示非车道线区域损失的权重,是一个超参。

主网络的损失函数为带权重的交叉熵损失,它对非车道线区域的像素点乘以0.4的权重,使得损失函数更加关注在车道线区域。

步骤4.2,定义辅助损失函数。辅助损失函数也为带权重的交叉熵损失,交叉熵损失的权重和主损失函数的相同。它们用于计算多尺度的可变形卷积模块输出特征图的标签之间的损失。

步骤4.3,定义总损失函数。总损失函数为主损失函数和辅助损失函数的加权和,总损失函数的公式如下所示:

式中,loverall表示总损失函数值,ls和lf分别表式辅助损失函数值和主网络损失函数值且均使用交叉熵损失函数,ws和wf分别表示辅助损失函数和主损失函数的权重,s表示不同的stage。

其中,辅助损失函数的权重为0.4,主损失函数的权重为1。

步骤5,训练模型,包括以下步骤:

步骤5.1,初始化模型参数,特征提取网络是用imagene上预训练好的resnet或vgg16进行初始化,模型其他部分采用随机初始化,随机参数服从均值为0,方差为0.1的高斯分布。

步骤5.1,从训练集中随机选取任意张图像,经过步骤2处理后输入到模型中,先经过步骤3.1的特征提取网络得到多个stage的特征图,然后分别输入步骤3.2的注意力机制模块中进行特征的增强或抑制,再到步骤3.3的多尺度可变形卷积模块中学习更连续的特征。步骤3.3的输出特征图会用按照步骤4.2中所述计算辅助损失,同时它们还被输入到步骤3.4的解码网络中,得到模型的输出并按照步骤4.1所述计算主损失函数。最后两部分的损失函数按照步骤4.3的公式加权得到最终的损失值,该损失值反传播到模型的各层并用随机梯度下降的方式更新各层的参数,完成该轮的训练。

步骤5.3,重复步骤5.2直至模型收敛,或者达到预定迭代次数后停止训练。

步骤6,模型的验证和测试,具体操作如下:

从预先设定的验证集和测试集中选取图像,经过步骤2中的2.4和2.5处理后输入到步骤5中训练好的模型中,预测输入图像每个像素点属于的类别,然后将预测图进行后处理,最后计算调和平均值、查准率和查全率作为预测的衡量标准,最后选取所有训练模型中,验证结果最优的模型用于车道线检测。

以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围。


技术特征:

1.基于结构信息的车道线检测方法,其特征在于,包括以下步骤:

1)数据获取

训练模型使用公开的车道线检测数据集提供的图像数据和车道线点标注,并将这些数据划分为训练集、验证集和测试集;

2)数据处理

车道线检测数据集中的车道线点,用多项式曲线拟合成指定宽度的线,然后用作模型训练的标签,最后标签和图像经过处理后输入到模型中;

3)模型构建

该模型是编码-解码结构,编码部分包括一个特征提取网络和车道线结构信息提取网络,后者包含多个语义信息引导的注意力机制模块和多尺度可变形卷积模块,解码部分用解码网络恢复编码部分输出特征图的分辨率;

4)定义损失函数

损失函数由主损失函数和多个辅助损失函数组成;

5)模型训练

先初始化模型的参数,再用随机梯度下降方法更新模型参数,并在模型收敛或者达到预设迭代次数后停止训练;

6)模型验证

模型验证用于验证训练得到的模型的泛化性能,选取验证效果最优的模型用于车道线检测,以得到准确的检测结果。

2.根据权利要求1所述的基于结构的车道线检测方法,其特征在于,所述步骤2)包括以下步骤:

2.1)将输入图像和标签的长随机缩放到[m1,m2]范围内,宽随机缩放到[n1,n2]范围内,其中m1和m2分别表示图像的长度且m1≠m2,n1和n2分别表示图像的宽度且n1≠n2;

2.2)将缩放后的图像和标签以0.5的概率水平翻转;

2.3)将翻转后的图像和标签在[-0.2п,0.2п]角度范围内随机旋转;

2.4)从翻转后的图像和标签的中心区域剪裁出m×n大小的图像,其中m和n分别表示剪裁图像的长度和宽度;

2.5)将剪裁后的图像归一化到[-1,1]的范围内。

3.根据权利要求1所述的基于结构的车道线检测方法,其特征在于,所述步骤3)包括以下步骤:

3.1)构造特征提取网络

所述特征提取网络能够是任意分类网络的特征提取层,它由串联的下采样层组成,其中包括卷积层、批量正则化层、非线性激活函数层以及池化层;在特征提取层中,随着网络深度的增加,特征图的分辨率下降,特征图的感受野增加,根据特征图的分辨率大小将网络划分为不同“stage”,高stage的特征图分辨率小、感受野大、语义信息强,但细节信息不完整,低stage的特征图分辨率大、感受野小、语义信息不足,但细节丰富,它们互补的特征共同使用,有助于更准确的定位和检测车道线;

3.2)构造语义信息引导的注意力机制模块

所述语义信息引导的注意力机制模块作用在相邻stage的特征图上,用高stage特征图中的语义信息指导低stage特征图的学习;复杂道路场景中,车道线区域占图像的比例小,使用低stage特征图时会引入噪声信息,该注意力机制模块利用高stage特征图强语义信息的特点,帮助增强低stage特征图中对车道线区域响应的部分,抑制对非车道线区域响应的部分;考虑到高stage特征图中存在冗余,它的部分通道未被激活,该注意力机制模块先对高stage特征图进行选择,再用选择后的高stage特征图引导低层stage,详细流程如下:

高stage特征图依据每个通道全局平均池化后的权重值w选择通道,其中w是一维向量;首先,所有通道按照w值降序排列,然后保留前p%的通道,p为超参;选择后的高stage特征图再用全局平均池化得到一维权重向量v经过1×1的卷积降维后与低stage特征图进行点乘,得到特征调整后的低stage特征图,该特征图输出到步骤3.3)的多尺度可变形卷积模块中;

3.3)构造多尺度可变形卷积模块

所述多尺度可变形卷积模块作用在每个stage上,紧跟注意力机制模块,它的目的是捕获车道线细长而不连续的结构特征;在之前模块中使用的卷积层均为标准卷积层,它们的卷积核为方形,只能学习固定感受野的特征,不适用于车道线细长的结构;该多尺度可变形卷积模块中使用可变形卷积层,它自适应地为每个卷积核学习一个偏移量,并将偏移量加到原有的卷积核上,改变每个卷积核的采样位置,实现卷积核变形;对于车道线,可变形卷积的卷积核接近车道线形状;另外,在不同尺度上使用可变形卷积,能够学习到复杂环境中不同不连续程度车道线的特征;所述多尺度可变形卷积模块的结构具体如下:

它包括多个分支,每个分支用不同尺度的自适应池化层下采样到不同分辨率的图像,然后用3×3的卷积降维和3×3的可变形卷积捕获车道线的结构特征,其中每个卷积层后紧跟批量正则化层和非线性激活函数层;最后所有分支的特征图上采样到输入特征图尺寸,并相加得到输出特征图;

3.4)解码网络

所述解码网络的输入是多尺度可变形卷积模块的输出,它将低分辨率特征图恢复至输入图像大小;解码网络由串联的上采样层组成,其中包括反卷积层、批量正则化层和非线性激活函数层;它首先将高stage特征图上采样2倍,然后和相邻低stage特征图相加,并将得到的特征图作为高stage的特征图和下一个低stage的特征图重复上述过程,直至特征图的分辨率恢复。

4.根据权利要求1所述的基于结构的车道线检测方法,其特征在于,所述步骤4)包括以下步骤:

4.1)定义主损失函数

所述主损失函数是解码网络输出和标签之间的损失,用于优化整个模型;主损失函数是一个带权重的交叉熵损失函数,权重用于平衡车道线区域和非车道线区域的比例不平衡问题,它的公式如下所示:

l=-ylogp-wb(1-y)log(1-p)

式中,l表示损失函数的值,y代表标签值,其中y∈{0,1},p表示模型预测的概率值并且p∈[0,1],wb表示非车道线区域损失的权重,是一个超参;

4.2)定义辅助损失函数

所述辅助损失函数用于缓解深层神经网络中梯度消失的问题,它使用多尺度可变形卷积的输出特征图,然后将其上采样回原图尺寸,再和标签计算带权重的交叉熵损失;

4.3)定义总损失函数

将步骤4.1)和步骤4.2)中定义的主网络损失函数和辅助损失函数加权组合得到总损失函数;计算总损失过程中,对辅助函数乘以小权重,保证主损失函数的主导地位,使得解码网络的输出结果最优;总损失函数的公式如下所示:

式中,loverall表示总损失函数值,ls和lf分别表式辅助损失函数值和主网络损失函数值且均使用交叉熵损失函数,ws和wf分别表示辅助损失函数和主损失函数的权重,s表示不同的stage。

5.根据权利要求1所述的基于结构的车道线检测方法,其特征在于,所述步骤5)包括以下步骤:

5.1)初始化和更新模型参数

使用imagenet预训练好的resnet或vgg16模型初始化特征提取网络的参数,并随机初始化模型的其它部分参数;随机初始化服从均值为0,标准差为0.1的高斯分布;训练过程中用随机梯度下降法更新模型参数;

5.2)训练模型

训练模型具体是更新模型的参数,使得模型预测结果不断趋近和真实结果;它是一个迭代的过程,每次迭代过程如下:

从训练集中随机选取任意张图,经过数据处理后输入模型提取特征,模型的输出特征图和标签计算损失,该损失反传播回模型,并用随机梯度下降法更新模型参数。

6.根据权利要求1所述的基于结构的车道线检测方法,其特征在于:在步骤6)中,模型验证是用验证集或者测试集的图像,预处理后输入训练过的模型中,计算模型的预测结果和真实结果之间的调和平均值,以衡量模型训练的优劣,最后选取所有训练模型中,验证结果最优的模型用于车道线检测。

技术总结
本发明公开了一种基于结构信息的车道线检测方法,包括步骤:1)数据获取;2)数据预处理;3)模型构建;4)定义损失函数;5)模型训练;6)模型验证。本发明结合深度卷积神经网络提取图像多尺度的特征,语义信息引导的注意力机制能够增强车道线的特征,多尺度可变形卷积可以捕获车道线的结构特征,以及解码网络提高分割的精确度,更准确地完成车道线的检测。

技术研发人员:徐雪妙;于田菲
受保护的技术使用者:华南理工大学
技术研发日:2020.01.15
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-53837.html

最新回复(0)