CN114092660A - High-precision map generation method and device and vehicle for generating map - Google Patents

High-precision map generation method and device and vehicle for generating map Download PDF

Info

Publication number
CN114092660A
CN114092660A CN202111434989.3A CN202111434989A CN114092660A CN 114092660 A CN114092660 A CN 114092660A CN 202111434989 A CN202111434989 A CN 202111434989A CN 114092660 A CN114092660 A CN 114092660A
Authority
CN
China
Prior art keywords
points
coordinate
point
subspace
coordinates
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.)
Pending
Application number
CN202111434989.3A
Other languages
Chinese (zh)
Inventor
高航
丁文东
万国伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apollo Intelligent Technology Beijing Co Ltd
Original Assignee
Apollo Intelligent Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Apollo Intelligent Technology Beijing Co Ltd filed Critical Apollo Intelligent Technology Beijing Co Ltd
Priority to CN202111434989.3A priority Critical patent/CN114092660A/en
Publication of CN114092660A publication Critical patent/CN114092660A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Abstract

The disclosure provides a high-precision map generation method and device and a vehicle for generating a map, and relates to the technical field of computers, in particular to the technical field of high-precision maps. The implementation scheme is as follows: acquiring a track of a laser radar and point cloud data acquired by the laser radar in the process of moving along the track, wherein the point cloud data comprises three-dimensional coordinates of a plurality of sampling points; determining a plurality of target points located on the ground from the plurality of sampling points based on the trajectory; dividing the plurality of target points into at least one point set based on the three-dimensional coordinates of the plurality of target points, wherein each point set corresponds to a layer of pavement; and generating a mesh surface representation of each layer of road surface in the map based on the corresponding point set.

Description

