Positioning precision evaluation method and related device

By using point cloud data and pose data collected by driving devices in an indoor environment, semantic downsampling and point cloud registration are performed, the problem of SLAM algorithm accuracy evaluation caused by GNSS signal blocking is solved, and efficient and low-cost positioning accuracy evaluation is achieved.

CN120213079APending Publication Date: 2025-06-27HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311833012.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-27
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

In indoor environments, GNSS signals are easily blocked, making it difficult to evaluate the accuracy of SLAM algorithms based on GNSS. The existing manual measurement methods are inefficient and costly, making them difficult to apply to the evaluation of large-scale commercial products.

Method used

By acquiring the point cloud data and position data collected by the driving device during the execution of SLAM, a positioning accuracy evaluation method is applied, including downsampling the point cloud data based on semantic information, so that the ratio of ground points to non-ground points is within a preset range, and then point cloud registration is performed to determine the positioning error.

Benefits of technology

It improves the efficiency of positioning evaluation and reduces costs, while improving the evaluation accuracy, ensuring the accuracy of the point cloud registration process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120213079A_ABST
    Figure CN120213079A_ABST
Patent Text Reader

Abstract

A positioning precision evaluation method is applied to evaluating the positioning precision of a driving device. According to the method, evaluation point cloud data and reference point cloud data are downsampled based on semantic information, so that the proportion of ground points to non-ground points in the downsampled point cloud data is within a preset range. And then, performing point cloud registration on the downsampled evaluation point cloud data and the downsampled reference point cloud data, thereby determining a positioning error of the pose data corresponding to the evaluation point cloud data based on a registration result. According to the scheme, the positioning precision can be evaluated only based on the point cloud data in the positioning process executed by the driving device, so that the positioning evaluation efficiency can be effectively improved, and the cost can be effectively reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of positioning technology, and in particular, to a positioning accuracy evaluation method and related devices. Background Art

[0002] Simultaneous Localization and Mapping (SLAM) means that a moving device such as a robot or an intelligent driving vehicle moves from an unknown position in an unknown environment, performs self-positioning based on the position and the map during the movement, and at the same time constructs an incremental map based on the self-positioning to achieve autonomous positioning. For example, in the field of intelligent driving, an intelligent driving vehicle can achieve automatic parking in a garage based on SLAM.

[0003] Generally, in order to verify the reliability of the SLAM algorithm deployed on the moving device, it is often necessary to evaluate the positioning result obtained based on the SLAM algorithm. In an outdoor environment, the positioning result obtained based on the Global Navigation Satellite System (GNSS) can usually be used as a reference to evaluate the accuracy of the positioning result of the SLAM algorithm. However, in an indoor environment, the GNSS signal is easily blocked, so it is difficult to evaluate the accuracy of the SLAM algorithm based on GNSS.

[0004] Currently, in the related art, a laser tracker is carried by a human to the site to measure the position of the moving device, and the position measured is compared with the pose data obtained by the moving device executing the SLAM algorithm, so as to evaluate the accuracy of the SLAM algorithm. However, the manual measurement method has low efficiency and high cost, and it is difficult to be applied to the evaluation of large-scale commercial products. Summary of the Invention

[0005] This application provides a positioning accuracy evaluation method, which can effectively improve the efficiency of positioning evaluation and reduce costs, and has high evaluation accuracy.

[0006] In the first aspect of this application, a positioning accuracy evaluation method is provided, which is applied to evaluate the positioning accuracy of a moving device. The method includes: First, obtaining evaluation point cloud data and multiple reference point cloud data. The evaluation point cloud data is the point cloud data collected at the pose indicated by an evaluation frame, and the multiple reference point cloud data are respectively the point cloud data collected at the poses indicated by multiple reference frames. The evaluation frame and the multiple reference frames are both used to indicate the pose data obtained at different times in the same scene. For example, during the execution of SLAM by the moving device, it will continuously perform self-positioning on itself to obtain its own pose data at each moment, and the pose data at each moment can be represented by the evaluation frame and the multiple reference frames.

[0007] Then, based on the semantic information, downsampling is performed on the evaluation point cloud data and multiple reference point cloud data to obtain downsampled evaluation point cloud data and multiple downsampled reference point cloud data. Among them, in the downsampled evaluation point cloud data and multiple downsampled reference point cloud data, the ratio between the ground points and the non-ground points is within a preset range, that is, the distribution between the ground points and the non-ground points in each downsampled point cloud data is balanced. That is, based on the inherent semantic information of the evaluation point cloud data and multiple reference point cloud data, downsampling is respectively performed on the evaluation point cloud data and multiple reference point cloud data, so that the ratio of the ground points to the non-ground points after downsampling the point cloud data is within a preset range.

[0008] Finally, perform point cloud registration on the downsampled evaluation point cloud data and multiple downsampled reference point cloud data to obtain a registration result, and the registration result is used to indicate the positioning error of the evaluation frame.

[0009] In this solution, downsampling is performed on the evaluation point cloud data and the reference point cloud data based on semantic information, so that the ratio between the ground points and the non-ground points in the downsampled point cloud data is within a preset range. Then, perform point cloud registration on the downsampled evaluation point cloud data and multiple downsampled reference point cloud data, so as to determine the positioning error of the pose data corresponding to the evaluation point cloud data based on the registration result. Since only the point cloud data during the positioning process of the driving device needs to be used in this solution to complete the evaluation of the positioning accuracy, the efficiency of the positioning evaluation can be effectively improved and the cost can be reduced. In addition, since after downsampling, the ratio between the ground points and the non-ground points in the point cloud data is within a preset range, that is, the points in the point cloud data are evenly distributed on the ground and non-ground, so balanced constraints can be provided in the horizontal and height directions during the point cloud registration process, improving the accuracy of registration and ensuring the final positioning evaluation accuracy.

[0010] In a possible implementation, the preset range is between a first boundary value and a second boundary value, and the absolute value of the difference between the first boundary value and 1 is not greater than a first threshold, and the absolute value of the difference between the second boundary value and 1 is not greater than the first threshold. For example, assuming the first threshold is 0.05, then the absolute values of the differences between the first boundary value and the second boundary value and 1 are not greater than 0.05. For example, the first boundary value is 0.95 and the second boundary value is 1.05. Then, in the downsampled evaluation point cloud data and multiple downsampled reference point cloud data, the ratio between the ground points and the non-ground points is within [0.95, 1.05], that is, the number of ground points and non-ground points is basically close.

[0011] In this solution, after performing downsampling on the point cloud data, the ratio between the ground points and the non-ground points is within a fixed preset range, that is, the distribution between the ground points and the non-ground points in each downsampled point cloud data is balanced, thereby providing more balanced horizontal constraints and height constraints for the subsequent registration of the point cloud data and improving the accuracy of registration.

[0012] In a possible implementation, perform point cloud registration on the downsampled evaluation point cloud data and multiple downsampled reference point cloud data, which may specifically include: selecting some of the downsampled reference point cloud data from the multiple downsampled reference point cloud data based on the distance between the pose corresponding to the evaluation point cloud data and the poses corresponding to the multiple reference point cloud data. Among them, the distance between the poses can be, for example, the distance between positions, or the weighted sum value of the distance between positions and the distance between postures.

[0013] Based on the regional overlap situation between the downsampled evaluation point cloud data and the multiple downsampled reference point cloud data, select at least one of the downsampled reference point cloud data as the target point cloud data. Among them, the regional overlap situation can be the proportion of the overlapping area covered by the points in the two point cloud data.

[0014] Then, perform point cloud registration on the downsampled evaluation point cloud data and the target point cloud data to obtain the registration result.

[0015] In this solution, by screening out some reference point cloud data that are relatively close to the evaluation point cloud data and have a large overlapping area from the multiple reference point cloud data based on the distance between the poses corresponding to the point cloud data and the regional overlap situation between the point cloud data, and using them as the target point cloud data for the subsequent point cloud registration process, some invalid reference point cloud data can be effectively screened out, thereby improving the efficiency and accuracy of the subsequent point cloud registration process.

[0016] In a possible implementation, the distances between the poses indicated by some of the reference frames and the pose indicated by the evaluation frame are all less than the second threshold. Among them, the distance between the poses can be, for example, the distance between positions, or the weighted sum value of the distance between positions and the distance between postures.

[0017] That is to say, in this solution, first, based on the pose relationship between the evaluation frame and the reference frames, some reference frames that are relatively close to the evaluation frame are screened out, and then, based on the regional overlap situation, reference point cloud data with a larger regional overlap ratio are further screened out from the reference point cloud data corresponding to these reference frames as the target point cloud data, reducing the number of times of determining the regional overlap situation between the point cloud data and further improving the efficiency of the positioning accuracy evaluation.

[0018] In a possible implementation, at least one downsampled reference point cloud data is selected from the partially downsampled reference point cloud data based on the regional overlap between the downsampled evaluation point cloud data and the partially downsampled reference point cloud data. Specifically, it includes: determining the overlap ratio of the non-ground point coverage area between the downsampled evaluation point cloud data and each downsampled reference point cloud data in the partially downsampled reference point cloud data.

[0019] Then, N downsampled reference point cloud data with an overlap ratio of the non-ground point coverage area greater than the third threshold and the highest overlap ratio of the non-ground point coverage area are selected from the partially downsampled reference point cloud data as the target point cloud data, where N is an integer not less than 1. For example, N is 3 or 5, and the third threshold can be a value such as 80% or 90%.

[0020] That is to say, when determining the regional overlap between point cloud data, it is not to determine the overlap ratio of all areas included in the point cloud data, but only to determine the overlap ratio of the non-ground areas included in the point cloud data. Since the features of ground points are single and it is difficult to effectively represent the actual position of ground points on the horizontal plane, while the features of non-ground points (such as columns, pipes, or walls) are more obvious and can effectively represent the actual position of non-ground points on the horizontal plane. Therefore, by determining the overlap ratio of the non-ground point coverage area, the actual regional overlap between the two point cloud data can be evaluated more accurately, thereby improving the screening accuracy of the target point cloud data.

[0021] In a possible implementation, during the process of downsampling the acquired evaluation point cloud data and multiple reference point cloud data based on semantic information, specifically, semantic segmentation can be first performed on the evaluation point cloud data and the multiple reference point cloud data to obtain the semantic segmentation results of the evaluation point cloud data and the semantic segmentation results of the multiple reference point cloud data. In this way, the ground points and non-ground points in the evaluation point cloud data can be determined based on the semantic segmentation result of the evaluation point cloud data, and the ground points and non-ground points in the multiple reference point cloud data can be determined based on the semantic segmentation results of the multiple reference point cloud data. Finally, downsampling is performed on the evaluation point cloud data and the multiple reference point cloud data respectively based on the number of ground points and non-ground points in the same point cloud data.

