High-definition map generation method and device, and vehicle for generating map
By acquiring the trajectory and point cloud data of LiDAR, ground target points are selected and processed in layers, solving the problems of accuracy and efficiency in multi-layer road surface modeling and generating high-precision maps.
Patent Information
- Application Number
- CN202111434989.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-29
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2041-11-29
AI Technical Summary
Existing technologies struggle to accurately model scenarios with overlapping and intersecting multi-layered road surfaces, and the computations are complex and inefficient, making it impossible to generate high-precision maps.
By acquiring the trajectory and point cloud data of the lidar, target points located on the ground are selected, and layered processing is performed based on the three-dimensional coordinates of the target points to generate a grid surface representation of each layer of the road surface.
It enables accurate modeling of multi-layer road surfaces, improves map accuracy and computational efficiency, and generates high-precision maps.
Smart Images

Figure CN114092660B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of computer, in particular to the technical field of high-definition map, and more particularly to a map generation method and device, an electronic device, a computer readable storage medium, a computer program product and a vehicle for generating a map. BACKGROUND
[0002] An electronic map, i.e., a digital map, is a map stored and consulted in a digital way by using computer technology. Various types of map elements are drawn on the electronic map, such as roads, shopping malls, schools, hospitals, landmark buildings, and the like.
[0003] A high-definition map (referred to as a high-definition map for short) is a kind of electronic map. The high-definition map can provide data support for positioning, environment perception, behavior decision, path planning and other tasks of an autonomous vehicle, and is of great significance to autonomous driving.
[0004] The methods described in this section can not have been previously conceived or made. Unless otherwise indicated herein, the methods described in this section are not to be assumed to have been previously conceived or made, merely because they are described in this section. Similarly, any problems mentioned in this section are not to be assumed to have been recognized in the art, merely because they are mentioned in this section. SUMMARY
[0005] The present disclosure provides a map generation method and device, an electronic device, a computer readable storage medium, a computer program product and a vehicle for generating a map.
[0006] According to an aspect of the present disclosure, a map generation method is provided, comprising: obtaining a trajectory of a laser radar and point cloud data collected by the laser radar in the process of moving along the trajectory, the point cloud data comprising 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 road surface; and generating a mesh surface representation of each layer of road surface in the map based on the corresponding point set.
[0007] According to an aspect of the present disclosure, there is provided a map generation apparatus, comprising: an acquisition module configured to acquire a trajectory of a laser radar and point cloud data collected by the laser radar during movement along the trajectory, the point cloud data comprising three-dimensional coordinates of a plurality of sampling points; an extraction module configured to determine, from the plurality of sampling points, a plurality of target points located on a ground surface based on the trajectory; a layering module 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 point set corresponding to a layer of 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 corresponding point set.
[0008] According to an aspect of the present disclosure, there is provided an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the above method.
[0009] According to an aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to perform the above method.
[0010] According to an aspect of the present disclosure, there is provided a computer program product comprising a computer program, wherein the computer program, when executed by a processor, implements the above method.
[0011] According to an aspect of the present disclosure, there is provided a vehicle for generating a map, comprising the above electronic device.
[0012] According to one or more embodiments of the present disclosure, the multi-layer road surface in the map can be accurately modeled, thereby improving the accuracy of the map.
[0013] It should be understood that the contents described in this section are not intended to identify key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent through the following description. BRIEF DESCRIPTION OF DRAWINGS
[0014] The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments and together with the description serve to explain exemplary implementations of the application. The illustrated embodiments are exemplary only and not limiting of the scope of the application. In all the drawings, like reference numerals refer to like parts throughout the several views.
[0015] Figure 1 shows a schematic diagram of an exemplary system in which the various methods described herein can be implemented, in accordance with an embodiment of the present disclosure;
[0016] Figure 2 A flowchart of a map generation method according to an embodiment of the present disclosure is shown;
[0017] Figure 3 A schematic diagram of a laser radar collecting point cloud data according to an embodiment of the present disclosure is shown;
[0018] Figure 4 A schematic diagram of a mesh surface representation according to an embodiment of the present disclosure is shown;
[0019] Figure 5 、 Figure 6 A schematic diagram of updating a third coordinate of a vertex according to an embodiment of the present disclosure is shown;
[0020] Figure 7 A structural block diagram of a map generation apparatus according to an embodiment of the present disclosure is shown; and
[0021] Figure 8 A structural block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0022] Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, which include various details of the embodiments of the present disclosure to assist in understanding, which should be considered in a descriptive sense only. It will thus be appreciated that various modifications and changes can be made to the embodiments described here without departing from the scope of the present disclosure. Likewise, the description and the examples are intended to be illustrative only and are not intended to limit the scope of the present disclosure. In order to clearly illustrate the present disclosure, descriptions of well-known functions and structures are omitted.
[0023] In the present disclosure, the terms "first", "second", and the like are used to describe various elements only and do not intend to limit the positional relationship, the time sequence relationship, or the importance relationship of these elements. Such terms are only used to distinguish one element from another element. In some examples, the first element and the second element can refer to the same instance of the element, and in some cases, based on the context of the description, they can also refer to different instances.
[0024] The terms used in the description of various described examples in the present disclosure are only for the purpose of describing specific examples and are not intended to be limiting. Unless the number of elements is specifically limited, the element can be one or more than one, unless the context clearly indicates otherwise. In addition, the term "and / or" used in the present disclosure encompasses any one of the listed items and all possible combinations thereof.
[0025] In the technical solutions of the present disclosure, the acquisition, storage, and application of user personal information involved comply with relevant laws and regulations and do not violate public order and good customs.
[0026] A high-definition map can provide data support for positioning, environment perception, behavior decision, path planning and other tasks of an autonomous vehicle. In order to generate a high-definition map, a road surface needs to be modeled. On the basis of an established road surface model, road surface elements (such as lane lines, pedestrian crossings, etc.) are further labeled. Accurate modeling of the road surface is the basis for accurately labeling road surface elements.
[0027] In the related art, a surface reconstruction technique, such as a Poisson surface reconstruction technique, is usually used to perform surface reconstruction based on ground point cloud data collected by a lidar to generate a mesh surface model of the road surface. The above method is not applicable to a scenario in which multiple layers of road surfaces are staggered and overlapped (such as an overpass), and cannot accurately model multiple layers of road surfaces. In addition, the above method is complex and computationally intensive, and has low computational efficiency.
[0028] To this end, embodiments of the present disclosure provide a map generation method that can accurately and efficiently model multiple layers of road surfaces that overlap in an area, thereby improving the accuracy of the map and generating a high-definition map.
[0029] Embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0030] Figure 1 A schematic diagram of an example system 100 in which the various methods and apparatus described herein can be implemented according to embodiments of the present disclosure is shown. Referring to Figure 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.
[0031] In embodiments of the present disclosure, the motor vehicle 110 can include an electronic device according to embodiments of the present disclosure and / or be configured to perform a method according to embodiments of the present disclosure.
[0032] The server 120 can run one or more services or software applications that enable the execution of a map generation method. In certain embodiments, the server 120 can also provide other services or software applications that can include non-virtual environments and virtual environments. In Figure 1In the illustrated configuration, server 120 can include one or more components that implement functionality performed by server 120. These components can include software components that are executable by one or more processors, hardware components, or a combination thereof. Users of motor vehicles 110 can in turn utilize one or more client applications to interact with server 120 to utilize services provided by these components. It should be understood that various different system configurations are possible, which can vary from system 100. Thus, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
[0033] Server 120 can include one or more general purpose computers, special purpose server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other appropriate arrangement and / or combination. Server 120 can include one or more virtual machines running a virtual operating system, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that can be virtualized to maintain virtual storage devices for servers). In various embodiments, server 120 can run one or more services or software applications that provide the functionality described below.
[0034] Computing units in server 120 can run one or more operating systems including any of the operating systems described above, as well as any commercially available server operating systems. Server 120 can also run any of a variety of additional server applications and / or mid-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.
[0035] In some implementations, server 120 can include one or more applications to analyze and consolidate data feeds and / or event updates received from motor vehicles 110. Server 120 can also include one or more applications to display the data feeds and / or real-time events via one or more display devices of motor vehicles 110.
[0036] Network 130 can be any type of network familiar to those skilled in the art that can support data communications using any of a variety of available protocols, including without limitation TCP / IP, SNA, IPX, etc. As an example only, one or more networks 110 can be satellite communication networks, local area networks (LANs), wide area networks (WANs), Ethernet networks, Token Ring networks, virtual private networks (VPNs), intranets, Extranets, the Internet, peer-to-peer communications, wireless networks (including, for example, Bluetooth, Wi-Fi, and / or IEEE 802.11), and / or any combination of these and / or other networks.
[0037] The system 100 can also include one or more databases 150. In certain embodiments, these databases can be used to store data and other information. For example, one or more of the databases 150 can be used to store information such as audio files and video files. The data stores 150 can reside in various locations. For example, a data store used by the server 120 can be local to the server 120, or can be remote from the server 120 and can communicate with the server 120 via a network- or dedicated-based connection. The data stores 150 can be of different types. In certain embodiments, a data store used by the server 120 can be a database, such as a relational database. One or more of these databases can store, update, and retrieve data to and from the database in response to commands.
[0038] In certain embodiments, one or more of the databases 150 can also be used by the applications to store application data. The databases used by the applications can be different types of databases, such as key-value stores, object stores, or regular stores backed by a file system.
[0039] The motor vehicle 110 can include sensors 111 for perceiving the surrounding environment. The sensors 111 can include one or more of the following sensors: visual camera, infrared camera, ultrasonic sensor, millimeter wave radar, and laser radar (LiDAR). Different sensors can provide different detection accuracy and range. The camera can be installed at the front, rear, or other positions of the vehicle. The visual camera can capture the situation inside and outside the vehicle in real time and present it to the driver and / or passenger. In addition, through analysis of the pictures captured by the visual camera, information such as traffic signal indication, intersection situation, other vehicle operating state, etc. can be obtained. The infrared camera can capture objects in night vision conditions. The ultrasonic sensor can be installed around the vehicle to measure the distance of objects outside the vehicle from the vehicle by taking advantage of the strong directivity of ultrasonic waves. The millimeter wave radar can be installed at the front, rear, or other positions of the vehicle to measure the distance of objects outside the vehicle from the vehicle by taking advantage of the characteristics of electromagnetic waves. The laser radar can be installed at the front, rear, or other positions of the vehicle to detect object edges, shape information, and thus perform object recognition and tracking. Due to the Doppler effect, the radar device can also measure the speed change of the vehicle and moving objects.
[0040] The motor vehicle 110 can also comprise a communication device 112. The communication device 112 can comprise a satellite positioning module capable of receiving satellite positioning signals (e.g. Beidou, GPS, GLONASS and GALILEO) from satellites 141 and generating coordinates based on these signals. The communication device 112 can also comprise a module for communicating with mobile communication base stations 142, which can implement any suitable communication technology, such as GSM / GPRS, CDMA, LTE, etc. current or evolving wireless communication technologies (e.g. 5G technology). The communication device 112 can also have a vehicle-to-everything (V2X) module configured for implementing vehicle-to-vehicle (V2V) communication with other vehicles 143 and vehicle-to-infrastructure (V2I) communication with infrastructure 144, for example. In addition, the communication device 112 can also have a module configured to communicate with user terminals 145 (including but not limited to smartphones, tablets or wearable devices such as watches) for example through a wireless local area network using the IEEE 802.11 standard or Bluetooth. With the communication device 112, the motor vehicle 110 can also access the server 120 via the network 130.
[0041] The motor vehicle 110 can also comprise a control device 113. The control device 113 can comprise a processor, such as a central processing unit (CPU) or a graphics processing unit (GPU), or other specialized processors, in communication with various types of computer readable storage devices or media. The control device 113 can comprise an autonomous driving system for automatically controlling various actuators in the vehicle. The autonomous driving system is configured to control the powertrain, steering system and braking system, etc. of the motor vehicle 110 (not shown) via a plurality of actuators to control acceleration, steering and braking, respectively, in response to inputs from a plurality of sensors 111 or other input devices, without or with limited human intervention. Part of the processing functions of the control device 113 can be implemented through cloud computing. For example, some processing can be performed using an on-board processor, while other processing can be performed using computing resources in the cloud. The control device 113 can be configured to perform methods according to the present disclosure. In addition, the control device 113 can be implemented as an example of an electronic device on the motor vehicle side (client) according to the present disclosure.
[0042] Figure 1 The system 100 can be configured and operated in various ways to enable the application of various methods and devices described according to the present disclosure.
[0043] According to some embodiments, Figure 1The motor vehicle 110 shown in
[0044] Further, according to some embodiments, the map generated based on the map generation method of the embodiments of the present disclosure can be sent to the motor vehicle 110 as a high-definition map, providing data support for the autonomous driving of the motor vehicle 110.
[0045] Figure 2 A flowchart of the map generation method 200 according to the embodiments of the present disclosure is shown. The method 200 can be executed at a motor vehicle (for example, the motor vehicle 110 shown in Figure 1 ) or at a server (for example, the server 120 shown in Figure 1 ). That is, the execution subject of each step of the method 200 can be the motor vehicle 110 shown in Figure 1 (in particular, the control device 113 in the motor vehicle 110) or the server 120 shown in Figure 1 .
[0046] As shown in Figure 2 , the method 200 includes steps 210-240.
[0047] In step 210, the trajectory of the laser radar and the point cloud data collected by the laser radar during movement along the trajectory are obtained, and the point cloud data includes the three-dimensional coordinates of a plurality of sampling points.
[0048] In step 220, based on the trajectory, a plurality of target points on the ground are determined from the plurality of sampling points.
[0049] In step 230, based on the three-dimensional coordinates of the plurality of target points, the plurality of target points are divided into at least one point set, and each point set corresponds to a layer of road surface.
[0050] In step 240, based on the corresponding point set, a grid surface representation of each layer of road surface in the map is generated.
[0051] According to an embodiment of the present disclosure, multi-layer road surfaces in a map can be accurately modeled, thereby improving the accuracy of the map. Specifically, based on a trajectory of a lidar, point cloud data is filtered to obtain a plurality of target points (i.e., ground point cloud) located on the ground, which can effectively remove noise points in the point cloud data that do not belong to the ground, thereby improving the accuracy of road surface modeling. By performing hierarchical processing on the plurality of target points, a point set corresponding to each layer of road surface can be obtained. Based on the corresponding point set, a mesh surface representation of each layer of road surface is generated, which can achieve accurate modeling of multi-layer road surfaces.
[0052] The following describes each step of the method 200 in detail.
[0053] In step 210, a trajectory of a lidar and point cloud data collected by the lidar during movement along the trajectory are obtained, and the point cloud data includes three-dimensional coordinates of a plurality of sampling points.
[0054] The lidar may, for example, be mounted on the roof of a vehicle (e.g., an automobile 110 as shown). During driving of the vehicle, the lidar moves with the vehicle and collects point cloud data of the surrounding environment. Figure 1
[0055] Figure 3 A schematic diagram of a lidar collecting point cloud data according to an embodiment of the present disclosure is shown. As shown, a vehicle 310 is provided with a lidar 312 on the top thereof. The vehicle 310 drives in a road 320 in a direction indicated by an arrow 322. During driving of the vehicle 310, the lidar 312 emits a laser beam 314 to the surrounding environment and receives laser signals reflected from the surfaces of environmental objects (e.g., the ground, a tree 324, etc.), thereby collecting point cloud data of the surfaces of the environmental objects. Figure 3
[0056] In the embodiment shown, the vehicle 310 gradually drives away from the road 320 and drives into a road 330. The road 330 is located above the road 320 (i.e., has a higher altitude than the road 320). From a top-down perspective, the road 330 is staggered and overlapped with the road 320. The vehicle 310 drives in the road 330 in a direction indicated by an arrow 332. As shown, during driving of the vehicle 310 along the road 330, the laser beam 314 emitted by the lidar 312 is partially incident on the road surface of the road 330 and partially incident on the road surface of the road 320. Therefore, the point cloud data collected by the lidar 312 can correspond to different road surfaces. Figure 3 Figure 3
[0057] The point cloud data collected by the laser radar includes a large number of sampling points, and each sampling point includes three-dimensional coordinates (i.e., x coordinate, y coordinate, and z coordinate) for representing a spatial position of the sampling point. Among them, the x coordinate (first coordinate) and the y coordinate (second coordinate) are used to represent the position of the sampling point in the horizontal direction; and 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. Generally, each sampling point further includes a laser reflection intensity and an attitude angle (including a yaw angle, a pitch angle, and a roll angle) relative to the laser radar.
[0058] It should be noted that the three-dimensional coordinates collected by the laser radar can be three-dimensional coordinates in an arbitrarily selected coordinate system. The selected coordinate system may, for example, be a vehicle coordinate system, a laser radar coordinate system, a world coordinate system (for example, a UTM coordinate system, a WGS84 coordinate system, etc.), or the like. It can be understood that the three-dimensional coordinates in different coordinate systems can be converted to each other.
[0059] According to some embodiments, in order to facilitate generation of the grid surface representation of each layer of the road surface in the subsequent steps, the three-dimensional coordinates of the sampling points collected by the laser radar are converted to the world coordinate system, i.e., the three-dimensional coordinates in step 210 refer to three-dimensional coordinates in the world coordinate system (for example, a UTM coordinate system).
[0060] According to some embodiments, a satellite positioning module is arranged on the motor vehicle on which the laser radar is located. In the process of moving of the laser radar with the motor vehicle, the satellite positioning module receives satellite positioning signals, and determines the positions of the laser radar at different times, i.e., the trajectory points of the laser radar, by performing certain processing on the satellite positioning signals, such as real-time dynamic measurement (RTK) processing, coordinate transformation processing, or the like. The trajectory points of the laser radar at different times form the trajectory of the laser radar.
[0061] The trajectory points can be represented by three-dimensional coordinates. According to some embodiments, in order to facilitate generation of the grid surface representation of each layer of the road surface in the subsequent steps, the three-dimensional coordinates adopted by the trajectory points are three-dimensional coordinates in the world coordinate system (for example, a UTM coordinate system).
[0062] In step 220, based on the trajectory of the laser radar, a plurality of target points located on the ground are determined from the plurality of sampling points included in the point cloud data.
[0063] In the embodiments of the present disclosure, the ground is a collection of road surfaces, i.e., the ground includes at least one layer of road surface. The road surface refers to the surface of the road.
[0064] According to some embodiments, in step 220, a mounting height of the lidar on the vehicle can be obtained; based on the mounting height, a plurality of ground points respectively corresponding to the plurality of track points can be determined; a set of associated points of each ground point can be determined, the set of associated points including at least one sampling point having a distance to the ground point less than or equal to a first threshold; and the sampling points in the set of associated points of the plurality of ground points can be taken as the plurality of target points.
[0065] According to the above embodiments, based on the track of the lidar and the mounting height of the lidar on the vehicle, a ground track corresponding to the track can be obtained, i.e., a plurality of ground points. Based on the ground points, the point cloud data can be filtered to effectively remove noise points in the point cloud data that do not belong to the ground, reduce the extraction error of target points that belong to the ground, and thus improve the accuracy of road surface modeling.
[0066] The mounting height of the lidar on the vehicle refers to the height of the lidar relative to the lowest point of the tire. The coordinates (i.e., the third coordinates, z coordinates) of each track point in the height direction are subtracted by the mounting height, and thus the ground point corresponding to each track point can be obtained.
[0067] The set of associated points of a ground point includes at least one sampling point having a distance to the ground point less than or equal to a first threshold. The first threshold can be any value, such as 50 cm, 100 cm, etc. The sampling points in the set of associated points of each ground point are target points located on the ground.
[0068] According to some embodiments, for each ground point, a plane on which the ground point is located can be fitted based on the set of associated points of the ground point; and the sampling points in the set of associated points having a distance to the plane greater than a second threshold can be deleted. Based on this embodiment, the sampling points far from the ground can be removed as noise points, thereby reducing the extraction error of target points and improving the accuracy of road surface modeling.
[0069] In step 230, based on the three-dimensional coordinates of the plurality of target points, the plurality of target points can be divided into at least one point set, each point set corresponding to one layer of road surface.
[0070] According to some embodiments, based on the first coordinates (x coordinates) and the second coordinates (y coordinates) of the target points, the space in which the plurality of target points obtained in step 120 is located can be divided into a plurality of first subspaces, each first subspace corresponding to a first coordinate range (x coordinate range) and a second coordinate range (y coordinate range). Subsequently, based on the third coordinates (z coordinates), the target points in each first subspace can be clustered to obtain at least one sub-point set, each sub-point set corresponding to a third coordinate range. Subsequently, the sub-point sets having overlapping third coordinate ranges of adjacent first subspaces can be merged to obtain at least one point set.
[0071] In the above embodiments, each first subspace corresponds to a first coordinate range and a second coordinate range, i.e., each first subspace is a columnar space with a square cross section extending along the height direction. The first coordinates of the target points located in the same first subspace belong to the same first coordinate range, and the second coordinates of the target points located in the same first subspace belong to the same second coordinate range.
[0072] For example, a first subspace S corresponds to a first coordinate range [x0, x1) and a second coordinate range [y0, y1). For any target point P(x, y, z) in the first subspace S, x ∈ [x0, x1) and y ∈ [y0, y1).
[0073] For each first subspace, the target points in the first subspace are clustered 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, each sub-point set including a certain number of target points.
[0074] Any clustering algorithm can be used to cluster the target points. For example, a density-based clustering algorithm (e.g., DBSCAN algorithm) can be used to cluster the target points. Such a clustering algorithm usually does not need to specify the number of classes, i.e., does not need to specify the number of sub-point sets, and can automatically aggregate the target points into a certain number of sub-point sets. Further, two sub-point sets whose class centers (i.e., the average of the third coordinates of the target points in the sub-point sets) are less than a threshold distance apart can be combined into one sub-point set, thereby avoiding over-layering of the target points. The threshold can be determined according to the actual height of the road, e.g., the threshold can be set to 1.5 m.
[0075] In other embodiments, a mean clustering algorithm (e.g., K-means algorithm) can also be used to cluster the target points. Such a clustering algorithm usually needs to specify the number of classes, i.e., needs to specify the number of sub-point sets. In order to ensure that target points corresponding to different road surfaces can be distinguished, the number of sub-point sets is usually set to be slightly larger than the actual value, e.g., set to 5, i.e., the target points in the first subspace are divided into 5 sub-point sets. Subsequently, two sub-point sets whose class centers (i.e., the average of the third coordinates of the target points in the sub-point sets) are less than a threshold (e.g., 1.5 m) distance apart can be combined into one sub-point set.
[0076] After the sub-point set is obtained by clustering, a third coordinate range corresponding to the sub-point set can be determined. The third coordinate range is a range from a minimum value of the third coordinates of the target points in the sub-point set to a minimum value of the third coordinates of the target points in the sub-point set. For example, the third coordinates of three target points in a sub-point set are 3000 m, 3000.5 m and 3000.2 m respectively, and the third coordinate range corresponding to the sub-point set is [3000 m, 3000.5 m].
[0077] After the target points in the first subspace are clustered to obtain at least one sub-point set, the third coordinate ranges of adjacent first subspaces existing in the overlapping sub-point set are merged to obtain at least one point set.
[0078] A simple example is used to illustrate the point set division process of step 230:
[0079] The space in which the target points obtained in step 220 are located is divided into a first subspace S1 and a first subspace S2. The first subspace S1 and the first subspace S2 are adjacent.
[0080] The first coordinate range corresponding to the first subspace S1 is [x0, x1), and the second coordinate range corresponding thereto is [y0, y1). The target points in the first subspace S1 are clustered to obtain sub-point sets T1 and T2. The third coordinate range corresponding to the sub-point set T1 is [3000 m, 3000.3 m], and the third coordinate range corresponding to the sub-point set T2 is [3001.5 m, 3001.8 m].
[0081] The first coordinate range corresponding to the second subspace S2 is [x0, x1), and the second coordinate range corresponding thereto is [y1, y2). The target points in the first subspace S2 are clustered to obtain sub-point sets T3 and T4. The third coordinate range corresponding to the sub-point set T3 is [3001.7 m, 3001.9 m], and the third coordinate range corresponding to the sub-point set T4 is [2999.8 m, 3000.1 m].
[0082] The first subspace S1 and the first subspace S2 are adjacent. The third coordinate range [3000 m, 3000.3 m] corresponding to the sub-point set T1 overlaps with the third coordinate range [2999.8 m, 3000.1 m] corresponding to the sub-point set T4 (the overlapping part is [3000 m, 3000.1 m]), and therefore the sub-point set T1 and the sub-point set T4 are merged to obtain a point set U1, and the point set U1 corresponds to the first layer of the road surface.
[0083] The third coordinate range [3001.7m, 3001.9m] corresponding to the sub-point set T3 overlaps with the third coordinate range [3001.5m, 3001.8m] corresponding to the sub-point set T2 (the overlapping part is [3001.7m, 3001.8m]), and thus the sub-point set T2 and the sub-point set T3 are merged to obtain a point set U2, and the point set U2 corresponds to the second layer of the road surface.
[0084] In step 240, a mesh surface representation of each layer of the road surface in the map is generated based on the corresponding point set.
[0085] The mesh surface representation is a mesh surface model. The mesh surface representation includes a plurality of meshes, and each mesh includes a plurality of vertices. The mesh is the smallest unit for constructing a surface, which can be, for example, a triangle, a square, or the like.
[0086] Figure 4 A schematic diagram of a mesh surface representation 400 according to an embodiment of the present disclosure is shown. As shown, the mesh surface representation 400 is composed of a plurality of triangular meshes 410, and each mesh 410 includes three vertices. Figure 4
[0087] According to some embodiments, the mesh surface representation of the road surface can be generated in the following steps 242-246.
[0088] In step 242, based on the partitioning of the plurality of meshes in the mesh surface representation, the first coordinate and the second coordinate of each vertex of each mesh in the horizontal direction are determined.
[0089] In step 244, for each vertex, an initial value of the third coordinate of the vertex is determined based on the third coordinate of the neighborhood target point of the vertex in the height direction, where the neighborhood target point is a target point with a distance less than a third threshold to the vertex.
[0090] In step 246, the third coordinate of each vertex is updated based on the plane equation corresponding to the vertex, where the plane equation is fitted based on the point set corresponding to the road surface.
[0091] According to the above embodiments, the third coordinates of the vertices of the meshes are updated by using the plane fitting method, and compared with the surface reconstruction technology such as Poisson surface reconstruction in the related art, the calculation amount is small, and the calculation efficiency is high.
[0092] According to some embodiments, for step 242, the grid can be divided in a plane composed of a first coordinate axis (X-axis) and a second coordinate axis (Y-axis). For example, the XOY plane (i.e. the plane where the X-axis and the Y-axis lie, O being the coordinate origin) can be equally divided into rectangular regions under a world coordinate system (e.g. UTM coordinate system), and each rectangular region can be divided into four triangular grids by connecting the opposite vertices of the rectangular region.
[0093] The size of a single grid can be set by those skilled in the art as needed. For a high-definition map, the side length of a single grid is usually set to be on the order of cm, for example, 3 cm. After setting the size of the grid, the first coordinate and the second coordinate of the vertices of the grid can be determined accordingly.
[0094] According to some embodiments, for step 244, the average value of the third coordinates of the neighboring target points of a vertex can be taken as the initial value of the third coordinate of the vertex. The neighboring target points of a vertex are the target points whose distance to the vertex is less than a third threshold. The third threshold can be set to be 5 cm, 10 cm, etc.
[0095] According to some embodiments, for step 246, the third coordinate of a vertex can be further updated by the following steps:
[0096] First, the space where the point set corresponding to the current road surface lies is divided into multiple second subspaces, and each second subspace corresponds to a first coordinate range and a second coordinate range in the horizontal direction.
[0097] Subsequently, for each second subspace, the following updating steps are performed: plane fitting is performed on the target points in the second subspace to obtain a plane equation corresponding to each second subspace. Based on the plane equation, the third coordinate of each vertex in the second subspace is updated. It is determined whether the projection area of the second subspace in the horizontal direction is greater than a fourth threshold. If yes, the second subspace is divided into multiple third subspaces, and each third subspace is taken as the second subspace to continue the updating step. If no, the updating step is terminated, i.e. the third coordinate of each vertex is updated, thereby obtaining the grid surface representation of the current road surface.
[0098] According to the above embodiments, the plane equation can be iteratively optimized in the order from coarse to fine, and the third coordinate of each vertex can be updated, so that the updated third coordinate of each vertex is smooth and accurate.
[0099] In the above embodiments, the plane equation obtained through plane fitting can be of the form Ax + By + Cz + D = 0. Here, A, B, C, and D are constant parameters to be fitted, and x, y, and z are variables. According to some embodiments, during the plane fitting process, the optimization objective can be to continuously update the values of A, B, C, and D by reducing the sum of the distances from each vertex to the fitted plane. This optimization objective can be expressed by the following formula:
[0100]
[0101] Where Γ is the set of three-dimensional coordinate vectors of the target points in the second subspace, and p is the three-dimensional coordinate vector of the target points in the second subspace. a p b p c Let be the three-dimensional coordinate vectors of the three vertices of the triangular mesh, and ||||2 denotes the calculation of the L2 norm.
[0102] According to some embodiments, constraints can be added during the plane fitting process. These constraints may include, for example, minimizing the sum of squares of the differences in the third coordinates of adjacent vertices, thereby making the third coordinates of each vertex smoother. This constraint can be expressed, for example, as follows:
[0103]
[0104] Where, p a p b p c Let p be the three-dimensional coordinate vectors of the three vertices of the triangular mesh. a z p b z p c z These are the third coordinates of the three vertices, i.e., the z-coordinates.
[0105] The following combination Figure 5 , Figure 6 This will illustrate the process of updating the third coordinates of each vertex.
[0106] By dividing the space containing the point set corresponding to the current road surface, multiple second subspaces are obtained. Figure 5 A schematic diagram of one of the second subspaces 500 is shown.
[0107] like Figure 5 As shown, the second subspace 500 includes multiple target points 510. Plane fitting is performed on the multiple target points 510 in the second subspace 500 to obtain the plane equation func1. Figure 5 Substitute the first and second coordinates of each vertex into the plane equation func1 to obtain the updated third coordinates of each vertex.
[0108] Since the projection area of the second subspace 500 in the horizontal direction is greater than the fourth threshold value, the second subspace 500 is divided into 4 third subspaces 600, and each third subspace 600 is taken as a new second subspace to continue updating the third coordinates of the vertices. Figure 6 A schematic diagram of the new second subspace 600 is shown.
[0109] As Figure 6 shown, plane fitting is continued on the target points in the second subspace 600 to obtain a plane equation func2. The first and second coordinates of each vertex in the second subspace 600 are substituted into the plane equation func2 to obtain the updated third coordinates of each vertex. Figure 6
[0110] Since the projection area of the second subspace 600 in the horizontal direction is greater than the fourth threshold value, the second subspace 600 is divided into 4 third subspaces 610, and each third subspace 610 is taken as a new second subspace to continue updating the third coordinates of the vertices.
[0111] The above plane fitting-vertex third coordinate updating steps can be executed multiple times in a loop until the projection area of the second subspace in the horizontal direction is less than or equal to the fourth threshold value.
[0112] According to some embodiments, after generating the mesh surface representation of each road surface through step 240, the mesh surface representation can also be smoothed to make the mesh surface representation smoother and more realistic.
[0113] Specifically, according to some embodiments, the mesh surface representation can be smoothed in a mean filtering manner, that is, a to-be-smoothed vertex is determined from the plurality of vertices included in the mesh surface representation, where the difference between the third coordinate of the to-be-smoothed vertex and the average of the third coordinates of its adjacent vertices is greater than a fifth threshold value; and the third coordinate of the to-be-smoothed vertex is updated to the average. Smoothing the mesh surface representation in a mean filtering manner can improve the calculation efficiency.
[0114] According to embodiments of the present disclosure, a map generation device is also provided. Figure 7 A structural block diagram of a map generation device 700 according to embodiments of the present disclosure is shown. As Figure 7 shown, the device 700 includes:
[0115] The acquisition module 710 is configured to acquire a trajectory of a laser radar and point cloud data collected by the laser radar during movement along the trajectory, the point cloud data including three-dimensional coordinates of a plurality of sampling points;
[0116] The extraction module 720 is configured to determine, from the plurality of sampling points, a plurality of target points located on the ground based on the trajectory.
[0117] The layering module 730 is 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 point set corresponding to a layer of road surface.
[0118] The generation module 740 is configured to generate a mesh surface representation of each layer of road surface in the map based on the corresponding point set.
[0119] According to embodiments of the present disclosure, multi-layer road surfaces in a map can be accurately modeled, thereby improving the accuracy of the map.
[0120] According to some embodiments, the laser radar is mounted on a vehicle, the trajectory includes a plurality of trajectory points, and the extraction module 720 includes: an acquisition unit configured to acquire a mounting height of the laser radar on the vehicle; a first determination unit configured to determine, based on the mounting height, a plurality of ground points corresponding to the plurality of trajectory points respectively; a second determination unit configured to determine an associated point set of each ground point, the associated point set including at least one sampling point having a distance to the ground point less than or equal to a first threshold; and a summary unit configured to take the sampling points in the associated point sets of the plurality of ground points as the plurality of target points.
[0121] According to some embodiments, the three-dimensional coordinates include a first coordinate, a second coordinate in a horizontal direction, and a third coordinate in a height direction, and the layering module 730 includes: a first division unit configured to divide a space in which the plurality of target points are located into a plurality of first subspaces, each first subspace corresponding to a first coordinate range and a second coordinate range; a clustering unit configured to cluster target points in each first subspace based on the third coordinate to obtain at least one sub-point set, each sub-point set corresponding to a third coordinate range; and a splicing unit configured to merge sub-point sets having overlapping third coordinate ranges of adjacent first subspaces to obtain the at least one point set.
[0122] According to some embodiments, the mesh surface representation comprises a plurality of meshes, each mesh comprising a plurality of vertices, the generating module 740 comprises: a third determining unit configured to determine, based on a partition of the plurality of meshes, a first coordinate and a second coordinate of each vertex of each mesh in the horizontal direction; an initial determining unit configured to, for each vertex, determine an initial value of the 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 having a distance to the vertex less than a third threshold; and an updating unit configured to update the third coordinate of each vertex based on a plane equation corresponding to the vertex, wherein the plane equation is fitted based on the point set.
[0123] According to some embodiments, the updating unit comprises: a second partition unit configured to partition a space in which the point set is located into a plurality of second subspaces, each second subspace corresponding to a first coordinate range and a second coordinate range in the horizontal direction; and a loop updating unit configured to, for each second subspace, perform the following updating steps: performing plane fitting on target points in the second subspace to obtain a plane equation corresponding to each second subspace; updating the third coordinate of each vertex in the second subspace based on the plane equation; and in response to a projection area of the second subspace in the horizontal direction being greater than a fourth threshold, partitioning the second subspace into a plurality of third subspaces, and taking each third subspace as the second subspace to continue performing the updating steps.
[0124] According to some embodiments, the plane fitting comprises a constraint condition, the constraint condition comprising minimizing a sum of squares of differences between third coordinates of adjacent vertices.
[0125] According to some embodiments, the apparatus 700 further comprises a smoothing module configured to perform smoothing processing on the mesh surface representation.
[0126] It should be understood that Figure 7 The various modules or units of the apparatus 700 shown in FIG. 7 can correspond to the various steps of the method 200 described with reference to FIG. 6. Thus, the operations, features and advantages described above with respect to the method 200 apply equally to the apparatus 700 and the modules and units included therein. For the sake of brevity, certain operations, features and advantages are not described again here. Figure 2 Although specific functions are discussed above with reference to specific modules, it should be noted that the functions of the various modules discussed herein can be split into multiple modules, and / or at least some of the functions of multiple modules can be combined into a single module. For example, the obtaining module 710 and the extracting module 720 described above can be combined into a single module in some embodiments.
[0127]
[0128] It should also be understood that various techniques described herein can be implemented in the context of software executed by hardware or in the context of hardware alone (including, for example, a processor and / or circuitry). The terms "machine-readable storage medium" or "computer-readable storage medium" refer to any hardware medium that participates in providing data, instructions, and / or code to the hardware of a machine (e.g., generally, any or all of a computer's Figure 7 The various modules described can be implemented in hardware or in hardware combined with software and / or firmware. For example, the modules can 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 can be implemented as hardware logic / circuitry. For example, in some embodiments, one or more of the modules 710-740 can be implemented together in a System on Chip (SoC). The SoC can include an integrated circuit chip (which includes one or more of a processor (e.g., a Central Processing Unit (CPU), a microcontroller, a microprocessor, a Digital Signal Processor (DSP), etc.), memory, one or more communication interfaces, and / or other circuitry) and can optionally execute received program code and / or include embedded firmware to perform functions.
[0129] According to an embodiment of the present disclosure, an electronic device is also provided, comprising: at least one processor; and a memory connected with the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the above map generation method.
[0130] According to an embodiment of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is also provided, wherein the computer instructions are used to enable the computer to perform the above map generation method.
[0131] According to an embodiment of the present disclosure, a computer program product is also provided, comprising a computer program, wherein the computer program, when executed by a processor, implements the above map generation method.
[0132] According to an embodiment of the present disclosure, a vehicle for generating a map is also provided, comprising the above electronic device.
[0133] Reference is made to Figure 8The present invention describes a structural block diagram of an electronic device 800 that can serve as a server or client of the present disclosure, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0134] like Figure 8 As shown, the electronic device 800 includes a computing unit 801, which 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. The RAM 803 may also store various programs and data required for the operation of the electronic device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0135] Multiple components in electronic device 800 are connected to I / O interface 805, including: input unit 806, output unit 807, storage unit 808, and communication unit 809. Input unit 806 can be any type of device capable of inputting information to electronic device 800. Input unit 806 can receive input digital or character information and generate key signal inputs related to user settings and / or function control of electronic device, and can include, but is not limited to, a mouse, keyboard, touchscreen, trackpad, trackball, joystick, microphone, and / or remote control. Output unit 807 can be any type of device capable of presenting information, and can include, but is not limited to, a monitor, speaker, video / audio output terminal, vibrator, and / or printer. Storage unit 808 can include, but is not limited to, disk and optical disk. Communication unit 809 allows electronic device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks, and can include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers, and / or chipsets such as Bluetooth. TM Equipment, 802.11 equipment, Wi-Fi equipment, WiMAX equipment, cellular communication equipment and / or the like.
[0136] The computing unit 801 can be various 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 specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs various methods and processes described above, such as the method 200. For example, in some embodiments, the method 200 can 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 the computer program is loaded onto the RAM 803 and executed by the computing unit 801, one or more steps of the method 200 described above can be performed. Alternatively, in other embodiments, the computing unit 801 can be configured to perform the method 200 by any other suitable means, such as by means of firmware.
[0137] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a complex programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0138] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces the functions / operations specified in the flowcharts and / or the block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine and partially on a remote machine or entirely on a remote machine or server.
[0139] In the context of this disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can 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 the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, 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.
[0140] 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 the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; 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 can be received in any form, including acoustic, speech, or tactile input.
[0141] 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 a local area network (LAN), a wide area network (WAN), and the Internet.
[0142] The computer system can 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 can be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0143] It should be understood that the various forms of flow illustrated above can be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technology disclosed in the present disclosure can be achieved, which is not limited herein.
[0144] While embodiments or examples of the present disclosure have been described with reference to the drawings, it should be understood that the above-described methods, systems, and devices are merely exemplary embodiments or examples, and the scope of the present disclosure is not limited by these embodiments or examples, but is only limited by the claims and their equivalents. Various elements in the embodiments or examples can be omitted or replaced by equivalent elements thereof. In addition, each step can be performed in an order different from that described in the present disclosure. Further, various elements in the embodiments or examples can be combined in various ways. It is important that many of the elements described herein can be replaced by equivalent elements that appear after the present disclosure as technology evolves.
Claims
1. A method for generating a map, comprising: obtaining a trajectory of a laser radar and point cloud data collected by the laser radar during movement along the trajectory, the point cloud data comprising three-dimensional coordinates of a plurality of sampling points; determining, based on the trajectory, a plurality of target points on the ground from the plurality of sampling points; dividing, based on the three-dimensional coordinates of the plurality of target points, the plurality of target points into at least one point set, each point set corresponding to a layer of road surface; and generating, based on the corresponding point set, a mesh surface representation of each layer of road surface in the map, wherein the mesh surface representation comprises a plurality of meshes, each mesh comprising a plurality of vertices, and the generating, based on the corresponding point set, a mesh surface representation of each layer of road surface in the map comprises: determining, based on a division of the plurality of meshes, a first coordinate and a second coordinate of each vertex of the mesh in a horizontal direction; determining, for each vertex, an initial value of a third coordinate of the vertex based on third coordinates of neighborhood target points of the vertex in a height direction, wherein the neighborhood target points are target points having a distance to the vertex less than a third threshold; and updating the third coordinate of each vertex based on a plane equation corresponding to the vertex, wherein the plane equation is fitted based on the point set. the laser radar 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 on the ground from the plurality of sampling points comprises:
2. The method of claim 1, wherein, obtaining a mounting height of the laser radar on the vehicle; determining, based on the mounting height, a plurality of ground points corresponding to the plurality of trajectory points, respectively; 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 sets 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 on which the ground point lies based on the associated point set of the ground point; and deleting, from the associated point set, a sampling point having a distance to the plane greater than a second threshold. the three-dimensional coordinates comprise a first coordinate and a second coordinate in a horizontal direction, and a third coordinate in a height direction, and wherein the dividing, based on the three-dimensional coordinates of the plurality of target points, the plurality of target points into at least one point set comprises: dividing, based on the first coordinate and the second coordinate, a space in which the plurality of target points lie into a plurality of first subspaces, each first subspace corresponding to a first coordinate range and a second coordinate range; 4. The method of any one of claims 1-3, wherein, clustering, based on the third coordinate, target points in each first subspace to obtain at least one sub-point set, each sub-point set corresponding to a third coordinate range; and merging sub-point sets having third coordinate ranges existing in overlap between adjacent first subspaces to obtain the at least one point set. the updating, based on the plane equation corresponding to each vertex, the third coordinate of each vertex comprises: 5. The method of claim 1, wherein, divide a space where the point set is located into a plurality of second subspaces, each second subspace corresponding to a first coordinate range and a second coordinate range in a horizontal direction; for each second subspace, perform the following update steps: perform plane fitting on target points in the second subspace to obtain a plane equation corresponding to each second subspace; update a third coordinate of each vertex in the second subspace based on the plane equation; and in response to a projection area of the second subspace in the horizontal direction being greater than a fourth threshold value, divide the second subspace into a plurality of third subspaces, and continue to perform the update steps for each third subspace as the second subspace.
6. The method of claim 5, wherein, The plane fitting includes a constraint condition, and the constraint condition includes minimizing a sum of squares of third coordinate differences of adjacent vertices.
7. The method of claim 1, further comprising: smoothing the mesh surface representation.
8. The method of claim 7, wherein, The smoothing the mesh surface representation includes: determining a to-be-smoothed vertex from a plurality of vertices included in the mesh surface representation, wherein a difference between a third coordinate of the to-be-smoothed vertex and an average of third coordinates of adjacent vertices of the to-be-smoothed vertex is greater than a fifth threshold value; and updating the third coordinate of the to-be-smoothed vertex to the average.
9. A map generation apparatus, comprising: an acquisition module configured to acquire a trajectory of a laser radar and point cloud data collected by the laser radar during movement along the trajectory, the point cloud data including three-dimensional coordinates of a plurality of sampling points; an extraction module configured to determine, based on the trajectory, a plurality of target points located on a ground surface from the plurality of sampling points; a layering module configured to divide, based on the three-dimensional coordinates of the plurality of target points, the plurality of target points into at least one point set, each point set corresponding to a layer of road surface; and a generation module configured to generate, based on a corresponding point set, a mesh surface representation of each layer of road surface in the map, wherein the mesh surface representation includes a plurality of meshes, each mesh including a plurality of vertices, and the generation module includes: a third determination unit configured to determine, based on a division of the plurality of meshes, a first coordinate and a second coordinate of a vertex of each mesh in a horizontal direction; an initial determination unit configured to determine, for each vertex, an initial value of a third coordinate of the vertex based on third coordinates of neighbor target points of the vertex in a height direction, wherein the neighbor target points are target points having a distance less than a third threshold value from the vertex; and an update unit configured to update the third coordinate of each vertex based on a plane equation corresponding to the vertex, wherein the plane equation is fitted based on the point set. The laser radar is installed on a vehicle, the trajectory includes a plurality of trajectory points, and wherein the extraction module includes:
10. The apparatus of claim 9, wherein, an acquisition unit configured to acquire an installation height of the laser radar on the vehicle; a first determination unit configured to determine, based on the installation height, a plurality of ground points corresponding to the plurality of trajectory points, respectively; a second determining unit configured to determine 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 value; and a summarizing unit configured to summarize the sampling points in the associated point sets of the plurality of ground points as the plurality of target points.
11. The apparatus of claim 9 or 10, wherein, The three-dimensional coordinates comprise a first coordinate and a second coordinate in a horizontal direction, and a third coordinate in a height direction, and wherein the layering module comprises: a first dividing unit configured to divide a space where the plurality of target points are located into a plurality of first subspaces based on the first coordinate and the second coordinate, each first subspace corresponding to a first coordinate range and a second coordinate range; a clustering unit configured to cluster the target points in each first subspace based on the third coordinate to obtain at least one point set, each point set corresponding to a third coordinate range; and a stitching unit configured to merge the point sets whose third coordinate ranges exist in overlap in adjacent first subspaces to obtain the at least one point set.
12. The apparatus of claim 9, wherein, The updating unit comprises: a second dividing unit configured to divide a space where the point set is located into a plurality of second subspaces, each second subspace corresponding to a first coordinate range and a second coordinate range in a horizontal direction; a loop updating unit configured to, for each second subspace, perform the following updating steps: performing plane fitting on the target points in the second subspace to obtain a plane equation corresponding to each second subspace; updating the third coordinates of the vertices in the second subspace based on the plane equation; and in response to a projection area of the second subspace in the horizontal direction being greater than a fourth threshold value, dividing the second subspace into a plurality of third subspaces, and taking each third subspace as the second subspace to continue performing the updating steps.
13. The apparatus of claim 12, wherein, The plane fitting comprises a constraint condition, the constraint condition comprising minimizing a sum of squares of differences in third coordinates of adjacent vertices.
14. The apparatus of claim 9, further comprising: a smoothing module configured to smooth the mesh surface representation.
15. An electronic device, comprising: at least one processor; and a memory connected with the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-8.
16. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to enable the computer to perform the method of any one of claims 1-8.
17. A computer program product comprising a computer program, wherein, The computer program, when executed by a processor, implements the method of any one of claims 1-8.
18. A vehicle for generating a map, comprising the electronic device of claim 15.
Citation Information
Patent Citations
Pavement element determination method and device
CN112740225A