一种适用于非结构化道路场景下高精度地图的构建方法

文档序号:31590851发布日期:2022-09-21 03:05阅读:247来源:国知局
一种适用于非结构化道路场景下高精度地图的构建方法

1.本发明涉及自动驾驶技术领域,尤其涉及一种适用于非结构化道路场景下高精度地图的构建方法。


背景技术:

2.高精度地图作为自动驾驶领域中的核心角色之一,可以帮助汽车预先感知路面复杂信息,如坡度、曲率、航向等,结合智能路径规划,让汽车做出正确决策。高精度地图是相比传统电子地图精度更高、数据维度更多的一种数字地图,其中精度更高体现在地图精确到厘米级别,数据维度体现在其除了道路信息之外,还包括与交通相关的道路周围的其他信息。目前普遍认为实现l3级别以上的自动驾驶商业化落地必须要引入高精度地图。其主要服务对象是自动驾驶系统,即车载主机。相比人类驾驶员,车载主机没有人类的逻辑分析能力,借助高精度地图可以为无人车提供传感器不具备的全局视野,包括传感器监测范围之外的道路和交通设施信息,帮助无人车提前预判并规避已知障碍物,提高整体控制的效率。但是由于高精度地图要求精度高,包含信息多的特点,高精度地图的制作要比普通电子地图更加困难。
3.自动驾驶发展至今,实现了针对特定场景的商业化落地,距离最高等级的在任何可行驶条件下可自动驾驶还有不小的差距。目前的自动驾驶发展方向主要集中在城市道路和高速公路这种具有清晰车道线和交通标志的结构化较好的道路,在没有车道线或明显道路边界的非结构化道路下没有好的解决方案。在结构化道路下,地图厂商、车企和互联网大厂使用激光雷达、相机、gps和imu等多传感器融合的静态高精度地图生产方案,通过识别车道线、道路标志以及路牌、红绿灯等静态交通设施位置来保证其厘米级别的精度。结构化道路中有车道概念,且车道为单向,所以可以直接在高精度地图上标注车道行驶方向和速度信息。但在非结构化道路中,车道概念不明确或没有车道,结构化道路的解决方案就不可以直接应用到非结构化道路场景。综上所述,构建非结构化道路场景下下适用于自动驾驶的高精度地图是未来自动驾驶向高等级发展的一个方向。
4.在非结构化道路场景下制作高精度地图,目前存在以下问题需要解决:(1)车道概念不明确,一条道路双向皆可行驶,无法像结构化道路那样标注行驶方向的车道;(2)非结构化道路场景相比结构化道路来说,感知整体要更简单些,要感知的东西变少了,所以结构化道路下的地图采集车的多传感器融合的方案在非结构化道路场景下数据冗余过多,并且结构化道路下的传感器昂贵,数据处理难度大,成本较高;(3)现有深度学习的高精度地图制作方式自动化程度高,但是依赖前期的道路特征图像进行模型训练,在非结构化道路场景中,不规则的道路边界、缺乏道路标示的特点使得制作标注图像困难,很难训练出识别率高的非结构化道路识别模型。并且深度学习需要数据量较大,数据计算量较大,地图制作成本较高。


技术实现要素:

