Accuracy detection device for positioning algorithms

CN116972880BActive Publication Date: 2026-10-13SUTENG INNOVATION TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310890176.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-03-18
Publication Date
2026-10-13
Estimated Expiration
2039-03-18

AI Technical Summary

Technical Problem

[0004]然而,目前的定位算法由于无法获取到无人驾驶车辆的位置参考值,评估定位算法精度时,得到的误差综合了构建地图的误差和定位算法的误差,因此无法对本车的定位算法进行精度检测

Benefits of technology

[0057]上述定位算法的精度检测方法、装置、计算机设备和存储介质,通过实时定位和离线定位,将离线定位数据作为实时定位数据的参考值,根据该参考值和对应的实时定位数据计算精度,实现了对运动对象的定位算法的精度检测。此外,采用更高精度的离线定位算法获取运动对象的离线定位数据,使得定位算法的精度检测更准确。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116972880B_ABST
    Figure CN116972880B_ABST
Patent Text Reader

Abstract

The application relates to a precision detection device of a positioning algorithm, which comprises an image acquisition module for acquiring a real-time point cloud image of a moving object; a real-time positioning module for matching the real-time point cloud image and a source point cloud image in a constructed point cloud map by using a real-time positioning algorithm to obtain real-time positioning data of the moving object; an offline positioning module for matching the real-time point cloud image and the source point cloud image in the point cloud map by using an offline positioning algorithm to obtain offline positioning data of the moving object; and a precision calculation module for taking the offline positioning data as a reference value of the real-time positioning data, and determining the precision of the real-time positioning data according to the reference value and the real-time positioning data. The offline positioning data is taken as the reference value of the real-time positioning data, so that the precision of the real-time positioning algorithm can be effectively detected.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of Chinese application No. 201910204805.0, the foregoing contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of autonomous driving technology, and in particular to a device for detecting the accuracy of a positioning algorithm. Background Technology

[0003] With the development of autonomous driving, the positioning module is used to obtain the location information of the autonomous vehicle itself on the map. The positioning algorithm can be combined with other auxiliary algorithms to realize the main function of the positioning module.

[0004] However, current positioning algorithms cannot obtain the location reference value of autonomous vehicles. When evaluating the accuracy of the positioning algorithm, the error obtained combines the error of map construction and the error of the positioning algorithm. Therefore, it is impossible to test the accuracy of the positioning algorithm of this vehicle. Summary of the Invention

[0005] Therefore, it is necessary to provide a method, apparatus, computer equipment, and storage medium for detecting the accuracy of a positioning algorithm to address the aforementioned technical problems.

[0006] A method for detecting the accuracy of a positioning algorithm, the method comprising:

[0007] Acquire real-time point cloud images of moving objects;

[0008] A real-time positioning algorithm is used to match the real-time point cloud image with the source point cloud image in the constructed point cloud map to obtain the real-time positioning data of the moving object.

[0009] An offline positioning algorithm is used to match the real-time point cloud image with the source point cloud image in the point cloud map to obtain the offline positioning data of the moving object; the positioning accuracy of the offline positioning algorithm is greater than that of the real-time positioning algorithm.

[0010] The offline positioning data is used as a reference value for the real-time positioning data, and the accuracy of the real-time positioning data is determined based on the reference value and the real-time positioning data.

[0011] In one embodiment, the point cloud map is constructed in the following manner:

[0012] Acquire the source point cloud image, perform target detection, and obtain the source obstacle point cloud image;

[0013] The source obstacle point cloud image is filtered out from the source point cloud image, and a point cloud map is constructed based on the filtered source point cloud image.

[0014] In one embodiment, acquiring the source point cloud image, performing target detection, and obtaining the source obstacle point cloud image includes:

[0015] A source point cloud image is acquired and input into a trained target detection model to obtain a source obstacle point cloud image; the target detection model is trained based on point cloud sample images containing obstacles.

[0016] In one embodiment, the step of employing a real-time positioning algorithm to match the real-time point cloud image with the source point cloud image in the constructed point cloud map to obtain the real-time positioning data of the moving object includes:

[0017] A real-time positioning algorithm is used to match the real-time point cloud image with the source point cloud image in the constructed point cloud map to obtain the source point cloud image corresponding to the real-time point cloud image.

[0018] The location information of the source point cloud image corresponding to the real-time point cloud image is used as the real-time positioning data of the moving object in the point cloud map.

[0019] In one embodiment, the offline positioning algorithm is used to match the real-time point cloud image with the source point cloud image in the point cloud map to obtain the offline positioning data of the moving object, including:

[0020] Acquire real-time point cloud images and input the real-time point cloud images into the target detection model trained by the offline localization algorithm to obtain target obstacle point cloud images;

[0021] The target obstacle point cloud image is filtered out from the real-time point cloud image to obtain a filtered real-time point cloud image.