[0022] In this solution, based on the existing semantic segmentation method, the ground points and non-ground points in the point cloud data can be effectively determined, ensuring the recognition accuracy of the ground points and non-ground points and improving the feasibility of the solution.

[0023] In a possible implementation, before performing point cloud registration on the downsampled evaluation point cloud data and multiple downsampled reference point cloud data, coordinate transformation may be performed on the downsampled evaluation point cloud data based on the pose data indicated by the evaluation frame, so that the downsampled evaluation point cloud data and the multiple downsampled reference point cloud data correspond to the same coordinate system.

[0024] In a possible implementation, multiple reference frames are obtained based on the mapping algorithm in SLAM, and the evaluation frame is obtained based on the positioning algorithm. For example, the evaluation frame is obtained after performing the mapping algorithm in SLAM to obtain multiple reference frames and then performing the positioning algorithm in SLAM. In addition, in addition to the positioning algorithm in SLAM, the evaluation frame may also be obtained based on other positioning algorithms, and this embodiment does not limit this.

[0025] Alternatively, both the evaluation frame and the multiple reference frames are obtained based on the mapping algorithm in SLAM.

[0026] In a possible implementation, the above SLAM is visual SLAM performed based on images. Based on this, the execution process of SLAM is performed with the images collected by the image sensor as the input, rather than based on point cloud data.

[0027] That is to say, multiple reference frames are obtained based on the mapping algorithm in visual SLAM, and the evaluation frame is obtained based on the positioning algorithm. Alternatively, both the evaluation frame and the multiple reference frames are obtained based on the mapping algorithm in visual SLAM.

[0028] In this solution, since the point cloud data collected by the laser often has higher accuracy in reflecting the collection position than the images collected by the image sensor, evaluating the positioning accuracy of the evaluation frame obtained based on the visual SLAM algorithm based on the point cloud data can have higher evaluation accuracy.

[0029] In a possible implementation, both the evaluation frame and the multiple reference frames are obtained by performing SLAM in an indoor environment.

[0030] In a possible implementation, both the evaluation point cloud data and the multiple reference point cloud data are collected based on the lidar mounted on the driving device, and the driving device includes an intelligent driving vehicle or a robot.

[0031] The second aspect of the present application provides a positioning accuracy evaluation device, including: a downsampling module, configured to downsample the acquired evaluation point cloud data and a plurality of reference point cloud data based on semantic information to obtain downsampled evaluation point cloud data and a plurality of downsampled reference point cloud data, wherein, in the downsampled evaluation point cloud data and the plurality of downsampled reference point cloud data, the ratio between the ground points and the non-ground points is within a preset range; a registration module, configured to perform point cloud registration on the downsampled evaluation point cloud data and the plurality of downsampled reference point cloud data to obtain a registration result, and the registration result is used to indicate the positioning error of the pose data corresponding to the evaluation point cloud data.

[0032] In a possible implementation, the preset range is between a first boundary value and a second boundary value, and the absolute value of the difference between the first boundary value and 1 is not greater than a first threshold, and the absolute value of the difference between the second boundary value and 1 is not greater than the first threshold.

[0033] In a possible implementation, the registration module is specifically configured to: select some of the downsampled reference point cloud data from the plurality of downsampled reference point cloud data based on the distance between the pose corresponding to the evaluation point cloud data and the poses corresponding to the plurality of reference point cloud data; select at least one of the downsampled reference point cloud data from the selected some of the downsampled reference point cloud data as the target point cloud data based on the regional overlap between the downsampled evaluation point cloud data and the selected some of the downsampled reference point cloud data;

[0034] Perform point cloud registration on the downsampled evaluation point cloud data and the target point cloud data.

[0035] In a possible implementation, the distance between the poses corresponding to some of the downsampled reference point cloud data and the pose corresponding to the evaluation point cloud data is less than a second threshold.

[0036] In a possible implementation, the registration module is specifically configured to: determine the overlap ratio of the non-ground point coverage area between the downsampled evaluation point cloud data and each of the downsampled reference point cloud data in the selected some of the downsampled reference point cloud data; select N downsampled reference point cloud data with the overlap ratio of the non-ground point coverage area greater than a third threshold and the highest overlap ratio of the non-ground point coverage area from the selected some of the downsampled reference point cloud data as the target point cloud data, where N is an integer not less than 1.

[0037] In a possible implementation, the downsampling module is specifically configured to: perform semantic segmentation on the evaluation point cloud data and multiple reference point cloud data to obtain the semantic segmentation results of the evaluation point cloud data and the semantic segmentation results of the multiple reference point cloud data; determine the ground points and non-ground points in the evaluation point cloud data based on the semantic segmentation result of the evaluation point cloud data, and determine the ground points and non-ground points in the multiple reference point cloud data based on the semantic segmentation results of the multiple reference point cloud data; perform downsampling on the evaluation point cloud data and the multiple reference point cloud data respectively based on the number of ground points and non-ground points in the same point cloud data.

[0038] In a possible implementation, the evaluation point cloud data is the point cloud data collected at the pose indicated by the evaluation frame, and the multiple reference point cloud data are the point cloud data collected at the poses indicated by the multiple reference frames respectively. The evaluation frame and the multiple reference frames are used to indicate the pose data obtained at different moments in the same scene.

[0039] In a possible implementation, before performing point cloud registration on the downsampled evaluation point cloud data and the multiple downsampled reference point cloud data, the processing module is further configured to: perform coordinate transformation on the downsampled evaluation point cloud data based on the pose data indicated by the evaluation frame, so that the downsampled evaluation point cloud data and the multiple downsampled reference point cloud data correspond to the same coordinate system.

[0040] In a possible implementation, the multiple reference frames are obtained based on the mapping algorithm in SLAM, and the evaluation frame is obtained based on the localization algorithm; or, both the evaluation frame and the multiple reference frames are obtained based on the mapping algorithm in SLAM.

[0041] In a possible implementation, the above SLAM is visual SLAM based on images.

[0042] In a possible implementation, both the evaluation frame and the multiple reference frames are obtained by performing SLAM in an indoor environment.

[0043] In a possible implementation, both the evaluation point cloud data and the multiple reference point cloud data are collected based on the lidar mounted on the driving device, and the driving device includes an intelligent driving vehicle or a robot.

[0044] The third aspect of the present application provides a positioning accuracy evaluation device, which may include a processor. The processor is coupled to a memory, and the memory stores program instructions. When the program instructions stored in the memory are executed by the processor, the method of the first aspect or any implementation manner of the first aspect is implemented. For the steps executed by the processor in each possible implementation manner of the first aspect, reference may specifically be made to the first aspect, and details are not described herein again.

[0045] The fourth aspect of this application provides a computer-readable storage medium, in which a computer program is stored. When it runs on a computer, it causes the computer to execute the method according to any implementation manner of the first aspect above.

[0046] The fifth aspect of this application provides a circuit system, which includes a processing circuit configured to execute the method according to any implementation manner of the first aspect above.

[0047] The sixth aspect of this application provides a computer program product, which when running on a computer, causes the computer to execute the method according to any implementation manner of the first aspect above.

[0048] The seventh aspect of this application provides a chip system, which includes a processor for supporting a server or a feature screening device to implement the functions involved in any implementation manner of the first aspect above. For example, it processes the data and / or information involved in the above method. In a possible design, the chip system further includes a memory for storing the necessary program instructions and data of the server or the feature screening device. The chip system can be composed of chips or include chips and other discrete devices.

[0049] For the beneficial effects of the second to seventh aspects above, reference can be made to the introduction of the first aspect above, which will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] Figure 1 It is a schematic diagram of an application scenario provided by an embodiment of this application;

[0051] Figure 2 It is a schematic structural diagram of a driving device 200 provided by an embodiment of this application;

[0052] Figure 3 It is a schematic flowchart of a positioning accuracy evaluation method provided by an embodiment of this application;

[0053] Figure 4 It is a schematic structural diagram of an execution device of a positioning accuracy evaluation method provided by an embodiment of this application;

[0054] Figure 5 It is a schematic system architecture diagram of an execution device provided by an embodiment of this application;

[0055] Figure 6 It is a schematic execution flowchart of a positioning accuracy evaluation provided by an embodiment of this application;

[0056] Figure 7 It is a schematic flowchart of a process for executing a multi-step search process to determine target point cloud data provided by an embodiment of this application;

[0057] Figure 8 Schematic structural diagram of a positioning accuracy evaluation device provided by an embodiment of the present application;

[0058] Figure 9 Schematic structural diagram of an execution device provided by an embodiment of the present application;

[0059] Figure 10 Schematic structural diagram of a computer-readable storage medium provided by an embodiment of the present application. Detailed implementation manners

[0060] Embodiments of the present application will be described below in conjunction with the accompanying drawings. Those of ordinary skill in the art will understand that with the development of technology and the emergence of new scenarios, the technical solutions provided by the embodiments of the present application are equally applicable to similar technical problems.

[0061] Terms such as "first", "second", etc. in the specification, claims and above-mentioned drawings of the present application are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It should be understood that such terms can be interchanged under appropriate circumstances, which is only a way of distinguishing when describing objects with the same attributes in the embodiments of the present application. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, so that a process, method, system, product or device including a series of units does not have to be limited to those units, but may include other units that are not clearly listed or are inherent to these processes, methods, products or devices.

[0062] For ease of understanding, the technical terms related to the embodiments of the present application will be introduced below.

[0063] (1) SLAM

[0064] Generally, SLAM can be divided into visual SLAM and laser SLAM. Visual SLAM refers to using the images collected by an image sensor to perform the SLAM process; laser SLAM refers to using the point cloud data collected by a laser sensor to perform the SLAM process.

[0065] (2) Point cloud data

[0066] Point cloud data refers to a set of vectors in a three-dimensional coordinate system, which can reflect the true situation of the ground surface or an object with high accuracy, such as road surface conditions, object reflection characteristics, etc. Generally, by emitting laser light from a lidar to the object to be scanned and then receiving the laser light reflected by the object in the environment to obtain point cloud data. Among them, the data obtained by the lidar scanning the object is recorded in the form of points, and each point contains three-dimensional coordinates, and some may contain color information (RGB) or reflection intensity information (Intensity).

[0067] (3) LiDAR

[0068] LiDAR is a radar system that detects the position, speed and other characteristic quantities of a target by emitting laser beams. The working principle of LiDAR is to emit a detection signal (laser beam) to the target, and then compare and appropriately process the received signal (target echo) reflected from the target with the transmitted signal, so as to obtain relevant information about the target, such as parameters of the target distance, azimuth, altitude, speed, attitude, and even shape, etc., so as to realize the detection of targets such as road surfaces or obstacles on the ground surface. Generally speaking, LiDAR can be composed of a laser transmitter, an optical receiver and an information processing system, etc. The laser transmitter converts the electrical pulse into an optical pulse and emits it, and the optical receiver restores the optical pulse reflected from the target into an electrical pulse and sends it to the information processing system for processing.

[0069] (4) Inertial sensor

[0070] An inertial sensor is a kind of sensor, usually also called an Inertial Measurement Unit (IMU). Inertial sensors are mainly used to detect and measure acceleration, rotation, tilt, shock, vibration and multi-degree-of-freedom motion, and are important components for solving navigation, orientation and motion carrier control. The principle of inertial sensors is realized by the law of inertia, mainly including accelerometers and angular velocity meters (gyroscopes), and can measure the acceleration and angular velocity of an object in three directions of a three-dimensional coordinate system.

[0071] (5) Accelerometer

[0072] An accelerometer is an instrument for measuring acceleration, usually also called a gravity sensor, which can sense acceleration in any direction. An accelerometer usually obtains the result by measuring the force on a certain axis of the measuring component, and the manifestation is the magnitude and direction of the acceleration in the axis.

[0073] (6) Gyroscope

[0074] A gyroscope is an angular motion detection device used to measure the angular velocity of an object. The working principle of a gyroscope is that the axis of rotation of a high-speed rotating object has a tendency to be perpendicular to the external force that changes its direction. Moreover, when the rotating object is laterally tilted, gravity acts in the direction of increasing the tilt, and the axis moves in the vertical direction, resulting in a nodding motion (precession motion). Simply put, a gyroscope measures the angular velocity of an object by measuring its own rotation state.

[0075] (7) Pose

[0076] Pose describes the position and orientation of an object in a specified coordinate system. Among them, the position refers to the location of the object in space, and the position of a rigid body can be represented by a 3x1 matrix, that is, the position of the rigid body in a three-dimensional coordinate system. The orientation refers to the direction of the object in space, and the orientation of a rigid body can be represented by a 3x3 matrix, that is, the orientation of the rigid body coordinate system in the base coordinate system.

[0077] Simply put, pose can refer to the position and orientation of an object, where the position of the object can be represented by a three-dimensional coordinate (x, y, z), and the orientation of the object can be represented by three rotation angles (i.e., the rotation angles of the object relative to three directions in the three-dimensional coordinate system) or a rotation matrix.

[0078] (8) Point Cloud Registration

[0079] Point cloud registration means inputting two point clouds Ps (source) and Pt (target), and outputting a transformation T (i.e., rotation R and translation t) to make the coincidence degree of point cloud Ps and point cloud Pt as high as possible.

[0080] (9) Extrinsic Parameter Calibration

[0081] Extrinsic parameter calibration refers to determining the position and orientation information of the lidar relative to the vehicle, including the position and orientation angles of the lidar.

[0082] Currently, in order to verify the reliability of the SLAM algorithm deployed on the driving device, it is often necessary to evaluate the positioning results obtained based on the SLAM algorithm. In an outdoor environment, the positioning results obtained based on GNSS can usually be used as a reference to evaluate the accuracy of the positioning results of the SLAM algorithm. However, in an indoor environment, GNSS signals are easily blocked, so it is difficult to evaluate the accuracy of the SLAM algorithm based on GNSS. Exemplarily, please refer to Figure 1 , Figure 1 which is a schematic diagram of an application scenario provided by an embodiment of the present application. As Figure 1 shown, a lidar and a device for receiving GNSS are deployed on the intelligent driving vehicle. However, due to external object blocking in the place where the intelligent driving vehicle travels, it is difficult to receive GNSS signals, so it is impossible to evaluate the accuracy of the positioning results of the SLAM algorithm based on GNSS. For example, when the intelligent driving vehicle travels in a basement, it is difficult to receive GNSS signals due to ground building blocking.

[0083] Currently, in the related art, a laser tracker is carried manually to the site to measure the position of the driving device, and the measured position is compared with the pose data obtained by the driving device executing the SLAM algorithm, so as to evaluate the accuracy of the SLAM algorithm. For example, a user can carry a laser tracker to the site for measurement. The principle of the laser tracker is to irradiate the laser on the identification point (such as a reflector, etc.) of the measurement target, and then the laser reflected by the target returns to the light source, so as to determine the three-dimensional position of the target. The laser tracker has high measurement accuracy and high portability, but its price is high and it is not suitable for the testing of large-scale commercial products.

[0084] Generally speaking, for the accuracy evaluation of the SLAM algorithm, the manual measurement method in the related art has low efficiency and high cost, and it is difficult to be applied to the evaluation of large-scale commercial products.

[0085] In view of this, the embodiment of the present application provides a positioning accuracy evaluation method, which uses the pose data obtained based on SLAM at different times in the same scene as the evaluation frame and multiple reference frames respectively, and downsamples the point cloud data corresponding to the evaluation frame and the multiple reference frames, so that the ratio between the ground points and the non-ground points in the downsampled point cloud data is within a preset range. Then, the downsampled point cloud data corresponding to the evaluation frame and the multiple reference frames is subjected to point cloud registration, so as to determine the positioning error of the evaluation frame based on the registration result. Since only the pose data obtained based on SLAM and the point cloud data during the execution of SLAM are required in this solution to complete the positioning accuracy evaluation, the efficiency of the positioning evaluation can be effectively improved and the cost can be reduced. In addition, after the downsampling is performed, the ratio between the ground points and the non-ground points in the point cloud data is within a preset range, that is, the points in the point cloud data are evenly distributed on the ground and non-ground, so that balanced constraints can be provided in the horizontal direction and the height direction during the point cloud registration process, improving the accuracy of the registration and ensuring the positioning evaluation accuracy finally obtained.

[0086] Among them, the positioning accuracy evaluation method provided by the embodiment of the present application can be applied to a driving device, such as an intelligent driving vehicle or a robot and other devices with the ability of autonomous driving. In addition, a lidar is deployed on the driving device, which can collect point cloud data to facilitate the subsequent execution of the positioning accuracy evaluation method provided by the embodiment of the present application based on the collected point cloud data.

[0087] It should be noted that the positioning accuracy evaluation method provided in the embodiments of the present application actually evaluates the positioning accuracy of the SLAM algorithm adopted by the traveling device by obtaining the point cloud data collected during the execution of SLAM by the traveling device and the pose data obtained during the execution of SLAM by the traveling device. Therefore, the execution device of the positioning accuracy evaluation method provided in the embodiments of the present application can be the traveling device itself or other devices outside the traveling device, such as a server, a personal computer, a laptop computer, or a smart phone, etc., which are devices with data processing capabilities. This embodiment does not make specific limitations here.

[0088] For the convenience of understanding this solution, in the embodiments of the present application, Figure 2 the structure of the traveling device provided by the present application is introduced.

[0089] Please refer to Figure 2 , Figure 2 which is a schematic structural diagram of a traveling device 200 provided by an embodiment of the present application. As Figure 2 shown, the traveling device 200 may include a lidar 201, a sensor 202, a processor 203, a memory 204, and a communication module 205.

[0090] Among them, the processor 203 may include one or more processing units. For example, the processor 203 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units may be independent devices or integrated in one or more processors.

[0091] Among them, the controller may be the nerve center and command center of the traveling device 200. The controller may generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching instructions and executing instructions.

[0092] A memory may also be provided in the processor 203 for storing instructions and data. In some embodiments, the memory in the processor is a cache memory. This memory can save the instructions or data that the processor has just used or recycled. If the processor needs to use this instruction or data again, it can be directly called from the memory. This avoids repeated accesses, reduces the waiting time of the processor 203, and thus improves the efficiency of the system.

[0093] In some embodiments, the processor 203 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0094] The lidar 201 may scan the surrounding environment of the driving device 200 to obtain point cloud data of the surrounding environment. Among them, the lidar 201 may be, for example, a solid-state lidar, a mechanical lidar, or a semi-solid-state lidar, etc.

[0095] The sensor 202 may acquire information such as the moving speed, moving direction of the driving device 200, and the distance from surrounding objects. Exemplarily, the sensor 202 may include a gyroscope sensor, a speed sensor, an acceleration sensor, a distance sensor, etc.

[0096] Among them, the gyroscope sensor may be used to determine the motion posture of the driving device 200. In some embodiments, the angular velocity of the driving device 200 around three axes (i.e., the x, y, and z axes) may be determined by the gyroscope sensor. The gyroscope sensor may be used for anti-shake shooting. Exemplarily, when the driving device 200 is performing image acquisition, the gyroscope sensor detects the shaking angle of the driving device 200, calculates the distance that the lens module needs to compensate according to the angle, and makes the lens offset the shaking of the driving device 200 through reverse movement to achieve anti-shake. The gyroscope sensor may also be used in scenarios such as navigation or calculating the unevenness of the ground to determine whether the driving device 200 is trapped.

[0097] The speed sensor is used to measure the moving speed. In some embodiments, the driving device 200 measures the moving speed at the current moment through the speed sensor, and may combine with the distance sensor to predict the environment where the driving device 200 will be at the next moment based on the environment where the driving device 200 is located at the current moment, etc.

[0098] The acceleration sensor can detect the magnitude of the acceleration of the driving device 200 in each direction (generally three axes). When the driving device 200 is stationary, the magnitude and direction of gravity can be detected.

[0099] A distance sensor is used to measure distance. The traveling device 200 can measure distance through infrared or laser. In some embodiments, when shooting a scene, the traveling device 200 can use the distance sensor to measure distance to achieve fast focusing.

[0100] The memory 204 may include an external memory and an internal memory. The external memory interface can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the traveling device 200. The external memory card communicates with the processor through the external memory interface to achieve the data storage function. For example, save the sample information file in the external memory card.

[0101] The internal memory can be used to store computer-executable program codes, and the executable program codes include instructions. The processor executes various functional applications and data processing of the traveling device 200 by running the instructions stored in the internal memory. The internal memory may include a program storage area and a data storage area. Among them, the program storage area can store the operating system and application programs required for at least one function. The data storage area can store the data created during the use of the traveling device 200. In addition, the internal memory may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.

[0102] The wireless communication function of the traveling device 200 can be realized through the communication module 205. For example, through the communication module 205, the traveling device 200 can communicate with other devices, such as communicate with a server. As an example, the communication module 205 may include an antenna 1, an antenna 2, a mobile communication module, a wireless communication module, a modulation and demodulation processor, and a baseband processor, etc.