5.本发明要解决的技术问题是针对上述现有技术的不足,提供一种适用于非结构化道路场景下高精度地图的构建方法,以道路边界为基础,确保其在现自动驾驶软件框架中能够正确辅助无人车感知、定位以及规划等。
6.为解决上述技术问题,本发明所采取的技术方案是:
7.一种适用于非结构化道路场景下高精度地图的构建方法,包括以下步骤:
8.步骤1:使用联合标定过相机和激光雷达的数据采集车采集非结构化道路数据,并使用激光雷达数据图像数据生成深度图像;
9.步骤2:根据采集回来的道路数据制作点云地图,根据道路环境选择对应算法进行道路区域提取;
10.步骤3:对步骤2生成的点云地图标注道路边界;
11.步骤4:判断道路宽度,并根据交通规则生成带有速度和方向的虚拟车道;
12.步骤5:人工校正步骤4标注的车道线,手动标注红绿灯和路牌位置,并将地图保存为所需的格式。
13.所述步骤1包括:
14.步骤1.1:标定相机,获得相机内参矩阵k;在确定相机和激光雷达在车体上的安装位置后,对相机和激光雷达进行联合标定,获得外参矩阵,包括相机到激光雷达的旋转矩阵r和平移向量t;
15.步骤1.2:将数据采集车在目标道路上靠右匀速行驶,采集车配备有计算机设备,将采集的数据保存为.bag文件的数据包;
16.步骤1.3:读取数据包中的图像数据和激光雷达数据,将激光雷达数据投影到时间戳对应的图像上,生成深度图像。
17.所述步骤2包括:
18.步骤2.1:将采集车采集回来的数据回放,选择对应算法生成点云地图,根据道路周围环境确定生成点云地图的算法;
19.步骤2.2:将采集回来的图像数据采样,通过基于纹理的道路消失点检测找到图像的消失点,并根据消失点位置裁减图像,提取感兴趣区域;
20.步骤2.3:将上一步骤提取到的道路感兴趣区域进行分割,切割出道路区域和非道路区域,并提取道路区域的边界点;
21.步骤2.4:通过公式(5)将检测到的道路边界通过坐标变换到激光雷达三维坐标系,其中zc是道路边界线在相机坐标系下的z轴坐标值,(u,v)是二维图像道路边界点的坐标,(x
l
,y
l
,z
l
)为激光雷达坐标系下的道路边界点坐标;
[0022][0023]
步骤2.5:根据激光雷达和车体安装位置,将激光雷达坐标系下的道路边界点转换到车体坐标系,再将车体坐标系下的道路边界点转换到世界坐标系,此处为与点云地图对应,使用数据采集车出发点为原点;
[0024]
步骤2.6:将基于世界坐标系的道路边界点坐标保存并输出;
[0025]
步骤2.7:重复上述步骤2.2~步骤2.6,直到本次数据处理结束。
[0026]
所述步骤3包括:
[0027]
步骤3.1:遍历步骤2得到的世界坐标系的道路边界点,将道路边界点的z轴坐标置零,将各道路边界点投影到xoy平面;
[0028]
步骤3.2:遍历道路边界点坐标点集,对道路边界点的坐标点集进行优化,若后续更新的坐标点与现有坐标点之间距离相差小于0.05m,则将时间戳靠前的点删除,保留后更新的道路边界点,然后将得到的道路边界点拟合出左右两条道路边界曲线;
[0029]
步骤3.3:分别对拟合出的左右两条道路边界曲线采样,得到点的坐标保存为csv表格格式;
[0030]
步骤3.4:将道路边界保存为autoware自动驾驶平台下的vector map格式。
[0031]
所述步骤4包括:
[0032]
步骤4.1:对步骤3得到的两条道路边界曲线对应的坐标做差求道路宽度;
[0033]
步骤4.2:若道路宽度大于两倍城市车道宽度,则根据靠右行驶的交通规则,将距离左右道路边界线1/4处分别生成左右两条车道线lane,保存为vector map格式,跳至步骤4.4继续;否则执行步骤4.3;
[0034]
步骤4.3:道路宽度小于两倍城市车道宽度时,以道路边界为基准,分别生成距离左右两条道路边界线1.35米的左右两条车道线lane,并保存为vector map格式。
[0035]
步骤4.4:读取生成的车道线lane,对道路拐弯处进行判断并进行特殊处理;若道路拐弯处为弧形,则跳过特殊处理的步骤,执行步骤5;若道路拐角处为非弧形边界的特殊角度,在过弯前的车道线lane1和过弯后的车道线lane2的交点为点q,计算点q到道路边界线交点的距离l,在点q到道路边界线交点的反向延长线上取到点q的距离为l的点p,以点p为圆心的圆弧与lane1和lane2相切,将两个切点外侧的lane1和lane2中的点去除,保留下连续的弧形车道线。
[0036]
所述步骤5包括:
[0037]
步骤5.1:将步骤2生成的点云地图、步骤3生成的道路边界和步骤4生成的车道线lane读入unity软件中,根据道路倾斜程度手动调整车道线lane和道路边界线与点云地图的贴合程度;
[0038]
步骤5.2:在点云地图中标注红绿灯位置和路牌的具体位置,并将红绿灯与其对应的车道相连;
[0039]
步骤5.3:将手动调整后的地图导出,保存为所需的格式。
[0040]
采用上述技术方案所产生的有益效果在于:本发明提供的适用于非结构化道路场景下高精度地图的构建方法,该方法以道路边界为基础,对于在封闭园区和乡镇乡村等环境下的非结构化道路的高精度地图构建提出了一种有效的方法,能够克服非结构化道路缺乏道路标志的缺陷,并且生成的高精度地图可以兼容现有自动驾驶软件平台。本发明将一些人工标注转换为自动生成,在保证高精度地图的厘米级精度的基础上,减少了人工环节的比重,提高了高精度地图的构建效率。在对比结构化道路的高精度地图生产方式后,分析非结构化道路和结构化道路的特点和异同,使用与结构化道路下相同的格式生成非结构化道路下的高精地地图,确保其在现自动驾驶软件框架中能够正确辅助无人车感知、定位以及规划等。相比现有技术中仅针对封闭园区环境下道路的高精度地图构建解决方案,本发
明的适用范围更广,能够适配多种道路模型,构建出的高精度地图精度更高。
附图说明
[0041]
图1为本发明实施例提供的适用于非结构化道路场景下高精度地图的构建方法流程图;
[0042]
图2为本发明实施例提供的说明消失点以下切分图像时的抽象示意图;
[0043]
图3为本发明实施例提供的道路宽度大于7米时的虚拟车道生成图;
[0044]
图4为本发明实施例提供的道路宽度不足时的虚拟车道生成图;
[0045]
图5为本发明实施例提供的正常转弯处车道线生成示意图;
[0046]
图6为本发明实施例提供的特殊角度在弯道处lane的调整示意图。
具体实施方式
[0047]
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0048]
在本实施例的描述中,“前”、“后”、“左”、“右”等指示方位词或传感器安装位置只是本发明一种实例,不是装置或传感器必须安装在特定的方位,因此不能理解为对本发明保护范围的限制。
[0049]
本实施例设置至少一台计算机设备用于非结构化道路数据采集、生成点云地图时的计算,同时计算机设备要存储感知信息、定位信息和地图信息。计算机可以是工控机也可以是笔记本电脑,车体装备一台16线或16线以上的激光雷达用于采集道路周围3d信息,一台单目相机用于采集道路图像信息。
[0050]
如图1所示,本实施例适用于非结构化道路场景下高精度地图的构建方法如下所述。
[0051]
步骤1:采集非结构化道路场景信息;包括:
[0052]
步骤1.1:本实施例采用配备16线激光雷达和单目相机的非结构化道路数据采集车,使用前对相机标定获得相机内参矩阵k,并且在确定相机和激光雷达在车体上的安装位置后,再对相机和激光雷达进行联合标定,获得相机到激光雷达的旋转矩阵r和平移矩阵t。本实施例中,使用传感器型号包括:velodyne vlp16激光雷达、filr bfs-gpe-16s2c-cs单目相机。
[0053]
步骤1.2:数据采集车在目标道路上靠右匀速行驶,采集车配备有计算机设备,计算机配备ubuntu18.04系统和ros melodic,将采集到的数据储存为.bag格式的数据包。考虑到后期点云地图的构建精度,每次采集路线尽量让采集车的起点和终点有一定的重合。
[0054]
步骤1.3:读取数据包中的图像数据和激光雷达数据,将激光雷达数据映射到时间戳对应的图像上,生成深度图像。
[0055]
步骤2:根据采集回来的道路数据制作点云地图,根据道路环境选择算法进行道路区域提取;包括:
[0056]
步骤2.1:将采集车采集回来的数据回放,订阅激光雷达数据生成点云地图,本实施例此使用ndt进行点云地图的构建,实际操作中也可选slam算法,但由于本实例实验时道路周围数目较多,一些基于特征提取的slam算法的建图效果没有ndt好。
[0057]
步骤2.2:将采集回来的图像数据采样。采集车采集回来的图像是24fps,间隔采样获得8fps的图像数据,采样间隔根据采集车行驶速度而定,若采集车行驶速度慢时可多次采样,在保证检测精度的同时尽量减少不必要的重复计算即可。
[0058]
本实施例采用基于纹理的道路消失点检测,通过局部软投票法确定道路消失点后,将消失点所在的平行线作为分割线,分割线下方的图像保留待处理。考虑到消失点上方多为天空和树木等与道路无关的元素,如图2所示,裁减之后可减少不必要的计算,并且按照本实施例的传感器安装方式,消失点所在直线上方也只有少量的激光雷达扫描线,提取感兴趣区域可加快检测速度。
[0059]
步骤2.3:将上一步骤提取到的道路感兴趣区域使用二维otsu阈值分割算法进行分割,获得道路区域和其他环境区域,提取最大连通区域作为道路区域,并将其中的较小面积的联通区域删除后,提取道路区域的边界点。
[0060]
步骤2.4:将上一步提取到的道路边界点投影到激光雷达三维坐标系,获得激光雷达三维坐标系下的道路边界点;由联合标定好的相机和激光雷达的参数得到变换公式:
[0061][0062]
道路边界点在三维相机坐标系的坐标为pc=[xc,yc,zc]-t
时,可变换求得像素坐标点在激光雷达坐标系中的坐标对应关系如公式(2),其中e为激光雷达和相机联合标定获得的外参矩阵。
[0063][0064]
相机坐标系的道路边界点坐标pc=[xc,yc,zc]-t
,连接光心在物理坐标系投影点为pi=(xi,yi),则两点之间的坐标转换关系为:
[0065][0066]
其中,f
x
和fy为相机焦距。
[0067]
相机坐标系的道路边界点坐标pc=[xc,yc,zc]-t
和相机内参矩阵k,和图像坐标系下坐标点p
img
=[u,v]的变换关系如公式(4)所示:
[0068][0069]
其中,(u0,v0)为图像像素坐标系中光轴投影坐标即主点坐标。
[0070]
上式可知仅有zc点未知,结合上述公式和二维图像道路边界坐标(u,v)在深度图
像中对应的坐标(xc,yc,zc)获得zc点的值,通过公式(5)求得道路边界点相对于激光雷达坐标系的坐标并保存。
[0071][0072]
步骤2.5:读取小车此时的定位数据,获得小车相对出发位置的位移,将步骤2.4获得的基于激光雷达坐标系下的道路边界点根据激光雷达相对车体的安装位置,将其转换到车体坐标系,再根以数据采集车的初始位置为原点,转换到世界坐标系下,得到真实环境中非结构化道路的边界坐标点。
[0073]
本实施例选取gps+imu对车辆进行实时定位。gps数据特点是实时更新,没有累积误差,但是受到干扰或遮挡时会产生跳变;而imu的数据依赖自身测量,不受外界干扰,即数据不会因外界信息发生跳变,缺点是数据是由积分所得,所以会有累积误差。二者数据融合后,既能消除累积误差,又可以避免跳变。
[0074]
但在使用中,如果是生成封闭园区的高精度地图,或者是目标非结构化道路区域gps信号受到周围环境影响,不适合使用时,可单独采用imu进行定位。此时将上一步骤基于激光雷达坐标系下道路边界点的坐标转换为相对于原点(即数据采集车的出发点)的坐标。
[0075]
步骤2.6:将基于世界坐标系的道路边界点保存并输出。
[0076]
步骤2.7:重复上述步骤2.2~步骤2.6,直到本次数据处理结束;
[0077]
经过上述步骤之后,输出非结构化道路边界点基于世界坐标系的点的集合,此时集合中会有许多重复道路边界点,需要对坐标点集进行优化,即遍历坐标点集,若两坐标点之间距离相差小于0.05m,则将只保留其中之一,筛选出更接近真实世界道路的边界点。
[0078]
步骤3:对非结构化道路点云地图标注道路边界,具体包括:
[0079]
步骤3.1:遍历步骤2得到的世界坐标系的道路边界点,将点投影到xoy平面,即将道路边界点的z轴坐标值置零,即将路面视为理想平面。
[0080]
步骤3.2:由于上一步骤相邻采样图片会有重复点的冗余情况,如果后续更新的坐标点与现有坐标点相距小于0.05m,则将时间戳靠前的点删除,保留后更新的道路边界点,拟合出道路左右边界曲线。
[0081]
步骤3.3:对拟合出的两条道路边界曲线采样,得到点的坐标保存为csv表格格式。
[0082]
步骤3.4:本实施例使用vector map格式输出和试验高精度地图,后期使用autoware自动驾驶平台测试生成的高精度地图的可行性。
[0083]
步骤4:判断道路宽度,并根据交通规则生成带有速度和方向的虚拟车道,具体包括:
[0084]
步骤4.1:根据步骤3中获得的左右两条道路边界曲线对应的坐标做差计算出道路宽度,根据道路宽度选择后序生成虚拟车道的方式。
[0085]
步骤4.2:若道路宽度大于7米(相当于两倍城市车道的宽度),此时可将这类非结构化道路视为普通城市两车道。此时根据靠右行驶的交通规则和当地法规要求的道路限速,将距离左右道路边界线1/4处分别生成左右两条车道lane(vector map格式中的车道格式),如图3所示,然后跳至步骤4.4继续;否则执行步骤4.3。lane是车辆可行驶的点的集合,包含行驶方向和行驶时的最高速度以及建议行驶速度,速度单位是km/h。
[0086]
步骤4.3:道路宽度小于7米时,此时不可将非结构化道路直接简单切分处理,考虑到行驶到此类道路上多为中小型车辆,车辆宽度一般在1.6m~2.0米,此时以道路边界为基准,生成左右两条距离道路边界1.35米的车道lane,如图4所示。lane是矢量点的集合,包含行驶方向和行驶时的最高速度以及建议行驶速度,速度单位是km/h。
[0087]
步骤4.4:读取生成的lane,对道路拐弯处进行判断并进行特殊处理。具体分为两种情况:第一种是正常道路拐弯处,本身道路在设计时会考虑过弯情况,道路边界为弧形,如图5所示,此时跳过特殊处理的步骤,直接执行步骤5;第二种情况为道路拐角处为非弧形边界的特殊角度,例如道路拐角处为直角,此时以上步骤在过弯前道路的lane1和过弯后的lane2会不连续且有交点q存在,计算q点到道路边界交点的距离l,在q点到道路边界交点的反向延长线上取到点q的距离为l的点p,以点p为圆心的圆弧与lane1和lane2相切,将两个切点外侧的lane1和lane2中的点去除,保留下连续的lane,如图6所示。
[0088]
步骤5:人工校正步骤4标注的车道线,手动标注红绿灯和路牌位置,并将地图保存为所需的格式,具体包括:
[0089]
步骤5.1:将步骤2生成的点云地图、步骤3生成的道路边界、步骤4生成的lane读入unity软件中。本实施例采用unity下的maptoolbox工具,unity是一个支持3d内容编辑和制作的软件平台,maptoolbox是开源插件,可以对vmf格式的地图进行编辑和调整。由于上述步骤的lane和道路边界线都是理想情况(去除z轴干扰,简化计算)下的生成结果,在真实环境中的道路并不是严格水平,所以需要在此步骤手动调整lane和道路边界线与点云地图的贴合程度。
[0090]
步骤5.2:在软件中标注出红绿灯和路牌的具体位置,并将红绿灯与其对应的车道相连。
[0091]
步骤5.3:将手动调整后的地图导出并保存为需要的格式。本实施例保存为autoware自动驾驶平台可使用的vector map格式进行后续的验证。
[0092]
为了测试本发明的有效性,在仿真环境和实际环境中使用autoware平台测试本发明方法构建的高精度地图能否正确的被读取并用于定位和规划。
[0093]
在测试中,本发明获得的点云地图和vector map格式的高精度地图可被autoware1.14版本正确加载,并且能够使用地图实现ndt-matching定位,在生成的车道上使用open-planner规划算法进行路径规划;在自动行驶中lane的方向和速度可被正确读取并发送给线控底盘,车辆以建议速度迅速行驶。
[0094]
本发明提出了一种依托于道路边界的非结构化道路高精度地图构建方法,能够克服非结构化道路缺乏道路标志的缺陷,对于在封闭园区和乡镇乡村等环境下的非结构化道路的高精度地图构建提出了一种有效的方法,并且生成的高精度地图可以兼容现有自动驾驶软件平台。由于非结构化道路相比结构化道路来说,在构建过程中感知的元素较少,所以本发明将一些人工标注转换为自动生成,在保证高精度地图的厘米级精度的基础上,减少了人工环节的比重,提高了高精度地图的构建效率。相比现有技术中仅针对封闭园区环境下道路的高精度地图构建解决方案,本发明的适用范围更广,能够适配多种道路模型,构建出的高精度地图精度更高。本发明构建出的高精度地图精度高、数据丰富,可以为自动驾驶车辆提供辅助定位、辅助感知和辅助规划功能。
[0095]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管
参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1