[0022] The filtered real-time point cloud image is input into a matching model trained in an offline localization algorithm to obtain a source point cloud image corresponding to the filtered real-time point cloud image; the matching model is trained based on the real-time point cloud image and the corresponding source point cloud image.

[0023] The location information of the source point cloud image corresponding to the real-time point cloud image is used as the offline positioning data of the moving object.

[0024] In one embodiment, the step of inputting the filtered real-time point cloud image into a trained matching model, calculating the matching value of the filtered real-time point cloud image, and obtaining the source point cloud image corresponding to the filtered real-time point cloud image includes:

[0025] Based on the matching values ​​of each real-time point cloud image after the filtering process, the real-time point cloud image with the largest matching value is selected, and the source point cloud image corresponding to the real-time point cloud image with the largest matching value is used as the output of the matching model.

[0026] In one embodiment, the weight corresponding to the matching value of the static object point cloud in the matching model is higher than the weight corresponding to the matching value of the dynamic object point cloud.

[0027] In one embodiment, the step of using the offline positioning data as a reference value for real-time positioning data, and determining the accuracy of the real-time positioning data based on the reference value and the real-time positioning data, includes:

[0028] Obtain the real-time positioning data and the corresponding offline positioning data;

[0029] Calculate the difference between each of the real-time location data and the corresponding offline location data;

[0030] Calculate the average, weighted average, or median of each difference, and use the average, weighted average, or median as the accuracy of the positioning algorithm.

[0031] A positioning algorithm accuracy detection device, the device comprising:

[0032] The image acquisition module is used to acquire real-time point cloud images of moving objects;

[0033] The real-time positioning module is used to match the real-time point cloud image with the source point cloud image in the constructed point cloud map using a real-time positioning algorithm to obtain the real-time positioning data of the moving object.

[0034] An offline positioning module is used to match the real-time point cloud image and the source point cloud image in the point cloud map using an offline positioning algorithm to obtain the offline positioning data of the moving object; the positioning accuracy of the offline positioning algorithm is greater than that of the real-time positioning algorithm.

[0035] The accuracy calculation module is used to use the offline positioning data as a reference value for the real-time positioning data, and to determine the accuracy of the real-time positioning data based on the reference value and the real-time positioning data.

[0036] In one embodiment, the apparatus further includes a map building module; the map building module includes:

[0037] The first target detection unit is used to acquire the source point cloud image, perform target detection, and obtain the source obstacle point cloud image.

[0038] The first obstacle filtering unit is used to filter out the source obstacle point cloud image from the source point cloud image;

[0039] A construction unit is used to construct a point cloud map based on the filtered source point cloud image.

[0040] In one embodiment, the target detection unit is further configured to acquire a source point cloud image and input the source point cloud image into a trained target detection model to obtain a source obstacle point cloud image; the target detection model is trained based on point cloud sample images containing obstacles.

[0041] In one embodiment, the real-time positioning module includes:

[0042] The image matching unit is used to match the real-time point cloud image with the source point cloud image in the constructed point cloud map using a real-time positioning algorithm, so as to obtain the source point cloud image corresponding to the real-time point cloud image.

[0043] The data acquisition unit is used to use the location information of the source point cloud image corresponding to the real-time point cloud image as the real-time positioning data of the moving object in the point cloud map.

[0044] In one embodiment, the offline positioning module includes:

[0045] The second target detection unit is used to acquire real-time point cloud images and input the real-time point cloud images into the target detection model trained in the offline positioning algorithm to obtain target obstacle point cloud images.

[0046] The second obstacle filtering unit is used to filter out the target obstacle point cloud image from the real-time point cloud image to obtain a filtered real-time point cloud image.

[0047] The image matching unit is used to input the filtered real-time point cloud image into the matching model trained in the offline localization algorithm to obtain the source point cloud image corresponding to the filtered real-time point cloud image. The matching model is trained based on the real-time point cloud image and the corresponding source point cloud image.

[0048] The data acquisition unit is used to use the location information of the source point cloud image corresponding to the real-time point cloud image as the offline positioning data of the moving object.

[0049] In one embodiment, the image matching unit is further configured to select the real-time point cloud image with the largest matching value based on the size of the matching value of each real-time point cloud image after the filtering process, and use the source point cloud image corresponding to the real-time point cloud image with the largest matching value as the output of the matching model.

[0050] In one embodiment, the image matching unit is further configured to set the weight corresponding to the matching value of the static object point cloud in the matching model to be higher than the weight corresponding to the matching value of the dynamic object point cloud.

[0051] In one embodiment, the accuracy calculation module includes:

[0052] The data acquisition unit is used to acquire the real-time positioning data and the corresponding offline positioning data;

[0053] The difference calculation unit is used to calculate the difference between each of the real-time positioning data and the corresponding offline positioning data;

[0054] The accuracy determination unit is used to calculate the average, weighted average, or median of the differences among the individuals, and to use the average, weighted average, or median as the accuracy of the positioning algorithm.

[0055] A computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the accuracy detection steps of the positioning algorithm described above:

[0056] A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the accuracy detection steps of the above-described positioning algorithm:

[0057] The aforementioned positioning algorithm accuracy detection method, device, computer equipment, and storage medium, through real-time positioning and offline positioning, use offline positioning data as a reference value for real-time positioning data, and calculate the accuracy based on this reference value and the corresponding real-time positioning data, thus realizing the accuracy detection of the positioning algorithm for moving objects. Furthermore, employing a higher-precision offline positioning algorithm to obtain offline positioning data for moving objects makes the accuracy detection of the positioning algorithm even more accurate. Attached Figure Description

[0058] Figure 1 This is an application environment diagram of the accuracy detection method of the positioning algorithm in one embodiment;

[0059] Figure 2 This is a flowchart illustrating the accuracy detection method of a positioning algorithm in one embodiment;

[0060] Figure 3 This is a flowchart illustrating the method of constructing a point cloud map in one embodiment;

[0061] Figure 4 This is a flowchart illustrating the steps for obtaining real-time location data in one embodiment;

[0062] Figure 5 This is a flowchart illustrating the steps for obtaining offline location data in one embodiment;

[0063] Figure 6 This is a flowchart illustrating the steps involved in calculating the accuracy of the positioning algorithm in one embodiment.

[0064] Figure 7 This is a flowchart illustrating the accuracy detection method of the positioning algorithm in another embodiment;

[0065] Figure 8 This is a structural block diagram of a positioning algorithm accuracy detection device in one embodiment;

[0066] Figure 9 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0067] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0068] Figure 1 This diagram illustrates an application environment for accuracy detection of a positioning algorithm in one embodiment. The accuracy detection method for the positioning algorithm provided in this application can be applied to, for example... Figure 1 In the application environment shown, computer device 100 can be a desktop terminal or a mobile terminal. Specifically, a mobile terminal can be a mobile phone, tablet computer, laptop computer, wearable device, personal digital assistant, etc. Computer device 100 can also be implemented using a standalone server or a server cluster consisting of multiple servers.

[0069] Figure 2 This is a flowchart illustrating the accuracy detection method of a positioning algorithm in one embodiment. Figure 2 As shown, a method for detecting the accuracy of a positioning algorithm is provided, and this method is applied to... Figure 1 Taking computer device 100 as an example, the following steps are included:

[0070] Step 202: Obtain the real-time point cloud image of the moving object.

[0071] In this context, "moving object" refers to a mobile device that needs to acquire its own positioning data. "Real-time point cloud image" refers to the current frame image of the scene being filmed, acquired by the moving object using a real-time positioning algorithm. Specifically, a point cloud image is an image containing depth information of the scene being filmed. A point cloud image can be generated directly from point cloud data, or it can be obtained by transforming coordinates from a depth image acquired by a depth camera. Point cloud data refers to the laser point information acquired by scanning the scene using LiDAR. A depth image is an image that uses the depth values ​​from the depth camera to each point in the scene being filmed as pixel values.

[0072] Specifically, the computer device 100 obtains the current frame image of the scene being photographed based on a real-time positioning algorithm for moving objects, and uses the current frame image as a real-time point cloud image.

[0073] Optionally, the moving object can be an unmanned vehicle, a drone, a mobile robot, a mobile video monitoring device, etc.

[0074] Optionally, the real-time point cloud image can be a 3D image generated from point cloud data, or a 3D image obtained by coordinate transformation from a depth image acquired by a depth camera.

[0075] Step 204: Using a real-time positioning algorithm, the real-time point cloud image is matched with the source point cloud image in the constructed point cloud map to obtain the real-time positioning data of the moving object.

[0076] The real-time positioning algorithm refers to an algorithm that acquires the positioning data of a moving object in real time; in this embodiment, it is an algorithm that requires accuracy detection. Real-time positioning data can include data that includes the real-time positioning information of the moving object. The source point cloud image can be a pre-acquired real-time point cloud image of the moving object, and the point cloud map can refer to a map formed by overlaying the source point cloud image frame by frame.

[0077] Real-time positioning data may include GPS (Global Positioning System) data, GNSS (Global Navigation Satellite System) data, and IMU (Inertial Measurement Unit) data. The IMU measures the angular velocity and acceleration of an object in three-dimensional space. Specifically, computer device 100 acquires a source point cloud image from a constructed point cloud map, uses a real-time positioning algorithm to match the real-time point cloud image with the source point cloud image in the constructed point cloud map, obtains the source point cloud image in the constructed point cloud map corresponding to the real-time point cloud image, and acquires the positioning information of the source point cloud image. This positioning information is used as the real-time positioning data of the moving object. The matching process refers to finding the corresponding source point cloud image in the constructed point cloud map based on the comparative analysis of image feature points.

[0078] Step 206: Using an offline positioning algorithm, the real-time point cloud image and the source point cloud image in the point cloud map are matched to obtain the offline positioning data of the moving object; the positioning accuracy of the offline positioning algorithm is greater than that of the real-time positioning algorithm.

[0079] The offline positioning algorithm can be one with a positioning accuracy greater than that of real-time positioning. Offline positioning data can be positioning information obtained from a moving object using an offline positioning algorithm, and may include GPS data, GNSS data, and IMU data.

[0080] The IMU is used to measure the angular velocity and acceleration of an object in three-dimensional space. Real-time positioning data and offline positioning data obtained from the same frame of real-time point cloud image correspond one-to-one. For example, for real-time point data and offline positioning data obtained from the same frame of real-time image, the angular velocity of the measured object in the real-time positioning data corresponds to the angular velocity of the measured object in the offline positioning data, and the acceleration of the measured object in the real-time positioning data corresponds to the acceleration of the measured object in the offline positioning data.

[0081] Specifically, computer device 100 acquires a real-time point cloud image, performs target detection on the real-time point cloud image to filter out obstacles in the real-time image, matches the filtered real-time point cloud image with a source point cloud image in a point cloud map to obtain a source point cloud image in the constructed point cloud map corresponding to the real-time point cloud image, acquires the positioning information of the source point cloud image, and uses the positioning information as offline positioning data of the moving object.

[0082] In one embodiment, because the acquired real-time point cloud image contains many obstacle point cloud images, a large matching error occurs when comparing the real-time point cloud image with the source point cloud image in the point cloud map. Therefore, the real-time point cloud image can be processed offline to filter out the obstacle point cloud images, resulting in a filtered real-time point cloud image. Specifically, the target detection method can be to input the real-time point cloud image into a trained target detection model to perform obstacle detection and obstacle filtering, thereby obtaining a filtered real-time point cloud image.

[0083] In another embodiment, since the acquired real-time point cloud images may be partial, with incomplete shooting angles, or subject to rotational or translational misalignments, offline registration of the acquired real-time point cloud images is required. This involves transforming the point cloud images from various angles to the same coordinate system and stitching them together to form a complete point cloud image. Registration methods can include ICP (Iterative Closest Point) and NDT (Normal Distributions Transform) algorithms. Specifically, computer device 100 acquires multiple real-time point cloud images, uses a registration algorithm to obtain registered real-time point cloud images, matches these registered real-time point cloud images with source point cloud images in a point cloud map to obtain the source point cloud image corresponding to the real-time point cloud image in the constructed point cloud map, obtains the positioning information of the source point cloud image, and uses this positioning information as offline positioning data for the moving object.

[0084] Step 208: Use the offline positioning data as a reference value for the real-time positioning data, and determine the accuracy reference value of the real-time positioning data based on the reference value and the real-time positioning data.

[0085] Here, a reference value refers to the true value of a variable that cannot be directly obtained. Generally, a reference value is agreed upon as the true value of the variable. In this embodiment, offline positioning data is used as the reference value for real-time positioning data. Correspondingly, offline GPS data serves as the reference value for real-time GPS data; offline GNSS data serves as the reference value for real-time GNSS data; offline IMU angular velocity serves as the reference value for real-time IMU angular velocity; and offline IMU acceleration serves as the reference value for real-time IMU acceleration.

[0086] The accuracy of the positioning algorithm can be defined as the precision of the positioning data measured by the algorithm. This accuracy can be obtained by calculating the difference between offline and real-time positioning data acquired by computer device 100. In the aforementioned method for detecting the accuracy of the positioning algorithm, by using both real-time and offline positioning, and taking offline positioning data as a reference value for real-time positioning data, the accuracy is calculated based on the offline and real-time positioning data, thus achieving accuracy detection of the positioning algorithm for moving objects.

[0087] In one embodiment, Figure 3 This is a flowchart illustrating one method for constructing a point cloud map in one embodiment. For example... Figure 3 As shown, a method for constructing a point cloud map is provided, including the following steps:

[0088] Step 302: Obtain the source point cloud image, perform target detection, and obtain the source obstacle point cloud image.

[0089] Among them, the source point cloud image can be a real-time point cloud image pre-acquired by the test vehicle, and the source obstacle point cloud image can be a point cloud image of the obstacle in the source point cloud image, which can be obtained by comparing and analyzing the feature points of the obstacle in the source point cloud image.

[0090] In one embodiment, acquiring the source point cloud image, performing target detection, and obtaining the source obstacle point cloud image includes: acquiring the source point cloud image, inputting the source point cloud image into a trained target detection model, and obtaining the source obstacle point cloud image; the target detection model is trained based on point cloud sample images containing obstacles. The point cloud sample images can be pre-constructed sample images containing obstacle point cloud images.