[0103] The antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the traveling device 200 can be used to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization rate of the antennas. For example: the antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0104] It can be understood that the structure illustrated in this embodiment does not constitute a specific limitation on the traveling device 200. In some other embodiments, the traveling device 200 may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or have different component arrangements. The illustrated components can be implemented in hardware, software, or a combination of software and hardware.

[0105] The scenarios and devices to which the method provided in the embodiments of the present application is applied are introduced above. The following will detail the execution process of the positioning accuracy evaluation method provided in the embodiments of the present application. Please refer to Figure 3 , Figure 3 which is a schematic flowchart of a positioning accuracy evaluation method provided in the embodiments of the present application. As Figure 3 shown, the positioning accuracy evaluation method includes the following steps 301-304.

[0106] Step 301: Obtain an evaluation frame, multiple reference frames, evaluation point cloud data, and multiple reference point cloud data. The evaluation point cloud data is the point cloud data collected at the pose indicated by the evaluation frame, and the multiple reference point cloud data are respectively the point cloud data collected at the poses indicated by the multiple reference frames.

[0107] In this embodiment, both the evaluation frame and the multiple reference frames are used to indicate the pose data obtained at different times in the same scene. Moreover, both the evaluation frame and the multiple reference frames have corresponding timestamps, which are used to indicate the moments when the driving device executes the positioning process to obtain the evaluation frame and the multiple reference frames. For example, during the execution of the SLAM process by the driving device, it continuously performs positioning on itself, thereby obtaining its own pose data at each moment, and the pose data at each moment can be represented by the evaluation frame and the multiple reference frames.

[0108] Among them, the evaluation frame is a data frame used to evaluate the positioning accuracy of a positioning method (such as the positioning algorithm in SLAM), and the multiple reference frames are data frames used to cooperate with the evaluation frame to achieve positioning accuracy evaluation. In practical applications, multiple evaluation frames can be selected, and for each evaluation frame, the method provided in this embodiment can be used to perform positioning accuracy evaluation, thereby obtaining the positioning error corresponding to each evaluation frame.

[0109] Since each evaluation frame has a corresponding timestamp, based on the timestamp corresponding to the evaluation frame, the evaluation point cloud data corresponding to the same timestamp can be obtained. That is, the evaluation point cloud data is actually the point cloud data collected at the pose indicated by the evaluation frame. The driving device collects the evaluation point cloud data at a certain timestamp and generates the pose data (i.e., the evaluation frame) corresponding to this timestamp. Therefore, based on the timestamp, the evaluation point cloud data corresponding to the evaluation frame can be determined.

[0110] Similarly, since each reference frame in the multiple reference frames also has a corresponding timestamp, based on the timestamp corresponding to each reference frame, the reference point cloud data corresponding to each reference frame can also be obtained.

[0111] Among them, the above-mentioned evaluation point cloud data and multiple reference point cloud data can both be collected by the lidar mounted on the driving device, such as the lidar mounted on an intelligent driving vehicle or a robot.

[0112] Optionally, both the above-mentioned evaluation frame and the multiple reference frames are obtained by performing SLAM in an indoor environment. For example, when the traveling device is an intelligent driving vehicle, the above-mentioned evaluation frame and the multiple reference frames can be obtained by performing SLAM in an underground parking lot; or when the traveling device is a robot, the above-mentioned evaluation frame and the multiple reference frames can be obtained by performing SLAM in a warehouse, a workshop or a building. In an indoor environment, due to the lack of GNSS signals, it is difficult to evaluate the positioning accuracy of the SLAM algorithm based on GNSS signals.

[0113] Generally speaking, the SLAM algorithm can include a mapping algorithm and a positioning algorithm. The mapping algorithm is used to construct a map of the environment, and the positioning algorithm is to perform positioning based on the constructed map. Moreover, during the process of the traveling device performing SLAM, when the traveling device executes the mapping algorithm and the positioning algorithm, corresponding pose data will be generated to indicate the positioning situation of the traveling device.

[0114] In a possible example, the above-mentioned multiple reference frames are obtained based on the mapping algorithm in SLAM, and the evaluation frame is obtained based on the positioning algorithm. For example, the above-mentioned multiple reference frames can be a prior map obtained based on the mapping algorithm in SLAM. This prior map usually includes pose data and landmark information. Moreover, the pose data and landmark information in the prior map are often optimized by the Bundle Adjustment (BA) method multiple times, and may even be detected by loop closure multiple times. Therefore, the prior map will have a high accuracy. In addition, the positioning algorithm for generating the evaluation frame usually can be executed based on the prior map obtained by the mapping algorithm. For example, in an intelligent driving scenario, an intelligent driving vehicle often uses a global positioning method to obtain pose data. The global positioning method has the advantage of fast positioning speed, but the positioning accuracy is limited.

[0115] Therefore, in this solution, using the pose data obtained based on the mapping algorithm in SLAM as the reference frame and the pose data obtained by the positioning algorithm as the evaluation frame can effectively utilize the high-precision pose data to evaluate the accuracy of the pose data obtained during the positioning process, ensuring the accuracy of the evaluation result.

[0116] In another possible example, the evaluation frame and the multiple reference frames can also be both obtained based on the mapping algorithm in SLAM. For example, a data frame obtained by the mapping algorithm in SLAM is selected as the evaluation frame, and other data frames obtained by the mapping algorithm in SLAM are used as the multiple reference frames mentioned above. In this way, by selecting the data frames obtained by the mapping algorithm in SLAM as the evaluation frame and the reference frames respectively, self-evaluation of the data frames obtained by the mapping algorithm can be achieved, that is, the positioning accuracy of the mapping algorithm itself can be evaluated.

[0117] Step 302: Downsample the evaluation point cloud data and the multiple reference point cloud data based on semantic information to obtain the downsampled evaluation point cloud data and the multiple downsampled reference point cloud data.

[0118] In this embodiment, the evaluation point cloud data and each reference point cloud data are actually each composed of a set of points, and a set of points includes multiple points. Each point within the same set of points has a three-dimensional coordinate, which is used to represent the position of the object scanned by the lidar at the current timestamp. Through a large number of points within a set of points, the distribution of objects in the current environment can be effectively represented. That is to say, each point in the evaluation point cloud data and each reference point cloud data corresponds to an object in the current environment, such as objects like the ground, columns, and walls in an underground parking lot. Then, based on the semantic information of the evaluation point cloud data and each reference point cloud data, the evaluation point cloud data and each reference point cloud data can be respectively downsampled so that the ratio between the ground points and the non-ground points in any downsampled point cloud data can be within a preset range.

[0119] Specifically, by identifying the objects corresponding to each point in the evaluation point cloud data and each reference point cloud data, the ground points and non-ground points in the evaluation point cloud data, as well as the ground points and non-ground points in the multiple reference point cloud data, can be determined.

[0120] Among them, the ground points are the points in the point cloud data used to represent the ground; the non-ground points are the points in the point cloud data used to represent non-ground objects, such as the points used to represent columns, walls, or pipes.

[0121] Exemplarily, in this step, semantic segmentation may be performed on the evaluation point cloud data and multiple reference point cloud data to obtain the semantic segmentation result of the evaluation point cloud data and the semantic segmentation result of each reference point cloud data in the multiple reference point cloud data. Among them, semantic segmentation refers to performing semantic recognition on each point in the point cloud data, thereby determining the object corresponding to each point in the point cloud data (that is, extracting the semantic information corresponding to each point), and assigning a corresponding label to each point to indicate the type of the object corresponding to the point. In this way, the semantic segmentation result of the evaluation point cloud data can indicate the type of the object corresponding to each point in the evaluation point cloud data, such as objects like the ground, walls, columns, or pipes. Similarly, the semantic segmentation result of each reference point cloud data in the multiple reference point cloud data can indicate the type of the object corresponding to each point in each reference point cloud data.

[0122] Since the semantic segmentation result of the point cloud data can indicate the type of the object corresponding to each point, based on the semantic segmentation result of the evaluation point cloud data, the ground points and non-ground points in the evaluation point cloud data can be determined, and based on the semantic segmentation result of the multiple reference point cloud data, the ground points and non-ground points in the multiple reference point cloud data can be determined.

[0123] In addition, downsampling refers to reducing the points in the point cloud data. During downsampling, by extracting some points in the point cloud data, and retaining the extracted part of the points and deleting the other part of the points that are not extracted, the downsampling of the point cloud data is achieved. After downsampling, the points in the point cloud data can still represent various objects in the environment, but only the density of the points in the point cloud data has decreased somewhat. Among them, the method of performing downsampling on the point cloud data can refer to some existing technologies and will not be elaborated here.

[0124] For any one of the evaluation point cloud data and the multiple reference point cloud data, two downsampling ratios will be set in the same point cloud data, one is the downsampling ratio for ground points, and the other is the downsampling ratio for non-ground points. In this way, when performing downsampling on the same point cloud data, the downsampling of the ground points is performed based on the downsampling ratio for ground points, and the downsampling of the non-ground points is performed based on the downsampling ratio for non-ground points.

[0125] Among them, the downsampling ratio of ground points and that of non-ground points in the same point cloud data are determined based on the number of ground points and the number of non-ground points in the point cloud data, with the aim of keeping the ratio between ground points and non-ground points in the downsampled point cloud data within a preset range. Generally speaking, in the same point cloud data, the distribution of ground points and non-ground points is uneven. For example, in an indoor environment, most points in the point cloud data are ground points, and a small number of other points are non-ground points, that is, ground points usually outnumber non-ground points; in some extreme cases, ground points even far outnumber non-ground points. Therefore, in most cases, the downsampling ratio of ground points and that of non-ground points in the same point cloud data are often different.

[0126] By separately setting the downsampling ratio of ground points and that of non-ground points based on the number of ground points and the number of non-ground points in the point cloud data, after downsampling the point cloud data based on the two downsampling ratios, the ratio between ground points and non-ground points in the downsampled point cloud data can be within the preset range.

[0127] For example, before downsampling the point cloud data, the number of ground points is 1000 and the number of non-ground points is 500. Therefore, the downsampling ratio of ground points can be set to 4, and the downsampling ratio of non-ground points can be set to 2. In this way, after separately downsampling the ground points and non-ground points in the point cloud data based on these two downsampling ratios, the number of ground points and non-ground points in the downsampled point cloud data is both 250, that is, the ratio of ground points to non-ground points is 1.

