1.本发明实施例涉及众包地图技术领域,具体涉及一种地图的众包方法、系统、设备和存储介质。
背景技术:2.众包式地图数据的采集,基本上可以理解为用户通过自动驾驶车辆自身的传感器,或其他低成本的传感器硬件,收集的道路数据传到云端进行数据融合,并通过数据聚合的方式提高数据精度,来完成高精地图的制作。
3.多个车辆利用自车所带的传感器感知道路情况,把提取的道路信息结果上传到云端。云端部署的众包地图工具可以把这些结果融合到一起,并最终形成高精地图。经地图校验完,作为高精地图下发给各个车辆使用。众包地图原理上能提高高精地图的采集效率,并且提高地图的更新效率。然而,以上的众包地图的方案存在以下几点缺陷导致其迟迟无法大规模使用:
4.道路的覆盖率不高。众包地图的输出是一张高精地图,而其覆盖取决于当时的众包车辆是否已经提取了道路的信息。因此,众包地图需要有大规模的车辆参与才能实现区域的覆盖。而且即使有大量的车辆参与,考虑到实际道路区域广泛,仍无法短期内迅速完成一块区域内的高精地图的全覆盖。无法完成区域覆盖就无法形成一张高精地图下发给用户车辆,从而众包地图无法实现落地。
5.众包地图的地图质量很难检验。众包地图的数据来源于各个车辆,其搭载的传感器以及传感器的精度都有差异。基于这些各种精度的数据源,如何最终生成一终统一的高精地图,并证明这个图的正确性,当前仍没有很好的解决方案。而且众包地图的构建是在云端构建,缺乏实际的校验的环境。生成的地图无法校验,自然无法用于自动驾驶。
技术实现要素:6.鉴于上述问题,本发明实施例提供了一种以路线作为单位的地图的众包方法、系统、设备和存储介质,采用车端建图、车端校验的方式实现了地图的覆盖和校验。
7.本发明实施例的第一方面,提供了一种地图的众包方法,包括步骤:
8.s100获取单车在特定路线内的行驶轨迹和定位信息;
9.s200根据所述行驶轨迹和定位信息构建针对所述特定路线的单一预众包地图;
10.s300获取所述单一车辆在所述特定路线内的重复多次的行驶轨迹;
11.s400通过所述重复多次的行驶轨迹对所述单一预众包地图进行校验,形成单一众包地图。
12.在一种可选的方式中,在所述的s400通过所述重复多次的行驶轨迹对所述单一预众包地图进行校验,形成单一众包地图之后包括步骤:
13.s410获取多个众包地图连接段之间的地图;
14.s420将多个所述单车生成的针对特定路线的众包地图以及所述多个众包地图连
接段之间的地图上传至云端;
15.s430将多个所述单车生成的针对特定路线的众包地图以及所述多个众包地图连接段之间的地图在所述云端融合,形成针对公共路段的公共众包地图。
16.在一种可选的方式中,在所述的s430将多个所述单车生成的针对特定路线的众包地图以及所述多个众包地图连接段之间的地图在所述云端融合,形成针对公共路段的公共众包地图之后包括步骤:
17.s431将待驾驶车辆的自动驾驶系统接入所述云端;
18.s432获取所述待驾驶车辆的行程;
19.s433根据所示待驾驶车车辆的行程从所述云端获取与所述行程相匹配的公众众包地图;
20.s434所述自动驾驶系统根据所述公众众包地图在所述行程内进行自动驾驶。
21.在一种可选的方式中,所述的s200根据所述行驶轨迹构建针对所述特定路线的单一预众包地图具体包括步骤:
22.s210采集车辆行驶过程中的视频和所述车辆的can信息,形成道路行驶轨迹;
23.s211执行建图工程单帧模式和感知算法,进行运动补偿、感知集成,输出log文件;
24.s212通过视频解析器对视频进行解析,提取车辆信号、bev、按键信号,生成轨迹数据;
25.s213将时间戳进行关联,重投影到世界坐标,合并以及删除语义目标;
26.s214区分目标类型,根据语义分布与路径自动切分路段,根据路段先将超声和轮挡拟合为直线;
27.s215根据直线采样为多个点,去除不稳定的语义并生成重定位标记,同时制定重定位路段,关联修正语义时间戳,生成bev图像中的坐标,生成landmark文件,分层可视化;
28.s216生成osm+keypose文件,生成重定位层描述文件。
29.在一种可选的方式中,所述的s200根据所述行驶轨迹和定位信息构建针对所述特定路线的单一预众包地图具体还包括步骤:
30.s220通过车辆上的环视摄像头获得环视感知信息,对所述环视感知信息进行语义分割形成环视特征点,根据环视特征点建立语义地图;
31.s221通过前视摄像头获得前视感知信息,对前视感知信息进行语义分割形成前视特征点,根据前视特征点建立vison-slam地图;
32.s222通过超声探测器获得超声波感知信息,根据超声波感知信息建立sonar-slam地图;
33.s223通过激光探测器获取激光感知信息,根据激光感知信息建立lidar-slam地图;
34.s224通过毫米波探测器获取毫米波感知信息,根据毫米波感知信息建立radar-slam地图;
35.s225将语义地图、vison-slam地图、sonar-slam地图、lidar-slam地图以及radar-slam地图进行融合;
36.s226通过gnss/rtk系统、imu里程计、轮速里程计进行融合定位。
37.本发明实施例的第二方面,提供了一种地图的众包系统,所述系统包括:
38.第一获取模块,所述获取模块用于获取单车在特定路线内的行驶轨迹和定位信息;
39.构建模块,所述构建模块与所述第一获取模块连接,用于根据所述行驶轨迹和定位信息构建针对所述特定路线的单一预众包地图;
40.第二获取模块,所述第二获取模块用于获取所述单一车辆在所述特定路线内的重复多次的行驶轨迹;
41.校验模块,所述校验模块与所述构建模块和第二获取模块连接,用于通过所述重复多次的行驶轨迹对所述单一预众包地图进行校验,形成单一众包地图。
42.在一种可选的方式中,还包括:
43.第三获取模块,所述第三获取模块用于获取多个众包地图连接段之间的地图;
44.上传模块,所述上传模块与所述第三获取模块连接,用于将多个所述单车生成的针对特定路线的众包地图以及所述多个众包地图连接段之间的地图上传至云端;
45.融合模块,所述融合模块与所述上传模块连接,用于将多个所述单车生成的针对特定路线的众包地图以及所述多个众包地图连接段之间的地图在所述云端融合,形成针对公共路段的公共众包地图;
46.接入模块,所述接入模块与所述云端连接,用于将待驾驶车辆的自动驾驶系统接入所述云端;
47.第四获取模块,所述第四获取模块用于获取所述待驾驶车辆的行程;
48.匹配模块,所述匹配模块用于根据所示待驾驶车车辆的行程从所述云端获取与所述行程相匹配的公众众包地图;
49.自动驾驶系统,所述自动驾驶系统根据所述公众众包地图在所述行程内进行自动驾驶。
50.本发明实施例的第三方面,提供了一种地图的众包设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
51.所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述任意一项所述的地图的众包方法的操作。
52.本发明实施例的第四方面,一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在地图的众包设备上运行时,使得地图的众包设备执行上述任意一项所述的地图的众包方法的操作。
53.本发明实施例针对单车的特定路线可以实现100%的地图覆盖,单车可以多次重复众包该路线,实现短时间内迅速完成路线的覆盖;单车在路线地图构建完成后,仍然可以针对该路线的反复多次行驶,来校验地图的正确性;单车生成的地图,可以通过云端的调度,实现多车使用;多个单车生成的针对特定路线的地图,可以通过云端,聚合为针对公共路段的众包地图,进而生成全区域的众包地图。
54.上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
55.附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
56.图1示出了本发明一种地图的众包方法实施例的流程图;
57.图2至8示出了本发明一种地图的众包方法另一个实施例的流程图;
58.图9示出了本发明实施例提供的一种字符的坐标提取装置的结构示意图;
59.图10示出了本发明实施例提供的一种记忆领航的自动驾驶设备的结构示意图。
具体实施方式
60.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
61.图1示出了本发明一种地图的众包方法实施例的流程图,该方法由地图的众包设备执行。如图1所示,该方法包括以下步骤:
62.s100获取单车在特定路线内的行驶轨迹和定位信息;
63.s200根据所述行驶轨迹和定位信息构建针对所述特定路线的单一预众包地图;
64.s300获取所述单一车辆在所述特定路线内的重复多次的行驶轨迹;
65.s400通过所述重复多次的行驶轨迹对所述单一预众包地图进行校验,形成单一众包地图。
66.本实施例中,一个路线的众包地图即可应用于自动驾驶,而无须完全全区域的覆盖。一个路线的众包地图可以由车辆反复行驶来校验其正确性。个路线的众包地图可以提取出公共路段的最终众包地图。多个路线的众包地图最终可以生成全区域的众包地图。
67.针对单车的特定路线可以实现100%的地图覆盖,单车可以多次重复众包该路线,实现短时间内迅速完成路线的覆盖;单车在路线地图构建完成后,仍然可以针对该路线的反复多次行驶,来校验地图的正确性;单车生成的地图,可以通过云端的调度,实现多车使用;多个单车生成的针对特定路线的地图,可以通过云端,聚合为针对公共路段的众包地图,进而生成全区域的众包地图。
68.例如,基于12个摄像头、多个激光、毫米波传感器以及超声波传感器形成的传感器系统,实现车辆在用户驾驶过程中地图学习。然后当地图学习完成后,用户再次经过该路段时,可以自动校验该地图的正确性。云端如果有其它车辆想走这个路线,则可以分享此路线的众包地图给其它车辆。云端可以收集所有车辆的路线,最终实现公共路段的众包地图以及全区域的众包地图。
69.图2-8示出了本发明一种地图的众包方法另一个实施例的流程图,该方法由地图的众包设备执行。如图2所示,该方法包括以下步骤:
70.s410获取多个众包地图连接段之间的地图;
71.s420将多个所述单车生成的针对特定路线的众包地图以及所述多个众包地图连接段之间的地图上传至云端;
72.s430将多个所述单车生成的针对特定路线的众包地图以及所述多个众包地图连接段之间的地图在所述云端融合,形成针对公共路段的公共众包地图。
73.如图3所示,该方法包括以下步骤:
74.s431将待驾驶车辆的自动驾驶系统接入所述云端;
75.s432获取所述待驾驶车辆的行程;
76.s433根据所示待驾驶车车辆的行程从所述云端获取与所述行程相匹配的公众众包地图;
77.s434所述自动驾驶系统根据所述公众众包地图在所述行程内进行自动驾驶。
78.如图4、6-8所示,该方法包括以下步骤:s210采集车辆行驶过程中的视频和所述车辆的can信息,形成道路行驶轨迹;
79.s211执行建图工程单帧模式和感知算法,进行运动补偿、感知集成,输出log文件;
80.s212通过视频解析器对视频进行解析,提取车辆信号、bev、按键信号,生成轨迹数据;
81.s213将时间戳进行关联,重投影到世界坐标,合并以及删除语义目标;
82.s214区分目标类型,根据语义分布与路径自动切分路段,根据路段先将超声和轮挡拟合为直线;
83.s215根据直线采样为多个点,去除不稳定的语义并生成重定位标记,同时制定重定位路段,关联修正语义时间戳,生成bev图像中的坐标,生成landmark文件,分层可视化;
84.s216生成osm+keypose文件,生成重定位层描述文件。
85.如图5所示,该方法包括以下步骤:s220通过车辆上的环视摄像头获得环视感知信息,对所述环视感知信息进行语义分割形成环视特征点,根据环视特征点建立语义地图;
86.s221通过前视摄像头获得前视感知信息,对前视感知信息进行语义分割形成前视特征点,根据前视特征点建立vison-slam地图;
87.s222通过超声探测器获得超声波感知信息,根据超声波感知信息建立sonar-slam地图;
88.s223通过激光探测器获取激光感知信息,根据激光感知信息建立lidar-slam地图;
89.s224通过毫米波探测器获取毫米波感知信息,根据毫米波感知信息建立radar-slam地图;
90.s225将语义地图、vison-slam地图、sonar-slam地图、lidar-slam地图以及radar-slam地图进行融合;
91.s226通过gnss/rtk系统、imu里程计、轮速里程计进行融合定位。
92.图9示出了本发明一种地图的众包系统,如图9所示,所述系统包括:
93.第一获取模块,所述获取模块用于获取单车在特定路线内的行驶轨迹和定位信息;
94.构建模块,所述构建模块与所述第一获取模块连接,用于根据所述行驶轨迹和定位信息构建针对所述特定路线的单一预众包地图;
95.第二获取模块,所述第二获取模块用于获取所述单一车辆在所述特定路线内的重复多次的行驶轨迹;
96.校验模块,所述校验模块与所述构建模块和第二获取模块连接,用于通过所述重复多次的行驶轨迹对所述单一预众包地图进行校验,形成单一众包地图。
97.具体地,还包括:
98.第三获取模块,所述第三获取模块用于获取多个众包地图连接段之间的地图;
99.上传模块,所述上传模块与所述第三获取模块连接,用于将多个所述单车生成的针对特定路线的众包地图以及所述多个众包地图连接段之间的地图上传至云端;
100.融合模块,所述融合模块与所述上传模块连接,用于将多个所述单车生成的针对特定路线的众包地图以及所述多个众包地图连接段之间的地图在所述云端融合,形成针对公共路段的公共众包地图;
101.接入模块,所述接入模块与所述云端连接,用于将待驾驶车辆的自动驾驶系统接入所述云端;
102.第四获取模块,所述第四获取模块用于获取所述待驾驶车辆的行程;
103.匹配模块,所述匹配模块用于根据所示待驾驶车车辆的行程从所述云端获取与所述行程相匹配的公众众包地图;
104.自动驾驶系统,所述自动驾驶系统根据所述公众众包地图在所述行程内进行自动驾驶。
105.图10示出了本发明一种地图的众包设备实施例的结构示意图,本发明具体实施例并不对地图的众包设备的具体实现做限定。
106.如图10所示,该地图的众包设备可以包括:处理器(processor)502、通信接口(communications interface)504、存储器(memory)506、以及通信总线508。
107.其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。处理器502,用于执行程序510,具体可以执行上述用于地图的众包设备方法实施例中的相关步骤。
108.具体地,程序510可以包括程序代码,该程序代码包括计算机可执行指令。
109.处理器502可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。地图的众包设备设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
110.存储器506,用于存放程序510。存储器506可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
111.本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在地图的众包设备/装置上运行时,使得所述地图的众包设备/装置执行上述任意方法实施例中的地图的众包方法。
112.本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使地图的众包设备执行上述任意方法实施例中的地图的众包方法。
113.本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的地图的众包方法。
114.在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利
用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
115.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
116.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
117.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或模块或组件组合成一个模块或模块或组件,以及此外可以把它们分成多个子模块或子模块或子组件。除了这样的特征和/或过程或者模块中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或模块进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
118.此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
119.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的模块权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。