Point cloud data processing method, device and storage medium in map construction
By filtering the accuracy and preset accuracy of GNSS positioning points, determining the pending trajectories, and using SLAM technology to process point cloud data of these trajectories, the problem of low efficiency in processing point cloud data is solved, and efficient and accurate map construction is achieved.
Patent Information
- Application Number
- CN202211366790.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-01
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2042-11-01
AI Technical Summary
When making high-precision maps, the use of SLAM technology to process point cloud data is inefficient, and the processing of large amounts of redundant data affects efficiency.
By obtaining the number of satellites participating in positioning corresponding to each GNSS positioning point in the pending map trajectory, the accuracy assignment of the GNSS positioning point is determined, the pending GNSS positioning points are filtered out, and the pending trajectory is determined based on these points. Then, SLAM technology is used to process the point cloud data corresponding to these trajectories, update the pending map trajectories, and improve the accuracy of the point cloud data.
The efficiency of SLAM technology in processing point cloud data is improved, redundant data processing is reduced, high-precision trajectories are processed to low-precision, and overall map accuracy is improved.
Smart Images

Figure CN115655259B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to point cloud data processing technology for high-precision maps, and in particular to a point cloud data processing method, device, and storage medium in map construction. Background Art
[0002] High-precision maps are widely used in the field of autonomous driving because of their advantages such as high coordinate accuracy and rich road traffic information elements. In the data collection process when making high-precision maps, the vehicle-mounted positioning equipment equipped with the Global Navigation Satellite System (GNSS) and the Inertial Navigation System (INS) obtains the original position and orientation system (POS) data and laser point cloud data (Lidar). And through the Continuously Operating Reference System (CORS) technology, high-precision posture information is obtained and the high-precision posture information is used for the solution of laser point cloud data, thereby obtaining high-precision point cloud data.
[0003] Point cloud data, as the basis for high-precision map production, needs to reach centimeter-level accuracy. In areas with relatively complex natural environments, relying solely on CORS technology cannot make point cloud data reach centimeter-level accuracy. Therefore, Simultaneous Localization And Mapping (SLAM) technology is usually used to extract feature points of point cloud data and perform registration to improve the overall accuracy of point cloud data. However, when SLAM technology is currently used to process point cloud data, all point cloud data is processed, so a large amount of redundant data will be processed, which affects the efficiency of using SLAM technology to process point cloud data.
[0004] In the process of data collection when making high-precision maps, how to improve the efficiency of processing point cloud data using SLAM technology is a problem that needs to be solved. Summary of the invention
[0005] The present application provides a point cloud data processing method and device, and a storage medium in map construction, which are used to solve the problem of how to improve the efficiency of processing point cloud data using SLAM technology during the data collection process when making high-precision maps.
[0006] On the one hand, the present application provides a method for processing point cloud data in map construction, comprising:
[0007] Get the number of satellites participating in positioning corresponding to each GNSS positioning point in the map trajectory to be processed;
[0008] Determine the accuracy value of each GNSS positioning point according to the number of satellites participating in positioning corresponding to each GNSS positioning point, determine a plurality of GNSS positioning points to be processed in the map trajectory to be processed according to the accuracy value of each GNSS positioning point and a preset accuracy value, and determine the trajectory to be processed based on the plurality of GNSS positioning points to be processed;
[0009] Based on the simultaneous positioning and mapping SLAM technology, the point cloud data corresponding to the to-be-processed trajectory is processed to obtain a target processing trajectory, and the to-be-processed map trajectory is updated according to the target processing trajectory to obtain a target map trajectory.
[0010] In one of the embodiments, obtaining the number of satellites participating in positioning corresponding to each GNSS positioning point in the map trajectory to be processed includes:
[0011] Obtain GNSS data, inertial navigation system INS data, and position and attitude system POS data collected by positioning equipment;
[0012] Constructing a map trajectory to be processed based on the POS data;
[0013] For each GNSS positioning point in the map trajectory to be processed, the tightly coupled data of the GNSS data and the INS data of the GNSS positioning point are solved to obtain the number of satellites involved in the solution as the number of satellites involved in the positioning corresponding to the GNSS positioning point.
[0014] In one of the embodiments, the step of determining the accuracy of each GNSS positioning point according to the number of satellites participating in positioning corresponding to each GNSS positioning point, the number of satellites participating in positioning corresponding to each GNSS positioning point, and determining the plurality of GNSS positioning points to be processed in the map trajectory to be processed according to the accuracy value of each GNSS positioning point and the preset accuracy assignment includes:
[0015] For each GNSS positioning point, the precision assignment of the GNSS positioning point is determined according to the number of satellites and the relationship between the number of satellites and the precision assignment, and when the precision assignment of the GNSS positioning point is a preset precision assignment, the GNSS positioning point is determined to be the GNSS positioning point to be processed in the map trajectory to be processed;
[0016] After the step of performing the calculation based on the number of satellites and the relationship between the number of satellites and the precision assignment is performed for each GNSS positioning point, a plurality of GNSS positioning points to be processed in the map trajectory to be processed are obtained.
[0017] In one of the embodiments, determining the trajectory to be processed based on the plurality of GNSS positioning points to be processed comprises:
[0018] Obtaining the times corresponding to the multiple GNSS positioning points to be processed, wherein one GNSS positioning point corresponds to one time;
[0019] When the multiple GNSS positioning points to be processed are positioning points at multiple consecutive moments, a trajectory formed by connecting every two adjacent positioning points in the multiple GNSS positioning points to be processed is determined as the trajectory to be processed.
[0020] In one of the embodiments, when the plurality of GNSS positioning points to be processed are positioning points at a plurality of consecutive moments, determining that a trajectory formed by connecting every two adjacent positioning points in the plurality of GNSS positioning points to be processed is the trajectory to be processed includes:
[0021] When the multiple GNSS positioning points to be processed are positioning points at multiple consecutive moments, if the difference between the start moment and the end moment in the multiple consecutive moments is greater than a preset difference, and / or if the sum of the distances determined based on the distances between every two adjacent positioning points in the multiple GNSS positioning points to be processed is greater than a preset distance,
[0022] Then, a trajectory formed by connecting every two adjacent positioning points of the plurality of GNSS positioning points to be processed is determined as the trajectory to be processed.
[0023] In one embodiment, each GNSS positioning point in the map trajectory to be processed has corresponding POS data, and the method further includes:
[0024] Determine the position information of each positioning point according to the POS data of each positioning point among the multiple GNSS positioning points to be processed;
[0025] Determine the distance between every two adjacent positioning points in the plurality of GNSS positioning points to be processed according to the position information of each positioning point;
[0026] The distance sum is determined according to the distance between every two adjacent positioning points in the plurality of GNSS positioning points to be processed.
[0027] In one embodiment, the step of processing the point cloud data corresponding to the trajectory to be processed based on the SLAM technology to obtain the target processing trajectory includes:
[0028] Based on the SLAM technology, feature extraction is performed on the point cloud data corresponding to the trajectory to be processed, POS data of the trajectory to be processed is matched according to the extracted features, and the POS data of the trajectory to be processed is corrected;
[0029] The target processing trajectory is constructed according to the corrected POS data of the trajectory to be processed.
[0030] In one embodiment, updating the to-be-processed map trajectory according to the target processing trajectory to obtain the target map trajectory comprises:
[0031] Replacing the to-be-processed track in the to-be-processed map track with the target processing track to obtain an initial target map track;
[0032] The initial target map trajectory is smoothed and jump-processed to obtain the target map trajectory.
[0033] On the other hand, the present application provides a point cloud data processing device for map construction, comprising:
[0034] An acquisition module is used to obtain the number of satellites participating in positioning corresponding to each GNSS positioning point in the map trajectory to be processed;
[0035] A trajectory determination module, used to determine the accuracy assignment of each GNSS positioning point according to the number of satellites participating in positioning corresponding to each GNSS positioning point, determine multiple GNSS positioning points to be processed in the map trajectory to be processed according to the accuracy assignment of each GNSS positioning point and a preset accuracy assignment, and determine the trajectory to be processed based on the multiple GNSS positioning points to be processed;
[0036] The updating module is used to process the point cloud data corresponding to the to-be-processed trajectory based on the simultaneous positioning and mapping SLAM technology to obtain a target processing trajectory, and to update the to-be-processed map trajectory according to the target processing trajectory to obtain a target map trajectory.
[0037] On the other hand, the present application provides an electronic device, comprising: a processor, and a memory communicatively connected to the processor;
[0038] The memory stores computer-executable instructions;
[0039] The processor executes the computer-executable instructions stored in the memory to implement the point cloud data processing method in map construction as described in the first aspect.
[0040] On the other hand, the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the instructions are executed, the computer executes the point cloud data processing method in map construction as described in the first aspect.
[0041] On the other hand, the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the point cloud data processing method in map construction as described in the first aspect.
[0042] In summary, the method provided in the embodiment of the present application obtains the number of satellites participating in the positioning corresponding to each global satellite navigation system GNSS positioning point in the map trajectory to be processed. The precision assignment of each GNSS positioning point is determined according to the number of satellites participating in the positioning corresponding to each GNSS positioning point, and multiple GNSS positioning points to be processed in the map trajectory to be processed are determined according to the precision assignment of each GNSS positioning point and the preset precision assignment, and the trajectory to be processed is determined based on the multiple GNSS positioning points to be processed. The point cloud data corresponding to the trajectory to be processed is processed based on the real-time positioning and map construction SLAM technology to obtain a target processing trajectory, and the map trajectory to be processed is updated according to the target processing trajectory to obtain a target map trajectory.
[0043] That is, when the map trajectory to be processed is optimized based on the SLAM technology, the accuracy of the GNSS positioning point is first determined based on the number of satellites participating in the positioning corresponding to each GNSS positioning point. A plurality of GNSS positioning points to be processed in the map trajectory to be processed are screened out by the method of accuracy assignment, and the trajectory to be processed is determined based on the plurality of GNSS positioning points to be processed. Finally, the accuracy of the trajectory to be processed is improved based on the SLAM technology. In this way, through the method of accuracy assignment, only the GNSS positioning points whose accuracy does not meet the requirements need to be processed based on the SLAM technology, and there is no need to process each GNSS positioning point, thereby improving the efficiency of processing point cloud data using the SLAM technology. In addition, it also avoids the situation where a high-precision trajectory is processed as a lower-precision trajectory, further improving the effect of processing point cloud data using the SLAM technology. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0045] Figure 1 A schematic diagram of an application scenario of the point cloud data processing method in map construction provided in this application;
[0046] Figure 2 A schematic diagram of a process of processing point cloud data in map construction provided by one embodiment of the present application;
[0047] Figure 3 A schematic diagram of a trajectory to be processed provided for one embodiment of the present application;
[0048] Figure 4 A schematic diagram of a point cloud data processing device in map construction provided by one embodiment of the present application;
[0049] Figure 5A schematic diagram of an electronic device provided for one embodiment of the present application.
[0050] The above drawings show clear embodiments of the present disclosure, which will be described in more detail below. These drawings and text descriptions are not intended to limit the scope of the present disclosure in any way, but to illustrate the concepts of the present disclosure to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0051] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0052] In the description of the present application, it should be understood that the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the feature. In the description of the present application, "plurality" means two or more, unless otherwise clearly and specifically defined.
[0053] First, let’s explain the terms involved in this application:
[0054] GNSS: The full name of GNSS is Global Navigation Satellite System. The Chinese name is Global Navigation Satellite System. The Global Navigation Satellite System is an air-based radio navigation and positioning system that can provide users with all-weather three-dimensional coordinates, speed and time information at any location on the Earth's surface or in near-Earth space. The Global Navigation Satellite System includes one or more satellite constellations and their augmentation systems required to support specific tasks.
[0055] INS: The full name of INS is Inertial Navigation System. The Chinese name is Inertial Navigation System. An inertial navigation system is a system that uses gyroscopes and accelerometers installed on a vehicle to determine the position of the vehicle. The measurement data of the gyroscope and accelerometer can be used to determine the movement of the vehicle in the inertial reference coordinate system, and the position of the vehicle in the inertial reference coordinate system can also be calculated.
[0056] CORS: The full name of CORS is Continuously Operating Reference System. The Chinese name is Continuously Operating Reference Station System. Continuously Operating Reference Station System can be defined as one or several fixed, continuously operating GNSS reference stations, which use modern computer, data communication and Internet (LAN / WAN) technology to form a network, and automatically provide different types of verified GPS observations (carrier phase, pseudorange), various correction numbers, status information, and other GPS-related service items to users of different types, different needs, and different levels through GSM () / GPRS () wireless phones or the Internet in real time.
[0057] POS: The full name of POS is Position and Orientation System. The Position and Orientation System is essentially a GNSS / INS combined navigation hardware system plus a set of precision data processing software. The precision data processing software is used to post-process the raw data to further improve the positioning and attitude accuracy.
[0058] High-precision maps are widely used in the field of autonomous driving because of their advantages such as high coordinate accuracy and rich road traffic information elements. High-precision maps are not only high in centimeter-level quantization, but also higher in spatial abstraction level. As an important part of the autonomous driving system, high-precision maps are more used in autonomous driving scenarios compared to traditional navigation electronic maps. High-precision maps allow autonomous driving vehicles to understand the ever-changing real environment in a humanized way. The multi-layer high-precision map data updated in real time on the cloud plays an important role in the perception, positioning, decision-making, planning and other modules of autonomous driving vehicles. In addition, high-precision maps are also widely used in scenarios such as refined management of urban traffic, smart highways, and intelligent networking.
[0059] In the data collection process of making high-precision maps, the vehicle-mounted positioning equipment equipped with the Global Navigation Satellite System (GNSS) and the Inertial Navigation System (INS) obtains the original position and orientation system (POS) data and laser point cloud data (Lidar). And through the Continuously Operating Reference System (CORS) technology, high-precision posture information is obtained and used for the solution of laser point cloud data, thereby obtaining high-precision point cloud data.
[0060] Point cloud data, as the basis for high-precision map production, needs to reach centimeter-level accuracy. In areas with relatively complex natural environments, relying solely on CORS technology cannot make point cloud data reach centimeter-level accuracy. Therefore, Simultaneous Localization And Mapping (SLAM) technology is usually used to extract feature points of point cloud data and perform registration, thereby improving the overall accuracy of point cloud data. However, when SLAM technology is currently used to process point cloud data, all point cloud data is processed, so a large amount of redundant data will be processed, affecting the efficiency of using SLAM technology to process point cloud data. In addition, processing all point cloud data will also process some originally high-precision data into lower-precision data.
[0061] Based on this, the present application provides a method and device for processing point cloud data in map construction, and a storage medium. The method for processing point cloud data in map construction obtains the number of satellites participating in positioning corresponding to each global satellite navigation system GNSS positioning point in the map trajectory to be processed. Then, the accuracy assignment of each GNSS positioning point is determined according to the number of satellites participating in positioning corresponding to each GNSS positioning point, and multiple GNSS positioning points to be processed in the map trajectory to be processed are determined according to the accuracy assignment of each GNSS positioning point and the preset accuracy assignment, and the trajectory to be processed is determined based on the multiple GNSS positioning points to be processed. The point cloud data corresponding to the trajectory to be processed is processed based on the real-time positioning and map construction SLAM technology to obtain a target processing trajectory, and the map trajectory to be processed is updated according to the target processing trajectory to obtain a target map trajectory.
[0062] That is to say, when using SLAM technology to process point cloud data, it is not necessary to process all point cloud data, but to process the point cloud data corresponding to the trajectory composed of positioning points that meet the accuracy requirements. The trajectory composed of positioning points with poor accuracy can be screened out, so that only the point cloud data corresponding to the trajectory with poor accuracy in the map trajectory to be processed is processed. In this way, the amount of point cloud data processed by SLAM technology is reduced, and the efficiency of processing point cloud data using SLAM technology is improved. Furthermore, trajectories with higher accuracy can be eliminated to avoid processing some originally high-precision data as low-precision data, thereby improving the overall accuracy of the map.
[0063] The point cloud data processing method for map construction provided in the present application is applied to electronic devices, such as computers, servers, etc. Figure 1The present application provides a schematic diagram of the point cloud data processing method for map construction. In the figure, the electronic device obtains the number of satellites participating in positioning corresponding to each GNSS positioning point in the map trajectory to be processed. The precision assignment of each GNSS positioning point is determined according to the number of satellites participating in positioning corresponding to each GNSS positioning point. Multiple GNSS positioning points to be processed in the map trajectory to be processed are determined according to the precision assignment of each GNSS positioning point and the preset precision assignment, and the trajectory to be processed is determined based on the multiple GNSS positioning points to be processed. Figure 1 As shown, when the accuracy assignment of the GNSS positioning point is a preset assignment, the GNSS positioning point is determined to be a GNSS positioning point to be processed. When the accuracy assignment of the GNSS positioning point is not a preset assignment, the GNSS positioning point is determined not to be a GNSS positioning point to be processed. Finally, the point cloud data corresponding to the trajectory to be processed is processed based on the real-time positioning and map construction SLAM technology to obtain the target processing trajectory, and the map trajectory to be processed is updated according to the target processing trajectory to obtain the target map trajectory.
[0064] See also Figure 2 An embodiment of the present application provides a method for processing point cloud data in map construction, comprising:
[0065] S210, obtaining the number of satellites participating in positioning corresponding to each global satellite navigation system GNSS positioning point in the map trajectory to be processed.
[0066] In an optional embodiment, the number of satellites participating in positioning corresponding to each GNSS positioning point can be obtained by tightly coupling data to solve GNSS data and INS data. Specifically, the GNSS data, INS data and POS data collected by the positioning device are obtained, and the map trajectory to be processed is constructed based on the POS data. Each GNSS positioning point in the constructed map trajectory to be processed has corresponding POS data, that is, each GNSS positioning point has position coordinates and attitude information.
[0067] Finally, for each GNSS positioning point in the map trajectory to be processed, the tightly coupled data of the GNSS data and INS data of the GNSS positioning point is solved, and the number of satellites involved in the solution is used as the number of satellites participating in the positioning corresponding to the GNSS positioning point. When the tightly coupled data of the GNSS data and INS data of the GNSS positioning point is solved, the CORS station is used to perform a tightly coupled data solution on the GNSS data and INS data of the GNSS positioning point collected by the positioning device, and the number of satellites involved in the solution is the number of satellites participating in the positioning corresponding to the GNSS positioning point.
[0068] It is understandable that the more satellites involved in positioning, the higher the accuracy of the GNSS positioning point. Conversely, the fewer satellites involved in positioning, the lower the accuracy of the GNSS positioning point. Therefore, based on the number of satellites involved in positioning, the accuracy of the GNSS positioning point can be assigned, and the GNSS positioning point whose accuracy is to be improved can be selected based on the accuracy assignment.
[0069] S220, determine the accuracy assignment of each GNSS positioning point according to the number of satellites participating in the positioning corresponding to each GNSS positioning point, determine multiple GNSS positioning points to be processed in the map trajectory to be processed according to the accuracy assignment of each GNSS positioning point and the preset accuracy assignment, and determine the trajectory to be processed based on the multiple GNSS positioning points to be processed.
[0070] In an optional embodiment, for each GNSS positioning point, the precision assignment of the GNSS positioning point is determined according to the number of satellites and the relationship between the number of satellites and the precision assignment. The relationship between the number of satellites and the precision assignment is shown in Table 1.
[0071] Table 1:
[0072]
[0073] When determining multiple GNSS positioning points to be processed in the map trajectory to be processed according to the accuracy assignment of each GNSS positioning point and the preset accuracy assignment, first, obtain the preset accuracy assignment. The preset accuracy assignment may be Q4 or Q5 as shown in Table 1. The preset accuracy assignment may be modified according to actual needs. Specifically, the preset accuracy assignment is modified according to the assignment modification operation. The modified preset accuracy assignment is, for example, Q3, Q4, and Q5.
[0074] When the accuracy assignment of the GNSS positioning point is a preset accuracy assignment, the GNSS positioning point is determined to be a pending GNSS positioning point in the pending map track. For example, when the accuracy assignment of the GNSS positioning point is any one of Q4 and Q5, the GNSS positioning point is determined to be a pending GNSS positioning point in the pending map track. If the preset accuracy assignment is, for example, Q3, Q4, and Q5, and the accuracy assignment of the GNSS positioning point is any one of Q3, Q4, and Q5, the GNSS positioning point is determined to be a pending GNSS positioning point in the pending map track.
[0075] Until the step is executed for each GNSS positioning point, multiple GNSS positioning points to be processed in the map trajectory to be processed are obtained according to the number of satellites and the relationship between the number of satellites and the accuracy assignment. After determining the multiple GNSS positioning points to be processed in the map trajectory to be processed, the trajectory to be processed is determined based on the multiple GNSS positioning points to be processed. The trajectory to be processed refers to the trajectory area with poor accuracy that requires point cloud data processing to improve accuracy.
[0076] In an optional embodiment, if Figure 3 As shown, when determining the trajectory to be processed based on multiple GNSS positioning points to be processed, it is necessary to determine the trajectory to be processed based on multiple GNSS positioning points to be processed at consecutive moments. Figure 3 The dots shown in represent the GNSS positioning points to be processed at the multiple consecutive moments, and the solid line constructed by the GNSS positioning points to be processed at the multiple consecutive moments is the trajectory to be processed.
[0077] Specifically, the time corresponding to the multiple GNSS positioning points to be processed is obtained, wherein one GNSS positioning point corresponds to one time, that is, one GNSS positioning point corresponds to 1 second. When the multiple GNSS positioning points to be processed are positioning points at multiple consecutive time points, it is determined that the trajectory formed by connecting every two adjacent positioning points in the multiple GNSS positioning points to be processed is the trajectory to be processed. For example, if 180 GNSS positioning points for 180 consecutive seconds are all GNSS positioning points to be processed, it is determined that the trajectory formed by connecting every two adjacent positioning points in the 180 GNSS positioning points is the trajectory to be processed. The trajectory to be processed is a broken line trajectory, and the length of the trajectory to be processed is equal to the sum of the distances between every two adjacent positioning points.
[0078] Adjacent positioning points refer to GNSS positioning points at adjacent moments according to the time corresponding to the GNSS positioning points. For example, the GNSS positioning point at the 1st second and the GNSS positioning point at the 2nd second are adjacent positioning points, and the GNSS positioning point at the 2nd second and the GNSS positioning point at the 3rd second are adjacent positioning points. However, the GNSS positioning point at the 1st second and the GNSS positioning point at the 3rd second are not adjacent positioning points. The trajectory formed by connecting every two adjacent positioning points is connected in chronological order. For example, the GNSS positioning point at the 1st second is connected to the GNSS positioning point at the 2nd second, and the GNSS positioning point at the 2nd second is connected to the GNSS positioning point at the 3rd second, and so on, until the GNSS positioning point at the 179th second is connected to the positioning point at the 180th second to obtain a complete trajectory as the trajectory to be processed. Optionally, the trajectory formed by connecting every two adjacent positioning points can also be connected in sequence in reverse chronological order, that is, the GNSS positioning point at the 180th second is the starting point, the GNSS positioning point at the 1st second is the ending point, the GNSS positioning point at the 180th second is connected to the GNSS positioning point at the 179th second, and then the GNSS positioning point at the 179th second is connected to the GNSS positioning point at the 178th second, and so on, until the GNSS positioning point at the 2nd second is connected to the GNSS positioning point at the 1st second.
[0079] Furthermore, in an optional embodiment, not only are the multiple GNSS positioning points to be processed required to be positioning points at multiple consecutive moments, but requirements are also required for time and / or distance in order to filter out the trajectories that need to be processed emphatically.
[0080] When time is required, when the multiple GNSS to be processed are positioning points at multiple consecutive moments, if the difference between the start time and the end time in the multiple consecutive moments is greater than the preset difference, the trajectory formed by connecting every two adjacent positioning points of the multiple GNSS positioning points to be processed is determined to be the trajectory to be processed. For example, when the difference between the start time and the end time is greater than 180 seconds (i.e., the continuous time>180 seconds), the trajectory formed by connecting every two adjacent positioning points in the multiple GNSS positioning points to be processed is determined to be the trajectory to be processed.
[0081] When the distance is required, when the multiple GNSS to be processed are positioning points at multiple consecutive moments, if the sum of the distances determined based on the distances between every two adjacent positioning points in the multiple GNSS to be processed is greater than the preset distance, then the trajectory formed by connecting every two adjacent positioning points in the multiple GNSS to be processed is determined to be the trajectory to be processed. For example, when the sum of the distances determined based on the distances between every two adjacent positioning points is greater than 100 meters, the trajectory formed by connecting every two adjacent positioning points in the multiple GNSS to be processed is determined to be the trajectory to be processed.
[0082] When both time and distance are required, when the multiple GNSS positioning points to be processed are positioning points at multiple consecutive moments, if the difference between the start moment and the end moment in the multiple consecutive moments is greater than the preset difference, and the sum of the distances determined based on the distances between every two adjacent positioning points in the multiple GNSS positioning points to be processed is greater than the preset distance, then the trajectory formed by connecting every two adjacent positioning points of the multiple GNSS positioning points to be processed is determined to be the trajectory to be processed. For example, if the difference between the start moment and the end moment is greater than 180 seconds (i.e., the continuous moment>180 seconds), and the sum of the distances determined based on the distances between every two adjacent positioning points is greater than 100 meters, then the trajectory formed by connecting every two adjacent positioning points of the multiple GNSS positioning points to be processed is determined to be the trajectory to be processed.
[0083] In an optional embodiment, when a distance requirement is made, the distance and the distance described above need to be determined based on the location information (location coordinates) of the multiple GNSS positioning points to be processed. As described above, each GNSS positioning point in the map trajectory to be processed has corresponding POS data, and the location information of each positioning point is determined based on the POS data of each positioning point in the multiple GNSS positioning points to be processed. The distance between each two adjacent positioning points in the multiple GNSS positioning points to be processed is determined based on the location information of each positioning point. Finally, the distance and the distance are determined based on the distance between each two adjacent positioning points in the multiple GNSS positioning points to be processed.
[0084] S230, processing the point cloud data corresponding to the trajectory to be processed based on the simultaneous positioning and mapping SLAM technology to obtain a target processing trajectory, updating the map trajectory to be processed according to the target processing trajectory to obtain a target map trajectory.
[0085] In an optional embodiment, when processing the point cloud data corresponding to the trajectory to be processed based on the SLAM technology, it is necessary to first obtain the POS data of the trajectory to be processed, and then perform point cloud solution based on the POS data to obtain the point cloud data corresponding to the trajectory to be processed. When processing the point cloud data corresponding to the trajectory to be processed based on the SLAM technology, feature extraction is performed on the point cloud data corresponding to the trajectory to be processed based on the SLAM technology, and the POS data of the trajectory to be processed is matched according to the extracted features, and the POS data of the trajectory to be processed is corrected. Finally, the target processing trajectory is constructed based on the corrected POS data of the trajectory to be processed.
[0086] After obtaining the target processing trajectory, trajectory fusion is required, that is, the target processing trajectory is fused with the unprocessed trajectory in the to-be-processed map trajectory to obtain the target map trajectory. The unprocessed trajectory can be a trajectory with high enough accuracy and does not need to be processed again, because processing these high-precision trajectories based on SLAM technology may reduce their accuracy. Optionally, when performing trajectory fusion, the to-be-processed trajectory in the to-be-processed map trajectory is replaced with the target processing trajectory to obtain the target map trajectory.
[0087] In an optional embodiment, in order to further improve the accuracy of the trajectory, when performing trajectory fusion, the to-be-processed trajectory in the to-be-processed map trajectory is replaced with the target processing trajectory to obtain an initial target map trajectory. The initial target map trajectory is then smoothed and jump processed to obtain the target map trajectory. For example, the initial target map trajectory is smoothed and jump processed using a Kalman filter method to obtain the target map trajectory.
[0088] In summary, the method provided in the embodiment of the present application obtains the number of satellites participating in the positioning corresponding to each global satellite navigation system GNSS positioning point in the map trajectory to be processed. The precision assignment of each GNSS positioning point is determined according to the number of satellites participating in the positioning corresponding to each GNSS positioning point, and multiple GNSS positioning points to be processed in the map trajectory to be processed are determined according to the precision assignment of each GNSS positioning point and the preset precision assignment, and the trajectory to be processed is determined based on the multiple GNSS positioning points to be processed. The point cloud data corresponding to the trajectory to be processed is processed based on the real-time positioning and map construction SLAM technology to obtain a target processing trajectory, and the map trajectory to be processed is updated according to the target processing trajectory to obtain a target map trajectory.
[0089] That is, when the map trajectory to be processed is optimized based on the SLAM technology, the accuracy of the GNSS positioning point is first determined based on the number of satellites participating in the positioning corresponding to each GNSS positioning point. A plurality of GNSS positioning points to be processed in the map trajectory to be processed are screened out by the method of accuracy assignment, and the trajectory to be processed is determined based on the plurality of GNSS positioning points to be processed. Finally, the accuracy of the trajectory to be processed is improved based on the SLAM technology. In this way, through the method of accuracy assignment, only the GNSS positioning points whose accuracy does not meet the requirements need to be processed based on the SLAM technology, and there is no need to process each GNSS positioning point, thereby improving the efficiency of processing point cloud data using the SLAM technology. In addition, it also avoids the situation where a high-precision trajectory is processed as a lower-precision trajectory, further improving the effect of processing point cloud data using the SLAM technology.
[0090] See also Figure 4 The present application also provides a point cloud data processing device 10 for map construction, comprising:
[0091] The acquisition module 11 is used to obtain the number of satellites participating in the positioning corresponding to each global satellite navigation system GNSS positioning point in the map trajectory to be processed.
[0092] The trajectory determination module 12 is used to determine the accuracy assignment of each GNSS positioning point according to the number of satellites participating in the positioning corresponding to each GNSS positioning point, determine multiple GNSS positioning points to be processed in the map trajectory to be processed according to the accuracy assignment of each GNSS positioning point and the preset accuracy assignment, and determine the trajectory to be processed based on the multiple GNSS positioning points to be processed.
[0093] The updating module 13 is used to process the point cloud data corresponding to the trajectory to be processed based on the simultaneous positioning and mapping SLAM technology to obtain a target processing trajectory, and update the map trajectory to be processed according to the target processing trajectory to obtain a target map trajectory.
[0094] The acquisition module 11 is specifically used to acquire GNSS data, inertial navigation system INS data, and position and attitude system POS data collected by the positioning device; construct a map trajectory to be processed based on the POS data; for each GNSS positioning point in the map trajectory to be processed, the tightly coupled data of the GNSS data and INS data of the GNSS positioning point is solved, so as to obtain the number of satellites involved in the solution as the number of satellites involved in the positioning corresponding to the GNSS positioning point.
[0095] The trajectory determination module 12 is specifically used to determine the precision assignment of the GNSS positioning point for each GNSS positioning point according to the number of satellites and the relationship between the number of satellites and the precision assignment. When the precision assignment of the GNSS positioning point is a preset precision assignment, the GNSS positioning point is determined to be the GNSS positioning point to be processed in the map trajectory to be processed; until the step of determining the precision assignment according to the number of satellites and the relationship between the number of satellites and the precision assignment is executed for each GNSS positioning point, a plurality of GNSS positioning points to be processed in the map trajectory to be processed are obtained.
[0096] The trajectory determination module 12 is specifically used to obtain the time corresponding to the multiple GNSS positioning points to be processed, wherein one GNSS positioning point corresponds to one time; when the multiple GNSS positioning points to be processed are positioning points at multiple consecutive time points, determine that the trajectory formed by connecting every two adjacent positioning points in the multiple GNSS positioning points to be processed is the trajectory to be processed.
[0097] The trajectory determination module 12 is specifically used to determine that, when the multiple GNSS positioning points to be processed are positioning points at multiple consecutive moments, if the difference between the start moment and the end moment in the multiple consecutive moments is greater than a preset difference, and / or if the sum of the distances determined based on the distances between every two adjacent positioning points in the multiple GNSS positioning points to be processed is greater than a preset distance, then the trajectory formed by connecting every two adjacent positioning points in the multiple GNSS positioning points to be processed is the trajectory to be processed.
[0098] The trajectory determination module 12 is also used to determine the position information of each positioning point according to the POS data of each positioning point in the multiple GNSS positioning points to be processed; determine the distance between every two adjacent positioning points in the multiple GNSS positioning points to be processed according to the position information of each positioning point; and determine the distance sum according to the distance between every two adjacent positioning points in the multiple GNSS positioning points to be processed.
[0099] The update module 13 is specifically used to extract features of the point cloud data corresponding to the trajectory to be processed based on the SLAM technology, match the POS data of the trajectory to be processed according to the extracted features, correct the POS data of the trajectory to be processed; and construct the target processing trajectory according to the corrected POS data of the trajectory to be processed.
[0100] The updating module 13 is specifically used to replace the to-be-processed trajectory in the to-be-processed map trajectory with the target processing trajectory to obtain an initial target map trajectory; and perform smoothing and jump processing on the initial target map trajectory to obtain the target map trajectory.
[0101] See also Figure 5 The present application also provides an electronic device 20, comprising: a processor 21, and a memory 22 in communication with the processor 21. The memory 22 stores computer-executable instructions; the processor 21 executes the computer-executable instructions stored in the memory 22 to implement the point cloud data processing method in map construction provided in any of the above embodiments.
[0102] The present application also provides a computer-readable storage medium, which stores computer-executable instructions. When the instructions are executed, the computer-executable instructions are executed by a processor to implement the point cloud data processing method in the map construction provided in any of the above embodiments.
[0103] The present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the point cloud data processing method in map construction provided in any of the above embodiments.
[0104] It should be noted that the computer-readable storage medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disk, or a compact disc read-only memory (CD-ROM). It may also be various electronic devices including one or any combination of the above memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0105] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0106] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0107] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.
[0108] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0109] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0110] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0111] The above are only preferred embodiments of the present application, and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A method for processing point cloud data in map construction, characterized in that: include: Get the number of satellites participating in positioning corresponding to each GNSS positioning point in the map trajectory to be processed; Determine the accuracy value of each GNSS positioning point according to the number of satellites participating in positioning corresponding to each GNSS positioning point, determine multiple GNSS positioning points to be processed in the map trajectory to be processed according to the accuracy value of each GNSS positioning point and the preset accuracy value, and determine the trajectory to be processed based on the multiple GNSS positioning points to be processed, wherein the trajectory to be processed refers to a trajectory area where point cloud data processing is performed to improve the accuracy when the accuracy is poor; Based on the simultaneous positioning and mapping SLAM technology, the point cloud data corresponding to the to-be-processed trajectory is processed to obtain a target processing trajectory, and the to-be-processed map trajectory is updated according to the target processing trajectory to obtain a target map trajectory.
2. The method according to claim 1, characterized in that The step of obtaining the number of satellites participating in positioning corresponding to each GNSS positioning point in the map trajectory to be processed includes: Obtain GNSS data, inertial navigation system INS data, and position and attitude system POS data collected by positioning equipment; Constructing a map trajectory to be processed based on the POS data; For each GNSS positioning point in the map trajectory to be processed, the tightly coupled data of the GNSS data and the INS data of the GNSS positioning point are solved to obtain the number of satellites involved in the solution as the number of satellites involved in the positioning corresponding to the GNSS positioning point.
3. The method according to claim 2, characterized in that The step of determining the accuracy of each GNSS positioning point according to the number of satellites participating in positioning corresponding to each GNSS positioning point, assigning the number of satellites participating in positioning corresponding to each GNSS positioning point, and determining the plurality of GNSS positioning points to be processed in the map trajectory to be processed according to the accuracy value of each GNSS positioning point and the preset accuracy assignment comprises: For each GNSS positioning point, the precision assignment of the GNSS positioning point is determined according to the number of satellites and the relationship between the number of satellites and the precision assignment, and when the precision assignment of the GNSS positioning point is a preset precision assignment, the GNSS positioning point is determined to be the GNSS positioning point to be processed in the map trajectory to be processed; After the step of performing the calculation based on the number of satellites and the relationship between the number of satellites and the precision assignment is performed for each GNSS positioning point, a plurality of GNSS positioning points to be processed in the map trajectory to be processed are obtained.
4. The method according to claim 3, characterized in that Determining the trajectory to be processed based on multiple GNSS positioning points to be processed includes: Obtaining the times corresponding to the multiple GNSS positioning points to be processed, wherein one GNSS positioning point corresponds to one time; When the multiple GNSS positioning points to be processed are positioning points at multiple consecutive moments, a trajectory formed by connecting every two adjacent positioning points in the multiple GNSS positioning points to be processed is determined as the trajectory to be processed.
5. The method according to claim 4, characterized in that When the plurality of GNSS positioning points to be processed are positioning points at a plurality of consecutive moments, determining that a trajectory formed by connecting every two adjacent positioning points in the plurality of GNSS positioning points to be processed is the trajectory to be processed comprises: When the multiple GNSS positioning points to be processed are positioning points at multiple consecutive moments, if the difference between the start moment and the end moment in the multiple consecutive moments is greater than a preset difference, and / or if the sum of the distances determined based on the distances between every two adjacent positioning points in the multiple GNSS positioning points to be processed is greater than a preset distance, Then, a trajectory formed by connecting every two adjacent positioning points of the plurality of GNSS positioning points to be processed is determined as the trajectory to be processed.
6. The method according to claim 5, characterized in that Each GNSS positioning point in the map trajectory to be processed has corresponding POS data, and the method further includes: Determine the position information of each positioning point according to the POS data of each positioning point among the multiple GNSS positioning points to be processed; Determine the distance between every two adjacent positioning points in the plurality of GNSS positioning points to be processed according to the position information of each positioning point; The distance sum is determined according to the distance between every two adjacent positioning points in the plurality of GNSS positioning points to be processed.
7. The method according to any one of claims 1 to 6, characterized in that: The point cloud data corresponding to the trajectory to be processed is processed based on the real-time positioning and mapping SLAM technology to obtain the target processing trajectory, which includes: Based on the SLAM technology, feature extraction is performed on the point cloud data corresponding to the trajectory to be processed, POS data of the trajectory to be processed is matched according to the extracted features, and the POS data of the trajectory to be processed is corrected; The target processing trajectory is constructed according to the corrected POS data of the trajectory to be processed.
8. The method according to any one of claims 1 to 6, characterized in that: The updating of the to-be-processed map trajectory according to the target processing trajectory to obtain the target map trajectory comprises: Replacing the to-be-processed track in the to-be-processed map track with the target processing track to obtain an initial target map track; The initial target map trajectory is smoothed and jump-processed to obtain the target map trajectory.
9. An electronic device, characterized in that: include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the point cloud data processing method in map construction according to any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when the instructions are executed, the computer executes the point cloud data processing method in map construction according to any one of claims 1 to 8.
Citation Information
Patent Citations
Map construction method, device and equipment and storage medium
CN111912417A
Mobile measurement method fusing SLAM technology in complex environment
CN112268559A