一种车道线检测方法及装置与流程

文档序号:29038808发布日期:2022-02-25 19:57阅读:165来源:国知局
一种车道线检测方法及装置与流程

1.本发明涉及自动驾驶技术领域,具体涉及一种车道线检测方法及装置,


背景技术:

2.在自动驾驶任务中对环境的感知还存在很多具有挑战性的难题,例如车道线提取、物体检测和交通标志识别等。随着传感器的快速发展对于自动驾驶中的感知任务产生了巨大的影响。感知任务中的核心任务包括提取车道信息,因为检测车道有助于确定自动驾驶车辆在车道之间的精确位置,而准确的车道线检测对车道偏离和车道规划至关重要。
3.目前传统的车道线检测是依赖于rgb相机采集的数据实现的,但是rgb相机在数据采集时会存在光照剧烈变化、场景拍摄不清晰等问题,从而严重影响车道线检测的准确率。


技术实现要素:

4.有鉴于此,本发明实施例提供了一种车道线检测方法及装置以解决现有技术中利用rgb相机采集数据实现车道线检测的方式检测结果的准确性难以保障的问题。
5.根据第一方面,本发明实施例提供了一种车道线检测方法,包括:
6.获取事件相机在设定时间内采集的目标场景的事件数据所构成的事件点云;
7.计算所述事件点云的表面法向量;
8.基于所述事件点云的轨迹变化情况,得到轨迹的轮廓边缘;
9.基于所述轮廓边缘、所述事件点云的事件点及其对应的表面法向量,构建非结构化图;
10.将所述非结构化图输入至训练好的车道线检测模型中,得到车道线检测结果。
11.可选地,所述基于所述事件点云的轨迹变化情况,得到轨迹的轮廓边缘,包括:
12.基于所述事件点云的轨迹的形成时间,依次计算轨迹上当前点光流向量的局部分布;
13.基于所述当前点光流向量的局部分布结果,确定当前事件点是否属于所述轨迹;
14.将所有属于所述轨迹的事件点所构成的集合确定为所述轨迹的轮廓边缘。
15.可选地,所述基于所述轮廓边缘、所述事件点云的事件点及其对应的表面法向量,构建非结构化图,包括:
16.将所述事件点配置为节点;
17.将所述事件节点对应的表面法向量及所述轮廓边缘配置为所述事件节点的连接边;
18.基于所述节点和所述连接边,构建所述非结构化图。
19.可选地,所述计算所述事件点云的表面法向量,包括:
20.依次选取事件点云中的当前事件点;
21.对所述当前事件点进行临近点的搜索,将包含所述当前事件点的临近事件点拟合成曲面;
22.对所述曲面中的事件点进行pca主成分分析,得到最小特征值对应的特征向量;
23.将所述特征向量确定为所述当前事件点对应曲面的表面法向量。
24.可选地,所述车道线检测模型由多个图卷积层和多层感知器构成,其中,
25.所述多层感知器由输入层、3个全连接隐藏层和输出层构成,不同层之间采用全连接方式;
26.所述多个图卷积层的每个图卷积层均包括64个输入通道和64个输出通道,且每个输出通道输出不同尺度的特征;
27.所述多个图卷积层输出的不同尺度的特征连接起来输入到所述多层感知器的输入层。
28.可选地,所述车道线检测模型通过如下方式进行训练:
29.获取事件相机在不同场景下采集的车道线图像数据集,所述车道线图像数据集中每一个图像数据由若干事件构成;
30.对每一个图像数据进行车道线信息标注,所述车道线信息标注包括:图像数据属于中是否包含车道线以及车道线的三维坐标信息;
31.将车道线图像数据集中每一个图像数据对应的非结构化图输入至所述车道线检测模型中,得到车道线的预测结果;
32.基于所述预测结果和对应的车道线信息标注计算模型对应损失函数的损失函数值;
33.基于所述损失函数值对所述车道线检测模型的模型参数进行调整,并返回所述获取事件相机在不同场景下采集的车道线图像数据集的步骤,直至所述损失函数值满足预设要求,得到训练好的车道线检测模型。
34.可选地,所述车道线检测结果包括:所述目标场景中是否包含属于车道线以及车道线的三维坐标信息。
35.根据第二方面,本发明实施例提供了一种车道线检测装置,包括:
36.获取模块,用于获取在设定时间内采集的目标场景的事件数据所构成的事件点云;
37.第一处理模块,用于计算所述事件点云的表面法向量;
38.第二处理模块,用于基于所述事件点云的轨迹变化情况,得到轨迹的轮廓边缘;
39.第三处理模块,用于基于所述轮廓边缘、所述事件点云的事件点及其对应的表面法向量,构建非结构化图;
40.第四处理模块,用于将所述非结构化图输入至训练好的车道线检测模型中,得到车道线检测结果。
41.根据第三方面,本发明实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被处理器执行时实现本发明第一方面及其任意一种可选方式所述的方法。
42.根据第四方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行本发明第一方面及其任意一种可选方式所述的方法。
43.本发明技术方案,具有如下优点:
44.本发明实施例提供了一种车道线检测方法及装置,通过获取事件相机在设定时间内采集的目标场景的事件数据所构成的事件点云;计算事件点云的表面法向量;基于事件点云的轨迹变化情况,得到轨迹的轮廓边缘;基于轮廓边缘、事件点云的事件点及其对应的表面法向量,构建非结构化图;将非结构化图输入至训练好的车道线检测模型中,得到车道线检测结果。从而通过利用事件相机具有低延时性和高动态范围的特性,可以更准确的捕捉车道线细微的变化,可确保图像质量不受光照变化和运动模糊的影响,提高最终车道线检测结果的准确性,保证自动驾驶车辆可准确检测到车道线的位置。将事件相机采集的数据看作点云数据进行处理,通过构建非结构化图得到多元化输入数据,进一步提高车道线检测结果的准确性。
附图说明
45.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1为本发明实施例中车道线检测方法的流程图;
47.图2为本发明实施例中车道线检测装置的结构示意图;
48.图3为本发明实施例中的电子设备的结构示意图。
具体实施方式
49.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
51.在自动驾驶任务中对环境的感知还存在很多具有挑战性的难题,例如车道线提取、物体检测和交通标志识别等。随着传感器的快速发展对于自动驾驶中的感知任务产生了巨大的影响。感知任务中的核心任务包括提取车道信息,因为检测车道有助于确定自动驾驶车辆在车道之间的精确位置,而准确的车道线检测对车道偏离和车道规划至关重要。
52.目前传统的车道线检测是依赖于rgb相机采集的数据实现的,但是rgb相机在数据采集时会存在光照剧烈变化、场景拍摄不清晰等问题,从而严重影响车道线检测的准确率。
53.基于上述问题,本发明实施例提供了一种车道线检测方法,如图1所示,该车道线检测方法具体包括如下步骤:
54.步骤s101:获取在设定时间内采集的目标场景的事件数据所构成的事件点云。
55.具体地,通过利用事件相机采集到的数据是事件,一个事件所具有的格式是一个向量,可以表示为:e=(x,y,t,p),当某个像素所处位置的亮度值发生变化时,事件相机就会回传一个上述格式的事件,其中x,y表示事件的像素坐标,t为时间戳,p为极性。在整个相机视野中,只要有一个像素值变化,就会回传一个事件,表示的是两个时刻之间的像素级运动,并且所有的事件都是异步的,包含有关结构和运动的所有信息。
56.步骤s102:计算事件点云的表面法向量。
57.具体地,在本发明实施例中是利用主成分分析算法来得到事件点云的表面向量,在实际应用中,也可以采用其他算法来实现,本发明并不以此为限。
58.步骤s103:基于事件点云的轨迹变化情况,得到轨迹的轮廓边缘。
59.具体地,将事件云轨迹∈描述为一个函数∈=t(x,y),带有时间t和x,y空间坐标,计算光流向量的局部分布,确定事件点是对应于车道线的轨迹还是由于遮挡引起的点,将不是遮挡引起的点组合成一个新的数组,得到车道线轨迹的大致轮廓。
60.步骤s104:基于轮廓边缘、事件点云的事件点及其对应的表面法向量,构建非结构化图。
61.其中,该非结构化图,由(x,y,t)空间中的事件点作为节点、每个事件点表面法线(nx,ny,nt)和轮廓边缘组成。
62.步骤s105:将非结构化图输入至训练好的车道线检测模型中,得到车道线检测结果。
63.其中,车道线检测结果包括:目标场景中是否包含车道线以及车道线的三维坐标信息。
64.通过执行上述步骤,本发明实施例提供的车道线检测方法,通过利用事件相机具有低延时性和高动态范围的特性,可以更准确的捕捉车道线细微的变化,可确保图像质量不受光照变化和运动模糊的影响,提高最终车道线检测结果的准确性,保证自动驾驶车辆可准确检测到车道线的位置。将事件相机采集的数据看作点云数据进行处理,通过构建非结构化图得到多元化输入数据,进一步提高车道线检测结果的准确性。
65.具体地,在一实施例中,上述的步骤s102具体包括如下步骤:依次选取事件点云中的当前事件点;
66.步骤s201:对当前事件点进行临近点的搜索,将包含当前事件点的临近事件点拟合成曲面。
67.步骤s202:对曲面中的事件点进行pca主成分分析,得到最小特征值对应的特征向量。
68.步骤s203:将特征向量确定为当前事件点对应曲面的表面法向量。
69.具体地,由于点云的表面法向量是一种重要的几何表面特性,由空间变换可知,点云中每一点的法向量夹角及曲率值均不随物体的运动而改变,具有刚体运动不变性。所以在处理事件相机时,将事件相机的数据看成点云来处理,加入点云的表面法向量这一特征。通过将一段时间t内发生的事件云轨迹∈视为一个曲面n,使用pca算法求解曲面n的法向量。具体实现过程如下:
70.将事件点c看成是某一领域内所有事件点的中心点:
[0071][0072]
同时
[0073]
yi=x
i-m
[0074]
则,优化目标函数为:
[0075][0076]
进一步对目标函数f进行推导:
[0077][0078][0079][0080]
将f(n)目标函数改写为:
[0081]
f(n)=n
t
sn
[0082]
其中,s=(yy
t
)
[0083]
min(f(n))
[0084]
s.t.n
t
n=1
[0085]
其中,yy
t
是一个3
×
3的协方差矩阵,是(x,y,z)坐标的协方差矩阵。对f(n)用拉格朗日算法进行求解:
[0086]
l(n,λ)=f(n)-λ(n
t
n-1)
[0087][0088][0089][0090][0091][0092][0093]
曲面n的法向量的求解就是对上述公式中的s进行向量分解,然后取特征值最小的特征向量为求解的法向量,接着采用pca的一个标准求解过程:将每个临域点与该临域内的中心点相减,得到一个n
×
3的矩阵,接着采用svd奇异值分解:
[0094]
a=uσv
t
[0095]
其中u是这n个特征向量所张成的矩阵,而σ为这n个特征值为主对角线的矩阵。u中最后一列就是要求解的法向量n,也就是特征值最小的特征向量。上述过程为采用主成分分析方法计算当前事件点对应曲面的表面法向量的具体实现过程,此过程为现有技术,在
上述介绍中未详细介绍的内容参见现有技术中主成分分析算法求解点云表面法向量的相关记载,在此不再进行赘述。
[0096]
由于曲面包含x,y,t三个分量,所以将曲面n的法向量nl分解为(nx,ny,nt),nx表示x方向上的分量,ny表示y方向上的分量,nt表示时间t方向上的分量。
[0097]
具体地,在一实施例中,上述的步骤s103具体包括如下步骤:
[0098]
步骤s301:基于事件点云的轨迹的形成时间,依次计算轨迹上当前点光流向量的局部分布。
[0099]
步骤s302:基于当前点光流向量的局部分布结果,确定当前事件点是否属于轨迹。
[0100]
具体地,通过对轨迹求时间的导数,如果结果接近∞,则表示此事件点是对应于轨迹,反之则此事件点可能是由于遮挡引起的事件点。具体可通过如下公式进行计算:
[0101][0102]
步骤s303:将所有属于轨迹的事件点所构成的集合确定为轨迹的轮廓边缘。
[0103]
具体地,将不是遮挡引起的事件点组合成一个新的数组,得到轨迹的大致轮廓。从而通过将轨迹的轮廓边缘作为车道线检测的重要特征,进一步提高了车道线检测结果的准确性。
[0104]
具体地,在一实施例中,上述的步骤s104具体包括如下步骤:
[0105]
步骤s401:将事件点配置为节点。
[0106]
步骤s402:将事件节点对应的表面法向量及轮廓边缘配置为事件节点的连接边。
[0107]
步骤s403:基于节点和连接边,构建非结构化图。
[0108]
具体地,最终得到的非结构化图由(x,y,t)空间中的事件作为节点,每点表面法向量(nx,ny,nt)和轮廓边缘组成。从而通过利用多特征构成的非结构化图作为模型的输入,充分考虑事件相机数据的特殊性,为了增加车道线检测结果准确率,将一段时间t的事件相机数据+初步轮廓+表明法向量等一组非结构化图作为网络的输入,并使用图神经网络作为训练模型,提高车道线的检测精度。
[0109]
具体地,在一实施例中,上述的车道线检测模型由多个图卷积层和多层感知器构成,其中,多层感知器由输入层、3个全连接隐藏层和输出层构成,不同层之间采用全连接方式;多个图卷积层的每个图卷积层均包括64个输入通道和64个输出通道,且每个输出通道输出不同尺度的特征;多个图卷积层输出的不同尺度的特征连接起来输入到多层感知器的输入层。
[0110]
其中,上述5个连续的图卷积层和3个全连接的隐藏层,其中所有的点权重共享并且执行全局特征聚合。在每个图卷积层中每个节点时刻都因为相邻的点和更远的点而改变自己的状态直到最终的平衡状态,关系越亲近的点相互之间的影响越大。将5个卷积层的不同尺度的特征输出连接起来输入到多层感知器分类得到一个单点得分,根据该得分确定输入模型的数据是否属于车道线类别。并通过损失函数判断输出结果与真实结果的差距。
[0111]
具体地,在一实施例中,上述的车道线检测模型通过如下方式进行训练:
[0112]
步骤s501:获取事件相机在不同场景下采集的车道线图像数据集。
[0113]
其中,该车道线图像数据集中每一段图像数据由若干事件构成;
[0114]
步骤s502:对每一个图像数据进行车道线信息标注。
[0115]
其中,车道线信息标注包括:图像数据属于中是否包含车道线以及车道线的三维坐标信息。
[0116]
步骤s503:将车道线图像数据集中每一个图像数据对应的非结构化图输入至车道线检测模型中,得到车道线的预测结果。
[0117]
步骤s504:基于预测结果和对应的类别标注计算模型对应损失函数的损失函数值。
[0118]
其中,在本发明实施例中,上述的损失函数采用二元交叉熵函数。
[0119]
步骤s505:基于损失函数值对车道线检测模型的模型参数进行调整,并返回步骤s501,直至损失函数值满足预设要求,得到训练好的车道线检测模型。
[0120]
具体地,如果当前训练样本集中的训练数据输入至车道线检测模型的模型得到的车道线的预测结果与真实车道线信息标注差异较大时,说明此时模型的模型参数需要进行调整,并对调整后的模型重新进行训练,直至得到车道线的预测结果与真实车道线信息标注接近,从而保障模型预测结果的准确性。
[0121]
下面将结合具体应用示例,对本发明实施例提供的车道线检测方法的具体实现过程进行详细的说明。
[0122]
1.数据集准备:
[0123]
使用事件相机(如:型号为davis 346c)采集不同场景下的车道线数据集,其中采集的数据中每秒包含n个事件,对采集的图像进行标注(标注信息包括:该数据图像是否包含属于车道线,以及车道线的三维坐标信息类别等)。将数据集按照比例6:2:2随机划分为训练集、验证集和测试集。其中,训练集用于对设计模型即深度卷积网络进行训练,验证集用于选择最佳的训练模型,测试集用于后期测试设计模型的性能。
[0124]
2.处理输入数据:
[0125]
取一段时间t内发生的事件作为网络的输入:
[0126]
e=(xi,yi,ti)
[0127]
其中xi,yi表示点的空间坐标,ti表示时间,时间t不固定,具体可根据模型的输出结果进行调整。
[0128]
求解事件点云表面法向量,检测事件点云的轨迹边缘,得到轨迹的边缘轮廓。构建非结构化图,非结构化图由(x,y,t)空间中的事件点作为节点,每个事件点表面法向量(nx,ny,nt)和轮廓边缘组成。
[0129]
3.将非结构化图作为训练样本输入预先搭建的网络模型,该网络模型结构由5个连续的图卷积层和3个全连接的隐藏层构成,通过损失函数判断输出结果与真值的损失函数是否大于阈值,反复训练神经网络模型,直到损失函数值满足要求,完成神经网络模型的训练。使用训练好的网络模型进行车道线检测。
[0130]
由于事件相机相对于传统相机而言,具有低延时性和高动态范围的特性,更适合在自动驾驶中使用,可确保图像质量不受光照变化和运动模糊的影响。使用事件相机可以更准确的捕捉车道线细微的变化,确保当发生强烈光照变化时,自动驾驶车辆可准确检测到车道线的位置。将事件相机看作点云数据进行处理,而采用事件相机来完成车道线的检测,能捕捉到车道线细微的像素变化。此外,采用图卷积神经网络处理事件相机数据,并多元化网络的输入,使最终车道线检测结果更加准确。
[0131]
通过执行上述步骤,本发明实施例提供的车道线检测方法,通过利用事件相机具有低延时性和高动态范围的特性,可以更准确的捕捉车道线细微的变化,可确保图像质量不受光照变化和运动模糊的影响,提高最终车道线检测结果的准确性,保证自动驾驶车辆可准确检测到车道线的位置。将事件相机采集的数据看作点云数据进行处理,通过构建非结构化图得到多元化输入数据,进一步提高车道线检测结果的准确性。
[0132]
本发明实施例还提供了一种车道线检测装置,如图2所示,该车道线检测装置具体包括:
[0133]
获取模块101,用于获取在设定时间内采集的目标场景的事件数据所构成的事件点云。详细内容参见上述方法实施例中步骤s101的相关描述,在此不再进行赘述。
[0134]
第一处理模块102,用于计算事件点云的表面法向量。详细内容参见上述方法实施例中步骤s102的相关描述,在此不再进行赘述。
[0135]
第二处理模块103,用于基于事件点云的轨迹变化情况,得到轨迹的轮廓边缘。详细内容参见上述方法实施例中步骤s103的相关描述,在此不再进行赘述。
[0136]
第三处理模块104,用于基于轮廓边缘、事件点云的事件点及其对应的表面法向量,构建非结构化图。详细内容参见上述方法实施例中步骤s104的相关描述,在此不再进行赘述。
[0137]
第四处理模块105,用于将非结构化图输入至训练好的车道线检测模型中,得到车道线检测结果。详细内容参见上述方法实施例中步骤s105的相关描述,在此不再进行赘述。
[0138]
上述各个模块的更进一步的功能描述与上述对应方法实施例相同,在此不再赘述。
[0139]
通过上述各个组成部分的协同合作,本发明实施例提供的车道线检测装置,通过利用事件相机具有低延时性和高动态范围的特性,可以更准确的捕捉车道线细微的变化,可确保图像质量不受光照变化和运动模糊的影响,提高最终车道线检测结果的准确性,保证自动驾驶车辆可准确检测到车道线的位置。将事件相机采集的数据看作点云数据进行处理,通过构建非结构化图得到多元化输入数据,进一步提高车道线检测结果的准确性。
[0140]
本发明实施例还提供了一种电子设备,如图3所示,该电子设备可以包括处理器901和存储器902,其中处理器901和存储器902可以通过总线或者其他方式连接,图3中以通过总线连接为例。
[0141]
处理器901可以为中央处理器(central processing unit,cpu)。处理器901还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
[0142]
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法。
[0143]
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,
存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0144]
一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法。
[0145]
上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。
[0146]
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,实现的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;存储介质还可以包括上述种类的存储器的组合。
[0147]
以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1