[0128] Generally speaking, by downsampling the evaluation point cloud data and each reference point cloud data based on the number of ground points and non-ground points in the point cloud data, after downsampling, the ratio between ground points and non-ground points in the point cloud data and each reference point cloud data can be within a fixed preset range, that is, the distribution between ground points and non-ground points in each downsampled point cloud data is balanced, thus providing more balanced horizontal constraints and height constraints for the subsequent registration of point cloud data and improving the accuracy of registration.

[0129] Exemplarily, the preset range can be between a first boundary value and a second boundary value, and the absolute value of the difference between the first boundary value and 1 is not greater than a first threshold, and the absolute value of the difference between the second boundary value and 1 is also not greater than the first threshold. Wherein, the first threshold can be determined or adjusted according to the scenario in which the driving device travels, and this embodiment does not make specific limitations on this. For example, assuming the first threshold is 0.05, then the absolute values of the differences between the first boundary value and the second boundary value and 1 are both not greater than 0.05. For example, the first boundary value is 0.95 and the second boundary value is 1.05. Then, in the downsampled evaluation point cloud data and multiple downsampled reference point cloud data, the ratio between the ground points and the non-ground points is within [0.95, 1.05], that is, the number of ground points and non-ground points is basically close, avoiding the phenomenon of uneven distribution of ground points and non-ground points.

[0130] Step 303, perform point cloud registration on the downsampled evaluation point cloud data and multiple downsampled reference point cloud data to obtain a registration result, and the registration result is used to indicate the positioning error of the evaluation frame.

[0131] In this embodiment, performing point cloud registration on the downsampled evaluation point cloud data and multiple downsampled reference point cloud data actually means adjusting the positions of the points in the downsampled evaluation point cloud data so that the points in the downsampled evaluation point cloud data can coincide with the points in the multiple downsampled reference point cloud data as much as possible.

[0132] It can be understood that if there is no positioning error in the SLAM algorithm, then the points in the downsampled evaluation point cloud data can find points with exactly the same positions in the multiple downsampled reference point cloud data, that is, the points in the downsampled evaluation point cloud data do not need to perform any position adjustment to coincide with the points in the multiple downsampled reference point cloud data. However, in the case where there is a positioning error in the SLAM algorithm, the positions of the points in the downsampled evaluation point cloud data will be incorrect to a certain extent, resulting in the points in the downsampled evaluation point cloud data being unable to coincide with the points in the multiple downsampled reference point cloud data.

[0133] Therefore, in this embodiment, by performing point cloud registration on the downsampled evaluation point cloud data and multiple downsampled reference point cloud data and outputting the registration result, the position gap between the points in the downsampled evaluation point cloud data and the points in the downsampled reference point cloud data can be obtained, and this position gap can be used to represent the positioning error of the evaluation frame. Among them, the above registration result can be, for example, a transformation matrix, which is used to indicate the rotation angle and translation value that the points in the downsampled evaluation point cloud data need to perform. Therefore, this registration result can be understood as the position gap between the downsampled evaluation point cloud data and the downsampled reference point cloud data.

[0134] Exemplarily, the method of performing point cloud registration on the downsampled evaluation point cloud data and multiple downsampled reference point cloud data can be, for example, a combination of one or more point cloud registration algorithms such as Iterative Closest Points (ICP), Generalized Iterative Closest Points (GICP), or Normal Distribution Transform (NDT). This embodiment does not make specific limitations on this.

[0135] It should be noted that in this embodiment, the point cloud data is first downsampled so that the ratio of ground points to non-ground points in the point cloud data is maintained within a preset range, and then the point cloud registration is performed on the downsampled point cloud data, in order to improve the accuracy of point cloud registration and avoid easily converging to a local optimal solution during the point cloud registration process.

[0136] Specifically, during the process of the driving device performing SLAM, the ground points and non-ground points in the point cloud data collected by the driving device are often unevenly distributed, that is, the ground points often outnumber the non-ground points. Since the height of the ground points is often fixed, that is, the ground points extend continuously on a horizontal plane, the ground points can often only provide constraints in the height direction during the point cloud registration process and cannot provide constraints in the horizontal direction. In this way, when there are a large number of ground points and only a small number of non-ground points in the point cloud data, the point cloud registration process will focus on satisfying the constraints in the height direction and seriously lack the constraints in the horizontal direction, and it is easy to make registration errors. That is to say, in order to improve the accuracy of point cloud registration, higher weights need to be assigned to non-ground points during the point cloud registration process to avoid the phenomenon of incorrect registration due to too many ground points.

[0137] In addition, from the perspective of the hardware for collecting point cloud data, the field of view of some solid-state radars is limited, and the point cloud data collected when running to the same area twice may be inconsistent. This inconsistent phenomenon will cause the ground points lacking horizontal constraints to be mismatched, so it is also necessary to assign higher weights to more robust non-ground points during the registration process of the point cloud data.

[0138] Generally speaking, in order to assign higher weights to non-ground points during the registration process, in this embodiment, the ground points and non-ground points in the point cloud data are respectively downsampled, and the ratio between the ground points and non-ground points in the downsampled point cloud data is kept within a preset range, that is, to ensure that the distribution between the ground points and non-ground points is balanced. In this way, during the point cloud registration process, the ground points and non-ground points can provide balanced height constraints and horizontal constraints, ensuring the accuracy of the finally obtained point cloud registration result.

[0139] Optionally, when the evaluated point cloud data and the reference point cloud data are obtained at different stages, for example, the evaluated point cloud data is obtained when performing a positioning algorithm and the reference point cloud data is obtained when performing a mapping algorithm in SLAM, the coordinate systems corresponding to the evaluated point cloud data and the reference point cloud data may be inconsistent (i.e., the evaluated point cloud data corresponds to a local coordinate system while the reference point cloud data corresponds to a world coordinate system). Therefore, the two types of point cloud data can be first converted to the same coordinate system before performing point cloud registration.

[0140] Exemplarily, before performing point cloud registration on the downsampled evaluated point cloud data and multiple downsampled reference point cloud data, a coordinate transformation can be performed on the downsampled evaluated point cloud data based on the pose data indicated by the evaluation frame, so that the downsampled evaluated point cloud data and the multiple downsampled reference point cloud data correspond to the same coordinate system.

[0141] Alternatively, after obtaining the evaluated point cloud data and multiple reference point cloud data in step 301 above, a coordinate transformation can be performed on the evaluated point cloud data, so that the evaluated point cloud data can correspond to the same coordinate system as the multiple reference point cloud data after the coordinate system is transformed.

[0142] If both the evaluated point cloud data and the reference point cloud data are obtained when performing a mapping algorithm in the SLAM algorithm, the coordinate systems corresponding to the evaluated point cloud data and the reference point cloud data are often the same. Therefore, there is no need to perform a coordinate system transformation on the evaluated point cloud data.

[0143] Optionally, during the process of performing point cloud registration on the downsampled evaluated point cloud data and multiple downsampled reference point cloud data, at least one downsampled reference point cloud data can be selected from the multiple downsampled reference point cloud data as the target point cloud data based on the regional overlap situation between the downsampled evaluated point cloud data and each downsampled reference point cloud data among the multiple downsampled reference point cloud data. Here, the regional overlap situation can refer to the proportion of the overlapping area covered by the points in the two point cloud data. For example, assuming that the downsampled evaluated point cloud data includes 1000 points, and there are 500 points among the 1000 points whose included areas overlap with the areas included by the points in the downsampled reference point cloud data, then the regional overlap ratio between the downsampled evaluated point cloud data and the downsampled reference point cloud data can be determined as 500 / 1000.

[0144] Briefly speaking, if two clusters of point clouds are in the same or similar positions in three-dimensional space, then the regions contained in these two clusters of point clouds will overlap with each other in space; the more overlapping regions there are between the two clusters of point clouds (i.e., the larger the region overlap ratio), it means that the acquisition positions corresponding to the two clusters of point clouds are closer; the fewer overlapping regions there are between the two clusters of point clouds (i.e., the smaller the region overlap ratio), it means that the acquisition positions corresponding to the two clusters of point clouds are farther apart. Since when performing point cloud registration on the downsampled evaluation point cloud data, it is actually necessary to find the downsampled reference point cloud data that is close to the position of the downsampled evaluation point cloud data, therefore, based on the region overlap situation between the downsampled evaluation point cloud data and the downsampled reference point cloud data, some downsampled reference point cloud data with a relatively large region overlap ratio can be determined as the target point cloud data, thereby filtering out some other reference point cloud data that is far from the evaluation point cloud data, so as to improve the efficiency and accuracy of the subsequent point cloud registration process.

[0145] After determining the target point cloud data, perform point cloud registration on the downsampled evaluation point cloud data and the target point cloud data to obtain the registration result.

[0146] In this solution, by based on the region overlap situation between point cloud data, a part of the reference point cloud data with a large overlapping region with the evaluation point cloud data is selected from multiple reference point cloud data as the target point cloud data for the subsequent point cloud registration process, which can effectively filter out some invalid reference point cloud data, thereby improving the efficiency and accuracy of the subsequent point cloud registration process.

[0147] Optionally, based on the region overlap situation between the downsampled evaluation point cloud data and multiple downsampled reference point cloud data, selecting at least one downsampled reference point cloud data from multiple downsampled reference point cloud data as the target point cloud data can specifically be completed in two steps.

[0148] First, based on the poses indicated by the evaluation frame and the poses indicated by multiple reference frames, determine some reference frames from multiple reference frames, and the distances between the poses indicated by these some reference frames and the pose indicated by the evaluation frame are all less than the second threshold. Among them, the distance between poses can be, for example, the distance between positions, or the weighted sum value of the distance between positions and the distance between postures. And the second threshold can be determined based on the application scenario. For example, when the processing ability of the execution device is high, or when a high accuracy of the positioning accuracy evaluation result is required, the second threshold can be set to a larger value; when the processing ability of the execution device is poor, the second threshold can be set to a relatively small value.

[0149] Specifically, since the evaluated point cloud data is the point cloud data collected at a certain pose, while the multiple reference point cloud data are respectively the point cloud data collected at multiple different poses, if the pose corresponding to the evaluated point cloud data is quite different from that of a certain reference point cloud data, then the evaluated point cloud data basically does not have an overlapping area with this reference point cloud data. Thus, if the pose indicated by the evaluated frame is quite different from that indicated by a certain reference frame, then the evaluated point cloud data corresponding to the evaluated frame also does not have an overlapping area with the reference point cloud data corresponding to this reference frame. Therefore, by comparing the distance between the poses indicated by the evaluated frame and the reference frame respectively, some reference frames that are far away from the evaluated frame can be excluded, so as to screen out some reference frames that are close to the evaluated frame.

