Clustering method and system for road object elements of crowdsourced map, and storage medium
AssigneeChongqing Changan Automobile Co Ltd
InventorZuoqin Shi
Life of this patent
Estimating the term…
Abstract
Disclosed are a clustering method and system for road object elements of a crowdsourced map, and a storage medium. Data of road objects are skillfully represented by centroids thereof according to an improved mean shift algorithm, and geometric relationships between different objects are selected according to different types of road objects as measurement conditions for clustering. Neighborhood relationships of the objects are considered in the clustering process according to the characteristics of road element data types, and clustering output of different road element types is ultimately obtained.
Claims12
A clustering method for road object elements of a crowdsourced map, the method being executed by a processor for mapping a high-precision map to assist in positioning and planning of an autonomous vehicle and comprising the following steps:
- S1:
- obtaining road object data of the crowdsourced map, classifying road object elements, randomly selecting a type of road object data, computing centroid coordinates of road objects, and putting the centroid coordinates of the road objects in a same category into a list type_dblist;
- S2:
- setting a bandwidth distance band_width, a threshold Inter0 of a ratio of an intersection area to a minimum area, a threshold epsilon of a distance between two centroid coordinates, and a threshold min_max0 of a ratio of the minimum area to a maximum area between an initial cluster center and a cluster sample point, as well as an initial value of a cluster category label cluster_id;
- S3:
- when the list type_dblist is not empty, randomly selecting a point from the list type_dblist as the initial cluster center, and if the cluster center is an invalid value, ending the current loop and selecting a new point;
- otherwise, putting the centroid coordinates and original data of the cluster center into a list sample_count1 and a list sample_count2 respectively;
- S4:
- drawing a circle with the cluster center as a center and the bandwidth distance band_width as a radius;
- circularly computing a centroid distance dis_e, a ratio Inter of an intersection area to a minimum area, and a ratio min_max of the minimum area to a maximum area between each point within the circle and the cluster center;
- putting the centroid coordinates of the points within the circle that simultaneously satisfy dis_e<epsilon, Inter<Inter0, and min_max<min_max0 and their original data into the list sample_count1 and the list sample_count2 respectively;
- after the points within the circle are looped through, if a length of the list sample_count1 is greater than a preset length, computing a mean offset value according to the points in the list sample_count1 to obtain a new cluster center;
- if the distance between the current cluster center and the new cluster center is ≥epsilon, performing step S5;
- otherwise, repeating step S4 with the new cluster center as a center;
- S5:
- if the length of the list sample_count1 is >the preset length, putting the clustering results stored in the list sample_count1 and the list sample_count2 correspondingly into a list groups1 and a list groups2, and increasing the cluster_id by 1;
- if the length of the list sample_count1 is ≤the preset length, skipping storing the clustering results into the list groups1 and the list groups2;
- solving a difference between the list type_dblist and the list sample_count1, using the result of the difference as a new list type_dblist, cycling steps S3-S5 until all samples of the same type are clustered;
- S6:
- obtaining centroid coordinates of a first cluster in the groups1, and computing a Euclidean distance between the centroid coordinates of the first cluster and the centroid coordinates of any other cluster;
- if the distance is less than the bandwidth distance band_width, merging the two clusters into a same cluster, and selecting the cluster_id of the longer cluster as a new cluster_id;
- looping through the list groups1 until all clusters in the list groups1 are determined;
- and
- S7:
- cycling steps S1-S6 until all types of samples are clustered.
Dependencies are inferred from the claim text.