High-precision map generation method and device and vehicle for generating map
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a high-precision map technology, and in particular, to a map generation method, apparatus, electronic device, computer-readable storage medium, computer program product, and vehicle for generating a map.
Background
An electronic map (digital map) is a map that is stored and referred to digitally using computer technology. Various types of map elements are drawn on the electronic map, such as roads, malls, schools, hospitals, landmark buildings, and so on.
A high-precision map (short for high-precision map) is one kind of electronic map. The high-precision map can provide data support for tasks such as positioning, environment perception, behavior decision, path planning and the like of the automatic driving vehicle, and has important significance for automatic driving.
The approaches described in this section are not necessarily approaches that have been previously conceived or pursued. Unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. Similarly, unless otherwise indicated, the problems mentioned in this section should not be considered as having been acknowledged in any prior art.
Disclosure of Invention
The present disclosure provides a map generation method, apparatus, electronic device, computer-readable storage medium, computer program product, and vehicle for generating a map.
According to an aspect of the present disclosure, there is provided a map generation method including: acquiring a track of a laser radar and point cloud data acquired by the laser radar in the process of moving along the track, wherein the point cloud data comprises three-dimensional coordinates of a plurality of sampling points; determining a plurality of target points located on the ground from the plurality of sampling points based on the trajectory; dividing the plurality of target points into at least one point set based on the three-dimensional coordinates of the plurality of target points, each point set corresponding to a layer of pavement; and generating a mesh surface representation of each layer of road surface in the map based on the corresponding point set.
According to an aspect of the present disclosure, there is provided a map generating apparatus including: the system comprises an acquisition module, a processing module and a display module, wherein the acquisition module is configured to acquire a track of a laser radar and point cloud data acquired by the laser radar in the process of moving along the track, and the point cloud data comprises three-dimensional coordinates of a plurality of sampling points; an extraction module configured to determine a plurality of target points located on the ground from the plurality of sampling points based on the trajectory; a layering module configured to divide the plurality of target points into at least one point set based on three-dimensional coordinates of the plurality of target points, each of the point sets corresponding to a layer of a road surface; and a generation module configured to generate a mesh surface representation of each layer of road surface in the map based on the respective set of points.
According to an aspect of the present disclosure, there is provided an electronic device including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the above method.
According to an aspect of the present disclosure, there is provided a non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the above method.
According to an aspect of the disclosure, a computer program product is provided, comprising a computer program, wherein the computer program realizes the above method when executed by a processor.
According to an aspect of the present disclosure, a vehicle for generating a map is provided, including the above-described electronic apparatus.
According to one or more embodiments of the present disclosure, a multi-layer road surface in a map can be accurately modeled, thereby improving the accuracy of the map.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present disclosure, nor do they limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the embodiments and, together with the description, serve to explain the exemplary implementations of the embodiments. The illustrated embodiments are for purposes of illustration only and do not limit the scope of the claims. Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.
FIG. 1 illustrates a schematic diagram of an exemplary system in which various methods described herein may be implemented, according to an embodiment of the present disclosure;
FIG. 2 shows a flow diagram of a map generation method according to an embodiment of the present disclosure;
FIG. 3 shows a schematic diagram of a lidar collecting point cloud data according to an embodiment of the disclosure;
FIG. 4 shows a schematic diagram of a mesh surface representation in accordance with an embodiment of the present disclosure;
FIGS. 5, 6 show schematic diagrams of updating a third coordinate of a vertex, according to an embodiment of the disclosure;
fig. 7 shows a block diagram of a map generation apparatus according to an embodiment of the present disclosure; and
FIG. 8 illustrates a block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the disclosure are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
In the present disclosure, unless otherwise specified, the use of the terms "first", "second", etc. to describe various elements is not intended to limit the positional relationship, the timing relationship, or the importance relationship of the elements, and such terms are used only to distinguish one element from another. In some examples, a first element and a second element may refer to the same instance of the element, and in some cases, based on the context, they may also refer to different instances.
The terminology used in the description of the various described examples in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the elements may be one or more. Furthermore, the term "and/or" as used in this disclosure is intended to encompass any and all possible combinations of the listed items.
In the technical scheme of the disclosure, the acquisition, storage, application and the like of the personal information of the related user all accord with the regulations of related laws and regulations, and do not violate the good customs of the public order.
The high-precision map can provide data support for tasks such as positioning, environment perception, behavior decision, path planning and the like of the automatic driving vehicle. In order to generate a high-precision map, the road surface needs to be modeled. On the basis of the established road surface model, road surface elements (such as lane lines, crosswalks and the like) are further marked. The accurate modeling of the pavement is the basis for accurately marking pavement elements.
In the related art, a surface reconstruction (surface reconstruction) technology, such as a Poisson surface reconstruction (Poisson surface reconstruction) technology, is usually adopted, and the surface reconstruction is performed based on ground point cloud data acquired by a laser radar to generate a mesh surface (mesh surface) model of a road surface. The method is not suitable for scenes (such as overpasses) with staggered and overlapped multilayer pavements, and cannot accurately model the multilayer pavements. In addition, the method is complex in calculation, large in calculation amount and low in calculation efficiency.
Therefore, the embodiment of the disclosure provides a map generation method, which can accurately and efficiently model a multilayer road surface with overlapped areas, thereby improving the accuracy of a map and generating a high-precision map.
Embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
Fig. 1 illustrates a schematic diagram of an exemplary system 100 in which various methods and apparatus described herein may be implemented in accordance with embodiments of the present disclosure. Referring to fig. 1, the system 100 includes a motor vehicle 110, a server 120, and one or more communication networks 130 coupling the motor vehicle 110 to the server 120.
In embodiments of the present disclosure, motor vehicle 110 may include electronic devices according to embodiments of the present disclosure and/or be configured to perform methods according to embodiments of the present disclosure.
The server 120 may run one or more services or software applications that enable the map generation method to be performed. In some embodiments, the server 120 may also provide other services or software applications that may include non-virtual environments and virtual environments. In the configuration shown in fig. 1, server 120 may include one or more components that implement the functions performed by server 120. These components may include software components, hardware components, or a combination thereof, which may be executed by one or more processors. A user of motor vehicle 110 may, in turn, utilize one or more client applications to interact with server 120 to take advantage of the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from system 100. Accordingly, fig. 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
The server 120 may include one or more general purpose computers, special purpose server computers (e.g., PC (personal computer) servers, UNIX servers, mid-end servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and/or combination. The server 120 may include one or more virtual machines running a virtual operating system, or other computing architecture involving virtualization (e.g., one or more flexible pools of logical storage that may be virtualized to maintain virtual storage for the server). In various embodiments, the server 120 may run one or more services or software applications that provide the functionality described below.
The computing units in server 120 may run one or more operating systems including any of the operating systems described above, as well as any commercially available server operating systems. The server 120 may also run any of a variety of additional server applications and/or middle tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, and the like.
In some embodiments, server 120 may include one or more applications to analyze and consolidate data feeds and/or event updates received from motor vehicle 110. Server 120 may also include one or more applications to display data feeds and/or real-time events via one or more display devices of motor vehicle 110.
Network 130 may be any type of network known to those skilled in the art that may support data communications using any of a variety of available protocols, including but not limited to TCP/IP, SNA, IPX, etc. By way of example only, one or more networks 110 may be a satellite communication network, a Local Area Network (LAN), an ethernet-based network, a token ring, a Wide Area Network (WAN), the internet, a virtual network, a Virtual Private Network (VPN), an intranet, an extranet, a Public Switched Telephone Network (PSTN), an infrared network, a wireless network (including, e.g., bluetooth, Wi-Fi), and/or any combination of these and other networks.
The system 100 may also include one or more databases 150. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 150 may be used to store information such as audio files and video files. The data store 150 may reside in various locations. For example, the data store used by the server 120 may be local to the server 120, or may be remote from the server 120 and may communicate with the server 120 via a network-based or dedicated connection. The data store 150 may be of different types. In certain embodiments, the data store used by the server 120 may be a database, such as a relational database. One or more of these databases may store, update, and retrieve data to and from the database in response to the command.
In some embodiments, one or more of the databases 150 may also be used by applications to store application data. The databases used by the application may be different types of databases, such as key-value stores, object stores, or regular stores supported by a file system.
Motor vehicle 110 may include sensors 111 for sensing the surrounding environment. The sensors 111 may include one or more of the following sensors: visual cameras, infrared cameras, ultrasonic sensors, millimeter wave radar, and laser radar (LiDAR). Different sensors may provide different detection accuracies and ranges. The camera may be mounted in front of, behind, or otherwise on the vehicle. The visual camera may capture conditions inside and outside the vehicle in real time and present to the driver and/or passengers. In addition, by analyzing the picture captured by the visual camera, information such as traffic light indication, intersection situation, other vehicle running state, and the like can be acquired. The infrared camera can capture objects under night vision conditions. The ultrasonic sensors can be arranged around the vehicle and used for measuring the distance between an object outside the vehicle and the vehicle by utilizing the characteristics of strong ultrasonic directionality and the like. The millimeter wave radar may be installed in front of, behind, or other positions of the vehicle for measuring the distance of an object outside the vehicle from the vehicle using the characteristics of electromagnetic waves. The lidar may be mounted in front of, behind, or otherwise of the vehicle for detecting object edges, shape information, and thus object identification and tracking. The radar apparatus can also measure a speed variation of the vehicle and the moving object due to the doppler effect.
Motor vehicle 110 may also include a communication device 112. The communication device 112 may include a satellite positioning module capable of receiving satellite positioning signals (e.g., beidou, GPS, GLONASS, and GALILEO) from the satellites 141 and generating coordinates based on these signals. The communication device 112 may also include modules to communicate with a mobile communication base station 142, and the mobile communication network may implement any suitable communication technology, such as current or evolving wireless communication technologies (e.g., 5G technologies) like GSM/GPRS, CDMA, LTE, etc. The communication device 112 may also have a Vehicle-to-Vehicle (V2X) networking or Vehicle-to-Vehicle (V2X) module configured to enable, for example, Vehicle-to-Vehicle (V2V) communication with other vehicles 143 and Vehicle-to-Infrastructure (V2I) communication with the Infrastructure 144. Further, the communication device 112 may also have a module configured to communicate with a user terminal 145 (including but not limited to a smartphone, tablet, or wearable device such as a watch), for example, via wireless local area network using IEEE802.11 standards or bluetooth. Motor vehicle 110 may also access server 120 via network 130 using communication device 112.
Motor vehicle 110 may also include a control device 113. The control device 113 may include a processor, such as a Central Processing Unit (CPU) or a Graphics Processing Unit (GPU), or other special purpose processor, etc., in communication with various types of computer-readable storage devices or media. The control device 113 may include an autopilot system for automatically controlling various actuators in the vehicle. The autopilot system is configured to control a powertrain, steering system, and braking system, etc., of a motor vehicle 110 (not shown) via a plurality of actuators in response to inputs from a plurality of sensors 111 or other input devices to control acceleration, steering, and braking, respectively, without human intervention or limited human intervention. Part of the processing functions of the control device 113 may be realized by cloud computing. For example, some processing may be performed using an onboard processor while other processing may be performed using the computing resources in the cloud. The control device 113 may be configured to perform a method according to the present disclosure. Furthermore, the control device 113 may be implemented as one example of an electronic apparatus on the motor vehicle side (client) according to the present disclosure.
The system 100 of fig. 1 may be configured and operated in various ways to enable application of the various methods and apparatus described in accordance with the present disclosure.
According to some embodiments, the motor vehicle 110 of fig. 1 may be traveling on a road. During driving, the laser radar on the motor vehicle 110 scans the surrounding environment to obtain point cloud data of the surrounding environment. Based on these point cloud data, motor vehicle 110 (e.g., control device 113 of motor vehicle 110) or server 120 may perform the map generation method of the embodiments of the present disclosure to generate a mesh surface representation of each layer of road surface in the map (i.e., to generate a model of each layer of road surface).
Further, according to some embodiments, the map generated based on the map generation method of the embodiments of the present disclosure may be transmitted to motor vehicle 110 as a high-precision map, providing data support for automatic driving of motor vehicle 110.
Fig. 2 shows a flow diagram of a map generation method 200 according to an embodiment of the disclosure. Method 200 may be performed at a motor vehicle (e.g., motor vehicle 110 shown in fig. 1) or may be performed at a server (e.g., server 120 shown in fig. 1). That is, the execution subject of each step of the method 200 may be the motor vehicle 110 shown in fig. 1 (specifically, may be the control device 113 in the motor vehicle 110), and may also be the server 120 shown in fig. 1.
As shown in FIG. 2, the method 200 includes steps 210-240.
In step 210, a track of the lidar and point cloud data acquired by the lidar in a process of moving along the track are acquired, wherein the point cloud data comprises three-dimensional coordinates of a plurality of sampling points.
In step 220, a plurality of target points located on the ground are determined from the plurality of sampling points based on the trajectory.
In step 230, the plurality of target points are divided into at least one set of points, each set of points corresponding to a layer of the roadway, based on the three-dimensional coordinates of the plurality of target points.
In step 240, a mesh surface representation of each layer of road surface in the map is generated based on the respective set of points.
According to the embodiment of the disclosure, the multi-layer road surface in the map can be accurately modeled, so that the precision of the map is improved. Specifically, the point cloud data are screened based on the track of the laser radar to obtain a plurality of target points (namely ground point clouds) on the ground, and noise points which do not belong to the ground in the point cloud data can be effectively removed, so that the accuracy of road surface modeling is improved. By carrying out layering processing on a plurality of target points, a point set corresponding to each layer of pavement can be obtained. Generating a mesh surface representation of each layer of the pavement based on the corresponding point sets enables accurate modeling of multiple layers of the pavement.
The various steps of method 200 are described in detail below.
In step 210, a track of the lidar and point cloud data acquired by the lidar in a process of moving along the track are acquired, wherein the point cloud data comprises three-dimensional coordinates of a plurality of sampling points.
The lidar may be mounted, for example, to a roof of a vehicle, such as motor vehicle 110 shown in fig. 1. In the driving process of the vehicle, the laser radar moves along with the vehicle and collects point cloud data of the surrounding environment.
Fig. 3 shows a schematic diagram of a lidar collecting point cloud data according to an embodiment of the disclosure. As shown in fig. 3, the roof of the vehicle 310 is provided with a laser radar 312. The vehicle 310 travels in the road 320 in the direction indicated by arrow 322. During the driving process of the vehicle 310, the laser radar 312 emits a laser beam 314 to the surrounding environment and receives a laser signal reflected by the surface of an environmental object (e.g., the ground, a tree 324, etc.), thereby collecting point cloud data of the surface of the environmental object.
In the embodiment shown in fig. 3, the vehicle 310 gradually moves off the road 320 and into the road 330. Road 330 is located above road 320 (i.e., above elevation relative to road 320). From a top view, the road 330 overlaps the road 320. The vehicle 310 travels in the road 330 in the direction indicated by arrow 332. As shown in fig. 3, during the travel of the vehicle 310 along the road 330, the laser beam 314 emitted by the laser radar 312 is partially irradiated on the road surface of the road 330 and partially irradiated on the road surface of the road 320. Thus, the point cloud data collected by lidar 312 may correspond to different road surfaces.
The point cloud data collected by the lidar includes a large number of sample points, each sample point including three-dimensional coordinates (i.e., x, y, z coordinates) representing the spatial location of the sample point. Wherein, the x coordinate (first coordinate), the y coordinate (second coordinate) are used for expressing the position of the sampling point in the horizontal direction; the z-coordinate (third coordinate) is used to represent the position of the sampling point in the height direction, i.e., the altitude of the sampling point. Typically, each sampling point also includes the laser reflection intensity and attitude angle (including yaw, pitch, roll) relative to the lidar.
It should be noted that the three-dimensional coordinates acquired by the laser radar may be three-dimensional coordinates in an arbitrarily selected coordinate system. The selected coordinate system may be, for example, a vehicle coordinate system, a lidar coordinate system, a world coordinate system (e.g., a UTM coordinate system, a WGS84 coordinate system, etc.), or the like. It is understood that three-dimensional coordinates in different coordinate systems can be converted to each other.
According to some embodiments, to facilitate generation of the mesh surface representation of each layer of road surface in the subsequent step, the three-dimensional coordinates of each sampling point collected by the lidar are converted into a world coordinate system, i.e., the three-dimensional coordinates in step 210 refer to three-dimensional coordinates in the world coordinate system (e.g., UTM coordinate system).
According to some embodiments, a satellite positioning module is provided on the motor vehicle on which the lidar is located. In the process that the laser radar moves along with the motor vehicle, the satellite positioning module receives the satellite positioning signal, and determines the positions of the laser radar at different moments, namely the track points of the laser radar, by carrying out certain processing on the satellite positioning signal, such as Real Time Kinematic (RTK) processing, coordinate transformation processing and the like. And the track points of the laser radar at different moments form the track of the laser radar.
The trace points may be represented using three-dimensional coordinates. According to some embodiments, to facilitate the generation of a mesh surface representation of each layer of pavement in subsequent steps, the three-dimensional coordinates adopted by the tracing points are three-dimensional coordinates in a world coordinate system (e.g., UTM coordinate system).
In step 220, a plurality of target points located on the ground are determined from a plurality of sampling points included in the point cloud data based on the trajectory of the lidar.
In an embodiment of the present disclosure, the ground surface is a collection of road surfaces, i.e. the ground surface comprises at least one layer of road surface. The road surface refers to the surface of a road.
According to some embodiments, in step 220, the installation height of the lidar on the vehicle may be acquired; determining a plurality of ground points respectively corresponding to the plurality of track points based on the installation height; determining an associated point set of each ground point, the associated point set comprising at least one sampling point having a distance to the ground point less than or equal to a first threshold; and taking the sampling points in the associated point set of the plurality of ground points as a plurality of target points.
According to the above-described embodiment, the ground track corresponding to the track, that is, the plurality of ground points, can be obtained based on the track of the lidar and the installation height of the lidar on the vehicle. The point cloud data are screened based on the ground points, noise points which do not belong to the ground in the point cloud data can be effectively removed, extraction errors of target points which belong to the ground are reduced, and therefore the accuracy of pavement modeling is improved.
The mounting height of the lidar on the vehicle refers to the height of the lidar relative to the lowest point of the tire. And subtracting the installation height from the coordinate (namely, the third coordinate and the z coordinate) in the height direction of each track point to obtain the ground point corresponding to each track point.
The set of associated points for the ground points includes at least one sample point having a distance to the ground point less than or equal to a first threshold. The first threshold may be any value, such as 50cm, 100cm, etc. And the sampling points in the association point set of each ground point are target points on the ground.
According to some embodiments, for each ground point, a plane on which the ground point lies may be fitted based on the set of associated points for the ground point; and deleting the sampling points in the associated point set, the distances to the plane of which are greater than a second threshold value. Based on the embodiment, the sampling points far away from the ground can be used as noise points to be removed, so that the extraction error of the target point is reduced, and the accuracy of road surface modeling is improved.
In step 230, the plurality of target points are divided into at least one set of points, each set of points corresponding to a layer of the roadway, based on the three-dimensional coordinates of the plurality of target points.
According to some embodiments, the space where the target points obtained in step 120 are located may be divided into a plurality of first subspaces based on the first coordinate (x coordinate) and the second coordinate (y coordinate) of each target point, where each first subspace corresponds to one first coordinate range (x coordinate range) and one second coordinate range (y coordinate range). Subsequently, based on the third coordinate (z coordinate), clustering the target points in each first subspace to obtain at least one set of sub-points, each set of sub-points corresponding to a third coordinate range. Subsequently, the sub-point sets with overlapping third coordinate ranges of adjacent first subspaces are combined to obtain at least one point set.
In the above-described embodiment, each first subspace corresponds to one first coordinate range and one second coordinate range, that is, each first subspace is a columnar space having a square cross section and extending in the height direction. The first coordinates of the target points in the same first subspace belong to the same first coordinate range, and the second coordinates of the target points in the same first subspace belong to the same second coordinate range.
For example, a first coordinate range corresponding to a first subspace S is [ x ]0,x1) The corresponding second coordinate range is [ y ]0,y1). For any target point P (x, y, z) in this first subspace S, there is x ∈ [ x ] x0,x1),y∈[y0,y1)。
For each first subspace, clustering the target points in the first subspace based on the third coordinates of the target points in the first subspace to obtain at least one sub-point set corresponding to the first subspace, wherein each sub-point set comprises a certain number of target points.
Any clustering algorithm may be employed to cluster the target points. For example, a density-based clustering algorithm (e.g., DBSCAN algorithm) may be employed to cluster the target points. Such clustering algorithms typically do not require a specified number of classes, i.e. a specified number of sets of sub-points, and may automatically aggregate target points into a certain number of sets of sub-points. Further, two sets of sub-points whose distance between class centers (i.e. the average value of the third coordinates of the target points in the set of sub-points) is smaller than the threshold value may be merged into one set of sub-points, thereby avoiding causing excessive stratification of the target points. The threshold may be determined according to the actual height of the road, for example, the threshold may be set to 1.5 m.
In other embodiments, a mean clustering algorithm (e.g., a K-means algorithm) may also be used to cluster the target points. Such clustering algorithms typically require a specified number of classes, i.e., a specified number of sets of sub-points. In order to ensure that the target points corresponding to different road surfaces can be distinguished, the number of the sub-point sets is usually set slightly larger than the actual value, for example, set to 5, i.e., the target points in the first subspace are divided into 5 sub-point sets. Subsequently, two sets of sub-points having class centers (i.e., the average of the third coordinates of the target points in the set of sub-points) that are less than a threshold (e.g., 1.5m) apart may be merged into one set of sub-points.
After the set of sub-points is obtained through clustering, a third coordinate range corresponding to the set of sub-points can be determined. The third coordinate range is a range from a minimum value of the third coordinates of the target points in the subset to a minimum value of the third coordinates of the target points in the subset. For example, the third coordinates of 3 target points in a certain subset are 3000m, 3000.5m, 3000.2m, respectively, and the corresponding third coordinate range of the subset is [3000m, 3000.5m ].
After clustering target points in the first subspace to obtain at least one sub-point set, merging the sub-point sets with overlapping third coordinate ranges of adjacent first subspaces to obtain at least one point set.
The point set partitioning process of step 230 is illustrated with a simple example:
dividing the space where the target points obtained in step 220 are located into a first subspace S1And a first subspace S2. First subspace S1And a first subspace S2Adjacent to each other.
First subspace S1The corresponding first coordinate range is [ x ]0,x1) The corresponding second coordinate range is [ y ]0,y1). For the first subspace S1Clustering the target points to obtain a sub-point set T1、T2. Set of sub-points T1The corresponding third coordinate range is [3000m, 3000.3m ]]Set of sub-points T2The corresponding third coordinate range is [3001.5m, 3001.8m ]]。
Second subspace S2The corresponding first coordinate range is [ x ]0,x1) The corresponding second coordinate range is [ y ]1,y2). For the first sonSpace S2Clustering the target points to obtain a sub-point set T3、T4. Set of sub-points T3The corresponding third coordinate range is [3001.7m, 3001.9m ]]Set of sub-points T4The corresponding third coordinate range is [2999.8m, 3000.1m ]]。
First subspace S1And a first subspace S2Adjacent to each other. Set of sub-points T1Corresponding third coordinate range [3000m, 3000.3m ]]And sub-point set T4Corresponding third coordinate range [2999.8m, 3000.1m]There is an overlap (the overlap is [3000m, 3000.1m ]]) Thus, set of sub-points T1And sub-point set T4Merging to obtain a point set U1Point set U1Corresponding to the first layer of pavement.
Set of sub-points T2Corresponding third coordinate range [3001.5m, 3001.8m]And sub-point set T3Corresponding third coordinate range [3001.7m, 3001.9m]There is an overlap (the overlapping part is [3001.7m, 3001.8m ]]) Thus, set of sub-points T2And sub-point set T3Merging to obtain a point set U2Point set U2Corresponding to the second layer of pavement.
In step 240, a mesh surface representation of each layer of road surface in the map is generated based on the respective set of points.
The mesh surface representation is a mesh surface (mesh surface) model. The mesh surface representation includes a plurality of meshes, each mesh including a plurality of vertices. A mesh is the smallest unit that constructs a surface, which may be, for example, triangular, square, etc. in shape.
FIG. 4 shows a schematic diagram of a mesh surface representation 400 according to an embodiment of the present disclosure. As shown in FIG. 4, mesh surface representation 400 is comprised of a plurality of triangular meshes 410, each mesh 410 including three vertices.
According to some embodiments, a mesh surface representation of a roadway may be generated as per steps 242-246 below.
In step 242, a first coordinate and a second coordinate of a vertex of each mesh in the horizontal direction are determined based on the division of the meshes in the mesh surface representation.
In step 244, for each vertex, an initial value of a third coordinate of the vertex is determined based on a third coordinate of a neighboring target point of the vertex in the height direction, wherein the neighboring target point is a target point whose distance to the vertex is smaller than a third threshold.
In step 246, the third coordinate of each vertex is updated based on the plane equation corresponding to the vertex, wherein the plane equation is fitted based on the set of points corresponding to the road surface.
According to the embodiment, the third coordinate of each mesh vertex is updated by adopting a plane fitting mode, and compared with the surface reconstruction technology such as Poisson surface reconstruction in the related technology, the calculation amount is small, and the calculation efficiency is high.
According to some embodiments, for step 242, the grid may be divided on a plane formed by a first coordinate axis (X-axis) and a second coordinate axis (Y-axis). For example, in a world coordinate system (e.g., UTM coordinate system), an XOY plane (i.e., a plane in which the X-axis and the Y-axis are located, and O is a coordinate origin) may be equally divided into a plurality of rectangular regions, and opposite vertices of each rectangular region may be connected to divide each rectangular region into a mesh of 4 triangles.
The size of the individual grids can be set by one skilled in the art as desired. For high-precision maps, the side length of a single grid is typically set to the order of cm, e.g. 3 cm. After the mesh sizes are set, the first coordinates and the second coordinates of the vertices of each mesh can be determined accordingly.
According to some embodiments, for step 244, an average of the third coordinates of the neighborhood target point of a vertex may be taken as an initial value of the third coordinate of the vertex. The neighborhood target point of the vertex is a target point whose distance to the vertex is smaller than a third threshold value. The third threshold may be set, for example, to 5cm, 10cm, or the like.
According to some embodiments, for step 246, the third coordinate of the vertex may be further updated according to the following steps:
firstly, a space where a point set corresponding to a current road surface is located is divided into a plurality of second subspaces, and each second subspace corresponds to a first coordinate range and a second coordinate range in the horizontal direction.
Subsequently, for each second subspace, the following updating step is performed: and performing plane fitting on the target points in the second subspaces to obtain a plane equation corresponding to each second subspace. Based on the plane equation, the third coordinates of the vertices in the second subspace are updated. And judging whether the projection area of the second subspace in the horizontal direction is larger than a fourth threshold value. If yes, dividing the second subspace into a plurality of third subspaces, taking each third subspace as the second subspace, and continuing to execute the updating step. If not, the updating step is terminated, namely the third coordinate of each vertex is updated, so that the mesh curved surface representation of the current road surface is obtained.
According to the embodiment, the plane equation can be iteratively optimized according to the sequence from coarse to fine, the third coordinate of each vertex is updated, and the updated third coordinate of each vertex can be smooth and accurate.
In the above-described embodiment, the plane equation obtained By plane fitting may be in the form of Ax + By + Cz + D ═ 0. Wherein A, B, C, D is the constant parameter to be fitted, and x, y, z are variables. According to some embodiments, the values of A, B, C, D may be continuously updated during the process of performing the plane fitting with the goal of reducing the distance of each vertex from the fitting plane and optimizing. The optimization objective may be represented by the following equation:
Figure BDA0003381476030000131
where Γ is the set of three-dimensional coordinate vectors of the target point in the second subspace, p is the three-dimensional coordinate vector of the target point in the second subspace, pa、pb、pcThree-dimensional coordinate vectors of three vertexes of the triangular mesh, | | | | | luminance2Representing the calculation of the two norms.
According to some embodiments, constraints may be added in the process of performing the plane fitting. The constraints may for example include minimizing the sum of the squares of the differences of the third coordinates of adjacent vertices, thereby making the third coordinates of the vertices smoother. The constraint can be represented, for example, by the following equation:
Figure BDA0003381476030000141
wherein p isa、pb、pcThree-dimensional coordinate vectors, p, of three vertices of a triangular mesh, respectivelya z、pb z、pc zRespectively, the third coordinate of the three vertices, i.e., the z-coordinate.
The process of updating the third coordinates of each vertex will be described below with reference to fig. 5 and 6.
And dividing the space where the point set corresponding to the current road surface is located to obtain a plurality of second subspaces. Fig. 5 shows a schematic view of one of the second subspaces 500.
As shown in FIG. 5, the second subspace 500 includes a plurality of target points 510 therein. A plane fit is performed on the plurality of target points 510 in the second subspace 500, resulting in the plane equation func 1. The first coordinates and the second coordinates of each vertex in fig. 5 are substituted into the plane equation func1, and the updated third coordinates of each vertex are obtained.
Since the projection area of the second subspace 500 in the horizontal direction is greater than the fourth threshold, the second subspace 500 is divided into 4 third subspaces 600, and each third subspace 600 is used as a new second subspace, and the third coordinates of the vertices are continuously updated. Fig. 6 shows a schematic diagram of a new second subspace 600.
Continuing with the plane fitting of the target points in the second subspace 600, as shown in FIG. 6, the plane equation func2 is obtained. The first coordinates and the second coordinates of each vertex in fig. 6 are substituted into the plane equation func2, and the updated third coordinates of each vertex are obtained.
Since the projection area of the second subspace 600 in the horizontal direction is greater than the fourth threshold, the second subspace 600 is divided into 4 third subspaces 610, and each third subspace 610 is used as a new second subspace, and the third coordinates of the vertices are continuously updated.
The step of updating the plane fitting-vertex third coordinate may be performed repeatedly until the projection area of the second subspace in the horizontal direction is smaller than or equal to the fourth threshold.
According to some embodiments, after the mesh surface representation of each road surface is generated through step 240, the mesh surface representation may be further subjected to a smoothing process to make the mesh surface representation smoother and more realistic.
In particular, according to some embodiments, the mesh surface representation may be smoothed by means of mean filtering, that is: determining a vertex to be smoothed from a plurality of vertexes included in the mesh surface representation, wherein the difference between the third coordinate of the vertex to be smoothed and the average value of the third coordinates of the adjacent vertexes of the vertex to be smoothed is greater than a fifth threshold value; and updating the third coordinate of the vertex to be smoothed to the average value. The mesh surface representation is smoothed by adopting a mean filtering mode, so that the calculation efficiency can be improved.
According to the embodiment of the disclosure, a map generation device is also provided. Fig. 7 shows a block diagram of a map generation apparatus 700 according to an embodiment of the present disclosure. As shown in fig. 7, the apparatus 700 includes:
an obtaining module 710 configured to obtain a track of a lidar and point cloud data collected by the lidar during movement along the track, the point cloud data including three-dimensional coordinates of a plurality of sampling points;
an extraction module 720 configured to determine a plurality of target points located on the ground from the plurality of sampling points based on the trajectory;
a layering module 730 configured to divide the plurality of target points into at least one point set based on the three-dimensional coordinates of the plurality of target points, each of the point sets corresponding to a layer of the road surface; and
a generating module 740 configured to generate a mesh surface representation of each layer of road surface in the map based on the respective set of points.
According to the embodiment of the disclosure, the multi-layer road surface in the map can be accurately modeled, so that the precision of the map is improved.
According to some embodiments, the lidar is mounted on a vehicle, the track comprises a plurality of track points, and the extraction module 720 comprises: an acquisition unit configured to acquire an installation height of the lidar on the vehicle; a first determination unit configured to determine a plurality of ground points corresponding to the plurality of track points, respectively, based on the installation height; a second determination unit configured to determine an associated point set for each ground point, the associated point set comprising at least one sampling point having a distance to the ground point less than or equal to a first threshold; and a summarizing unit configured to take sampling points in the associated point set of the plurality of ground points as the plurality of target points.
According to some embodiments, the three-dimensional coordinates include a first coordinate in a horizontal direction, a second coordinate, and a third coordinate in a height direction, and the layering module 730 includes: the first dividing unit is configured to divide the space where the target points are located into a plurality of first subspaces, and each first subspace corresponds to a first coordinate range and a second coordinate range; the clustering unit is configured to cluster the target points in each first subspace based on the third coordinates to obtain at least one sub-point set, and each sub-point set corresponds to a third coordinate range; and the splicing unit is configured to combine the sub-point sets with overlapping third coordinate ranges of the adjacent first subspaces to obtain the at least one point set.
According to some embodiments, the mesh surface representation comprises a plurality of meshes, each mesh comprising a plurality of vertices, the generation module 740 comprises: a third determination unit configured to determine first and second coordinates of a vertex of each mesh in a horizontal direction based on a division condition of the plurality of meshes; an initial determination unit configured to determine, for each vertex, an initial value of a third coordinate of the vertex based on a third coordinate in a height direction of a neighborhood target point of the vertex, the neighborhood target point being a target point whose distance to the vertex is smaller than a third threshold; and the updating unit is configured to update the third coordinates of the vertexes based on a plane equation corresponding to each vertex, wherein the plane equation is obtained by fitting based on the point set.
According to some embodiments, the update unit comprises: the second dividing unit divides the space where the point set is located into a plurality of second subspaces, and each second subspace corresponds to a first coordinate range and a second coordinate range in the horizontal direction; a loop update unit configured to perform, for each second subspace, the following update steps: performing plane fitting on the target points in the second subspaces to obtain a plane equation corresponding to each second subspace; updating third coordinates of vertices in the second subspace based on the plane equation; and in response to the projection area of the second subspace in the horizontal direction being larger than a fourth threshold, dividing the second subspace into a plurality of third subspaces, taking each third subspace as the second subspace, and continuing to execute the updating step.
According to some embodiments, the plane fitting comprises a constraint comprising minimizing a sum of squares of third coordinate differences of adjacent vertices.
According to some embodiments, the apparatus 700 further comprises a smoothing module configured to smooth the mesh surface representation.
It should be understood that the various modules or units of the apparatus 700 shown in fig. 7 may correspond to the various steps in the method 200 described with reference to fig. 2. Thus, the operations, features and advantages described above with respect to method 200 are equally applicable to apparatus 700 and the modules and units comprised thereby. Certain operations, features and advantages may not be described in detail herein for the sake of brevity.
Although specific functionality is discussed above with reference to particular modules, it should be noted that the functionality of the various modules discussed herein may be divided into multiple modules and/or at least some of the functionality of multiple modules may be combined into a single module. For example, the acquisition module 710 and the extraction module 720 described above may be combined into a single module in some embodiments.
It should also be appreciated that various techniques may be described herein in the general context of software, hardware elements, or program modules. The various modules described above with respect to fig. 7 may be implemented in hardware or in hardware in combination with software and/or firmware. For example, the modules may be implemented as computer program code/instructions configured to be executed in one or more processors and stored in a computer-readable storage medium. Alternatively, the modules may be implemented as hardware logic/circuitry. For example, in some embodiments, one or more of the modules 710 and 740 may be implemented together in a System on Chip (SoC). The SoC may include an integrated circuit chip (which includes one or more components of a Processor (e.g., a Central Processing Unit (CPU), microcontroller, microprocessor, Digital Signal Processor (DSP), etc.), memory, one or more communication interfaces, and/or other circuitry), and may optionally execute received program code and/or include embedded firmware to perform functions.
According to an embodiment of the present disclosure, there is also provided an electronic apparatus including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the above-described map generation method.
There is also provided, in accordance with an embodiment of the present disclosure, a non-transitory computer-readable storage medium having stored thereon computer instructions for causing the computer to perform the above-described map generation method.
There is also provided, in accordance with an embodiment of the present disclosure, a computer program product, including a computer program, wherein the computer program, when executed by a processor, implements the above map generation method.
According to an embodiment of the present disclosure, there is also provided a vehicle for generating a map, including the electronic device described above.
Referring to fig. 8, a block diagram of a structure of an electronic device 800, which may be a server or a client of the present disclosure, which is an example of a hardware device that may be applied to aspects of the present disclosure, will now be described. Electronic device is intended to represent various forms of digital electronic computer devices, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 8, the electronic device 800 includes a computing unit 801 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM)802 or a computer program loaded from a storage unit 808 into a Random Access Memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the electronic apparatus 800 can also be stored. The calculation unit 801, the ROM 802, and the RAM 803 are connected to each other by a bus 804. An input/output (I/O) interface 805 is also connected to bus 804.
A number of components in the electronic device 800 are connected to the I/O interface 805, including: an input unit 806, an output unit 807, a storage unit 808, and a communication unit 809. The input unit 806 may be any type of device capable of inputting information to the electronic device 800, and the input unit 806 may receive input numeric or character information and generate key signal inputs related to user settings and/or function controls of the electronic device, and may include, but is not limited to, a mouse, a keyboard, a touch screen, a track pad, a track ball, a joystick, a microphone, and/or a remote controller. Output unit 807 can be any type of device capable of presenting information and can include, but is not limited to, a display, speakers, a video/audio output terminal, a vibrator, and/or a printer. The storage unit 808 may include, but is not limited to, a magnetic disk, an optical disk. The communication unit 809 allows the electronic device 800 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks, and may include, but is not limited to, modulationDemodulators, network cards, infrared communication devices, wireless communication transceivers and/or chipsets, e.g. BluetoothTMDevices, 802.11 devices, Wi-Fi devices, WiMAX devices, cellular communication devices, and/or the like.
Computing unit 801 may be a variety of general and/or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various dedicated Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, and the like. The computing unit 801 performs the various methods and processes described above, such as the method 200. For example, in some embodiments, the method 200 may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program can be loaded and/or installed onto the electronic device 800 via the ROM 802 and/or the communication unit 809. When loaded into RAM 803 and executed by computing unit 801, may perform one or more of the steps of method 200 described above. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the method 200 in any other suitable manner (e.g., by way of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), system on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server with a combined blockchain.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present disclosure may be performed in parallel, sequentially or in different orders, and are not limited herein as long as the desired results of the technical solutions disclosed in the present disclosure can be achieved.
Although embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it is to be understood that the above-described methods, systems and apparatus are merely exemplary embodiments or examples and that the scope of the present invention is not limited by these embodiments or examples, but only by the claims as issued and their equivalents. Various elements in the embodiments or examples may be omitted or may be replaced with equivalents thereof. Further, the steps may be performed in an order different from that described in the present disclosure. Further, various elements in the embodiments or examples may be combined in various ways. It is important that as technology evolves, many of the elements described herein may be replaced with equivalent elements that appear after the present disclosure.