[0091] Step 304: Filter out the source obstacle point cloud image from the source point cloud image, and construct a point cloud map based on the filtered source point cloud image.

[0092] The point cloud map can be a map obtained by stitching together point clouds from different locations. Stitching can refer to combining adjacent scanned point cloud data together; in this embodiment, it can refer to stitching the source point cloud image frame by frame. The stitching algorithm can be the ICP algorithm, or it can be a global matching algorithm or a local matching algorithm.

[0093] Alternatively, point cloud maps can also be constructed using multi-view mapping. Figure 3 The 3D reconstruction technology takes into account the errors caused by observation from different angles, optimizes the source point cloud images taken from different angles, and obtains a point cloud map based on the optimized source point cloud images.

[0094] In one embodiment, the point cloud map construction method includes: acquiring source point cloud images, filtering the point cloud images, and superimposing the filtered source point cloud images frame by frame to obtain the point cloud map. Before filtering the point cloud images, obstacles in the source point cloud images can be detected by an object detection model. The filtering of the point cloud images can be based on the number of obstacles in the source point cloud images to obtain source point cloud images with fewer than a threshold obstacles. The filtering of the point cloud images can employ filtering methods such as bilateral filtering, Gaussian filtering, conditional filtering, pass-through filtering, and random sample consistency filtering.

[0095] In the above point cloud map construction steps, target detection is performed on the source point cloud image to obtain the source obstacle point cloud image, and then the source obstacle point cloud image is filtered out from the source point cloud image to obtain the filtered source point cloud image. The point cloud map is obtained by superimposing the source point cloud image frame by frame, thus realizing the construction of the point cloud map. Moreover, the constructed point cloud map contains fewer obstacle point cloud images, which facilitates the matching of real-time point cloud images with the source point cloud images in the point cloud map.

[0096] In one embodiment, Figure 4 This is a flowchart illustrating the steps involved in acquiring real-time location data, such as... Figure 4 As shown, step 204 includes:

[0097] Step 402: Using a real-time positioning algorithm, the real-time point cloud image is matched with the source point cloud image in the constructed point cloud map to obtain the source point cloud image corresponding to the real-time point cloud image.

[0098] Here, matching refers to comparing and analyzing the feature points of the real-time point cloud image with the feature points of all source point cloud images in the point cloud map to find the source point cloud image with the highest similarity or the highest overlap of image feature points with the real-time point cloud image, which is then used as the source point cloud image corresponding to the real-time point cloud image. Step 404: The position information of the source point cloud image corresponding to the real-time point cloud image is used as the real-time positioning data of the moving object in the point cloud map.

[0099] Real-time positioning data may include GPS data, GNSS data, and IMU data.

[0100] In the above steps of obtaining real-time positioning data, a real-time positioning algorithm is used to match the real-time point cloud image with the source point cloud image in the constructed point cloud map to obtain the source point cloud image in the constructed point cloud map that corresponds to the real-time point cloud image. The positioning information of the source point cloud image is used as the real-time positioning data of the moving object, thereby realizing the acquisition of real-time positioning data of the moving object.

[0101] In one embodiment, Figure 5 The flowchart illustrates one step in acquiring offline location data, as shown below. Figure 5 Step 206 shown includes:

[0102] Step 502: Obtain real-time point cloud images and input the real-time point cloud images into the target detection model trained in the offline localization algorithm to obtain target obstacle point cloud images.

[0103] The target detection model can be a pre-trained model for detecting target obstacles, or a neural network model trained based on feature points of the source obstacle point cloud image.

[0104] Step 504: Filter out the target obstacle point cloud image from the real-time point cloud image to obtain a filtered real-time point cloud image.

[0105] Among them, the target obstacle point cloud image can be the point cloud image of the obstacle in the real-time point cloud image, which can be obtained by comparing and analyzing the feature points of the obstacle in the real-time point cloud image.

[0106] Step 506: Input the filtered real-time point cloud image into the matching model trained in the offline localization algorithm to obtain the source point cloud image corresponding to the filtered real-time point cloud image; the matching model is trained based on the real-time point cloud image and the corresponding source point cloud image.

[0107] The matching model can be trained by combining feature points from sample point cloud images.

[0108] Step 508: Use the location information of the source point cloud image corresponding to the real-time point cloud image as the offline positioning data of the moving object.

[0109] In the above steps of obtaining offline positioning data, a real-time point cloud image is acquired, and target detection is performed on the real-time point cloud image to filter out obstacles in the real-time image. The filtered real-time point cloud image is then matched with a source point cloud image in the point cloud map to obtain a source point cloud image in the constructed point cloud map that corresponds to the real-time point cloud image. The positioning information of the source point cloud image is then obtained, and this positioning information is used as the offline positioning data of the moving object, thereby realizing the acquisition of offline positioning data.

[0110] In another embodiment, the step of inputting the filtered real-time point cloud image into a matching model trained in an offline localization algorithm to obtain a source point cloud image corresponding to the filtered real-time point cloud image includes: selecting the real-time point cloud image with the largest matching value based on the matching value of each of the filtered real-time point cloud images, and using the source point cloud image corresponding to the real-time point cloud image with the largest matching value as the output of the matching model. The matching value reflects the similarity between the filtered real-time point cloud image and the corresponding source point cloud image.

[0111] Optionally, the matching value can be a matching score, an image similarity percentage, or an overlap probability value of image feature points.

[0112] In another embodiment, the weight corresponding to the matching value of the static object point cloud in the matching model is higher than the weight corresponding to the matching value of the dynamic object point cloud. Here, the static object point cloud refers to an object point cloud that is stationary in the world coordinate system, while the dynamic object point cloud refers to an object point cloud that is moving in the world coordinate system.

[0113] In one embodiment, Figure 6 This is a flowchart illustrating the steps involved in calculating the accuracy of a positioning algorithm, as shown below. Figure 6 As shown, step 208 includes:

[0114] Step 602: Obtain the real-time positioning data and the corresponding offline positioning data.

[0115] The real-time positioning data and its corresponding offline positioning data are obtained by processing the same frame of real-time point cloud image.

[0116] Step 604: Calculate the difference between each of the real-time positioning data and the corresponding offline positioning data.

[0117] Among them, at least one set of real-time positioning data and its corresponding offline positioning data are used as calculation samples to perform difference calculation and obtain at least one difference value.

[0118] Step 606: Calculate the average, weighted average, or median of each difference, and use the average, weighted average, or median as the accuracy of the positioning algorithm.

[0119] Optionally, the differences can be averaged and used as the accuracy of the positioning algorithm; or a weighted average can be calculated and used as the accuracy of the positioning algorithm; or the median can be calculated and used as the accuracy of the positioning algorithm; or one or more of the average, weighted average, and median can be used as the accuracy of the positioning algorithm.

[0120] In the above accuracy calculation step, the accuracy of the real-time positioning algorithm is determined by calculating the difference between offline positioning data and real-time positioning data, thereby realizing the accuracy calculation of the positioning algorithm.

[0121] In another embodiment, Figure 7 This is a flowchart illustrating a method for detecting the accuracy of a positioning algorithm, as shown below. Figure 7 As shown, the method steps include:

[0122] Step 702: Construct a point cloud map and filter out source obstacle point cloud images from the point cloud map using the target detection module.

[0123] The point cloud map can be a map built based on laser point cloud data. The point cloud map also includes speed data of moving objects, GPS data, GNSS data, and IMU data. In this embodiment, the moving object is a test vehicle, and the point cloud map is constructed by acquiring source point cloud images. The source obstacle point cloud image can be the point cloud image of obstacles within the source point cloud image; obstacles are objects not part of the map's structure.

[0124] Specifically, the computer device 100 uses a target detection model to detect obstacles, obtains the size and position of each source obstacle point cloud image, subtracts this part of the point cloud from the source point cloud image, and then uses the filtered point cloud image to construct a map.

[0125] Step 704: Use a real-time positioning algorithm to obtain real-time positioning data and store the real-time positioning data.

[0126] Among them, the real-time positioning algorithm is an algorithm that can obtain the location information of a moving object in a map. The real-time positioning data is stored in the form of document files on a hard disk or other storage media.

[0127] Step 706: Filter out target obstacles from the real-time point cloud image to obtain the current frame image after filtering.

[0128] The target obstacles are non-building objects in the point cloud map that need to be filtered out as they are prone to causing image matching errors. The target obstacle point cloud image is the point cloud image of the obstacles in the real-time point cloud image.

[0129] Specifically, the computer device 100 uses a target detection model to detect target obstacles, obtains the size and position of the point cloud image of each target obstacle, subtracts this part of the point cloud from the source point cloud image, and obtains the current frame image after filtering.

[0130] Step 708: The modified NDT matching algorithm is used as the offline localization algorithm to perform offline localization on the current frame image after filtering, and offline localization data is obtained.

[0131] The NDT (Normal Distributions Transform) matching algorithm refers to an algorithm that performs coordinate transformation on the input point cloud image for matching. Modifying the NDT matching algorithm includes configuring the weights of real-time point cloud images at various angles, so that point cloud images with angle offsets greater than a threshold in the input point cloud image receive a lower weight in the matching value than a preset value.

[0132] Step 710: The RTS smoothing algorithm is used to filter the offline positioning data obtained by the NDT matching algorithm to obtain filtered offline positioning data.

[0133] Among them, the RTS (Rauch Tung Striebel, Volume Smoothing) algorithm is a type of Kalman filtering algorithm that can filter offline positioning data to obtain offline positioning data with higher positioning accuracy.

[0134] Step 712: Filter the offline positioning data after filtering based on the matching value of each frame of real-time positioning image, use the obtained result as a reference value, calculate the difference between the reference value and the corresponding real-time positioning data, and obtain the accuracy of the positioning algorithm based on the difference.

[0135] In this embodiment, the matching value of each real-time positioning image frame reflects the similarity between each real-time positioning image frame and the corresponding source point cloud image. The real-time positioning image with the highest similarity (i.e., the largest matching value) can be selected, and the location data of its corresponding source point cloud image can be used as the reference value for the real-time positioning data of that image. The error of the positioning algorithm can be directly obtained from this difference, or the average, weighted average, or median of at least one difference can be calculated, and this average, weighted average, or median can be used as the accuracy of the positioning algorithm.

[0136] The accuracy detection method of the above positioning algorithm uses the modified NDT matching algorithm as the offline positioning algorithm to obtain offline positioning data. Then, the RTS smoothing algorithm is used for filtering to obtain higher accuracy offline positioning data, which is used as the reference value for real-time positioning data. Finally, the accuracy of the positioning algorithm is obtained by comparing the reference value with the real-time positioning data, thus realizing the accuracy detection of the positioning algorithm.

[0137] It should be understood that, although Figure 1-7 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1-7 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.

[0138] In one embodiment, such as Figure 8 As shown, a positioning algorithm accuracy detection device is provided, comprising: an image acquisition module 802, a real-time positioning module 804, an offline positioning module 806, and an accuracy calculation module 808, wherein:

[0139] The image acquisition module 802 is used to acquire real-time point cloud images of moving objects.

[0140] The real-time positioning module 804 is used to match the real-time point cloud image with the source point cloud image in the constructed point cloud map using a real-time positioning algorithm to obtain the real-time positioning data of the moving object.

[0141] The offline positioning module 806 is used to match the real-time point cloud image and the source point cloud image in the point cloud map using an offline positioning algorithm to obtain the offline positioning data of the moving object; the positioning accuracy of the offline positioning algorithm is greater than that of the real-time positioning algorithm.

[0142] The accuracy calculation module 808 is used to use the offline positioning data as a reference value for the real-time positioning data, and to determine the accuracy of the real-time positioning data based on the reference value and the real-time positioning data.

[0143] The device further includes a map building module for acquiring source point cloud images and building a point cloud map based on the source point cloud images.

[0144] The map construction module includes: a first target detection unit, used to acquire source point cloud images, perform target detection, and obtain source obstacle point cloud images; a first obstacle filtering unit, used to filter out source obstacle point cloud images from the source point cloud images; and a construction unit, used to construct a point cloud map based on the filtered source point cloud images. The target detection unit also includes a model application unit, which inputs the acquired source point cloud images into a trained target detection model to obtain source obstacle point cloud images. The target detection model is trained based on point cloud sample images containing obstacles.

[0145] The real-time positioning module 804 includes:

[0146] The image matching unit is used to match the real-time point cloud image with the source point cloud image in the constructed point cloud map using a real-time positioning algorithm, so as to obtain the source point cloud image corresponding to the real-time point cloud image.

[0147] The data acquisition unit is used to use the location information of the source point cloud image corresponding to the real-time point cloud image as the real-time positioning data of the moving object in the point cloud map.

[0148] The offline positioning module 806 includes:

[0149] The second target detection unit is used to acquire real-time point cloud images and input the real-time point cloud images into the target detection model trained in the offline positioning algorithm to obtain target obstacle point cloud images.

[0150] The second obstacle filtering unit is used to filter out the target obstacle point cloud image from the real-time point cloud image to obtain a filtered real-time point cloud image.

[0151] The image matching unit is used to input the filtered real-time point cloud image into the matching model trained in the offline localization algorithm to obtain the source point cloud image corresponding to the filtered real-time point cloud image. The matching model is trained based on the real-time point cloud image and the corresponding source point cloud image.

[0152] The data acquisition unit is used to use the location information of the source point cloud image corresponding to the real-time point cloud image as the offline positioning data of the moving object.

[0153] The image matching unit is also used to select the real-time point cloud image with the largest matching value based on the size of the matching value of each real-time point cloud image after the filtering process, and use the source point cloud image corresponding to the real-time point cloud image with the largest matching value as the output of the matching model.

[0154] The image matching unit is also used to set the weights corresponding to the matching values ​​of static object point clouds in the matching model, which are higher than the weights corresponding to the matching values ​​of dynamic object point clouds.

[0155] The precision calculation module 808 includes:

[0156] The data acquisition unit is used to acquire the real-time positioning data and the corresponding offline positioning data;

[0157] The difference calculation unit is used to calculate the difference between each of the real-time positioning data and the corresponding offline positioning data;

[0158] The accuracy determination unit is used to calculate the average, weighted average, or median of the differences among the individuals, and to use the average, weighted average, or median as the accuracy of the positioning algorithm.

[0159] Specific limitations regarding the accuracy detection device for the positioning algorithm can be found in the limitations of the accuracy detection method for the positioning algorithm mentioned above, and will not be repeated here. Each module in the aforementioned accuracy detection device for the positioning algorithm can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in hardware or independently of the processor in the computer device, or stored in software in the memory of the computer device, so that the processor can call and execute the corresponding operations of each module.

[0160] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 9 As shown, the computer device includes a processor, memory, network interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements a method for detecting the accuracy of a positioning algorithm. The display screen can be an LCD screen or an e-ink display screen. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.

[0161] Those skilled in the art will understand that Figure 9The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0162] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the accuracy detection method steps of the positioning algorithm described above.

[0163] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the accuracy detection method steps of the above-described positioning algorithm.

[0164] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0165] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0166] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.

Claims

1. A device for detecting the accuracy of a positioning algorithm, characterized in that, The device includes: An image acquisition module is used to acquire a real-time point cloud image of a moving object, wherein the real-time point cloud image contains depth information; The real-time positioning module is used to match the real-time point cloud image with the source point cloud image in the constructed point cloud map using a real-time positioning algorithm to obtain the real-time positioning data of the moving object. The point cloud map is a map built based on laser point cloud data. An offline positioning module is used to match the real-time point cloud image and the source point cloud image in the point cloud map using an offline positioning algorithm to obtain the offline positioning data of the moving object; the positioning accuracy of the offline positioning algorithm is greater than that of the real-time positioning algorithm. The accuracy calculation module is used to use the offline positioning data as a reference value for the real-time positioning data, and to determine the accuracy of the real-time positioning data based on the reference value and the real-time positioning data. The offline positioning module includes: The second target detection unit is used to acquire real-time point cloud images and input the real-time point cloud images into the target detection model trained in the offline positioning algorithm to obtain target obstacle point cloud images. The second obstacle filtering unit is used to filter out the target obstacle point cloud image from the real-time point cloud image to obtain a filtered real-time point cloud image. The image matching unit is used to input the filtered real-time point cloud image into the matching model trained in the offline localization algorithm to obtain the source point cloud image corresponding to the filtered real-time point cloud image. The matching model is trained based on the real-time point cloud image and the corresponding source point cloud image. The data acquisition unit is used to use the location information of the source point cloud image corresponding to the real-time point cloud image as the offline positioning data of the moving object.

2. The precision detection device according to claim 1, characterized in that, The device also includes a map building module; The map building module includes: The first target detection unit is used to acquire the source point cloud image, perform target detection, and obtain the source obstacle point cloud image. The first obstacle filtering unit is used to filter out the source obstacle point cloud image from the source point cloud image; A construction unit is used to construct a point cloud map based on the filtered source point cloud image.

3. The precision detection device according to claim 2, characterized in that, The target detection unit is also used to acquire a source point cloud image and input the source point cloud image into a trained target detection model to obtain a source obstacle point cloud image; the target detection model is trained based on point cloud sample images containing obstacles.

4. The precision detection device according to claim 1, characterized in that, The real-time positioning module includes: The image matching unit is used to match the real-time point cloud image with the source point cloud image in the constructed point cloud map using a real-time positioning algorithm, so as to obtain the source point cloud image corresponding to the real-time point cloud image. The data acquisition unit is used to use the location information of the source point cloud image corresponding to the real-time point cloud image as the real-time positioning data of the moving object in the point cloud map.

5. The accuracy detection device according to claim 1, characterized in that, The image matching unit is further configured to select the real-time point cloud image with the largest matching value based on the size of the matching value of each real-time point cloud image after the filtering process, and use the source point cloud image corresponding to the real-time point cloud image with the largest matching value as the output of the matching model.

6. The accuracy detection device according to claim 1, characterized in that, The image matching unit is also used to set the weight corresponding to the matching value of the static object point cloud in the matching model, which is higher than the weight corresponding to the matching value of the dynamic object point cloud.

7. The accuracy detection device according to claim 1, characterized in that, The accuracy calculation module includes: The data acquisition unit is used to acquire the real-time positioning data and the corresponding offline positioning data; The difference calculation unit is used to calculate the difference between each of the real-time positioning data and the corresponding offline positioning data; The accuracy determination unit is used to calculate the average, weighted average, or median of the differences, and uses the average, weighted average, or median as the accuracy of the positioning algorithm.

Citation Information

Patent Citations

  • Vision-based offline map establishing and positioning method

    CN107741234A

  • Online real-time object recognition and positioning method based on 3D vision

    CN108876852A