[0150] Then, based on the regional overlapping situation between the downsampled evaluated point cloud data and the partially downsampled reference point cloud data, at least one downsampled reference point cloud data is selected from the partially downsampled reference point cloud data as the target point cloud data, where the above-mentioned partially downsampled reference point cloud data corresponds to some reference frames screened out from multiple reference frames.

[0151] That is to say, in this embodiment, first, based on the pose relationship between the evaluated frame and the reference frame, after screening out some reference frames that are close to the evaluated frame, then further screening out the reference point cloud data with a relatively large regional overlapping ratio from the reference point cloud data corresponding to these reference frames based on the regional overlapping situation as the target point cloud data, which reduces the number of times of determining the regional overlapping situation between point cloud data and further improves the efficiency of positioning accuracy evaluation.

[0152] In addition, in the case of selecting the partially downsampled reference point cloud data as the target point cloud data based on the regional overlapping situation between point cloud data, specifically, the overlapping ratio of the non-ground point coverage area between the downsampled evaluated point cloud data and each downsampled reference point cloud data in the partially downsampled reference point cloud data can be determined first.

[0153] Then, N downsampled reference point cloud data with an overlapping ratio of the non-ground point coverage area greater than the third threshold and the highest overlapping ratio of the non-ground point coverage area are selected from the partially downsampled reference point cloud data as the target point cloud data, where N is an integer not less than 1. For example, N is 3 or 5. The third threshold can be a value such as 80% or 90% etc., and no specific limitation is made here.

[0154] That is to say, when determining the regional overlap of point cloud data, it is not to determine the overlap ratio of all regions included in the point cloud data, but only to determine the overlap ratio of the non-ground regions included in the point cloud data. It can be understood that since the features of ground points are single and it is difficult to effectively represent the actual positions of ground points on the horizontal plane, while the features of non-ground points (such as columns, pipes or walls) are more obvious and can effectively represent the actual positions of non-ground points on the horizontal plane. Therefore, by determining the overlap ratio of the covered regions of non-ground points, the actual regional overlap between two point cloud data can be more accurately evaluated, thereby improving the screening accuracy of the target point cloud data.

[0155] Moreover, when screening the target point cloud data based on the overlap ratio of the covered regions of non-ground points, the N point cloud data with the highest overlap are selected from the point cloud data with an overlap ratio greater than a certain threshold, ensuring that the subsequent selected target point cloud data and the downsampled reference point cloud data have overlapping regions with as large an area as possible, and ensuring the accuracy of the subsequent point cloud registration process.

[0156] The above describes the execution process of the positioning accuracy evaluation method provided by the embodiments of the present application. The following will detail the process of executing the positioning accuracy evaluation method in practical applications with specific examples.

[0157] Please refer to Figure 4 , Figure 4 which is a schematic structural diagram of an execution device for the positioning accuracy evaluation method provided by the embodiments of the present application. As Figure 4 shown, the execution device for executing the positioning accuracy evaluation method provided by the present embodiment includes a processor and a memory, and the processor is connected to the memory through a system bus. Among them, the processor includes but is not limited to general-purpose processors, central processors, graphics processors, digital signal processors, programmable logic devices, data processing logics based on quantum computing, etc., and is mainly used to execute the positioning accuracy evaluation method provided by the present embodiment.

[0158] The memory stores an operating system and program codes for implementing the positioning accuracy evaluation method. In addition, the execution device is also connected with a collector and an input device through an input / output (I / O) interface. Among them, the collector refers to a device for collecting point cloud data, such as a lidar on a driving device, and the specific number of beams used by the lidar can be 32 lines, 64 lines or 128 lines, etc. The execution device can obtain the point cloud data collected by the driving device during the execution of the SALM process from the collector. The input device includes but is not limited to devices such as external hard drives, USB flash drives or memories on the driving device, and is used to input the data frames with timestamps (i.e., the above-mentioned evaluation frames and reference frames) obtained during the execution of the SLAM process by the driving device, as well as the external parameters of the collector, into the execution device.

[0159] Please refer to Figure 5 , Figure 5 which is a schematic diagram of the system architecture of an execution device provided by an embodiment of the present application. As Figure 5 shown, the functional modules of the execution device include three modules, namely a data preprocessing module, a sample pair search module, and a registration module. The input information of the execution device includes point cloud data, pose data, and calibration information. Among them, the calibration information refers to parameters such as the internal and external parameters for realizing lidar calibration, mainly used to perform coordinate transformation on the point cloud data collected by the lidar subsequently. The output information of the execution device includes an error distribution map and a trajectory ground truth. The error distribution map can be used to indicate the error distribution of the pose data generated during the SLAM process of the driving device. The trajectory ground truth is determined based on the error distribution of the pose data and is used to indicate the actual trajectory of the driving device.

[0160] Regarding the functional modules of the execution device, the data preprocessing module is mainly used to perform the association of pose data and point cloud data based on timestamps, extract the semantic information of the point cloud data (i.e., perform semantic segmentation on the point cloud data), and downsample the point cloud data based on the semantic information of the point cloud data.

[0161] The sample pair search module is used to perform a rough search for sample pairs (i.e., the reference point cloud data corresponding to the evaluation point cloud data) based on the pose data, and perform a fine search for sample pairs based on the coverage area between the point cloud data.

[0162] The registration module is used to perform the registration of point cloud data based on a combination of one or more point cloud registration methods.

[0163] Exemplarily, please refer to Figure 6 , Figure 6 which is a schematic diagram of the execution process for evaluating the positioning accuracy provided by an embodiment of the present application. As Figure 6 shown, the process of the execution device evaluating the positioning accuracy of the SLAM algorithm of the driving device includes the following steps 601-608.

[0164] Step 601, read the evaluation frame, multiple reference frames, and point cloud data.

[0165] In this embodiment, the evaluation frame is obtained when the driving device executes the mapping algorithm or the positioning algorithm in SLAM and is used to indicate the pose data; the multiple reference frames are obtained when the driving device executes the mapping algorithm in SLAM and are used to indicate the pose data. In addition, the evaluation frame and each reference frame have corresponding timestamps. The point cloud data is obtained when the driving device executes SLAM, and the point cloud data read by the execution device is the point cloud data at multiple timestamps.

[0166] Step 602: Based on the timestamps, associate the evaluation frame with the point cloud data corresponding to multiple reference frames to obtain the evaluation point cloud data and multiple reference point cloud data.

[0167] Since the evaluation frame, reference frames, and point cloud data all have corresponding timestamps, the point cloud data corresponding to the evaluation frame and the point cloud data corresponding to each reference frame in the multiple reference frames can be associated based on the timestamps. That is, the point cloud data collected at the timestamp corresponding to the evaluation frame is the evaluation point cloud data; the point cloud data collected at the timestamp corresponding to each reference frame is the reference point cloud data.

[0168] Step 603: Perform semantic segmentation on the evaluation point cloud data and multiple reference point cloud data to obtain the semantic segmentation result.

[0169] By performing semantic segmentation on the evaluation point cloud data and multiple reference point cloud data, semantic labels can be assigned to the points in the evaluation point cloud data and each reference point cloud data, such as semantic labels like ground, wall, pillar, or pipe, etc., and then the semantic segmentation result is obtained.

[0170] It should be noted that this embodiment does not limit the execution order of Step 602 and Step 603. It can be to execute Step 602 first and then Step 603, or to execute Step 603 first and then Step 602.

[0171] Step 604: Based on the semantic segmentation result, perform adaptive downsampling on the evaluation point cloud data and multiple reference point cloud data.

[0172] Since the semantic information of each point in the point cloud data is indicated in the semantic segmentation result, the points in the evaluation point cloud data and each reference point cloud data can be divided into ground points and non-ground points. Moreover, during the process of performing adaptive downsampling on the evaluation point cloud data and multiple reference point cloud data, different downsampling ratios are used for ground points and non-ground points respectively, so that the number of ground points and non-ground points in the resulting point cloud data after downsampling is as close as possible. That is to say, in the downsampled evaluation point cloud data and multiple downsampled reference point cloud data, the ratio between ground points and non-ground points is as close as possible to 1, that is, the ground points and non-ground points are evenly distributed.

[0173] Step 605: Unify the coordinate systems of the point cloud data.

[0174] When evaluating the point cloud data obtained by performing the localization algorithm in SLAM, the coordinate system corresponding to the downsampled evaluation point cloud data may be different from the coordinate systems corresponding to multiple downsampled reference point cloud data. Therefore, in this embodiment, the coordinate system of the downsampled evaluation point cloud data can be converted by reading the calibration information of the lidar (such as the extrinsic parameters from the lidar to the IMU), so that the downsampled evaluation point cloud data and multiple downsampled reference point cloud data are unified into the same coordinate system.

[0175] Step 606: Perform a multi-step search process and select some of the downsampled reference point cloud data as the target point cloud data.

[0176] In this embodiment, when performing the multi-step search process, first, based on the distance between the evaluation frame and the reference frame, select some of the downsampled reference point cloud data from multiple downsampled reference point cloud data (that is, try to select the reference point cloud data corresponding to the reference frame closer to the evaluation frame); then, select the downsampled reference point cloud data with a larger overlapping area with the downsampled evaluation point cloud data from the selected part of the downsampled reference point cloud data as the target point cloud data.

[0177] Step 607: Perform point cloud registration on the downsampled evaluation point cloud data and the target point cloud data to obtain the registration result corresponding to the evaluation frame.

[0178] Among them, the method of performing point cloud registration can be, for example, a combination of one or more point cloud registration algorithms such as ICP, GICP, or NDT. This embodiment does not make specific limitations on this. Among them, the registration result corresponding to the evaluation frame is a rotation and translation quantity, which can be used to indicate the positioning error value corresponding to the evaluation frame.

[0179] Step 608: Statistically analyze the registration results of all evaluation frames to generate an error distribution map.

[0180] In this embodiment, for any evaluation frame, the registration result corresponding to the evaluation frame can be determined in the manner of the above steps 601-607, and then the positioning error corresponding to each evaluation frame can be determined. In this way, by statistically analyzing the registration results of all evaluation frames, an error distribution map can be generated. This error distribution map can be used to indicate the distribution of various positioning error values, such as the probability of each positioning error value appearing among all the statistically analyzed registration results. Exemplarily, the error distribution map can be, for example, a Cumulative Distribution Function (CDF). That is, the error distribution map is the integral of the probability density function and can completely describe the probability distribution of a random variable X (i.e., the positioning error value).