Claims (20)

1. A map generation method, comprising:
acquiring a track of a laser radar and point cloud data acquired by the laser radar in the process of moving along the track, wherein the point cloud data comprises three-dimensional coordinates of a plurality of sampling points;
determining a plurality of target points located on the ground from the plurality of sampling points based on the trajectory;
dividing the plurality of target points into at least one point set based on the three-dimensional coordinates of the plurality of target points, each point set corresponding to a layer of pavement; and
and generating a mesh surface representation of each layer of road surface in the map based on the corresponding point set.
2. The method of claim 1, wherein the lidar is mounted on a vehicle, the trajectory comprises a plurality of trajectory points, and wherein the determining, based on the trajectory, a plurality of target points located on the ground from the plurality of sampling points comprises:
acquiring the installation height of the laser radar on the vehicle;
determining a plurality of ground points respectively corresponding to the plurality of track points based on the installation height;
determining a set of correlated points for each ground point, the set of correlated points including at least one sample point having a distance to the ground point less than or equal to a first threshold; and
and taking the sampling points in the associated point set of the plurality of ground points as the plurality of target points.
3. The method of claim 2, further comprising:
for each ground point, fitting a plane where the ground point is located based on the associated point set of the ground points; and
and deleting the sampling points in the associated point set, wherein the distance between the sampling points and the plane is larger than a second threshold value.
4. The method of any of claims 1-3, wherein the three-dimensional coordinates include a first coordinate in a horizontal direction, a second coordinate, and a third coordinate in a height direction, and wherein the dividing the plurality of target points into at least one set of points based on the three-dimensional coordinates of the plurality of target points comprises:
dividing the space where the target points are located into a plurality of first subspaces based on the first coordinates and the second coordinates, wherein each first subspace corresponds to a first coordinate range and a second coordinate range;
clustering target points in each first subspace based on the third coordinates to obtain at least one sub-point set, wherein each sub-point set corresponds to a third coordinate range; and
and merging the sub-point sets with overlapping third coordinate ranges of the adjacent first subspaces to obtain the at least one point set.
5. The method of any of claims 1-4, wherein the mesh surface representation includes a plurality of meshes, each mesh including a plurality of vertices, and wherein the generating the mesh surface representation of each layer of road surface in the map based on the respective set of points includes:
determining a first coordinate and a second coordinate of a vertex of each mesh in the horizontal direction based on the division condition of the meshes;
for each vertex, determining an initial value of a third coordinate of the vertex based on a third coordinate of a neighborhood target point of the vertex in the height direction, wherein the neighborhood target point is a target point of which the distance to the vertex is smaller than a third threshold value; and
and updating the third coordinates of the vertexes based on the plane equation corresponding to each vertex, wherein the plane equation is obtained based on the point set fitting.
6. The method of claim 5, wherein the updating the third coordinates of the vertices based on the plane equation for each vertex comprises:
dividing the space where the point set is located into a plurality of second subspaces, wherein each second subspace corresponds to a first coordinate range and a second coordinate range in the horizontal direction;
for each second subspace, performing the following updating steps:
performing plane fitting on the target points in the second subspaces to obtain a plane equation corresponding to each second subspace;
updating third coordinates of vertices in the second subspace based on the plane equation; and
and in response to that the projection area of the second subspace in the horizontal direction is larger than a fourth threshold value, dividing the second subspace into a plurality of third subspaces, taking each third subspace as the second subspace, and continuing to execute the updating step.
7. The method of claim 6, wherein the plane fitting comprises a constraint comprising minimizing a sum of squares of third coordinate differences of adjacent vertices.
8. The method of any of claims 1-7, further comprising:
and smoothing the mesh surface representation.
9. The method of claim 8, wherein said smoothing said mesh surface representation comprises:
determining a vertex to be smoothed from a plurality of vertices included in the mesh surface representation, wherein a difference between a third coordinate of the vertex to be smoothed and an average value of third coordinates of neighboring vertices thereof is greater than a fifth threshold; and
and updating the third coordinate of the vertex to be smoothed into the average value.
10. A map generation apparatus comprising:
the system comprises an acquisition module, a processing module and a display module, wherein the acquisition module is configured to acquire a track of a laser radar and point cloud data acquired by the laser radar in the process of moving along the track, and the point cloud data comprises three-dimensional coordinates of a plurality of sampling points;
an extraction module configured to determine a plurality of target points located on the ground from the plurality of sampling points based on the trajectory;
a layering module configured to divide the plurality of target points into at least one point set based on three-dimensional coordinates of the plurality of target points, each of the point sets corresponding to a layer of a road surface; and
a generation module configured to generate a mesh surface representation of each layer of road surface in the map based on the respective set of points.
11. The apparatus of claim 10, wherein the lidar is mounted on a vehicle, the trajectory comprises a plurality of trajectory points, and wherein the extraction module comprises:
an acquisition unit configured to acquire an installation height of the lidar on the vehicle;
a first determination unit configured to determine a plurality of ground points corresponding to the plurality of track points, respectively, based on the installation height;
a second determination unit configured to determine an associated point set for each ground point, the associated point set comprising at least one sampling point having a distance to the ground point less than or equal to a first threshold; and
a summarizing unit configured to take sampling points in the associated point set of the plurality of ground points as the plurality of target points.
12. The apparatus of claim 10 or 11, wherein the three-dimensional coordinates comprise a first coordinate in a horizontal direction, a second coordinate, and a third coordinate in a height direction, and wherein the layering module comprises:
the first dividing unit is configured to divide the space where the plurality of target points are located into a plurality of first subspaces based on the first coordinates and the second coordinates, wherein each first subspace corresponds to a first coordinate range and a second coordinate range;
the clustering unit is configured to cluster the target points in each first subspace based on the third coordinates to obtain at least one sub-point set, and each sub-point set corresponds to a third coordinate range; and
and the splicing unit is configured to combine the sub-point sets with overlapping third coordinate ranges of the adjacent first subspaces to obtain the at least one point set.
13. The apparatus of any of claims 10-12, wherein the mesh surface representation comprises a plurality of meshes, each mesh comprising a plurality of vertices, and wherein the generating module comprises:
a third determination unit configured to determine first and second coordinates of a vertex of each mesh in a horizontal direction based on a division condition of the plurality of meshes;
an initial determination unit configured to determine, for each vertex, an initial value of a third coordinate of the vertex based on a third coordinate in a height direction of a neighborhood target point of the vertex, the neighborhood target point being a target point whose distance to the vertex is smaller than a third threshold; and
and the updating unit is configured to update the third coordinates of the vertexes based on a plane equation corresponding to each vertex, wherein the plane equation is obtained by fitting based on the point set.
14. The apparatus of claim 13, wherein the updating unit comprises:
the second dividing unit is configured to divide the space where the point set is located into a plurality of second subspaces, and each second subspace corresponds to a first coordinate range and a second coordinate range in the horizontal direction;
a loop update unit configured to perform, for each second subspace, the following update steps:
performing plane fitting on the target points in the second subspaces to obtain a plane equation corresponding to each second subspace;
updating third coordinates of vertices in the second subspace based on the plane equation; and
and in response to that the projection area of the second subspace in the horizontal direction is larger than a fourth threshold value, dividing the second subspace into a plurality of third subspaces, taking each third subspace as the second subspace, and continuing to execute the updating step.
15. The apparatus of claim 14, wherein the plane fit comprises a constraint comprising minimizing a sum of squares of third coordinate differences of adjacent vertices.
16. The apparatus of any of claims 10-15, further comprising:
a smoothing module configured to smooth the mesh surface representation.
17. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein
The memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-9.
18. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of any one of claims 1-9.
19. A computer program product comprising a computer program, wherein the computer program realizes the method of any one of claims 1-9 when executed by a processor.
20. A vehicle for generating a map comprising the electronic device of claim 17.
CN202111434989.3A 2021-11-29 2021-11-29 High-precision map generation method and device and vehicle for generating map Pending CN114092660A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111434989.3A CN114092660A (en) 2021-11-29 2021-11-29 High-precision map generation method and device and vehicle for generating map

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111434989.3A CN114092660A (en) 2021-11-29 2021-11-29 High-precision map generation method and device and vehicle for generating map

