CN112883136B - 一种用于制作高精地图的任务生成的方法 - Google Patents
一种用于制作高精地图的任务生成的方法 Download PDFInfo
- Publication number
- CN112883136B CN112883136B CN202110191620.8A CN202110191620A CN112883136B CN 112883136 B CN112883136 B CN 112883136B CN 202110191620 A CN202110191620 A CN 202110191620A CN 112883136 B CN112883136 B CN 112883136B
- Authority
- CN
- China
- Prior art keywords
- range
- sub
- road
- intersection
- cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本说明书公开了一种用于制作高精地图的任务生成的方法及装置,该方法确认待制作的高精地图对应的地理范围中的各指定区域,根据各指定区域之间的距离,对各区域进行聚类,得到与用于处理任务的处理节点数量相等的簇,针对每个簇,根据该簇中包含的指定区域的位置,在所述地理范围中,确定该簇对应的子范围,以各子范围中包含的地图元素的数量相等为优化目标,对各子范围进行调整,针对每个调整后的子范围,根据该子范围中的地图元素,生成该子范围对应的任务。本申请在不需要人工的情况下,解决了每个处理节点的任务处理不均衡的问题,节省了人工成本,提高了制作高精地图的效率。
Description
技术领域
本说明书涉及自动驾驶技术领域,尤其涉及一种用于制作高精地图的任务生成方法、装置及设备。
背景技术
随着无人驾驶领域的兴起,高精地图的制作也变得尤其重要。对于大范围的高精地图的制图来说,其制图工作量较大,只使用一台设备处理会出现处理时间过长的问题,如果将生成高精地图的整个过程拆分成若干任务并分配给多个处理节点(即多台设备)同时进行处理,则可以大大提高制图效率。
在现有技术中,生成高精地图的若干任务的生成方法主要包括两种。一种是将高精地图对应的区域平均分成若干子区域,并生成对应于每个子区域的任务。另一种是人工将高精地图对应的区域分成若干子区域,并生成对应于每个子区域的任务。
然而对于上述第一种生成任务的方式,由于每个任务所需的处理资源(如计算资源、处理耗时等)主要取决于该任务对应的子区域中所包含的地图元素的数量,但并不一定子区域的面积相等,子区域中包含的地图元素的数量就一定相等,因此,第一种生成任务的方式会导致各处理节点在处理任务时实际消耗的资源不均衡。对于上述第二种生成任务的方式,则需要耗费较大的人力。
因此,如何在不需要人工的情况下,尽量保持各处理节点的任务处理均衡性是一个亟待解决的问题。
发明内容
本说明书提供一种用于制作高精地图的任务生成方法及装置,以部分的解决现有技术存在的上述问题。
具体地,本说明书采用下述技术方案:
本说明书提供了一种用于制作高精地图的任务生成方法,包括:
确定待制作的高精地图对应的地理范围;
在所述地理范围中,确定各指定区域;
根据各指定区域之间的距离,对各指定区域进行聚类,得到指定数量的簇;其中,所述指定数量为用于处理任务的处理节点的数量;
针对每个簇,根据该簇中包含的指定区域的位置,在所述地理范围中,确定该簇对应的子范围;
以各子范围中包含的地图元素的数量相等为优化目标,对各子范围进行调整;
针对每个调整后的子范围,根据该子范围中包含的地图元素,生成该子范围对应的任务。
可选地,所述指定区域包括:路口区域。
可选地,根据各指定区域之间的距离,对各指定区域进行聚类,具体包括:
针对各路口区域中的任意两个路口区域,确定连接该两个路口区域的道路的长度,作为该两个路口区域之间的距离;
根据各路口区域之间的距离,对各路口区域进行聚类,其中,针对聚类得到的任意一个簇,该簇中任一路口区域与该簇中的至少一个其他路口区域之间至少具有一条相连的道路,所述道路为不途径任一路口区域的道路。
可选地,确定该簇对应的子范围,具体包括:
针对每条道路,确定与该道路相连的路口区域;其中,所述道路为不途径任一路口区域的道路;
若与该道路相连的两个路口区域均在该簇中,则将该道路添加到该簇中;若与该道路相连的一个路口区域在该簇中,且另一个路口区域在其他簇中,则将该道路添加到该簇中或者将该道路添加到所述其他簇中;
根据该簇中包含的路口区域的位置和道路的位置,确定该簇对应的子范围。
可选地,以各子范围中包含的地图元素的数量相等为优化目标,对各子范围进行调整,具体包括:
确定所述地理范围内连接各路口区域的道路的总长度;
根据所述总长度以及所述处理节点的数量,确定每个处理节点对应的平均道路长度;
以所述各子范围中包含的道路长度等于所述平均道路长度为优化目标,对各子范围中包含的路口区域和/或道路进行调整。
可选地,根据该子范围中包含的地图元素,生成该子范围对应的任务,具体包括:
创建对应于所述地理范围的蒙层;
在所述蒙层上,标识该子范围中包含的地图元素;
根据标识了地图元素后的蒙层,生成该子范围对应的任务。
可选地,生成该子范围对应的任务之后,所述方法还包括:
在所述处理节点中,确定用于处理该子范围对应的任务的处理节点,作为指定处理节点;
将该子范围对应的任务分配给所述指定处理节点。
本说明书提供了一种用于制作高精地图的任务生成装置,包括:
定位模块,用于确定待制作的高精地图对应的地理范围,以及在所述地理范围中,确定各指定区域;
聚类模块,用于根据各指定区域之间的距离,对各指定区域进行聚类,得到指定数量的簇;其中,所述指定数量为用于处理任务的处理节点的数量;
子范围确定模块,用于针对每个簇,根据该簇中包含的指定区域的位置,在所述地理范围中,确定该簇对应的子范围;
优化模块,用于以各子范围中包含的地图元素的数量相等为优化目标,对各子范围进行调整;
任务生成模块,用于针对每个调整后的子范围,根据该子范围中包含的地图元素,生成该子范围对应的任务。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述用于制作高精地图的任务生成的方法。
本说明书提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述用于制作高精地图的任务生成的方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
本说明书提供的用于制作高精地图的任务生成方法中,根据各指定区域之间的距离,对各指定区域进行聚类,得到与用于处理任务的处理节点的数量相等的簇,针对每个簇,根据该簇中包含的指定区域的位置,确定该簇对应的子范围,并以各子范围中包含的地图元素的数量相等为优化目标,对各子范围进行调整,针对每个调整后的子范围,根据该子范围中包含的地图元素,生成该子范围对应的任务。
从上述方法中可以看出,本方法在不需要人工的情况下,通过对各子范围进行调整,让各子范围中包含的地图元素的数量尽可能相等,根据调整过的子范围中包含的地图元素,生成该子范围对应的任务,使得处理生成的各任务所需的资源尽量均衡,之后将任务分配给所述指定处理节点,进而解决了每个处理节点的任务处理不均衡的问题,节省了人工成本,提高了制作高精地图的效率。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中一种用于制作高精地图的任务生成方法的流程示意图;
图2为本实施例提供的待制作高精地图对应的地理范围示意图;
图3为本实施例提供的聚类划分地图道路区域示意图;
图4为本实施例提供的道路示意图;
图5为本说明书提供的一种制作高精地图的任务生成装置的示意图;
图6为本说明书提供的对应于图1的设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中一种用于制作高精地图的任务生成方法的流程示意图,具体包括以下步骤:
S100:确定待制作的高精地图对应的地理范围。
在本说明书实施例中,要制作高精地图时,首先需要确定要制作哪个地理范围的高精地图,可采用经纬度坐标表示出要制作的高精地图对应的地理范围。
具体的,可在普通电子地图中,采用经纬度坐标表示出要制作的高精地图对应的地理范围。例如,在图2所示的普通电子地图内,确定出以坐标(x1,y1),(x1,y2),(x2,y1),(x2,y2)为四个顶点的矩形地理范围,该矩形地理范围就是待制作的高精地图对应的地理范围。
S102:在所述地理范围中,确定各指定区域。
在本说明书实施例中,所述的指定区域可以是路口区域,也可以是其他指定区域,如,该指定区域除了可以是路口区域以外,还可以是上述地理范围中的道路区域、楼宇区域、信号灯等区域。
以下仅以指定区域为路口区域为例进行说明。
在本说明书实施例中,可以通过如下方法确定路口区域:
获取该地理范围对应的激光反射率底图,识别激光反射率底图中的人行横道线或停止线所在的区域,作为待聚类区域,根据各待聚类区域之间的距离,对各待聚类区域进行聚类。具体的,可将之间的距离小于指定阈值的待聚类区域聚为一类。最后针对每一类,确定该类中包含的各待聚类区域的最小外接矩形,作为路口区域。
除采用上述方法确定路口区域外,还可以采用其他等方法确定路口区域,本说明书对此不作限制。如图2所示,在该地图范围中,实线方框内的区域即为路口区域,也就是指定区域。
S104:根据各指定区域之间的距离,对各指定区域进行聚类,得到指定数量的簇;其中,所述指定数量为用于处理任务的处理节点的数量。
在本说明书实施例中,任意两个指定区域之间的距离,是指连接该两个路口区域之间的道路的距离。
根据各指定区域之间的距离,对各指定区域进行聚类,具体可以确定指定阈值,针对两个路口区域,当该两个路口区域之间的距离小于指定阈值,则聚类到同一个簇内,当该两个路口区域之间的距离大于指定阈值,则不能被聚类为同一个簇内,从而得到指定数量的簇。其中,聚类可以采用K-means算法,也可以采用K-modes、K-medians等算法,本说明书实施例对具体的聚类算法不作限制。
如图3所示,在确定路口区域之后,图3中的黑点是路口区域,已知用于处理任务的处理节点为3个,则经过聚类算法后,获得如图3所示的3个簇,分别为簇1、簇2、簇3。
值得注意的是,在本说明书实施例中,针对使用聚类方法得到的任意一个簇,该簇中的任一路口区域与该簇中的至少一个其他路口区域至少具有一条相连的道路。
其中,本说明书实施例中所述的道路为不途径任一路口区域的道路。如图4所示,其中,A点、B点、C点均为路口区域,因为A点到B点的路径上不途径任一路口区域,所以A点到B点的路径为一条道路,同理,因为B点到C点的路径上不途径任一路口区域,所以B点到C点的路径也是一条道路,但是A点到C点的路径上途径了B点,所以A点到C点的路径不是一条道路。
则在图3中,虽然路口区域1在地图中与路口区域2的距离比路口区域1与路口区域3的距离更短,但由于路口区域1和路口区域2之间并没有道路相连,所以路口区域1和路口区域2不能被聚类到同一个簇中。
S106:针对每个簇,根据该簇中包含的指定区域的位置,在所述地理范围中,确定该簇对应的子范围。
在本说明书实施例中,可针对所述地理范围中的每条道路,确定与该道路相连的路口区域;其中,所述道路为不途径任一路口区域的道路;将与簇中路口区域相连的道路添加到该簇中,根据该簇中包含的路口区域的位置和道路的位置,确定该簇对应的子范围。
其中,针对任意一个簇,将与该簇中路口区域相连的道路添加到该簇中时,针对每条道路,若与该道路相连的两个路口区域均在该簇中,则将该道路添加到该簇中;若与该道路相连的一个路口区域在该簇中,且另一个路口区域在其他簇中,则将该道路添加到该簇中或者将该道路添加到所述其他簇中。
如图3所示,当道路A相连的路口区域a和路口区域b均在簇2中,则将该道路A添加到簇2中;
再例如,如图3所示,当道路B相连的一个路口区域c在簇1,而另一个路口区域d在簇3时,道路B可以被添加进簇1或者添加进簇3。
如图3所示,簇2均为闭合区域,簇1和簇3都是开放区域。在本说明书实施例中,一个簇对应的子范围并不一定只是一个闭合区域,也可以是一个分开放区域。
但是,值得注意的是,针对每个簇对应的子范围包含的道路,该道路只能被添加一次,而且只能被添加进一个簇中,继续沿用上例,道路B不能在被添加进簇2后,又被添加进簇3中。可以理解为,同一条道路不能在两个或两个以上的簇中同时出现,而且道路不能被切割。
S108:以各子范围中包含的地图元素的数量相等为优化目标,对各子范围进行调整。
在本实施例中,所述地图元素可以是道路,也可以是其他地图元素,如,该地图元素除了可以是道路外,还可以是上述子范围中包含的信号灯、车道线、导向箭头等元素。
在实际应用中,道路情况复杂,地图元素包含的内容和种类数量庞大,但是,一般认为,当两条道路的长度相等时,这两条道路中包含的地图元素数量也是近似相等的。因此在本实施例中,为了提高获取优化目标以及优化子范围的效率,以各子范围中包含的道路长度相等为优化目标,对各子范围进行调整。
优化目标获得方法可以如下:
确定在普通电子地图中待制作的高精地图对应的地理范围内连接各路口区域的道路的总长度;
根据地理范围内道路的总长度以及用于处理任务的处理节点的数量,确定每个处理节点对应的平均道路长度;
以所述各子范围中包含的道路长度等于所述平均道路长度为优化目标,对各子范围中包含的路口区域和/或道路进行调整。
在本实施例中,当该子范围A中的道路长度总和大于平均道路长度,可以在该子范围A中挑选出只相连了一个路口区域的道路,把该道路和/或相连的路口区域调整进该道路相连的另一个路口区域所在的子范围B中,减少该子范围A中的道路长度,使其道路总长度更加接近所述平均道路长度;
同理,当该子范围C中的道路长度总和小于平均道路长度,可以在子范围C中挑选出只相连的一个路口区域的道路,把该道路相连的在子范围D中另一个路口区域以及其此路口区域相连的其他道路一起调整进子范围中,增加该子范围C中的道路总长度,使其道路总长度更加接近所述平均道路长度。
使用上述优化方法,直到每个子范围中的道路长度不能更接近平均道路长度为止。值得注意的是,在调整各子范围的时候不能将其包含的任一道路切割,必须保持所有道路的完整性。
优化目标获得的方法还可以是:确定出每个子范围包含的道路长度,确定每两个子范围包含的道路长度之间差值,以各差值的绝对值之和等于0为优化目标,对各子范围中包含的路口区域和/或道路进行调整,同样的,要保持道路的完整性。
优化目标还可以采用其他方法获取,这里只是采用上述两个实施例进行解释。
S110:针对每个调整后的子范围,根据该子范围中包含的地图元素,生成该子范围对应的任务。
在本说明书实施例中,生成该子范围对应的任务采用如下方法:
在普通电子地图上创建蒙层,也就是普通电子地图上的一个图层,在蒙层上标识出该子范围中包含的地图元素,其中,标识的目的是为了更高效的确定出该子范围内包含的所有地图元素,根据标识出了该子范围中包含的地图元素的蒙层,生成该子范围的任务。
生成所述任务的方法还可以是:根据该子范围包含的所有地图元素的数据,生成该子范围对应的任务。
生成所述任务的方法还可以是其他方法,这里只是以上述两个实施例进行解释。
在生成任务之后,还需要针对每个任务,确定该任务被哪一个处理节点进行处理,因此,还需要确定用于处理该任务的处理节点。具体的,在所述处理节点中,确定用于处理该子范围对应的任务的处理节点,作为指定处理节点;将该子范围对应的任务分配给所述指定处理节点。
值得注意的是,要确保每个任务都有指定的处理节点。当生成的任务数量与用于处理任务的处理节点数量相等时,生成的任务与处理节点是一对一的关系,例如,用于处理任务的处理节点数量为4个,则将所述地理范围内的路口区域聚类,得到4个簇,最后生成任务数量也是4个,每个处理节点分配到的任务数量为1个。或者是,生成的任务数量也可以是用于处理任务的处理节点数量的整数倍,则每个处理节点被分配到的任务数量也为上述的整数倍,例如,用于处理任务的处理节点的数量为4个,生成的任务数量是4N个,每个处理节点分配到的任务数量为N个。其目的是为了让每个处理节点分配到的任务量相近,进一步保证了各处理节点的任务处理的均衡性。
基于图1所示的用于制作高精地图的任务生成方法,首先确定了所述地理范围内的各指定区域,之后根据各指定区域之间的距离,对各指定区域进行聚类,得到与用于处理任务的处理节点数量相同的簇,然后针对每个簇,确定该簇对应的子范围,以平均道路长度为优化目标对各子范围进行优化,最后得到了每个子范围对应的任务,并分配给指定处理节点。
从上述方法中可以看出,本方法在不需要人工的情况下,通过对各子范围进行优化,让各子范围中包含的地图元素的数量尽可能相等,根据优化过的子范围中包含的地图元素,生成该子范围对应的任务,之后将所述任务分配给所述指定处理节点,进而解决了每个处理节点的任务处理不均衡(有的处理节点需要处理的任务中包含的地图元素过多,有的处理节点需要处理的任务中包含的地图元素包含的地图元素过少)的问题,节省了人工成本,提高了制作高精地图的效率。
上述是仅以指定区域为路口区域为例进行说明的,当指定区域为其他区域时,也可通过图1所示的用于制作高精地图的任务生成方法生成任务,如,当指定区域为道路区域时,在普通电子地图中,确定待制作的高精地图对应的地理范围并确定各道路区域,根据各道路区域之间的距离,对各道路区域进行聚类,得到与用于处理任务的处理节点的数量相等的簇;针对每个簇,根据该簇包含的道路区域的位置,在所述地理范围中,确定该簇对应的子范围;以各子范围中包含的地图元素的数量相等为优化目标,对各子范围进行调整;针对每个调整后的子范围,根据该子范围中包含的地图元素,生成该子范围对应的任务。
以上为本说明书的一个或多个实施例提供的用于制作高精地图的任务生成方法,基于同样的思路,本说明书还提供了相应的用于制作高精地图的任务生成装置,如图5所示。
图5是本说明书实施例提供的一种用于制作高精地图的任务生成的装置示意图;具体包括:
定位模块501、聚类模块502、子范围确定模块503、优化模块504、任务生成模块505,其中:
定位模块501,用于确定待制作的高精地图对应的地理范围,以及在所述地理范围中,确定各指定区域;
聚类模块502,用于根据各指定区域之间的距离,对各指定区域进行聚类,得到指定数量的簇;其中,所述指定数量为用于处理任务的处理节点的数量;
子范围确定模块503,用于针对每个簇,根据该簇中包含的指定区域的位置,在所述地理范围中,确定该簇对应的子范围;
优化模块504,用于以各子范围中包含的地图元素的数量相等为优化目标,对各子范围进行调整;
任务生成模块505,用于针对每个调整后的子范围,根据该子范围中包含的地图元素,生成该子范围对应的任务。
可选地,所述指定区域包括:路口区域。
可选地,所述聚类模块502具体用于,针对各路口区域中的任意两个路口区域,确定连接该两个路口区域的道路的长度,作为该两个路口区域之间的距离;根据各路口区域之间的距离,对各路口区域进行聚类,其中,针对聚类得到的任意一个簇,该簇中任一路口区域与该簇中的至少一个其他路口区域之间至少具有一条相连的道路,所述道路为不途径任一路口区域的道路。
可选地,所述子范围确定模块503具体用于,针对每条道路,确定与该道路相连的路口区域;其中,所述道路为不途径任一路口区域的道路;若与该道路相连的两个路口区域均在该簇中,则将该道路添加到该簇中;若与该道路相连的一个路口区域在该簇中,且另一个路口区域在其他簇中,则将该道路添加到该簇中或者将该道路添加到所述其他簇中;根据该簇中包含的路口区域的位置和道路的位置,确定该簇对应的子范围。
可选地,所述优化模块504具体用于,确定所述地理范围内连接各路口区域的道路的总长度;根据所述总长度以及所述处理节点的数量,确定每个处理节点对应的平均道路长度;以所述各子范围中包含的道路长度等于所述平均道路长度为优化目标,对各子范围中包含的路口区域和/或道路进行调整。
可选地,所述任务生成模块505具体用于,创建对应于所述地理范围的蒙层;在所述蒙层上,标识该子范围中包含的地图元素;根据标识了地图元素后的蒙层,生成该子范围对应的任务。
可选地,所述任务生成模块505还用于,在生成该子范围对应的任务之后,在所述处理节点中,确定用于处理该子范围对应的任务的处理节点,作为指定处理节点;将该子范围对应的任务分配给所述指定处理节点。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的用于制作高精地图的任务生成方法。
本说明书还提供了图6所示的电子设备的示意结构图。如图6所述,在硬件层面,该设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的用于制作高精地图的任务生成方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (8)
1.一种用于制作高精地图的任务生成的方法,其特征在于,包括:
确定待制作的高精地图对应的地理范围;
在所述地理范围中,确定各路口区域;
根据各路口区域之间的距离,对各路口区域进行聚类,得到指定数量的簇;其中,所述指定数量为用于处理任务的处理节点的数量的整数倍;
针对每个簇,根据该簇中包含的路口区域的位置,在所述地理范围中,确定该簇对应的子范围;
确定所述地理范围内连接各路口区域的道路的总长度,并根据所述道路的总长度以及所述处理节点的数量,确定每个处理节点对应的平均道路长度;
以不以将各子范围中包含的任意道路切割为调整的约束条件,以及所述各子范围中包含的道路长度等于所述平均道路长度为优化目标,对各子范围中包含的路口区域和/或道路进行调整,直到各子范围中包含的道路长度无法继续接近平均道路长度为止;
针对每个调整后的子范围,根据该子范围中包含的地图元素,生成该子范围对应的任务。
2.如权利要求1所述的方法,其特征在于,根据各路口区域之间的距离,对各路口区域进行聚类,具体包括:
针对各路口区域中的任意两个路口区域,确定连接该两个路口区域的道路的长度,作为该两个路口区域之间的距离;
根据各路口区域之间的距离,对各路口区域进行聚类,其中,针对聚类得到的任意一个簇,该簇中任一路口区域与该簇中的至少一个其他路口区域之间至少具有一条相连的道路,所述道路为不途径任一路口区域的道路。
3.如权利要求 1所述的方法,其特征在于,确定该簇对应的子范围,具体包括:
针对每条道路,确定与该道路相连的路口区域;其中,所述道路为不途径任一路口区域的道路;
若与该道路相连的两个路口区域均在该簇中,则将该道路添加到该簇中;若与该道路相连的一个路口区域在该簇中,且另一个路口区域在其他簇中,则将该道路添加到该簇中或者将该道路添加到所述其他簇中;
根据该簇中包含的路口区域的位置和道路的位置,确定该簇对应的子范围。
4.如权利要求1所述的方法,其特征在于,根据该子范围中包含的地图元素,生成该子范围对应的任务,具体包括:
创建对应于所述地理范围的蒙层;
在所述蒙层上,标识该子范围中包含的地图元素;
根据标识了地图元素后的蒙层,生成该子范围对应的任务。
5.如权利要求1所述的方法,其特征在于,生成该子范围对应的任务之后,所述方法还包括:
在所述处理节点中,确定用于处理该子范围对应的任务的处理节点,作为指定处理节点;
将该子范围对应的任务分配给所述指定处理节点。
6.一种用于制作高精地图的任务生成装置,其特征在于,包括:
定位模块,用于确定待制作的高精地图对应的地理范围,以及在所述地理范围中,确定各路口区域;
聚类模块,用于根据各路口区域之间的距离,对各路口区域进行聚类,得到指定数量的簇;其中,所述指定数量为用于处理任务的处理节点的数量的整数倍;
子范围确定模块,用于针对每个簇,根据该簇中包含的路口区域的位置,在所述地理范围中,确定该簇对应的子范围;
优化模块,用于确定所述地理范围内连接各路口区域的道路的总长度,并根据所述道路的总长度以及所述处理节点的数量,确定每个处理节点对应的平均道路长度;以不以将各子范围中包含的任意道路切割为调整的约束条件,以及所述各子范围中包含的道路长度等于所述平均道路长度为优化目标,对各子范围中包含的路口区域和/或道路进行调整,直到各子范围中包含的道路长度无法继续接近平均道路长度为止;
任务生成模块,用于针对每个调整后的子范围,根据该子范围中包含的地图元素,生成该子范围对应的任务。
7.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~5任一项所述的方法。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110191620.8A CN112883136B (zh) | 2021-02-19 | 2021-02-19 | 一种用于制作高精地图的任务生成的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110191620.8A CN112883136B (zh) | 2021-02-19 | 2021-02-19 | 一种用于制作高精地图的任务生成的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112883136A CN112883136A (zh) | 2021-06-01 |
CN112883136B true CN112883136B (zh) | 2022-06-10 |
Family
ID=76056602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110191620.8A Active CN112883136B (zh) | 2021-02-19 | 2021-02-19 | 一种用于制作高精地图的任务生成的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112883136B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003296696A (ja) * | 2002-04-02 | 2003-10-17 | Sysmex Corp | クラスタリング装置およびクラスタリング方法 |
CN107563955A (zh) * | 2017-09-12 | 2018-01-09 | 武汉锐思图科技有限公司 | 一种基于gpu的并行地图切片方法及系统 |
CN111367649A (zh) * | 2018-12-26 | 2020-07-03 | 北京四维图新科技股份有限公司 | 高精地图数据并行处理方法和装置 |
CN112288807A (zh) * | 2020-10-19 | 2021-01-29 | 武汉中海庭数据技术有限公司 | 一种高精度地图中路口数据生成方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104683405B (zh) * | 2013-11-29 | 2018-04-17 | 国际商业机器公司 | 在车联网中集群服务器分发地图匹配任务的方法和装置 |
-
2021
- 2021-02-19 CN CN202110191620.8A patent/CN112883136B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003296696A (ja) * | 2002-04-02 | 2003-10-17 | Sysmex Corp | クラスタリング装置およびクラスタリング方法 |
CN107563955A (zh) * | 2017-09-12 | 2018-01-09 | 武汉锐思图科技有限公司 | 一种基于gpu的并行地图切片方法及系统 |
CN111367649A (zh) * | 2018-12-26 | 2020-07-03 | 北京四维图新科技股份有限公司 | 高精地图数据并行处理方法和装置 |
CN112288807A (zh) * | 2020-10-19 | 2021-01-29 | 武汉中海庭数据技术有限公司 | 一种高精度地图中路口数据生成方法及装置 |
Non-Patent Citations (1)
Title |
---|
一种建筑物群智能聚类法;程博艳 等;《测绘学报》;20130430;第42卷(第02期);第290-294页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112883136A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113282659A (zh) | 一种基于区块链的数据处理方法及设备 | |
CN112033421B (zh) | 一种检测电子地图中车道的方法及装置 | |
CN112163475A (zh) | 一种确定车道线方向的方法及装置 | |
CN114295119B (zh) | 一种构建地图的方法及装置 | |
CN109919357B (zh) | 一种数据确定方法、装置、设备及介质 | |
CN112883136B (zh) | 一种用于制作高精地图的任务生成的方法 | |
CN113011946A (zh) | 一种订单处理的方法及装置 | |
CN111797722A (zh) | 车道线绘制的方法及装置 | |
CN112462403A (zh) | 一种定位方法、装置、存储介质及电子设备 | |
CN116245051A (zh) | 一种仿真软件渲染方法、装置、存储介质及电子设备 | |
CN113325855B (zh) | 基于迁移场景用于预测障碍物轨迹的模型训练方法 | |
CN114676344A (zh) | 一种兴趣点坐标确定方法、装置、存储介质及电子设备 | |
CN115018866A (zh) | 一种边界确定方法、装置、存储介质及电子设备 | |
CN107239270B (zh) | 代码处理方法和装置 | |
CN114283148A (zh) | 一种道路元素提取方法、装置、存储介质及电子设备 | |
CN117315968A (zh) | 一种交通信号灯朝向的确定方法及装置 | |
CN111899264A (zh) | 一种目标图像分割方法、设备及介质 | |
CN111258506A (zh) | 一种数据存储的方法及装置 | |
CN111753990A (zh) | 一种量子计算机模拟环境方法、设备及介质 | |
CN117171401B (zh) | 基于分层预计算的图数据中最短路径的查询方法和装置 | |
CN112309232B (zh) | 一种确定车道线的方法及装置 | |
CN112948361B (zh) | 一种数据修复的方法及装置 | |
CN116384038B (zh) | 作战行为建模仿真系统 | |
CN114506341A (zh) | 一种无人设备的控制方法、装置及电子设备 | |
CN115102832A (zh) | 一种针对园区网的站点创建方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |