单目相机三维车道线感知方法、系统、电子设备与流程

文档序号:33324184发布日期:2023-03-03 22:16阅读:85来源:国知局
单目相机三维车道线感知方法、系统、电子设备与流程

1.本发明涉及车道线检测技术领域,尤其涉及一种单目相机三维车道线感知方法、系统、电子设备。


背景技术:

2.在自动驾驶技术中,车道线的检测和跟踪是不可缺少的一部分。在没有高精度地图或者定位效果较差的地方,车道线检测和跟踪可以用来使控制规划模块(planning and control,pnc)控制自动驾驶车辆沿着车道线行驶,也可用于定位模块的横向定位。
3.单目相机由于低成本、语义信息丰富等优势,在自动驾驶领域获得了广泛使用。因此,单目三维车道线感知一直是自动驾驶领域的核心课题。
4.由于单目相机无法直接获取三维信息,利用单目传感器获取三维车道线信息一直是一个难点问题。当前业内大多使用相机的标定外参和地平面位置先验来计算车道线位置,但该方法存在严重不足。首先车辆在行驶过程中会产生颠簸,导致相机外参会发生变化;其次在上下坡等区域,地平面位置先验是不成立的。因此,利用该方法获得的三维车道线会存在位置偏差,影响驾驶安全。
5.公开于该背景技术部分的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。


技术实现要素:

6.针对现有技术存在的问题,本发明提供一种单目相机三维车道线感知方法、系统、电子设备。
7.本发明提供的一种单目相机三维车道线感知方法,所述方法包括:
8.基于单目相机获取二维图像信息,所述二维图像信息包括车道线;
9.随机获取地面坐标系下位于车辆前方纵向上的第一组点,将所述第一组点重投影至相机坐标系下,形成第二组点;
10.基于所述二维图像信息,获取相机坐标系下位于所述车道线上、与所述第二组点对应且位于同一时间帧内的第三组点;
11.基于所述第二组点和所述第三组点,计算两组点中对应点的横向坐标的差值,将所有差值相加形成重投影误差,将所述重投影误差计入观测误差函数;
12.以所述观测误差函数最小为优化目标,获取所述观测误差函数最小时的第二组点所对应的第一组点,作为三维车道线点;
13.基于所述三维车道线点,拟合形成第一车道线函数。
14.根据本发明提供的一种单目相机三维车道线感知方法,基于单目相机获取二维图像信息,包括:
15.基于单目相机获取多个帧的二维图像信息;
16.对应的,
17.随机获取地面坐标系下位于车辆前方纵向上的第一组点,将所述第一组点重投影至相机坐标系下,形成第二组点,包括:
18.随机获取当前帧地面坐标系下位于车辆前方纵向上的第一组点;
19.基于当前帧的第一组点,坐标变换出与所述多个帧对应的多个第一组点;
20.将所述多个第一组点分别重投影至对应帧的相机坐标系下,形成多个第二组点;
21.对应的,
22.基于所述第二组点和所述第三组点,计算两组点中对应点的横向坐标的差值,将所有差值相加形成重投影误差,将所述重投影误差计入观测误差函数,包括:
23.针对所述多个帧中每个时间帧,基于所述时间帧的所述第二组点和所述第三组点,计算两组点中对应点的横向坐标的差值,计算所述时间帧的所有差值之和;
24.将所有所述时间帧的差值之和再求和形成所述重投影误差;
25.将所述重投影误差计入所述观测误差函数。
26.根据本发明提供的一种单目相机三维车道线感知方法,基于单目相机获取二维图像信息,所述二维图像信息包括车道线,包括:
27.基于单目相机获取二维图像信息,所述二维图像信息包括多条平行车道线;
28.对应的,
29.随机获取地面坐标系下位于车辆前方纵向上的第一组点,包括:
30.随机获取地面坐标系下位于车辆前方纵向上的第一组点,所述第一组点包括多个与所述多条平行车道线对应的子组点;
31.对应的,所述方法还包括:
32.基于多个子组点,拟合形成多个第二车道线函数;
33.计算所述多个第二车道线函数的非常数项实际参数的平均参数;
34.计算所述多个第二车道线函数的非常数项的实际参数与所述平均参数的离散程度,作为平行误差;
35.将所述平行误差计入所述观测误差函数。
36.根据本发明提供的一种单目相机三维车道线感知方法,基于单目相机获取二维图像信息,所述二维图像信息包括多条平行车道线,包括:
37.判断所述二维图像信息是否包括岔路;
38.如果判断所述二维图像信息包括岔路,则基于平行车道线具有相同的消失点的原理,将多条平行车道线分组。
39.根据本发明提供的一种单目相机三维车道线感知方法,所述方法还包括:
40.基于所述第一组点,拟合形成第三车道线函数;
41.计算所述第一组点和所述第三车道线函数的拟合误差;
42.将所述拟合误差计入所述观测误差函数。
43.根据本发明提供的一种单目相机三维车道线感知方法,所述方法包括:
44.将所述重投影误差、所述拟合误差和所述平行误差加权相加作为所述观测误差函数。
45.根据本发明提供的一种单目相机三维车道线感知方法,以所述观测误差函数最小为优化目标,包括:
46.采用梯度下降法优化所述观测误差函数。
47.本发明还提供的一种单目相机三维车道线感知系统,所述系统包括:
48.图像获取模块,用来基于单目相机获取二维图像信息,所述二维图像信息包括车道线;
49.重投影点获取模块,用来随机获取地面坐标系下位于车辆前方纵向上的第一组点,将所述第一组点重投影至相机坐标系下,形成第二组点;
50.原图像点获取模块,用来基于所述二维图像信息,获取相机坐标系下位于所述车道线上、与所述第二组点对应且位于同一时间帧内的第三组点;
51.重投影误差获取模块,用来基于所述第二组点和所述第三组点,计算两组点中对应点的横向坐标的差值,将所有差值相加形成重投影误差,将所述重投影误差计入观测误差函数;
52.优化模块,用来以所述观测误差函数最小为优化目标,获取所述观测误差函数最小时的第二组点所对应的第一组点,作为三维车道线点;
53.拟合模块,用来基于所述三维车道线点,拟合形成第一车道线函数。
54.本发明还提供的一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一项所述单目相机三维车道线感知方法的步骤。
55.本发明还提供的一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述单目相机三维车道线感知方法的步骤。
56.本发明提供的单目相机三维车道线感知方法、系统、电子设备,结合三维车道线重投影误差,将三维车道线感知问题转换为一个函数优化问题,通过构建计算图的方式求解该问题,实现了单目三维车道线感知对相机外参标定以及地平面位置先验的解耦。
附图说明
57.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1为本发明提供的一种单目相机三维车道线感知方法流程示意图;
59.图2为本发明还提供的一种单目相机三维车道线感知系统结构示意图;
60.图3为本发明提供的现有技术和本发明方法的应用效果对比示意图;
61.图4为本发明提供的一种电子设备的实体结构示意图。
具体实施方式
62.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
63.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的单目相机
三维车道线感知方法进行详细地说明。
64.需要说明的是,本发明涉及三种坐标系,分别为:车体坐标系,相机坐标系,地面坐标系。
65.具体地,以自车后轴中心在地面的垂直投影点为原点建立车体坐标系,其中x轴指向车辆正前方,y轴指向车辆左侧,z轴指向天空。
66.具体的,以当前帧车体坐标系原点为原点,车体坐标系x轴在地平面投影为x轴建立地面坐标系。其y轴在地平面上垂直x轴向右,z轴垂直于地平面向上。理想条件下车体坐标系和地面坐标系完全重合,但是当车辆发生颠簸或者在上下坡区域下,车体坐标系和地面坐标系之间存在三个欧拉角偏差。将偏航角、俯仰角和横滚角的误差分别记为δy、δp、δr。
67.进一步地,本发明拟合的车道线函数为螺旋曲线或直线,在一定范围内可用三次曲线拟合。设被观测到的车道线总数为n,在当前帧地面坐标系下,记第i条车道线方程如下:
68.yi=w
i0
+w
i1
*x+w
i2
*x2+w
i3
*x369.对n根车道线进行多帧观测,观测窗口长度为k(即k个时间帧)。车道线是静态物体,车道线函数是时不变的,而车体坐标系与地面坐标系之间的欧拉角偏差每帧都不相同。将n根车道线在当前帧地面坐标系下的三次方程参数以及每帧车体坐标系与地面坐标系之间的欧拉角偏差记为待求解参数,如下式所示:
70.θ
71.=(w
10
,w
11
,w
12
,w
13
…wn0
,w
n1
,w
n2
,w
n3
,δy0,δp0,δr0…
δyk,δpk,δrk)
72.图1为本发明提供的一种单目相机三维车道线感知方法流程示意图,如图1所示,本发明提供的一种单目相机三维车道线感知方法,方法可以包括如下步骤。
73.优选地,本发明的单目相机三维车道线感知方法应用于自动驾驶车辆。
74.优选地,如下实施例中的第一组点俯视图视角下的3d车道线点,第二组点包括俯视图视角下的3d车道线点在图像上的重投影点,第三组点包括利用2d车道线检测网络获取的2d车道线像素点。
75.s100、基于单目相机获取二维图像信息,二维图像信息包括车道线。
76.s200、随机获取地面坐标系下位于车辆前方纵向上的第一组点,将第一组点重投影至相机坐标系下,形成第二组点。
77.s300、基于二维图像信息,获取相机坐标系下位于车道线上、与第二组点对应且位于同一时间帧内的第三组点。
78.s400、基于第二组点和第三组点,计算两组点中对应点的横向坐标的差值,将所有差值相加形成重投影误差,将重投影误差计入观测误差函数。
79.s500、以观测误差函数最小为优化目标,获取观测误差函数最小时的第二组点所对应的第一组点,作为三维车道线点。
80.s600、基于三维车道线点,拟合形成第一车道线函数。
81.可选地,基于单目相机获取二维图像信息,包括:
82.基于单目相机获取多个帧的二维图像信息;
83.对应的,
84.随机获取地面坐标系下位于车辆前方纵向上的第一组点,将第一组点重投影至相机坐标系下,形成第二组点,包括:
85.随机获取当前帧地面坐标系下位于车辆前方纵向上的第一组点;
86.基于当前帧的第一组点,坐标变换出与多个帧对应的多个第一组点;
87.将多个第一组点分别重投影至对应帧的相机坐标系下,形成多个第二组点;
88.对应的,
89.基于第二组点和第三组点,计算两组点中对应点的横向坐标的差值,将所有差值相加形成重投影误差,将重投影误差计入观测误差函数,包括:
90.针对多个帧中每个时间帧,基于时间帧的第二组点和第三组点,计算两组点中对应点的横向坐标的差值,计算时间帧的所有差值之和;
91.将所有时间帧的差值之和再求和形成重投影误差;
92.将重投影误差计入观测误差函数。
93.优选地,利用车道线检测神经网络,从输入的二维图像中检测二维车道线。
94.优选地,在地面坐标系中,在x方向按一定间隔随机生成一组三维车道线点(一开始随机生成的点可能是与真值完全不相符或者相近的),利用相机标定参数将三维车道线点重投影到二维图像中。当三维车道线点位置和真值有差异,或者车体坐标系与地面坐标系之间存在欧拉角偏差时,三维车道线的投影和二维图像中车道线检测结果之间存在重投影误差。重投影误差公式如下:
[0095][0096]
xi=r
i2k x+t
i2k
[0097]
δri=f(δyi,δpi,δri)
[0098]
其中,k为相机内参;r
v2c
和t
v2c
是车体坐标系与相机坐标系之间的旋转矩阵和平移向量,旋转矩阵和平移向量即相机外参,本发明采用车辆静止时默认的外参,即便在车辆颠簸过程中仍然采用该外参,通过优化函数变向缩小该外参变动导致的误差,实现与相机外参的解耦;δri是第i帧车体坐标系与地面坐标系之间的旋转矩阵,其由第i帧车体坐标系与地面坐标系之间的欧拉角偏差计算得到;ui是第i帧车道线神经网络检测得到的车道线点的像素坐标(相机坐标系下);x是当前帧(第k帧)地面坐标系下三维车道线点坐标,xi是利用定位信息计算到的三维车道线点在第i帧地面坐标系下的坐标,r
i2k
和t
i2k
根据定位信息获取的第i帧到当前帧(第k帧)的旋转矩阵和平移向量,s一个比例因子,等于车道线点深度(即车道线点在相机坐标系下的z坐标绝对值)的倒数。
[0099]
上述公式本质上将当前帧地面坐标系下三维车道线点坐标变换到前1-k帧中的相机坐标系下,与相机坐标系下的前1-k帧的检测的车道线像素坐标求误差和,作为重投影误差。
[0100]
可选地,基于单目相机获取二维图像信息,二维图像信息包括车道线,包括:
[0101]
基于单目相机获取二维图像信息,二维图像信息包括多条平行车道线;
[0102]
对应的,
[0103]
随机获取地面坐标系下位于车辆前方纵向上的第一组点,包括:
[0104]
随机获取地面坐标系下位于车辆前方纵向上的第一组点,第一组点包括多个与多条平行车道线对应的子组点;
[0105]
对应的,方法还包括:
[0106]
基于多个子组点,拟合形成多个第二车道线函数;
[0107]
计算多个第二车道线函数的非常数项实际参数的平均参数;
[0108]
计算多个第二车道线函数的非常数项的实际参数与平均参数的离散程度,作为平行误差;
[0109]
将平行误差计入观测误差函数。
[0110]
需要说明的是,对n根平行车道线,可以近似认为其参数方程中的非常数项应当保持一致。计算出平行车道线参数方程的平均参数项后,平行误差参考如下的公式:
[0111][0112]
wi=(w
i0
,w
i1
,w
i2
,w
i3
)
[0113]
可选地,基于单目相机获取二维图像信息,二维图像信息包括多条平行车道线,包括:
[0114]
判断二维图像信息是否包括岔路;
[0115]
如果判断二维图像信息包括岔路,则基于平行车道线具有相同的消失点的原理,将多条平行车道线分组。
[0116]
需要说明的是,大多数情况下车道线之间是平行的,如果遇到岔路,在进行分组后各个组内部是平行的。根据消失点原理对车道线进行分组,从检测的二维车道线中获取平行车道线。可选地,方法还包括:
[0117]
基于第一组点,拟合形成第三车道线函数;
[0118]
计算第一组点和第三车道线函数的拟合误差;
[0119]
将拟合误差计入观测误差函数。
[0120]
需要说明的是,对于随机生成的车道线点应当是分布在同一条三次曲线上的。假设每根车道线生成m个点,可以计算出n根车道线点和参数方程的拟合误差。其中(x
ij
,y
ij
)是第i根车道线上第j个车道线点的坐标,具体拟合误差参考如下的公式:
[0121][0122]
可选地,方法包括:
[0123]
将重投影误差、拟合误差和平行误差加权相加作为观测误差函数。
[0124]
需要说明的是,将重投影误差、拟合误差和平行误差加权相加,定义为三维车道线的观测误差,本发明同时考虑三种误差使得车道线感知精度大幅提高。通过求解使得观测误差最小的参数最终可获得理想的三维车道线参数方程,优化公式如下:
[0125]
error=error
fit
+error
parallel
+error
reproj
[0126][0127]
可选地,以观测误差函数最小为优化目标,包括:
[0128]
采用梯度下降法优化观测误差函数。
[0129]
需要说明的是,本发明将求解三维车道线的问题转换为一个非线性优化问题,利用梯度下降法求解该优化问题,在计算收敛之后即可获得最优的车道线函数,并且由于该车道线函数是基于地面坐标系的,还可以精确获取车道线的地面位置。
[0130]
本实施例利用车道线的平行特性,结合三维车道线重投影误差,拟合点与拟合函数的拟合误差,将三维车道线感知问题转换为一个函数优化问题,通过构建计算图的方式求解该问题,实现了单目三维车道线感知对相机外参标定以及地平面位置先验的解耦。
[0131]
下面对本发明提供的单目相机三维车道线感知系统进行描述,下文描述的单目相机三维车道线感知系统与上文描述的单目相机三维车道线感知方法可相互对应参照。
[0132]
图2为本发明还提供的一种单目相机三维车道线感知系统结构示意图,如图2所示,本发明还提供的一种单目相机三维车道线感知系统,系统包括:
[0133]
图像获取模块,用来基于单目相机获取二维图像信息,二维图像信息包括车道线;
[0134]
重投影点获取模块,用来随机获取地面坐标系下位于车辆前方纵向上的第一组点,将第一组点重投影至相机坐标系下,形成第二组点;
[0135]
原图像点获取模块,用来基于二维图像信息,获取相机坐标系下位于车道线上、与第二组点对应且位于同一时间帧内的第三组点;
[0136]
重投影误差获取模块,用来基于第二组点和第三组点,计算两组点中对应点的横向坐标的差值,将所有差值相加形成重投影误差,将重投影误差计入观测误差函数;
[0137]
优化模块,用来以观测误差函数最小为优化目标,获取观测误差函数最小时的第二组点所对应的第一组点,作为三维车道线点;
[0138]
拟合模块,用来基于三维车道线点,拟合形成第一车道线函数。
[0139]
本实施例结合三维车道线重投影误差,将三维车道线感知问题转换为一个函数优化问题,通过构建计算图的方式求解该问题,实现了单目三维车道线感知对相机外参标定以及地平面位置先验的解耦。
[0140]
本发明还提供一种车辆,包括所述单目相机三维车道线感知系统。
[0141]
需要说明的是,在含有大量上下坡以及颠簸的数据集上分别执行本发明所提出的感知方法以及传统方法,获取车道线函数。统计不同纵向位置下车道线位置和真值位置的横向误差,作为车道线性能评价依据。图3为本发明提供的现有技术和本发明方法的应用效果对比示意图,如图3所示,结果表明本发明能有效降低车道线位置误差,拥有优良的可用性。
[0142]
图4为本发明提供的一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行单目相机三维车道线感知方法,所述方法包括:
[0143]
基于单目相机获取二维图像信息,所述二维图像信息包括车道线;
[0144]
随机获取地面坐标系下位于车辆前方纵向上的第一组点,将所述第一组点重投影至相机坐标系下,形成第二组点;
[0145]
基于所述二维图像信息,获取相机坐标系下位于所述车道线上、与所述第二组点对应且位于同一时间帧内的第三组点;
[0146]
基于所述第二组点和所述第三组点,计算两组点中对应点的横向坐标的差值,将所有差值相加形成重投影误差,将所述重投影误差计入观测误差函数;
[0147]
以所述观测误差函数最小为优化目标,获取所述观测误差函数最小时的第二组点所对应的第一组点,作为三维车道线点;
[0148]
基于所述三维车道线点,拟合形成第一车道线函数。
[0149]
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0150]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的单目相机三维车道线感知方法,所述方法包括:
[0151]
基于单目相机获取二维图像信息,所述二维图像信息包括车道线;
[0152]
随机获取地面坐标系下位于车辆前方纵向上的第一组点,将所述第一组点重投影至相机坐标系下,形成第二组点;
[0153]
基于所述二维图像信息,获取相机坐标系下位于所述车道线上、与所述第二组点对应且位于同一时间帧内的第三组点;
[0154]
基于所述第二组点和所述第三组点,计算两组点中对应点的横向坐标的差值,将所有差值相加形成重投影误差,将所述重投影误差计入观测误差函数;
[0155]
以所述观测误差函数最小为优化目标,获取所述观测误差函数最小时的第二组点所对应的第一组点,作为三维车道线点;
[0156]
基于所述三维车道线点,拟合形成第一车道线函数。
[0157]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的单目相机三维车道线感知方法,所述方法包括:
[0158]
基于单目相机获取二维图像信息,所述二维图像信息包括车道线;
[0159]
随机获取地面坐标系下位于车辆前方纵向上的第一组点,将所述第一组点重投影至相机坐标系下,形成第二组点;
[0160]
基于所述二维图像信息,获取相机坐标系下位于所述车道线上、与所述第二组点对应且位于同一时间帧内的第三组点;
[0161]
基于所述第二组点和所述第三组点,计算两组点中对应点的横向坐标的差值,将所有差值相加形成重投影误差,将所述重投影误差计入观测误差函数;
[0162]
以所述观测误差函数最小为优化目标,获取所述观测误差函数最小时的第二组点所对应的第一组点,作为三维车道线点;
[0163]
基于所述三维车道线点,拟合形成第一车道线函数。
[0164]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0165]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0166]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1