本发明涉及无人驾驶技术领域,尤其涉及一种基于高精度地图的车道线检测方法。
背景技术:
车道线检测作为无人驾驶车的车道级定位、车道保持、障碍物检测等功能所依赖的技术,对于无人驾驶车的安全稳定行驶具有重要的作用。传统的车道线检测方法仅依赖于实时感知数据,比如图像和/或激光雷达等,容易在某些特定的情况下出错。例如,对于图像来说,一辆与车道线颜色相近的车出现在车道线上或附近,检测结果就容易受到影响。高精度地图较高的相对精度,如果能将高精度地图和车道线检测结合将可以为减少这种错误作出贡献,从而提升车道线检测的鲁棒性。
技术实现要素:
本发明的一个目的是解决至少上述问题,并提供至少后面将说明的优点。
本发明还有一个目的是提供一种基于高精度地图的车道线检测方法,实现了将高精度地图作为先验信息加入到从图像提取车道线的过程中,从而得到比以图像作为单一数据源更加鲁棒的车道线检测效果。
为实现上述目的和一些其他的目的,本发明采用如下技术方案:
一种基于高精度地图的车道线检测方法,包括:
由车辆的图像传感器获取的图像中提取图像车道线;
根据车辆获得所述图像时的定位数据在预存的高精度地图中抽取地图车道线;
根据所述高精度地图和定位数据判断获取车道线处的地面是否为平面:
是,则将所述图像车道线的点以及所述地图车道线的点分别投影至车体坐标系中,并采用二维的迭代最近点算法将车体坐标系中的图像车道线和地图车道线进行配准,以修正定位位姿,并得到最终的车道线;
否,则将所述图像车道线的点以及所述地图车道线的点分别投影至归一化相机坐标系中,并采用粒子滤波算法将归一化相机坐标系中的图像车道线和地图车道线进行配准,以修正定位位姿,并得到最终的车道线。
优选的是,所述的基于高精度地图的车道线检测方法中,将所述图像车道线的点投影至归一化相机坐标系中,即将所述图像车道线的点由像素坐标系投影至归一化相机坐标系中,包括:
设所述车辆后轴中心距离地面的距离为hg,则车道线所在平面为z=-hg;
根据所述图像传感器的内参和畸变参数得到像素坐标系与归一化相机坐标系的对应关系如公式1所示:
(xi,yi)t=fci(xc,yc)公式1;
其中,i代表像素坐标系;c代表归一化相机坐标系;x和y分别代表图像车道线的点在坐标系中x轴和y轴上的值;
利用公式1的对应关系将像素坐标系中所述图像车道线的点投影至平面z=-hg上。
优选的是,所述的基于高精度地图的车道线检测方法中,所述图像车道线投影至平面z=-hg上的点需要满足公式2的约束:
μrc(xc,yc,1)t=(x,y,z)t-tc公式2;
其中,μ代表归一化系数;rc代表图像传感器的外参相对于车体坐标系的姿态;t代表图像传感器的外参相对于车体坐标系的位置;且μ>0。
优选的是,所述的基于高精度地图的车道线检测方法中,当车体坐标系与地面平面间存在偏角时,则以地面平面模型(a1,a2,a3,a4)(x,y,z,1)t=0代替z=-hg,其中ai,i=0,1,2,3,4代表事先标定的参数。
优选的是,所述的基于高精度地图的车道线检测方法中,将所述地图车道线的点投影至归一化相机坐标系中,包括:
将所述地图车道线的点先投影至车体坐标系中,然后再由车体坐标系投影至归一化相机坐标系中;
其中,按照公式3所示的映射关系将地图车道线由车体坐标系投影至归一化相机坐标系中:
(xc,yc,1)t=fbc(xb,yb,zb)=a(rc(xb,yb,zb)t tc)公式3;
其中,a代表归一化系数;b代表车体坐标系。
优选的是,所述的基于高精度地图的车道线检测方法中,根据所述高精度地图和定位数据判断获取车道线处的地面是否为平面,包括:
将所述地图车道线投影至车体坐标系中,并对地图车道线的纵向范围进行限制,且将横向范围限制为当前同向的道路范围加上预设的横向误差,得到投影地图车道线;
使用ransac和最小二乘法将所述投影地图车道线的点拟合为如公式4所示的多项式曲面;
z=a0 a1x a2y a3xy a4x2 a5y2公式4;
判断公式4中曲面多项式系数aj,j=3,4,5是否小于预设的阈值:是,则判定地面为平面;否,则判定地面为非平面。
优选的是,所述的基于高精度地图的车道线检测方法中,采用二维的迭代最近点算法将车体坐标系中的图像车道线和地图车道线进行配准时,对组成车道线的点在坐标系x轴上的值按照值的由大到小赋予的权重逐渐变大。
优选的是,所述的基于高精度地图的车道线检测方法中,采用粒子滤波算法将归一化相机坐标系中的图像车道线和地图车道线进行配准,包括:
将组成地图车道线的每个粒子的位姿pp采样的范围限定在定位pi的位姿周围,并以误差范围ep为界,即使pp满足公式5:
通过归一化相机坐标系中的地图车道线与图像车道线间的偏差更新粒子的权重,迭代执行,直至偏差小于设定的偏差阈值后,则实现了图像车道线和地图车道线的配准;若迭代步数达到预设的迭代步数限制时,偏差仍大于偏差阈值,则放弃本次采用地图车道线对图像车道线的配准。
一种基于高精度地图的车道线检测方法,包括:
由车辆的激光雷达传感器获取点云车道线;
获得车辆获得所述点云车道线时的定位数据,根据所述定位数据在预存的高精度地图中抽取地图车道线,并将所述地图车道线投影至车体坐标系下;
根据所述高精度地图和定位数据判断获取车道线处的地面是否为平面:
是,则采用二维的迭代最近点算法将点云车道线和投影至车体坐标系下的地图车道线做点云配准,以修正定位位姿,并得到最终的车道线;
否,则采用三维的迭代最近点算法或粒子滤波算法将点云车道线和投影至车体坐标系下的地图车道线做点云配准,以修正定位位姿,并得到最终的车道线。
优选的是,所述的基于高精度地图的车道线检测方法中,所述高精度地图设为相对位置误差不大于0.1m的高精度地图;所述定位数据与高精度地图间的偏差不大于预设的偏差值。
本发明至少包括以下有益效果:
本发明的基于高精度地图的车道线检测方法中,通过在判断车道线所在的地面是否为平面后,再将图像传感器获得图像车道线和由高精度地图获得的地图车道线投影至不同的坐标系下进行配准,不仅实现了将高精度地图作为先验信息加入到从图像提取车道线的过程中,从而得到比以图像作为单一数据源更加鲁棒的车道线检测效果,并使得定位数据与高精度地图在车体坐标系中存在的位移偏差和旋转偏差均能得到准确的检测,以用于车道线的修正,进而进一步保证了将高精度地图作为先验信息加入到车道线检测后,得到的车道线检测结果的准确性。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
图1是本发明提供的基于高精度地图的车道线检测方法的总体流程图;
图2是本发明提供的数据源为图像传感器,且地面为平面时的基于高精度地图的车道线检测方法的流程图;
图3是本发明提供的数据源为图像传感器,且地面为非平面时的基于高精度地图的车道线检测方法的流程图;
图4是本发明提供的数据源为激光雷达传感器,且地面为平面时的基于高精度地图的车道线检测方法的流程图;
图5是发明提供的数据源为激光雷达传感器,且地面为非平面时的基于高精度地图的车道线检测方法的流程图。
具体实施方式
下面结合附图对本发明做详细说明,以令本领域普通技术人员参阅本说明书后能够据以实施。
如图1-图3所示,一种基于高精度地图的车道线检测方法,包括:由车辆的图像传感器获取的图像中提取图像车道线;
根据车辆获得所述图像时的定位数据在预存的高精度地图中抽取地图车道线;
根据所述高精度地图和定位数据判断获取车道线处的地面是否为平面:
是,则将所述图像车道线的点以及所述地图车道线的点分别投影至车体坐标系中,并采用二维的迭代最近点算法将车体坐标系中的图像车道线和地图车道线进行配准,以修正定位位姿,并得到最终的车道线;
否,则将所述图像车道线的点以及所述地图车道线的点分别投影至归一化相机坐标系中,并采用粒子滤波算法将归一化相机坐标系中的图像车道线和地图车道线进行配准,以修正定位位姿,并得到最终的车道线。
在上述方案中,通过在判断车道线所在的地面是否为平面后,再将图像传感器获得图像车道线和由高精度地图获得的地图车道线投影至不同的坐标系下进行配准,不仅实现了将高精度地图作为先验信息加入到从图像提取车道线的过程中,从而得到比以图像作为单一数据源更加鲁棒的车道线检测效果,并使得定位数据与高精度地图在车体坐标系中存在的位移偏差和旋转偏差均能得到准确的检测,以用于车道线的修正,进而进一步保证了将高精度地图作为先验信息加入到车道线检测后,得到的车道线检测结果的准确性。
由于定位与高精度地图存在偏差ep,所以两条不同来源的车道线也会存在偏差。因此需要对两者进行配准。当两者在同一个平面上时,可以使用二维的icp(迭代最近点)算法来处理,同时配准时需要将最终配准的位姿与初始位姿的差限制在误差范围之内,即
其中,配准后的地图车道线可直接用作最后的检测结果输出,也可以作为一个参考,用于输入到图像/激光雷达传感器点云车道线的后续处理过程中,以降低检测出错的可能性。
一个优选方案中,将所述图像车道线的点投影至归一化相机坐标系中,即将所述图像车道线的点由像素坐标系投影至归一化相机坐标系中,包括:
设所述车辆后轴中心距离地面的距离为hg,则车道线所在平面为z=-hg;
根据所述图像传感器的内参和畸变参数得到像素坐标系与归一化相机坐标系的对应关系如公式1所示:
(xi,yi)t=fci(xc,yc)公式1;
其中,i代表像素坐标系;c代表归一化相机坐标系;x和y分别代表图像车道线的点在坐标系中x轴和y轴上的值;
利用公式1的对应关系将像素坐标系中所述图像车道线的点投影至平面z=-hg上。
一个优选方案中,所述图像车道线投影至平面z=-hg上的点需要满足公式2的约束:
μrc(xc,yc,1)t=(x,y,z)t-tc公式2;
其中,μ代表归一化系数;rc代表图像传感器的外参相对于车体坐标系的姿态;t代表图像传感器的外参相对于车体坐标系的位置;且μ>0。
在上述方案中,使用公式1所述的映射关系将图像中的每一点反投影到平面z=-hg上,即以以相机光心为原点,经过图像在归一化相机坐标系中的对应点作射线,与上述平面的交点,并满足公式2的约束条件,从而可以得到将像素坐标系中检测到的车道线点投影至车体坐标系中。
一个优选方案中,当车体坐标系与地面平面间存在偏角时,则以地面平面模型(a1,a2,a3,a4)(x,y,z,1)t=0代替z=-hg,其中ai,i=0,1,2,3,4代表事先标定的参数。
一个优选方案中,将所述地图车道线的点投影至归一化相机坐标系中,包括:
将所述地图车道线的点先投影至车体坐标系中,然后再由车体坐标系投影至归一化相机坐标系中;
其中,按照公式3所示的映射关系将地图车道线由车体坐标系投影至归一化相机坐标系中:
(xc,yc,1)t=fbc(xb,yb,zb)=a(rc(xb,yb,zb)t tc)公式3;
其中,a代表归一化系数;b代表车体坐标系。
一个优选方案中,根据所述高精度地图和定位数据判断获取车道线处的地面是否为平面,包括:
将所述地图车道线投影至车体坐标系中,并对地图车道线的纵向范围进行限制,且将横向范围限制为当前同向的道路范围加上预设的横向误差,得到投影地图车道线;
使用ransac和最小二乘法将所述投影地图车道线的点拟合为如公式4所示的多项式曲面;
z=a0 a1x a2y a3xy a4x2 a5y2公式4;
判断公式4中曲面多项式系数aj,j=3,4,5是否小于预设的阈值:是,则判定地面为平面;否,则判定地面为非平面。
一个优选方案中,采用二维的迭代最近点算法将车体坐标系中的图像车道线和地图车道线进行配准时,对组成车道线的点在坐标系x轴上的值按照值的由大到小赋予的权重逐渐变大。
在上述方案中,通过在采用二维的迭代最近点算法将车体坐标系中的图像车道线和地图车道线进行配准时,对组成车道线的点在坐标系x轴上的值按照值的由大到小赋予的权重逐渐变大,使得将x值较小的点相对于较大的点赋予相对较高的权重,能够降低图像中较远点精度较低的影响,进而提高了配准精度。
一个优选方案中,采用粒子滤波算法将归一化相机坐标系中的图像车道线和地图车道线进行配准,包括:
将组成地图车道线的每个粒子的位姿pp采样的范围限定在定位pi的位姿周围,并以误差范围ep为界,即使pp满足公式5:
通过归一化相机坐标系中的地图车道线与图像车道线间的偏差更新粒子的权重,迭代执行,直至偏差小于设定的偏差阈值后,则实现了图像车道线和地图车道线的配准;若迭代步数达到预设的迭代步数限制时,偏差仍大于偏差阈值,则放弃本次采用地图车道线对图像车道线的配准。
如图4和图5所示,一种基于高精度地图的车道线检测方法,包括:
由车辆的激光雷达传感器获取点云车道线;
获得车辆获得所述点云车道线时的定位数据,根据所述定位数据在预存的高精度地图中抽取地图车道线,并将所述地图车道线投影至车体坐标系下;
根据所述高精度地图和定位数据判断获取车道线处的地面是否为平面:
是,则采用二维的迭代最近点算法将点云车道线和投影至车体坐标系下的地图车道线做点云配准,以修正定位位姿,并得到最终的车道线;
否,则采用三维的迭代最近点算法或粒子滤波算法将点云车道线和投影至车体坐标系下的地图车道线做点云配准,以修正定位位姿,并得到最终的车道线。
在上述方案中,如果用的是激光雷达传感器,由于地图车道线及激光雷达点云车道线均是在车体坐标系下,直接与地图车道线做点云配准即可,无需进行坐标系转换的工作。与图像的情况类似,如果地面处于同一个平面,执行二维icp算法,如果地面是非平面,可使用三维icp或者粒子滤波。
同时,该方法还支持除来自图像、激光雷达外的其他数据源的车道线检测过程,适用范围广泛。
一个优选方案中,所述高精度地图设为相对位置误差不大于0.1m的高精度地图;所述定位数据与高精度地图间的偏差不大于预设的偏差值。
实施例
以从图像提取车道线作为例子:
在车体坐标系下,一条车道线可以表示为三次曲线y=c0 c1x c2x2 c3x3,其中cn,n=0,1,2,3代表系数,在车道线检测中是需要被估算的量。在本例中估算的车道线纵向范围被限制为x∈[0,120]。
这里所使用的高精度地图及定位需满足以下条件:
1、高精度地图具有较高的相对精度,设相对位置误差不大于el,该值一般为0.1m;
2、定位与高精度地图之间的偏差在一定范围以内,设纵向误差不大于ex,横向误差不大于ey。
约定所用坐标系满足:
1、车体坐标系以车辆后轴中心为零点,纵向为x轴,以前向为正,横向为y轴,以左向为正,z轴垂直其余两轴,并以向上为正,满足右手坐标系;
2、车辆后轴中心离地面距离设为hg;
3、图像传感器的内外参及畸变参数均已标定,其中外参即相对于车体坐标系的位置为tc,姿态为rc。
根据高精度地图及定位数据判断所检测的车道线是否落在同一个平面上。方法如下:
1、根据高精度地图及定位,从地图抽取车道线并投影到车体坐标系,考虑到误差,将车道线的纵向范围限制为x∈[0-ex,120 ex],横向范围限制为当前同向的道路范围加上误差ey;
2、使用ransac及最小二乘法将前一步所得到的所有车道线的点拟合成多项式曲面,比如二次多项式z=a0 a1x a2y a3xy a4x2 a5y2;
3、检查归一化系数aj,j=3,4,5是否小于阈值,如果小于阈值,则认为在同一个平面上,否则认为不在同一个平面上。
由于定位与高精度地图之间不可避免地存在偏差,在车体坐标系中该偏差ep可分解为位移偏差et,及旋转偏差er,将地图信息用于车道线检测的核心在于如何得到这个偏差信息。根据车道线是否在同一个平面上,有不同的处理方法。
1、在同一个平面上
需要先将像素坐标系中的点,即图像车道线的点转换到归一化相机坐标系下,然后再根据车体距离地面的高度将归一化相机坐标系中的点转换到车体坐标系下,具体为:
由车体距离地面的高度可得该平面为z=-hg。由内参及畸变参数可得像素坐标系与归一化相机坐标系的对应关系,设该映射为(xi,yi)t=fci(xc,yc),其中下标i代表像素坐标系,c代表归一化相机坐标系。使用该映射将图像中的每一点反投影到平面z=-hg,即以相机光心为原点,经过图像在归一化相机坐标系中的对应点,作射线,与上述平面的交点。那么该点应当满足如下约束:z=-hg、(xi,yi)t=fci(xc,yc)、μrc(xc,yc,1)t=(x,y,z)t-tc以及μ>0。
据此,可将像素坐标系中检测到的车道线点投影至车体坐标系中。同时根据定位从高精度地图中抽取车道线,同样投影至车体坐标系中。由于定位与高精度地图存在偏差ep,所以以上两条不同来源的车道线也会存在偏差。因此需要对两者进行配准。由于两者是在同一个平面上,可以使用二维的icp(迭代最近点)算法来处理。在使用icp时将值较小的点相对于较大的点赋予相对较高的权重,以降低图像中较远点精度较低的影响。需要注意的是,配准时需要将最终配准的位姿与初始位姿的差限制在误差范围之内,即
2、不在同一个平面上
由于无法事先确定该非平面的形状,所以难以直接计算图像点在该非平面的反向投影点。这里使用粒子滤波来处理这种情况,步骤如下:
1、根据定位从高精度地图中抽取车道线,投影至车体坐标系中;
2、将车体坐标系中的地图车道线投影至归一化相机坐标系中,设该映射为(xc,yc,1)t=fbc(xb,yb,zb)=a(rc(xb,yb,zb)t tc),其中a为归一化系数;
3、将图像中检测到的车道线像素点反向投影至归一化相机坐标系中
4、以上两条不同来源的车道线在归一化相机坐标系中存在偏差,使用粒子滤波进行配准,每个粒子位姿pp采样的范围为定位pi的位姿周围,以误差范围ep为界,即
5、如果迭代超出步数限制,则认为失败,放弃本次使用地图信息的尝试。
以由激光雷达传感器提取点云车道线为例:
由于地图车道线及激光雷达点云车道线均是在车体坐标系下,直接与地图车道线做点云配准即可,无需进行坐标系转换的工作。与图像的情况类似,如果地面处于同一个平面,执行二维icp算法,如果地面是非平面,可使用三维icp或者粒子滤波。
配准后的地图车道线可直接用作最后检测的结果输出,也可以将其作为一个参考,将其输入到图像/激光雷达点云车道线的后续处理过程中,以降低检测出错的可能性。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里所示出与描述的图例。
1.一种基于高精度地图的车道线检测方法,其中,包括:
由车辆的图像传感器获取的图像中提取图像车道线;
根据车辆获得所述图像时的定位数据在预存的高精度地图中抽取地图车道线;
根据所述高精度地图和定位数据判断获取车道线处的地面是否为平面:
是,则将所述图像车道线的点以及所述地图车道线的点分别投影至车体坐标系中,并采用二维的迭代最近点算法将车体坐标系中的图像车道线和地图车道线进行配准,以修正定位位姿,并得到最终的车道线;
否,则将所述图像车道线的点以及所述地图车道线的点分别投影至归一化相机坐标系中,并采用粒子滤波算法将归一化相机坐标系中的图像车道线和地图车道线进行配准,以修正定位位姿,并得到最终的车道线。
2.如权利要求1所述的基于高精度地图的车道线检测方法,其中,将所述图像车道线的点投影至归一化相机坐标系中,即将所述图像车道线的点由像素坐标系投影至归一化相机坐标系中,包括:
设所述车辆后轴中心距离地面的距离为hg,则车道线所在平面为z=-hg;
根据所述图像传感器的内参和畸变参数得到像素坐标系与归一化相机坐标系的对应关系如公式1所示:
(xi,yi)t=fci(xc,yc)公式1;
其中,i代表像素坐标系;c代表归一化相机坐标系;x和y分别代表图像车道线的点在坐标系中x轴和y轴上的值;
利用公式1的对应关系将像素坐标系中所述图像车道线的点投影至平面z=-hg上。
3.如权利要求2所述的基于高精度地图的车道线检测方法,其中,所述图像车道线投影至平面z=-hg上的点需要满足公式2的约束:
μrc(xc,yc,1)t=(x,y,z)t-tc公式2;
其中,μ代表归一化系数;rc代表图像传感器的外参相对于车体坐标系的姿态;t代表图像传感器的外参相对于车体坐标系的位置;且μ>0。
4.如权利要求2所述的基于高精度地图的车道线检测方法,其中,当车体坐标系与地面平面间存在偏角时,则以地面平面模型(a1,a2,a3,a4)(x,y,z,1)t=0代替z=-hg,其中ai,i=0,1,2,3,4代表事先标定的参数。
5.如权利要求1所述的基于高精度地图的车道线检测方法,其中,将所述地图车道线的点投影至归一化相机坐标系中,包括:
将所述地图车道线的点先投影至车体坐标系中,然后再由车体坐标系投影至归一化相机坐标系中;
其中,按照公式3所示的映射关系将地图车道线由车体坐标系投影至归一化相机坐标系中:
(xc,yc,1)t=fbc(xb,yb,zb)=a(rc(xb,yb,zb)t tc)公式3;
其中,a代表归一化系数;b代表车体坐标系。
6.如权利要求1所述的基于高精度地图的车道线检测方法,其中,根据所述高精度地图和定位数据判断获取车道线处的地面是否为平面,包括:
将所述地图车道线投影至车体坐标系中,并对地图车道线的纵向范围进行限制,且将横向范围限制为当前同向的道路范围加上预设的横向误差,得到投影地图车道线;
使用ransac和最小二乘法将所述投影地图车道线的点拟合为如公式4所示的多项式曲面;
z=a0 a1x a2y a3xy a4x2 a5y2公式4;
判断公式4中曲面多项式系数aj,j=3,4,5是否小于预设的阈值:是,则判定地面为平面;否,则判定地面为非平面。
7.如权利要求1所述的基于高精度地图的车道线检测方法,其中,采用二维的迭代最近点算法将车体坐标系中的图像车道线和地图车道线进行配准时,对组成车道线的点在坐标系x轴上的值按照值的由大到小赋予的权重逐渐变大。
8.如权利要求1所述的基于高精度地图的车道线检测方法,其中,采用粒子滤波算法将归一化相机坐标系中的图像车道线和地图车道线进行配准,包括:
将组成地图车道线的每个粒子的位姿pp采样的范围限定在定位pi的位姿周围,并以误差范围ep为界,即使pp满足公式5:
通过归一化相机坐标系中的地图车道线与图像车道线间的偏差更新粒子的权重,迭代执行,直至偏差小于设定的偏差阈值后,则实现了图像车道线和地图车道线的配准;若迭代步数达到预设的迭代步数限制时,偏差仍大于偏差阈值,则放弃本次采用地图车道线对图像车道线的配准。
9.一种基于高精度地图的车道线检测方法,其中,包括:
由车辆的激光雷达传感器获取点云车道线;
获得车辆获得所述点云车道线时的定位数据,根据所述定位数据在预存的高精度地图中抽取地图车道线,并将所述地图车道线投影至车体坐标系下;
根据所述高精度地图和定位数据判断获取车道线处的地面是否为平面:
是,则采用二维的迭代最近点算法将点云车道线和投影至车体坐标系下的地图车道线做点云配准,以修正定位位姿,并得到最终的车道线;
否,则采用三维的迭代最近点算法或粒子滤波算法将点云车道线和投影至车体坐标系下的地图车道线做点云配准,以修正定位位姿,并得到最终的车道线。
10.如权利要求1或9所述的基于高精度地图的车道线检测方法,其中,所述高精度地图设为相对位置误差不大于0.1m的高精度地图;所述定位数据与高精度地图间的偏差不大于预设的偏差值。
技术总结