[0181] In addition, after obtaining the positioning error value corresponding to each evaluation frame, based on the pose data indicated by the evaluation frame and its corresponding positioning error value, the actual pose data (i.e., the true pose) corresponding to each evaluation frame among the multiple ones can be determined, so as to obtain the true trajectory of the traveling device.

[0182] For ease of understanding, the multi-step search process executed in step 606 above will be introduced in detail below.

[0183] Exemplarily, please refer to Figure 7 , Figure 7 which is a schematic flow chart of a multi-step search process provided by an embodiment of the present application to determine target point cloud data. As Figure 7 shown, in the above step 606, the multi-step search process executed by the execution device includes steps 6061-6067.

[0184] Step 6061: Based on the indicated pose data, select some reference frames that are relatively close to the evaluation frame from multiple reference frames.

[0185] Since both the evaluation frame and each reference frame indicate corresponding pose data, the distance between the pose data indicated by the evaluation frame and the pose data indicated by each reference frame can be compared, and then some reference frames that are relatively close to the evaluation frame can be selected from multiple reference frames. For example, select some reference frames whose distance from the evaluation frame is less than a second threshold.

[0186] Step 6062: Determine the overlapping ratio of the non-ground point coverage area between the downsampled evaluation point cloud data and the downsampled reference point cloud data corresponding to some reference frames.

[0187] For example, assuming that the downsampled evaluation point cloud data includes 500 non-ground points, then it can be counted how many of these 500 non-ground points are in areas that overlap with the non-ground point areas of the downsampled reference point cloud data, and then the overlapping ratio of the non-ground point coverage area can be determined.

[0188] Step 6063: Select one or more reference point cloud data with an overlapping ratio of the non-ground point coverage area greater than a third threshold in descending order.

[0189] Exemplarily, the third threshold can be a value such as 80% or 90%, etc., and no specific limitation is made here.

[0190] Step 6064: Determine whether the number of the selected downsampled reference point cloud data is not less than N.

[0191] Wherein, N is a preset integer, for example, N is a value such as 3 or 5.

[0192] Step 6065, if the number of the selected downsampled reference point cloud data is not less than N, then select N downsampled reference point cloud data with the largest overlapping ratio as the target point cloud data.

[0193] That is to say, if the number of the downsampled reference point cloud data with the overlapping ratio of the non-ground point coverage area greater than the third threshold is not less than N, then among these downsampled reference point cloud data, N downsampled reference point cloud data with the largest overlapping ratio of the non-ground point coverage area can be selected as the target point cloud data.

[0194] Step 6066, if the number of the selected downsampled reference point cloud data is less than N, then use all the selected downsampled reference point cloud data as the target point cloud data.

[0195] Step 6067, continue to select other downsampled reference point cloud data as the target point cloud data.

[0196] For example, for the remaining downsampled reference point cloud data, the overlapping ratio of the coverage area between the downsampled evaluation point cloud data and the downsampled reference point cloud data (i.e., the overlapping ratio of the overall area) can be counted. And, select one or more downsampled reference point cloud data with the highest overlapping ratio of the coverage area as the target point cloud data until the target point cloud data contains N downsampled reference point cloud data.

[0197] The method provided by the embodiments of the present application has been introduced in detail above. Next, the device for executing the above method provided by the embodiments of the present application will be introduced.

[0198] Please refer to Figure 8 , Figure 8 which is a schematic structural diagram of a positioning accuracy evaluation device provided by an embodiment of the present application. As Figure 8 shown, the positioning accuracy evaluation device includes: a downsampling module 801, configured to perform downsampling on the acquired evaluation point cloud data and a plurality of reference point cloud data based on semantic information to obtain downsampled evaluation point cloud data and a plurality of downsampled reference point cloud data, wherein, among the downsampled evaluation point cloud data and the plurality of downsampled reference point cloud data, the ratio between the ground points and the non-ground points is within a preset range; a registration module 802, configured to perform point cloud registration on the downsampled evaluation point cloud data and the plurality of downsampled reference point cloud data to obtain a registration result, and the registration result is used to indicate the positioning error of the pose data corresponding to the evaluation point cloud data.

[0199] In a possible implementation manner, the preset range is between a first boundary value and a second boundary value, and the absolute value of the difference between the first boundary value and 1 is not greater than a first threshold, and the absolute value of the difference between the second boundary value and 1 is not greater than the first threshold.

[0200] In a possible implementation, the registration module 802 is specifically configured to: select some downsampled reference point cloud data from multiple downsampled reference point cloud data based on the distance between the pose corresponding to the evaluation point cloud data and the poses corresponding to the multiple reference point cloud data; select at least one downsampled reference point cloud data from the some downsampled reference point cloud data as the target point cloud data based on the regional overlap between the downsampled evaluation point cloud data and the some downsampled reference point cloud data;

[0201] Perform point cloud registration on the downsampled evaluation point cloud data and the target point cloud data.

[0202] In a possible implementation, the distance between the pose corresponding to the some downsampled reference point cloud data and the pose corresponding to the evaluation point cloud data is less than a second threshold.

[0203] In a possible implementation, the registration module 802 is specifically configured to: determine the overlap ratio of the non-ground point coverage areas between the downsampled evaluation point cloud data and each downsampled reference point cloud data in the some downsampled reference point cloud data; select N downsampled reference point cloud data with the overlap ratio of the non-ground point coverage areas greater than a third threshold and the highest overlap ratio of the non-ground point coverage areas from the some downsampled reference point cloud data as the target point cloud data, where N is an integer not less than 1.

[0204] In a possible implementation, the downsampling module is specifically configured to: perform semantic segmentation on the evaluation point cloud data and multiple reference point cloud data to obtain the semantic segmentation results of the evaluation point cloud data and the semantic segmentation results of the multiple reference point cloud data; determine the ground points and non-ground points in the evaluation point cloud data based on the semantic segmentation result of the evaluation point cloud data, and determine the ground points and non-ground points in the multiple reference point cloud data based on the semantic segmentation results of the multiple reference point cloud data; perform downsampling on the evaluation point cloud data and the multiple reference point cloud data respectively based on the number of ground points and non-ground points in the same point cloud data.

[0205] In a possible implementation, the evaluation point cloud data is the point cloud data collected at the pose indicated by the evaluation frame, and the multiple reference point cloud data are respectively the point cloud data collected at the poses indicated by the multiple reference frames. The evaluation frame and the multiple reference frames are used to indicate the pose data obtained at different moments in the same scene.

[0206] In a possible implementation, before performing point cloud registration on the downsampled evaluation point cloud data and the multiple downsampled reference point cloud data, the processing module is further configured to: perform coordinate transformation on the downsampled evaluation point cloud data based on the pose data indicated by the evaluation frame, so that the downsampled evaluation point cloud data and the multiple downsampled reference point cloud data correspond to the same coordinate system.

[0207] In a possible implementation, multiple reference frames are obtained based on the mapping algorithm in SLAM, and the evaluation frame is obtained based on the positioning algorithm; alternatively, both the evaluation frame and the multiple reference frames are obtained based on the mapping algorithm in SLAM.

[0208] In a possible implementation, the above SLAM is visual SLAM performed based on images.

[0209] In a possible implementation, both the evaluation frame and the multiple reference frames are obtained by performing SLAM in an indoor environment.

[0210] In a possible implementation, both the evaluation point cloud data and the multiple reference point cloud data are collected based on the lidar mounted on the driving device, and the driving device includes an intelligent driving vehicle or a robot.

[0211] Please refer to Figure 9 , Figure 9 which is a schematic structural diagram of an execution device provided by an embodiment of the present application. As Figure 9 shown, the execution device 900 may specifically be a server, which is not limited herein. Specifically, the execution device 900 includes: a receiver 901, a transmitter 902, a processor 903, and a memory 904 (where the number of processors 903 in the execution device 900 may be one or more, Figure 9 and one processor is taken as an example herein), where the processor 903 may include an application processor 9031 and a communication processor 9032. In some embodiments of the present application, the receiver 901, the transmitter 902, the processor 903, and the memory 904 may be connected through a bus or other means.

[0212] The memory 904 may include a read-only memory and a random access memory, and provide instructions and data to the processor 903. A part of the memory 904 may further include a non-volatile random access memory (NVRAM). The memory 904 stores processor and operation instructions, executable modules, or data structures, or subsets thereof, or extended sets thereof, where the operation instructions may include various operation instructions for implementing various operations.

[0213] The processor 903 controls the operation of the execution device. In a specific application, the various components of the execution device are coupled together through a bus system, where the bus system may include a power bus, a control bus, a status signal bus, etc. in addition to a data bus. However, for the sake of clear illustration, all kinds of buses are referred to as a bus system in the figure.

[0214] The method disclosed in the embodiments of the present application can be applied to or implemented by the processor 903. The processor 903 can be an integrated circuit chip with signal processing capabilities. During implementation, the steps of the above method can be completed by the integrated logic circuit in hardware or instructions in software form in the processor 903. The above-mentioned processor 903 can be a general-purpose processor, a digital signal processor (DSP), a microprocessor or a microcontroller, and can further include an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0215] The processor 903 can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. This storage medium is located in the memory 904, and the processor 903 reads the information in the memory 904 and combines its hardware to complete the steps of the above method.

[0216] The receiver 901 can be used to receive input digital or character information, and generate signal inputs related to the relevant settings and function controls of the execution device. The transmitter 902 can be used to output digital or character information through the first interface; the transmitter 902 can also be used to send instructions to the disk group through the first interface to modify the data in the disk group; the transmitter 902 can also include a display device such as a display screen.

[0217] The execution device provided by the embodiment of the present application may specifically be a chip, and the chip includes: a processing unit and a communication unit. The processing unit may be a processor, for example, and the communication unit may be an input / output interface, a pin, a circuit, etc. The processing unit may execute the computer-executable instructions stored in the storage unit to cause the chip in the execution device to execute the method described in the above embodiment. Optionally, the storage unit is a storage unit inside the chip, such as a register, a cache, etc. The storage unit may also be a storage unit outside the chip in the wireless access device, such as a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM), etc.

[0218] Reference may be made to Figure 10 , Figure 10 which is a schematic structural view of a computer-readable storage medium provided by an embodiment of the present application. The present application also provides a computer-readable storage medium. In some embodiments, the above Figure 3 disclosed method may be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or encoded on other non-transitory media or articles.

[0219] Figure 10 Schematically shown is a conceptual partial view of an example computer-readable storage medium arranged according to at least some of the embodiments shown herein. The example computer-readable storage medium includes a computer program for executing a computer process on a computing device.

[0220] In one embodiment, the computer-readable storage medium 1000 is provided using a signal-bearing medium 1001. The signal-bearing medium 1001 may include one or more program instructions 1002 that, when run by one or more processors, may provide the functions or partial functions described above for Figure 3 the description.