Publications (1)

Publication Number Publication Date
CN114092660A true CN114092660A (en) 2022-02-25

Family

ID=80305729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111434989.3A Pending CN114092660A (en) 2021-11-29 2021-11-29 High-precision map generation method and device and vehicle for generating map

Country Status (1)

Country Link
CN (1) CN114092660A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647709A (en) * 2022-03-28 2022-06-21 阿波罗智联(北京)科技有限公司 Map data processing method and device, electronic equipment and computer storage medium
CN116955517A (en) * 2023-09-19 2023-10-27 高德软件有限公司 Intersection region detection method, device, equipment and computer readable storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647709A (en) * 2022-03-28 2022-06-21 阿波罗智联(北京)科技有限公司 Map data processing method and device, electronic equipment and computer storage medium
CN114647709B (en) * 2022-03-28 2024-03-12 阿波罗智联(北京)科技有限公司 Map data processing method, map data processing device, electronic equipment and computer storage medium
CN116955517A (en) * 2023-09-19 2023-10-27 高德软件有限公司 Intersection region detection method, device, equipment and computer readable storage medium

Similar Documents

Publication Publication Date Title
EP3759562B1 (en) Camera based localization for autonomous vehicles
US11353589B2 (en) Iterative closest point process based on lidar with integrated motion estimation for high definition maps
EP3707469B1 (en) A point clouds registration system for autonomous vehicles
US20240005167A1 (en) Annotating high definition map data with semantic labels
US11151394B2 (en) Identifying dynamic objects in a point cloud
US11590989B2 (en) Training data generation for dynamic objects using high definition map data
US10782411B2 (en) Vehicle pose system
US20210333111A1 (en) Map selection for vehicle pose system
CN113887400B (en) Obstacle detection method, model training method and device and automatic driving vehicle
JP2023508705A (en) Data transmission method and device
CN111563450A (en) Data processing method, device, equipment and storage medium
CN114092660A (en) High-precision map generation method and device and vehicle for generating map
US20230121226A1 (en) Determining weights of points of a point cloud based on geometric features
CN114179832A (en) Lane changing method for autonomous vehicle
CN115019060A (en) Target recognition method, and training method and device of target recognition model
CN115082690B (en) Target recognition method, target recognition model training method and device
CN113850909B (en) Point cloud data processing method and device, electronic equipment and automatic driving equipment
CN115454861A (en) Automatic driving simulation scene construction method and device
CN114970112A (en) Method and device for automatic driving simulation, electronic equipment and storage medium
CN113920174A (en) Point cloud registration method, device, equipment, medium and automatic driving vehicle
EP4083336B1 (en) Method and apparatus for detecting operating terrain, and engineering equipment for detecting operating terrain
WO2024036984A1 (en) Target localization method and related system, and storage medium
CN116678424A (en) High-precision vehicle positioning, vectorization map construction and positioning model training method
CN115830558A (en) Lane line correction method, lane line correction device, electronic device, and storage medium
CN115096322A (en) Information processing method and navigation method

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