[0221] In some examples, the signal-bearing medium 1001 may include a computer-readable medium 1003, such as but not limited to, a hard disk drive, a compact disc (CD), a digital video disc (DVD), a digital tape, a memory, a ROM, or a RAM, etc.

[0222] In some embodiments, the signal-bearing medium 1001 may include a computer-readable recording medium 1004, such as, but not limited to, a memory, a read / write (R / W) CD, an R / W DVD, and the like. In some embodiments, the signal-bearing medium 1001 may include a communication medium 1005, such as, but not limited to, digital and / or analog communication media (e.g., fiber optic cables, waveguides, wired communication links, wireless communication links, and the like). Thus, for example, the signal-bearing medium 1001 may be conveyed by a wireless form of the communication medium 1005 (e.g., a wireless communication medium compliant with the IEEE 802.X standard or other transmission protocols).

[0223] One or more program instructions 1002 may be, for example, computer-executable instructions or logic-implemented instructions. In some examples, a computing device of the computing device may be configured to provide various operations, functions, or actions in response to the program instructions 1002 communicated to the computing device via one or more of the computer-readable medium 1003, the computer-readable recording medium 1004, and / or the communication medium 1005.

[0224] It should be further noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. In addition, in the drawings of the device embodiments provided in this application, the connection relationships between the modules indicate that they have communication connections, which may be specifically implemented as one or more communication buses or signal lines.

[0225] Through the description of the above embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware. Of course, it can also be implemented by dedicated hardware, including application-specific integrated circuits, dedicated CPUs, dedicated memories, dedicated components, etc. Generally, functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structures used to implement the same function can also be various, such as analog circuits, digital circuits, or dedicated circuits. However, for this application, in more cases, software program implementation is a better embodiment. Based on such an understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a floppy disk, a USB flash drive, a mobile hard disk, a ROM, a RAM, a magnetic disk, or an optical disc of a computer, and includes several instructions for causing a computer device (which may be a personal computer, a training device, or a network device, etc.) to execute the methods of the various embodiments of this application.

[0226] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product.

[0227] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another, for example, the computer instructions can be transmitted from a website, a computer, a training device, or a data center to another website, a computer, a training device, or a data center by wire (such as coaxial cable, optical fiber, digital subscriber line) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be stored by a computer or a data storage device such as a training device or a data center that includes one or more integrated available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)), etc.

Claims

1. A method for evaluating positioning accuracy, characterized in that, Including: Performing downsampling on the acquired evaluation point cloud data and multiple reference point cloud data based on semantic information to obtain downsampled evaluation point cloud data and multiple downsampled reference point cloud data. Among the downsampled evaluation point cloud data and the multiple downsampled reference point cloud data, the ratio between ground points and non-ground points is within a preset range; Performing point cloud registration on the downsampled evaluation point cloud data and the multiple downsampled reference point cloud data to obtain a registration result, where the registration result is used to indicate the positioning error of the pose data corresponding to the evaluation point cloud data.

2. The method according to claim 1, characterized in that, The preset range is between a first boundary value and a second boundary value, and the absolute value of the difference between the first boundary value and 1 is not greater than a first threshold, and the absolute value of the difference between the second boundary value and 1 is not greater than the first threshold.

3. The method according to claim 1 or 2, characterized in that, The performing point cloud registration on the downsampled evaluation point cloud data and the multiple downsampled reference point cloud data includes: Selecting some of the downsampled reference point cloud data from the multiple downsampled reference point cloud data based on the distance between the pose corresponding to the evaluation point cloud data and the poses corresponding to the multiple reference point cloud data; Selecting at least one of the downsampled reference point cloud data from the some of the downsampled reference point cloud data as target point cloud data based on the regional overlap situation between the downsampled evaluation point cloud data and the some of the downsampled reference point cloud data; Performing point cloud registration on the downsampled evaluation point cloud data and the target point cloud data.

4. The method according to claim 3, characterized in that, The distance between the pose corresponding to the some of the downsampled reference point cloud data and the pose corresponding to the evaluation point cloud data is less than a second threshold.

5. The method according to claim 3 or 4, characterized in that The selecting at least one of the downsampled reference point cloud data from the some of the downsampled reference point cloud data as target point cloud data based on the regional overlap situation between the downsampled evaluation point cloud data and the some of the downsampled reference point cloud data includes: Determining the overlap ratio of the non-ground point coverage area between the downsampled evaluation point cloud data and each of the downsampled reference point cloud data in the some of the downsampled reference point cloud data; Selecting N downsampled reference point cloud data with the overlap ratio of the non-ground point coverage area greater than a third threshold and the highest overlap ratio of the non-ground point coverage area from the some of the downsampled reference point cloud data as the target point cloud data, where N is an integer not less than 1.

6. The method according to any one of claims 1-5, characterized in that The performing downsampling on the acquired evaluation point cloud data and multiple reference point cloud data based on semantic information includes: Performing semantic segmentation on the evaluation point cloud data and the multiple reference point cloud data to obtain the semantic segmentation result of the evaluation point cloud data and the semantic segmentation results of the multiple reference point cloud data; Determining the ground points and non-ground points in the evaluation point cloud data based on the semantic segmentation result of the evaluation point cloud data, and determining the ground points and non-ground points in the multiple reference point cloud data based on the semantic segmentation results of the multiple reference point cloud data; Performing downsampling on the evaluation point cloud data and the multiple reference point cloud data respectively based on the number of ground points and non-ground points in the same point cloud data.

7. The method according to any one of claims 1-6, characterized in that, The evaluated point cloud data is the point cloud data collected at the pose indicated by the evaluation frame, and the multiple reference point cloud data are respectively the point cloud data collected at the poses indicated by multiple reference frames. The evaluation frame and the multiple reference frames are used to indicate the pose data obtained at different moments in the same scene.

8. The method according to claim 7, wherein The multiple reference frames are obtained based on the mapping algorithm in Simultaneous Localization and Mapping (SLAM), and the evaluation frame is obtained based on the localization algorithm. Alternatively, both the evaluation frame and the multiple reference frames are obtained based on the mapping algorithm in SLAM.

9. The method according to claim 8, wherein The SLAM is visual SLAM performed based on images.

10. The method according to any one of claims 1-9, characterized in that Both the evaluated point cloud data and the multiple reference point cloud data are collected based on the lidar mounted on the driving device, and the driving device includes an intelligent driving vehicle or a robot.

11. A positioning accuracy evaluation device, characterized in that, It includes: A downsampling module, configured to downsample the obtained evaluated point cloud data and multiple reference point cloud data based on semantic information, to obtain downsampled evaluated point cloud data and multiple downsampled reference point cloud data. Among the downsampled evaluated point cloud data and the multiple downsampled reference point cloud data, the ratio between the ground points and the non-ground points is within a preset range. A registration module, which performs point cloud registration on the downsampled evaluated point cloud data and the multiple downsampled reference point cloud data to obtain a registration result, and the registration result is used to indicate the positioning error of the pose data corresponding to the evaluated point cloud data.

12. The device according to claim 11, characterized in that, The preset range is between a first boundary value and a second boundary value, and the absolute value of the difference between the first boundary value and 1 is not greater than a first threshold, and the absolute value of the difference between the second boundary value and 1 is not greater than the first threshold.

13. The device according to claim 11 or 12, characterized in that, The registration module is specifically configured to: Based on the distance between the pose corresponding to the evaluated point cloud data and the poses corresponding to the multiple reference point cloud data, select some of the downsampled reference point cloud data from the multiple downsampled reference point cloud data. Based on the regional overlap between the downsampled evaluated point cloud data and the selected downsampled reference point cloud data, select at least one downsampled reference point cloud data from the selected downsampled reference point cloud data as the target point cloud data. Perform point cloud registration on the downsampled evaluated point cloud data and the target point cloud data.

14. The device according to claim 13, wherein, The distances between the poses corresponding to the selected downsampled reference point cloud data and the pose corresponding to the evaluated point cloud data are all less than a second threshold.

15. The device according to claim 13 or 14, characterized in that, The registration module is specifically configured to: Determine the overlap ratio of the non-ground point coverage areas between the downsampled evaluated point cloud data and each of the downsampled reference point cloud data in the selected downsampled reference point cloud data. Select N downsampled reference point cloud data with the overlap ratio of the non-ground point coverage area greater than a third threshold and the highest overlap ratio of the non-ground point coverage area from the selected downsampled reference point cloud data as the target point cloud data, where N is an integer not less than 1.

16. The device according to any one of claims 11-15, characterized in that, The downsampling module is specifically configured to: Perform semantic segmentation on the evaluated point cloud data and the multiple reference point cloud data to obtain the semantic segmentation results of the evaluated point cloud data and the semantic segmentation results of the multiple reference point cloud data; Determine the ground points and non-ground points in the evaluated point cloud data based on the semantic segmentation result of the evaluated point cloud data, and determine the ground points and non-ground points in the multiple reference point cloud data based on the semantic segmentation results of the multiple reference point cloud data; Perform downsampling on the evaluated point cloud data and the multiple reference point cloud data respectively based on the number of ground points and non-ground points in the same point cloud data.

17. The device according to any one of claims 11-16, characterized in that, The evaluated point cloud data is the point cloud data collected at the pose indicated by the evaluation frame, and the multiple reference point cloud data are the point cloud data collected at the poses indicated by multiple reference frames respectively. The evaluation frame and the multiple reference frames are used to indicate the pose data obtained at different times in the same scene.

18. The device according to claim 17, characterized in that, The multiple reference frames are obtained based on the mapping algorithm in SLAM, and the evaluation frame is obtained based on the positioning algorithm; Alternatively, both the evaluation frame and the multiple reference frames are obtained based on the mapping algorithm in SLAM.

19. The device according to claim 18, characterized in that, The SLAM is visual SLAM based on images.

20. The device according to any one of claims 11-19, characterized in that Both the evaluated point cloud data and the multiple reference point cloud data are collected based on the lidar mounted on the driving device, and the driving device includes an intelligent driving vehicle or a robot.

21. A positioning accuracy evaluation device, characterized in that, It includes a memory and a processor; the memory stores code, and the processor is configured to execute the code. When the code is executed, the device executes the method according to any one of claims 1 to 10.

22. A computer storage medium, characterized in that, The computer storage medium stores instructions, and when the instructions are executed by a computer, the computer implements the method according to any one of claims 1 to 10.

23. A computer program product, characterized in that, The computer program product stores instructions, and when the instructions are executed by a computer, the computer implements the method according to any one of claims 1 to 10.