Map detection method and device and storage medium
By identifying anomalous sub-graphs in the map using target point cloud frames and anchor point poses, and by utilizing optimized pose calculations and cluster analysis, the problem of map detection relying on human visual observation in existing technologies is solved, enabling rapid and accurate detection of map quality.
Patent Information
- Application Number
- CN202510885445.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-27
- Publication Date
- 2025-10-17
AI Technical Summary
In the existing technology, map detection relies on human eyes observing 2D projected images and lacks quantitative standards, resulting in map quality detection relying on personal experience and being inaccurate.
By acquiring the target point cloud frame and anchor point pose, the optimized solution pose of the sub-graph to be evaluated is determined. Abnormal sub-graphs in the map are detected using positional confidence, and abnormal sub-graphs are screened out using clustering operations and chi-square error analysis.
It enables rapid and accurate detection of abnormal submaps in the map, improves the automation and quantification standards of map quality inspection, and reduces reliance on manual judgment.
Smart Images

Figure CN120807428A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the field of artificial intelligence, and particularly relates to a map detection method and device and storage medium. BACKGROUND
[0002] At present, in the field of artificial intelligence, in order to realize accurate positioning of intelligent devices such as vehicles and robots, the intelligent devices usually need to construct a map by using environmental information detected by corresponding sensors (such as cameras, radars, etc.), and then perform positioning according to the map. Therefore, in order to ensure the robustness of the positioning of the intelligent devices, it is necessary to ensure the high quality of the map.
[0003] Therefore, how to quickly and accurately detect the quality of the map and determine the subgraph with an abnormality in the map is a problem to be solved at present. SUMMARY
[0004] In order to solve the above technical problems, the present disclosure provides a map detection method, device and storage medium.
[0005] In a first aspect, a map detection method is provided, comprising: obtaining a to-be-detected map, a target point cloud frame and a first anchor point pose corresponding to the target point cloud frame; the target point cloud frame comprising point clouds of an environment collected from the first anchor point pose; the to-be-detected map comprising a plurality of subgraphs; determining at least one to-be-evaluated subgraph matched with the target point cloud frame from the to-be-detected map; determining, for each to-be-evaluated subgraph, an optimized solution pose that makes the positioning confidence of the target point cloud frame in the current to-be-evaluated subgraph highest; and determining, from the at least one to-be-evaluated subgraph, a subgraph with an abnormality according to the optimized solution pose of the at least one to-be-evaluated subgraph.
[0006] In some implementations, determining, from the to-be-detected map, at least one to-be-evaluated subgraph matched with the target point cloud frame comprises: converting the target point cloud frame into a map coordinate system point cloud by using the first anchor point pose; the map coordinate system point cloud being a point cloud in a coordinate system corresponding to the to-be-detected map; determining, from the to-be-detected map, a first number of adjacent subgraphs with the closest coordinate distance between the first anchor point pose and the origin of the subgraph; determining the positioning confidence of the map coordinate system point cloud on each adjacent subgraph; and taking the adjacent subgraph with a corresponding positioning confidence greater than a first threshold value as a to-be-evaluated subgraph.
[0007] In some implementations, determining, for each to-be-evaluated subgraph, an optimized calculated pose that makes the localization reliability of the target point cloud frame in the current to-be-evaluated subgraph highest, includes: determining at least one to-be-evaluated pose within a target pose range according to the first anchor point pose and preset step lengths of each degree of freedom; the numerical interval of each degree of freedom in the target pose range satisfies: the value of each degree of freedom in the first anchor point pose is the center of the numerical interval, and the preset value corresponding to each degree of freedom is the length of the numerical interval; for each to-be-evaluated subgraph, performing: determining, by using each to-be-evaluated pose, the localization reliability corresponding to each to-be-evaluated pose of the target point cloud frame in the current to-be-evaluated subgraph; and taking the to-be-evaluated pose with the highest corresponding localization reliability as the optimized calculated pose of the current to-be-evaluated subgraph.
[0008] In some implementations, determining, for each to-be-evaluated subgraph, an optimized calculated pose that makes the localization reliability of the target point cloud frame in the current to-be-evaluated subgraph highest, includes: determining at least one to-be-evaluated pose within a target pose range according to the first anchor point pose and preset step lengths of each degree of freedom; the numerical interval of each degree of freedom in the target pose range satisfies: the value of each degree of freedom in the first anchor point pose is the center of the numerical interval, and the preset value corresponding to each degree of freedom is the length of the numerical interval; for each to-be-evaluated subgraph, performing: determining, by using each to-be-evaluated pose, the localization reliability corresponding to each to-be-evaluated pose of the target point cloud frame in the current to-be-evaluated subgraph; and taking the to-be-evaluated pose with the highest corresponding localization reliability as the optimized calculated pose of the current to-be-evaluated subgraph.
[0009] In some implementations, determining, from the at least one to-be-evaluated subgraph, a subgraph that exists abnormity according to the optimized calculated poses of the at least one to-be-evaluated subgraph, includes: determining, from the at least one to-be-evaluated subgraph, a to-be-investigated subgraph whose difference degree between the corresponding optimized calculated pose and the first anchor point pose exceeds a second threshold value; determining, from the at least one to-be-evaluated subgraph, an anchor point subgraph that makes the localization reliability of the map coordinate system point cloud in the subgraph highest; the map coordinate system point cloud is: a point cloud in the coordinate system corresponding to the to-be-detected map, which is converted from the target point cloud frame by using the first anchor point pose; and screening out the subgraph that exists abnormity from the to-be-investigated subgraph and the anchor point subgraph.
[0010] In some implementations, the subgraph with the abnormality is determined from the to-be-inspected subgraph and the anchor subgraph, including: dividing the optimization solution poses corresponding to the to-be-inspected subgraph and the anchor subgraph into a first pose class and a second pose class through clustering operation; obtaining at least one second anchor pose of other point cloud frames collected within a time period including a time point at which the target point cloud frame is collected; obtaining a fitted moving track by using the first anchor pose and the at least one second anchor pose; respectively calculating first chi-square errors of the poses in the first pose class to the fitted moving track and second chi-square errors of the poses in the second pose class to the fitted moving track; determining a target pose class with larger chi-square error from the first pose class and the second pose class according to the first chi-square errors and the second chi-square errors; and determining the subgraph corresponding to each optimization solution pose in the target pose class as the subgraph with the abnormality.
[0011] In some implementations, the to-be-inspected subgraph with the difference between the corresponding optimization solution pose and the first anchor pose exceeding the second threshold is determined from the at least one to-be-evaluated subgraph according to the optimization solution poses of the at least one to-be-evaluated subgraph, including: determining variances of noises of each degree of freedom according to the optimization solution poses of the at least one to-be-evaluated subgraph; respectively calculating third chi-square errors corresponding to each optimization solution pose; the third chi-square error is a chi-square error calculated by weighting each degree of freedom with the variance of the noise of the degree of freedom; the variance of the noise of one degree of freedom is negatively related to the weight of the degree of freedom; and the to-be-inspected subgraph with the third chi-square error exceeding the second threshold is determined.
[0012] In some implementations, the method further includes: determining a first score reflecting the pose stability of the first anchor pose on the to-be-detected map according to the chi-square errors between each two of the optimization solution poses of the at least one to-be-evaluated subgraph; and / or the method further includes: determining a second score reflecting the maximum error of the first anchor pose on each degree of freedom according to the difference between the first anchor pose and the optimization solution poses of the at least one to-be-evaluated subgraph on each degree of freedom.
[0013] In a second aspect, a map detection apparatus is provided, including: an acquisition unit configured to acquire a to-be-detected map, a target point cloud frame, and a first anchor pose corresponding to the target point cloud frame; the target point cloud frame including point clouds of an environment collected from the first anchor pose; the to-be-detected map including a plurality of subgraphs; a processing unit configured to determine at least one to-be-evaluated subgraph matching the target point cloud frame from the to-be-detected map; the processing unit further configured to determine, for each to-be-evaluated subgraph, an optimization solution pose making a positioning reliability of the target point cloud frame in the current to-be-evaluated subgraph highest; and the processing unit further configured to determine a subgraph with an abnormality from the at least one to-be-evaluated subgraph according to the optimization solution poses of the at least one to-be-evaluated subgraph.
[0014] In some implementations, the processing unit is configured to determine, from the to-be-detected map, at least one to-be-evaluated submap that matches the target point cloud frame, including: the processing unit is configured to convert the target point cloud frame into a map coordinate system point cloud using a first anchor point pose; the map coordinate system point cloud is a point cloud in a coordinate system corresponding to the to-be-detected map; the processing unit is further configured to determine, from the to-be-detected map, a first number of adjacent submaps whose origin points have the closest coordinate distance to the first anchor point pose; the processing unit is further configured to determine a localization confidence of the map coordinate system point cloud in each adjacent submap; and the processing unit is further configured to determine, as the to-be-evaluated submap, the adjacent submap whose corresponding localization confidence is greater than a first threshold.
[0015] In some implementations, the processing unit is further configured to determine, for each to-be-evaluated submap, an optimized calculated pose that makes the localization confidence of the target point cloud frame in the current to-be-evaluated submap the highest, including: the processing unit is further configured to determine at least one to-be-evaluated pose within a target pose range according to the first anchor point pose and a preset step size of each degree of freedom; the numerical interval of each degree of freedom in the target pose range satisfies: the numerical value of each degree of freedom in the first anchor point pose is the center of the numerical interval, and the preset numerical value corresponding to each degree of freedom is the length of the numerical interval; and the processing unit is further configured to, for each to-be-evaluated submap, perform: determining, using each to-be-evaluated pose, the localization confidence of the target point cloud frame in the current to-be-evaluated submap corresponding to each to-be-evaluated pose; and determining, as the optimized calculated pose of the current to-be-evaluated submap, the to-be-evaluated pose whose corresponding localization confidence is the highest.
[0016] In some implementations, the processing unit is further configured to determine, for each to-be-evaluated submap, an optimized calculated pose that makes the localization confidence of the target point cloud frame in the current to-be-evaluated submap the highest, including: the processing unit is further configured to determine at least one to-be-evaluated pose within a target pose range according to the first anchor point pose and a preset step size of each degree of freedom; the numerical interval of each degree of freedom in the target pose range satisfies: the numerical value of each degree of freedom in the first anchor point pose is the center of the numerical interval, and the preset numerical value corresponding to each degree of freedom is the length of the numerical interval; the processing unit is further configured to, for each to-be-evaluated submap, perform: determining, using each to-be-evaluated pose, the localization confidence of the target point cloud frame in the current to-be-evaluated submap corresponding to each to-be-evaluated pose; determining, as the scan matching pose of the current to-be-evaluated submap, the to-be-evaluated pose whose corresponding localization confidence is the highest; and determining, according to the scan matching pose of the current to-be-evaluated submap, the optimized calculated pose of the current to-be-evaluated submap in a preset manner; and the preset manner includes: taking the scan matching pose corresponding to the current to-be-evaluated submap as an initial pose, adjusting the initial pose to improve the localization confidence of the target point cloud frame in the current to-be-evaluated submap, and obtaining the optimized calculated pose of the current to-be-evaluated submap.
[0017] In some implementations, the processing unit is further configured to determine, from the at least one to-be-evaluated submap, a submap with an abnormality according to the optimized and calculated poses of the at least one to-be-evaluated submap, including: the processing unit is further configured to determine, from the at least one to-be-evaluated submap, a to-be-investigated submap in which a difference between the corresponding optimized and calculated pose and the first anchor pose exceeds the second threshold value, according to the optimized and calculated poses of the at least one to-be-evaluated submap; the processing unit is further configured to determine, from the at least one to-be-evaluated submap, an anchor submap in which a position of the map coordinate system point cloud in the submap has the highest confidence; the map coordinate system point cloud is a point cloud in a coordinate system corresponding to a to-be-detected map, which is obtained by converting the target point cloud frame into the coordinate system corresponding to the to-be-detected map by using the first anchor pose; and the processing unit is further configured to filter out the submap with the abnormality from the to-be-investigated submap and the anchor submap.
[0018] In some implementations, the processing unit is further configured to filter out the submap with the abnormality from the to-be-investigated submap and the anchor submap, including: the processing unit is further configured to divide the optimized and calculated poses corresponding to the to-be-investigated submap and the anchor submap into a first pose class and a second pose class by clustering operation; the processing unit is further configured to obtain at least one second anchor pose of other point cloud frames collected within a time period including a time point at which the target point cloud frame is collected; the processing unit is further configured to obtain a fitted moving trajectory by using the first anchor pose and the at least one second anchor pose; the processing unit is further configured to respectively calculate a first chi-square error of a pose in the first pose class to the fitted moving trajectory and a second chi-square error of a pose in the second pose class to the fitted moving trajectory; the processing unit is further configured to determine a target pose class with a larger chi-square error from the first pose class and the second pose class according to the first chi-square error and the second chi-square error; and the processing unit is further configured to determine that a submap corresponding to each optimized and calculated pose in the target pose class is the submap with the abnormality.
[0019] In some implementations, the processing unit is further configured to determine, from the at least one to-be-evaluated submap, a to-be-investigated submap in which a difference between the corresponding optimized and calculated pose and the first anchor pose exceeds the second threshold value according to the optimized and calculated poses of the at least one to-be-evaluated submap, including: the processing unit is further configured to determine variances of noises of each degree of freedom according to the optimized and calculated poses of the at least one to-be-evaluated submap; the processing unit is further configured to respectively calculate third chi-square errors corresponding to each optimized and calculated pose; the third chi-square error is a chi-square error between the first anchor pose and the optimized and calculated pose calculated under a condition that each degree of freedom is weighted by a variance of a noise of the degree of freedom; the variance of the noise of one degree of freedom is negatively related to a weight of the degree of freedom; and the processing unit is further configured to determine the to-be-investigated submap in which the third chi-square error exceeds the second threshold value.
[0020] In some implementations, the processing unit is further configured to determine a first score reflecting stability of the first anchor point pose on the map to be detected according to chi-square errors between each two of the at least one optimized pose of the subgraph to be evaluated; and / or, the processing unit is further configured to determine a second score reflecting maximum errors of the first anchor point pose in each degree of freedom according to differences between the first anchor point pose and the at least one optimized pose of the subgraph to be evaluated in each degree of freedom, respectively.
[0021] In a third aspect, a map detection apparatus is provided, including a memory and a processor, the memory is configured to store a computer program, and the processor is configured to cause the map detection apparatus to implement the method provided in the first aspect or any implementation manner of the first aspect.
[0022] In a fourth aspect, a vehicle is provided, including a map detection apparatus, and the map detection apparatus is configured to implement the method provided in the first aspect or any implementation manner of the first aspect.
[0023] In a fifth aspect, a computer readable storage medium is provided, and the computer readable storage medium stores a computer program, and when the computer program is executed by a computing device, the computing device is caused to implement the method provided in the first aspect or any implementation manner of the first aspect.
[0024] In a sixth aspect, a computer program product is provided, and when the computer program product is run on a computer, the computer is caused to implement the method provided in the first aspect or any implementation manner of the first aspect.
[0025] Compared with the prior art, the technical solutions provided in the embodiments of the present disclosure have the following advantages:
[0026] In the method, it is considered that: the quality of at least one subgraph (hereinafter referred to as at least one to-be-evaluated subgraph) in the to-be-detected map which matches the target point cloud frame can be detected by using the point cloud (hereinafter referred to as a target point cloud frame) of the environment collected from one pose (hereinafter referred to as a first anchor point pose), and a subgraph with an abnormality in the at least one to-be-evaluated subgraph is found. Furthermore, in the method, an optimized solution pose that makes the positioning reliability of the target point cloud frame in the current to-be-evaluated subgraph highest can be determined for each to-be-evaluated subgraph. Since the optimized solution pose that makes the positioning reliability of the target point cloud frame in a to-be-evaluated subgraph highest can be used to represent the position of the to-be-evaluated subgraph in the global map, the optimized solution poses of the at least one to-be-evaluated subgraph can be used to detect the subgraph with an abnormality in the at least one to-be-evaluated subgraph (for example, if there is an optimized solution pose that is too different from the anchor point pose in the optimized solution poses of the at least one to-be-evaluated subgraph, the subgraph may have an abnormality. For another example, if a certain optimized solution pose is too different from other optimized solution poses in the optimized solution poses of the at least one to-be-evaluated subgraph, the subgraph may have an abnormality). In this way, the method can quickly and accurately find a subgraph with an abnormality in the map, and realize detection of the quality of the map. BRIEF DESCRIPTION OF DRAWINGS
[0027] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate embodiments consistent with the present disclosure and, together with the description, further serve to explain the principles of the disclosure.
[0028] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure or the prior art, brief introductions will be given to the drawings required in the embodiments or prior art descriptions. Obviously, for those skilled in the art, other drawings can also be obtained from these drawings without creative labor.
[0029] Figure 1 A structural schematic diagram of a vehicle is provided for the embodiments of the present disclosure.
[0030] Figure 2 A flowchart of a map detection method is provided for one of the embodiments of the present disclosure.
[0031] Figure 3 A flowchart of a map detection method is provided for another of the embodiments of the present disclosure.
[0032] Figure 4 A schematic diagram of a map is provided for one of the embodiments of the present disclosure.
[0033] Figure 5 A flowchart of a map detection method is provided for another of the embodiments of the present disclosure.
[0034] Figure 6 FIG. 4 is a flowchart of a map detection method according to an embodiment of the present disclosure;
[0035] Figure 7 FIG. 5 is a flowchart of a map detection method according to an embodiment of the present disclosure;
[0036] Figure 8 FIG. 6 is a flowchart of a map detection method according to an embodiment of the present disclosure;
[0037] Figure 9 FIG. 7 is a flowchart of a map detection method according to an embodiment of the present disclosure;
[0038] Figure 10 FIG. 8 is a schematic diagram of a map according to an embodiment of the present disclosure;
[0039] Figure 11 FIG. 9 is a flowchart of a map detection method according to an embodiment of the present disclosure;
[0040] Figure 12 FIG. 10 is a structural schematic diagram of a map detection device according to an embodiment of the present disclosure;
[0041] Figure 13 FIG. 11 is a structural schematic diagram of a map detection device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0042] In order to more clearly understand the above-mentioned purposes, features and advantages of the present disclosure, the solutions of the present disclosure will be further described below. It should be noted that the embodiments of the present disclosure and the features in the embodiments can be combined with each other without conflict.
[0043] In the following description, many specific details are set forth in order to fully understand the present disclosure, but the present disclosure can also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only some of the embodiments of the present disclosure, not all the embodiments.
[0044] At present, in order to ensure the robustness of positioning, it is necessary to ensure the high quality of the map, which requires determining the subgraph with abnormality in the map.
[0045] Exemplarily, take the occupancy grid map as an example. The occupancy grid map is the most commonly used mapping method in the field of artificial intelligence (such as autonomous vehicles, robots, etc.), in which the map is discretized into a grid of a certain precision, and the probability that each grid in the occupancy grid map is occupied is estimated according to the environmental information returned by the sensor, providing prior information for subsequent definition. The mapping process of the occupancy grid map is to accumulate the laser radar scan of the specified frame on the mapping trajectory, and use the ray casting algorithm to insert the current frame point cloud combined with the current positioning pose into the local grid map subgraph, and then combine multiple subgraphs to obtain the entire occupancy grid map. At this time, there may be an abnormal subgraph in the occupancy grid map.
[0046] Specifically, when there is an abnormal subgraph in the map, there may be a positioning jump in the subgraph, which intuitively means that the line segment boundary of the 2dimensionality (2D) projection image of the subgraph contains ghosting (such as line segment blur, edge burr). Exemplarily, as shown in Figure 1 , where Figure 1 (a) and (b) respectively show a 2D projection image of a map, and it can be seen that the line segment boundary of the image in (a) is clearer, and in contrast, the line segment boundary of the image in (b) contains obvious ghosting.
[0047] At present, in order to detect the abnormal subgraph in the map, the related art usually projects the 3D to-be-detected map (which can be specifically an occupancy grid map) into the x-y horizontal plane direction to convert it into a 2D projection image. The gray value of each pixel in the 2D projection image represents the cumulative occupancy probability value at the same x-y position, for example Figure 1 , the darker the pixel in the image, the greater the cumulative occupancy probability at the x-y position. Further, whether the line segment boundary of the 2D projection image contains ghosting (such as line segment blur, edge burr) is judged by human eye observation to judge the quality of the grid map.
[0048] The method for detecting the quality of the map provided by the above related art has the following problems: first, the map needs to be converted into a 2D projection image for judgment in the method; second, the detection of the map depends on the observation of the human eye, and is strongly dependent on personal experience, lacking quantitative standards.
[0049] In response to the above problems, an embodiment of the present disclosure provides a map detection method. In this method, it is taken into account that: the point cloud of the environment (hereinafter referred to as the target point cloud frame) collected from a pose (hereinafter referred to as the first anchor pose) can be used to detect the quality of at least one sub-image in the map to be detected that matches the target point cloud frame (hereinafter referred to as at least one sub-image to be evaluated), and to find out the sub-images with abnormalities in at least one sub-image to be evaluated. Specifically, in this method, the optimized solution pose that gives the highest positioning confidence of the target point cloud frame in the current sub-image to be evaluated can be determined for each sub-image to be evaluated. Since the optimized solution pose with the highest positioning confidence of the target point cloud frame in a sub-image to be evaluated can be used to characterize the position of the sub-image to be evaluated in the global map, the optimized solution pose of at least one sub-image to be evaluated can be used to detect abnormal sub-images in at least one sub-image to be evaluated (for example, if there is an optimized solution pose that is too different from the anchor point pose in the optimized solution pose of at least one sub-image to be evaluated, then the sub-image may be abnormal. For another example, if a certain optimized solution pose is too different from other optimized solution poses in the optimized solution pose of at least one sub-image to be evaluated, then the sub-image may be abnormal). In this way, this method can be used to quickly and accurately find abnormal sub-images from the map, thereby realizing the detection of map quality.
[0050] The specific implementation process of the map detection method provided by the embodiment of the present disclosure is introduced below with reference to examples.
[0051] First, the application scenarios of the map detection method provided by the embodiment of the present disclosure are introduced:
[0052] like Figure 1 FIG2 is a schematic diagram of the structure of a vehicle provided by the present disclosure. The vehicle 10 may include: an intelligent driving system 11 for implementing functions such as driving navigation and assisted driving; a steering system 12 for controlling vehicle steering; and a power braking system 13 for controlling vehicle power output and braking.
[0053] The intelligent driving system 11 may include: a vehicle controller 111, a vehicle-mounted sensor 112, and a communication module 113, etc.
[0054] The vehicle-mounted sensor 112 is used to detect the driving environment around the vehicle. In actual application, the vehicle-mounted sensor 112 may include a camera, an ultrasonic radar, a millimeter-wave radar, a laser radar, and other components.
[0055] The communication module 113 is used to enable the vehicle 10 to communicate with other vehicles or communication base stations and other devices.
[0056] The vehicle controller 111 is configured to construct a map according to information received from the vehicle-mounted sensor 112 and the communication module 113, and control the steering system 12 and the power braking system 13 by using the map to control the vehicle to travel.
[0057] In actual applications, the map detection method provided in the embodiments of the present disclosure can be applied to a map detection device. In some application scenarios, the functions of the map detection device can be implemented by software / hardware modules in the vehicle controller 111.
[0058] In some other application scenarios, the map detection method provided in the embodiments of the present disclosure can be applied not only to a vehicle to detect a map constructed by the vehicle, but also to a robot or other intelligent device to detect a map constructed by the robot or other intelligent device. In this case, the functions of the map detection device can be implemented by software / hardware modules in the robot or other intelligent device.
[0059] In addition, the map detection method provided in the embodiments of the present disclosure can also be applied to a detection device independent of a vehicle or a robot. The detection device can read a constructed map from the vehicle or the robot, and detect the read map according to the map detection method provided in the embodiments of the present disclosure. In this case, the functions of the map detection device can be implemented by software / hardware modules in the detection device.
[0060] The map detection method provided in the embodiments of the present disclosure will be described below with reference to the running process of a map detection device. As shown in FIG. 1, the method can include the following S21-S24. Figure 2
[0061] S21, obtaining a to-be-detected map, a target point cloud frame, and a first anchor point pose corresponding to the target point cloud frame.
[0062] The target point cloud frame includes point clouds of an environment collected from the first anchor point pose.
[0063] For example, the target point cloud frame can be point clouds of an environment collected by a laser radar or other sensor when the vehicle travels at the first anchor point pose.
[0064] It should be noted that the "pose" involved in the embodiments of the present disclosure can be understood as the sum of position and attitude information.
[0065] Typically, a pose is composed of six degrees of freedom: x, y, z, roll, pitch, and yaw. The x and y degrees of freedom represent the values of two perpendicular directions on the horizontal plane (specifically, longitude and latitude); the z degree of freedom represents the value of the vertical direction (specifically, height); the roll degree of freedom represents the value of rotational motion around the x-axis; the pitch degree of freedom represents the value of rotational motion around the y-axis; and the yaw degree of freedom represents the value of rotational motion around the z-axis.
[0066] The map to be detected includes multiple sub-maps, wherein each sub-map includes map content of a portion of the map to be detected.
[0067] S22: Determine, from the map to be detected, at least one sub-map to be evaluated that matches the target point cloud frame.
[0068] The at least one sub-image to be evaluated that matches the target point cloud frame can be specifically understood as a sub-image associated with the content in the target point cloud frame. For example, if the target point cloud frame includes a roadside facility, and a sub-image also includes the content of the roadside facility, then the sub-image matches the target point cloud frame.
[0069] In some implementations, such as Figure 3 As shown, S22 may specifically include the following S221-S224:
[0070] S221. Using the first anchor point pose, convert the target point cloud frame into a map coordinate system point cloud.
[0071] The map coordinate system point cloud is the point cloud in the coordinate system corresponding to the map to be detected.
[0072] S222: Determine, from the map to be detected, a first number of adjacent sub-images whose coordinate distances between the sub-image origin and the first anchor point are closest.
[0073] For example, Figure 4 The figure shows a schematic diagram of a map to be detected provided by an embodiment of the present disclosure. The map to be detected includes 25 sub-maps P11-P55. It should be noted that: Figure 4 In the figure, the subgraphs are schematically represented by grids only for the convenience of description. In practical applications, adjacent subgraphs in the map to be detected usually have overlapping parts, and the subgraphs usually do not have clear boundary divisions.
[0074] Assume that the coordinates of the first anchor point pose are located at Figure 4The midpoint AN. Then, the first number of adjacent subgraphs with the closest Euclidean distances can be selected by calculating the Euclidean distances of the point AN to the subgraph origins of the respective subgraphs and sorting the Euclidean distances of the point AN to the subgraph origins of the respective subgraphs.
[0075] The first number can be determined according to actual needs, for example, 10 adjacent subgraphs with the closest coordinate distances from the subgraph origins to the first anchor point pose can be selected.
[0076] S223, determine the localization confidence of the map coordinate system point cloud in each of the first number of adjacent subgraphs.
[0077] Specifically, taking the subgraph in the occupancy grid map as an example, the localization confidence of the map coordinate system point cloud in an adjacent subgraph can be obtained by calculating the probability value of each point in the map coordinate system point cloud in the grid in the adjacent subgraph and averaging the probability values corresponding to each point in the map coordinate system point cloud.
[0078] S224, take the adjacent subgraph with a corresponding localization confidence greater than a first threshold as an evaluation subgraph.
[0079] For example, if the first threshold is 0.5, the adjacent subgraph with a corresponding localization confidence greater than 0.5 can be selected as the evaluation subgraph.
[0080] In the above implementation, on the one hand, considering that the at least one evaluation subgraph matched with the target point cloud frame should have a coordinate position close to the first anchor point pose corresponding to the target point cloud frame. Therefore, in this implementation, the first number of subgraphs with the closest coordinate distances from the subgraph origins to the first anchor point pose are selected by S222 for preliminary screening of the subgraphs in the detection map. On the other hand, considering that the at least one evaluation subgraph matched with the target point cloud frame should have a feature associated with the content in the target point cloud frame. Therefore, in this implementation, by using the localization confidence of the map coordinate system point cloud in each adjacent subgraph, the subgraph with a high localization confidence is selected as the evaluation subgraph by S223-S224, so as to evaluate the evaluation subgraph in the subsequent steps, so as to determine the abnormal subgraph therefrom.
[0081] S23, for each evaluation subgraph, determine an optimized solution pose that makes the localization confidence of the target point cloud frame in the current evaluation subgraph highest.
[0082] It can be understood that, when calculating the localization reliability of the target point cloud frame in a to-be-evaluated submap, the target point cloud frame can be first converted into a point cloud in the map coordinate system by using the selected pose, and then the localization reliability in the to-be-evaluated submap is calculated by using the converted point cloud (for reference can be made to the process of S221-S223). Therefore, the localization reliability calculated is different due to the different poses used. The purpose of S23 is to find the optimized solution pose corresponding to each to-be-evaluated submap respectively (i.e., the optimized solution pose that makes the localization reliability of the target point cloud frame in the current to-be-evaluated submap highest).
[0083] The specific implementation process of S23 will be introduced in two implementation manners as follows:
[0084] In the first implementation manner, as shown in Figure 5 S23 can include the following contents of S23a1-S23a3:
[0085] S23a1, at least one to-be-evaluated pose in the target pose range is determined according to the first anchor point pose and the preset step length of each degree of freedom.
[0086] The numerical interval of each degree of freedom in the target pose range satisfies: the numerical value of each degree of freedom in the first anchor point pose is taken as the center of the numerical interval, and the preset numerical value corresponding to each degree of freedom is taken as the length of the numerical interval.
[0087] Exemplarily, taking the first anchor point pose including six degrees of freedom and the numerical values of the six degrees of freedom being x, y, z, roll, pitch and yaw as an example:
[0088] Among them, for the degree of freedom x, it is assumed that the preset numerical value corresponding to the degree of freedom x is 1 m (meter), and the preset step length of the degree of freedom x is 0.1 m. Then the numerical interval corresponding to the degree of freedom x is [x-0.5 m, x+0.5 m]. Further, according to the preset step length 0.1 m, 11 numerical values can be divided from the numerical interval [x-0.5 m, x+0.5 m]: x-0.5 m, x-0.4 m, …, x+0.4 m, x+0.5 m.
[0089] Similar to the processing manner of the degree of freedom x, for the degrees of freedom y and z, it is assumed that the preset numerical values corresponding to the degrees of freedom y and z are also 1 m respectively, and the preset step lengths of the degrees of freedom y and z are also 0.1 m respectively. Then 11 numerical values corresponding to the degree of freedom y: y-0.5 m, y-0.4 m, …, y+0.4 m, y+0.5 m, and 11 numerical values corresponding to the degree of freedom z: z-0.5 m, z-0.4 m, …, z+0.4 m, z+0.5 m can be obtained.
[0090] For the degree of freedom roll, assuming the default value for roll is 1° and the default step size for the degree of freedom x is 0.1°, the value interval for roll is [roll-0.5°, roll+0.5°]. Furthermore, with the default step size of 0.1°, the value interval [roll-0.5°, roll+0.5°] can be divided into 11 values: roll-0.5°, roll-0.4°, ..., roll+0.4°, and roll+0.5°.
[0091] Similar to the processing method for the degree of freedom roll, for the degrees of freedom pitch and yaw, 11 values corresponding to the degree of freedom pitch are obtained: pitch-0.5°, pitch-0.4°, …, pitch+0.4°, pitch+0.5°, and 11 values corresponding to the degree of freedom yaw are obtained: yaw-0.5°, yaw-0.4°, …, yaw+0.4°, ya+0.5°.
[0092] By permuting and combining the values corresponding to the above 6 degrees of freedom, we can get 1,771,561 (i.e. 11 6 ) poses. This is equivalent to: based on the first anchor point pose and the preset step size of each degree of freedom, 1,771,561 poses to be evaluated within the target pose range can be determined.
[0093] Next, for each subgraph to be evaluated obtained in S22, execute S23a2-S23a3 respectively:
[0094] S23a2. Using each pose to be evaluated, determine the positioning reliability corresponding to each pose to be evaluated of the target point cloud frame in the current sub-image to be evaluated.
[0095] Continuing with the above example, if 1,771,561 poses to be evaluated within the target pose range can be determined based on the first anchor point pose and the preset step sizes for each degree of freedom, then each of these 1,771,561 poses can be used to determine the position reliability of the target point cloud frame corresponding to each pose in the current sub-image to be evaluated. This yields the position reliability for each of the 1,771,561 poses to be evaluated corresponding to the current sub-image to be evaluated.
[0096] S23a3. The posture to be evaluated with the highest corresponding positioning confidence is used as the optimized solution posture of the current subgraph to be evaluated.
[0097] Continuing the above example, after the determination of the position certainty of the target point cloud frame in the current subgraph corresponding to each of the 1,771,561 to-be-evaluated poses, the highest position certainty can be determined from the 1,771,561 position certainties, and the to-be-evaluated pose with the highest position certainty can be determined as the optimized solution pose of the current subgraph.
[0098] In the second implementation, as shown in Figure 6 S23 can include the following contents of S23b1-S23b3:
[0099] S23b1, determining at least one to-be-evaluated pose in the target pose range according to the first anchor pose and the preset step length of each degree of freedom.
[0100] The numerical interval of each degree of freedom in the target pose range satisfies: taking the numerical value of each degree of freedom in the first anchor pose as the center of the numerical interval, and taking the preset numerical value corresponding to each degree of freedom as the length of the numerical interval.
[0101] The implementation process of S23b1 can refer to the implementation process of S23a1 described above. It can be assumed that 1,771,561 to-be-evaluated poses in the target pose range are also determined through S23b1.
[0102] Next, for each to-be-evaluated subgraph obtained in S22, S23b2-S23b4 are executed respectively:
[0103] S23b2, determining the position certainty of the target point cloud frame in the current to-be-evaluated subgraph corresponding to each to-be-evaluated pose by using each to-be-evaluated pose.
[0104] The implementation process of S23b2 can refer to the implementation process of S23a2 described above.
[0105] For example, if 1,771,561 to-be-evaluated poses in the target pose range can be determined according to the first anchor pose and the preset step length of each degree of freedom, the position certainty of the target point cloud frame in the current to-be-evaluated subgraph corresponding to each to-be-evaluated pose can be determined by using each to-be-evaluated pose of the 1,771,561 to-be-evaluated poses. Further, the position certainty of the target point cloud frame in the current to-be-evaluated subgraph corresponding to each of the 1,771,561 to-be-evaluated poses is obtained.
[0106] S23b3, taking the to-be-evaluated pose with the highest corresponding position certainty as the scan matching pose of the current to-be-evaluated subgraph.
[0107] For example, after the 1,771,561 position certainties corresponding to the 1,771,561 to-be-evaluated poses of the current to-be-evaluated subgraph are determined, the highest position certainty can be determined from the 1,771,561 position certainties, and the to-be-evaluated pose with the highest position certainty can be taken as the scan matching pose of the current to-be-evaluated subgraph.
[0108] Different from S23a3, in S23b3, after the to-be-evaluated pose with the highest corresponding position certainty is determined, the to-be-evaluated pose is not directly taken as the optimized calculated pose for subsequent processing, but the to-be-evaluated pose with the highest position certainty is taken as the scan matching pose of the current to-be-evaluated subgraph, and the scan matching pose is further optimized through S23a4 below, and the optimization result is taken as the optimized calculated pose.
[0109] S23b4, according to the scan matching pose of the current to-be-evaluated subgraph, determining the optimized calculated pose of the current to-be-evaluated subgraph in a preset manner.
[0110] The preset manner includes: taking the scan matching pose corresponding to the current to-be-evaluated subgraph as an initial pose, taking improving the position certainty of the target point cloud frame in the current to-be-evaluated subgraph as a target, adjusting the initial pose to obtain the optimized calculated pose of the current to-be-evaluated subgraph.
[0111] For example, a residual function of the target point cloud frame to the current to-be-evaluated subgraph under the scan matching pose can be constructed, and the Cere nonlinear optimizer is used for solving, and then the optimized calculated pose of the current to-be-evaluated subgraph is obtained.
[0112] S24, according to the optimized calculated pose of at least one to-be-evaluated subgraph, determining a subgraph with an abnormality from the at least one to-be-evaluated subgraph.
[0113] For example, if there is an optimized calculated pose with a too large difference from the anchor pose in the optimized calculated poses of the at least one to-be-evaluated subgraph, the subgraph may have an abnormality. For example, if a certain optimized calculated pose has a too large difference from other optimized calculated poses in the optimized calculated poses of the at least one to-be-evaluated subgraph, the subgraph may have an abnormality.
[0114] In some implementations, as shown in FIG. 24, S24 can specifically include the following contents of S241-S243: Figure 7
[0115] S241, according to the optimized calculated pose of at least one to-be-evaluated subgraph, determining a to-be-investigated subgraph with a difference between the corresponding optimized calculated pose and the first anchor pose exceeding a second threshold from the at least one to-be-evaluated subgraph.
[0116] S242: Determine, from at least one subgraph to be evaluated, an anchor subgraph that maximizes the positioning confidence of the map coordinate system point cloud in the subgraph.
[0117] The map coordinate system point cloud is: using the first anchor point pose, the target point cloud frame is converted into a point cloud in the coordinate system corresponding to the map to be detected. The process of determining the map coordinate system point cloud can refer to the content of S221 above.
[0118] For example, assuming there are five sub-graphs to be evaluated, the positioning reliability of the map coordinate system point cloud in the five sub-graphs to be evaluated is calculated respectively, and the sub-graph with the highest positioning reliability is the anchor sub-graph.
[0119] S243. Filter out abnormal subgraphs from the subgraphs to be checked and the anchor subgraphs.
[0120] In this implementation, considering that a significant difference between the optimized pose of a subgraph to be evaluated and the pose of the first anchor point indicates a high probability of an anomaly in the subgraph to be evaluated, at least one subgraph to be evaluated whose corresponding optimized pose differs from the pose of the first anchor point by more than a second threshold is identified as a subgraph with a potential anomaly for further investigation. Furthermore, considering that errors in the pose of the first anchor point are also possible, the anchor subgraph with the highest confidence in the location of the map coordinate point cloud within the subgraph is identified as a subgraph with a potential anomaly for further investigation.
[0121] The following describes a specific implementation process of determining, from the at least one subgraph to be evaluated, based on the optimized solved pose of the at least one subgraph to be evaluated, a subgraph to be checked (i.e., S241) whose difference between the corresponding optimized solved pose and the first anchor point pose exceeds a second threshold value.
[0122] Specifically, such as Figure 8 As shown, S241 may specifically include the following contents of S2411-S2413:
[0123] S2411. Calculate the variance of noise of each degree of freedom based on the optimized pose of at least one sub-graph to be evaluated.
[0124] Specifically, the variance of the noise of each degree of freedom can be calculated according to the following formula (1).
[0125]
[0126] Here, i is one of the degrees of freedom, for example, i can be one of: x, y, z, roll, pitch and yaw. represents the average value of the i-th degree of freedom in the optimized and calculated pose of the at least one subgraph to be evaluated. n represents the number of optimized and calculated poses of the at least one subgraph to be evaluated.
[0127] Taking x, y, z, roll, pitch, and yaw as an example of six degrees of freedom, the variance of the noise of each degree of freedom is obtained through S2411:
[0128] S2412, respectively calculate the third chi-square error corresponding to each optimized and calculated pose.
[0129] The third chi-square error is: the chi-square error between the first anchor point pose and the optimized and calculated pose is calculated under the condition that each degree of freedom is weighted by the variance of the noise of each degree of freedom.
[0130] The variance of the noise of one degree of freedom is negatively related to the weight of one degree of freedom.
[0131] Specifically, the third chi-square error E corresponding to each optimized and calculated pose can be calculated according to the following formula (2).
[0132] E=e T ∑ -1 e formula (2)
[0133] Wherein e can be determined according to the following formula (3), e T is the transpose of e:
[0134]
[0135] Wherein (x1, y1, z1, roll1, pitch1, yaw1) represents the value of each degree of freedom in the current optimized and calculated pose,
[0136] (x2, y2, z2, roll2, pitch2, yaw2) represents the value of each degree of freedom in the first anchor point pose.
[0137] ∑ -1 The variance of the noise of each degree of freedom can be obtained according to S2411: And the following formula (4) is determined:
[0138]
[0139] S2413, determine the subgraph to be checked whose third chi-square error exceeds the second threshold value.
[0140] Wherein the specific value of the second threshold value can be set according to actual needs.
[0141] The following describes a specific implementation process of screening out abnormal subgraphs (i.e., S243) from the subgraphs to be checked and the anchor subgraphs:
[0142] In some designs, such as Figure 9 As shown, S243 may specifically include the following contents from S2431 to S2416:
[0143] S2431. Divide the optimized solved poses corresponding to the subgraph to be checked and the anchor subgraph into the first pose class and the second pose class through clustering operation.
[0144] Specifically, based on the values of the degrees of freedom included in each optimized solution pose, the optimized solution poses corresponding to the subgraph to be checked and the anchor subgraph can be clustered to obtain the first pose class and the second pose class.
[0145] The first pose class and the second pose class may each include one or more optimized solution poses.
[0146] S2432. Obtain at least one second anchor point pose of other point cloud frames collected within a period of time including the time point of collecting the target point cloud frame.
[0147] For example, Figure 10 As shown in the figure, point AN represents the first anchor point pose corresponding to the target point cloud frame. Before and after the target point cloud frame is collected, other point cloud frames are collected. For example, before collecting the target point cloud frame, point cloud frames are collected at points AN_1 and AN_2 respectively; after collecting the target point cloud frame, point cloud frames are collected at points AN_3 and AN_4 respectively. Then, an anchor point pose (i.e., at least one second anchor point pose) within the above time period can be selected from these anchor point poses, such as AN_1, AN_2, AN_3, AN_4, etc.
[0148] In actual applications, you can also select anchor poses of other point cloud frames that are within a period of time including the time point when the target point cloud frame is collected and whose coordinate distance from the first anchor pose is less than a distance threshold (e.g., 5m) as the at least one second anchor pose. This way, you can avoid obtaining at least one second anchor pose that has a coordinate distance far from the first anchor pose.
[0149] S2433: Obtain a fitted movement trajectory using the first anchor point pose and at least one second anchor point pose.
[0150] For example, Figure 10 In the example, the first anchor point pose and at least one second anchor point pose are used to obtain a fitted movement trajectory S.
[0151] S2434, respectively calculate a first chi-square error of the poses in the first pose class to the fitted movement trajectory, and a second chi-square error of the poses in the second pose class to the fitted movement trajectory.
[0152] For example, when calculating the first chi-square error of the poses in the first pose class to the fitted movement trajectory, error values of the poses in the first pose class to the fitted movement trajectory can be calculated respectively to obtain error values corresponding to the poses respectively, and then a mean value of the error values corresponding to the poses respectively is calculated to obtain the first chi-square error. Similarly, the second chi-square error can be calculated.
[0153] S2435, according to the first chi-square error and the second chi-square error, determine a target pose class with larger chi-square error from the first pose class and the second pose class.
[0154] For example, by comparing the first chi-square error and the second chi-square error, a target pose class with larger chi-square error can be determined from the first pose class and the second pose class.
[0155] S2436, determine the subgraph corresponding to each optimized calculated pose in the target pose class as an abnormal subgraph.
[0156] In the above design, it is considered that the optimized calculated poses corresponding to the abnormal subgraph are more similar, and the optimized calculated poses corresponding to the normal subgraph are more similar. Therefore, in the design, the optimized calculated poses are clustered into two classes by clustering. Then, the pose class of the abnormal subgraph is selected by using the chi-square error of the poses in the pose class to the fitted movement trajectory. Further, the abnormal subgraph can be determined.
[0157] In some implementations, as shown in FIG. Figure 11 The method can include:
[0158] S25, according to the chi-square error between each two of the optimized calculated poses of the at least one to-be-evaluated subgraph, determine a first score reflecting the pose stability of the first anchor pose on the to-be-detected map.
[0159] Further, when the first score is fed back to the technician through the display or the speaker, the technician can intuitively feel the pose stability of the first anchor pose on the to-be-detected map according to the first score.
[0160] In addition, the method can further include:
[0161] S26, according to the difference between the first anchor pose and the optimized calculated poses of the at least one to-be-evaluated subgraph in each degree of freedom, determine a second score reflecting the maximum error of the first anchor pose in each degree of freedom.
[0162] Further, when the second score is fed back to the technician through the display or the speaker, the technician can intuitively feel the maximum error of the first anchor point pose in each degree of freedom according to the second score.
[0163] In some designs, a plurality of point cloud frames can also be collected, and a second score reflecting the maximum error of the anchor point pose of each point cloud frame in each degree of freedom is determined by using each point cloud frame according to the method of the embodiments of the present disclosure, and a maximum error heat map is constructed. Thus, the technician can intuitively feel the maximum error of different anchor point poses in each degree of freedom according to the maximum error heat map.
[0164] Based on the above method embodiments, the device provided by the embodiments of the present disclosure is described below. As shown in Figure 12 FIG. 1 is a structural schematic diagram of a map detection device provided by an embodiment of the present disclosure. Specifically, the map detection device 30 can be a chip or a system on chip, for example, the map detection device 30 can be a vehicle controller 111 in Figure 1 The map detection device 30 can be used to implement the function of the map detection device in the method provided by the embodiments of the present disclosure. Specifically, the map detection device 30 can include:
[0165] The acquisition unit 301 is configured to acquire a to-be-detected map, a target point cloud frame, and a first anchor point pose corresponding to the target point cloud frame. The target point cloud frame includes point clouds of an environment collected from the first anchor point pose. The to-be-detected map includes a plurality of sub-maps.
[0166] The processing unit 302 is configured to determine at least one to-be-evaluated sub-map matched with the target point cloud frame from the to-be-detected map.
[0167] The processing unit 302 is further configured to determine, for each to-be-evaluated sub-map, an optimized calculated pose that makes the positioning reliability of the target point cloud frame in the current to-be-evaluated sub-map highest.
[0168] The processing unit 302 is further configured to determine, from the at least one to-be-evaluated sub-map, a sub-map with an abnormality according to the optimized calculated pose of the at least one to-be-evaluated sub-map.
[0169] In some implementations, the processing unit 302 is configured to determine at least one to-be-evaluated sub-map matched with the target point cloud frame from the to-be-detected map, including:
[0170] The processing unit 302 is configured to convert the target point cloud frame into a map coordinate system point cloud by using the first anchor point pose. The map coordinate system point cloud is a point cloud in a coordinate system corresponding to the to-be-detected map.
[0171] The processing unit 302 is further configured to determine, from the to-be-detected map, a first number of adjacent sub-maps with the closest coordinate distance between the sub-map origin and the first anchor point pose.
[0172] The processing unit 302 is further configured to determine the positioning reliability of the map coordinate system point cloud on each adjacent sub-map;
[0173] The processing unit 302 is further configured to select adjacent sub-graphs whose corresponding location confidences are greater than a first threshold as sub-graphs to be evaluated.
[0174] In some implementations, the processing unit 302 is further configured to determine, for each sub-image to be evaluated, an optimized solution pose that maximizes the positioning confidence of the target point cloud frame in the current sub-image to be evaluated, including:
[0175] The processing unit 302 is further configured to determine at least one posture to be evaluated within a target posture range based on the first anchor point posture and the preset step size of each degree of freedom; wherein the numerical interval of each degree of freedom in the target posture range satisfies: the numerical value of each degree of freedom in the first anchor point posture is used as the center of the numerical interval, and the preset numerical value corresponding to each degree of freedom is used as the length of the numerical interval;
[0176] The processing unit 302 is further configured to execute, for each subgraph to be evaluated:
[0177] Using each pose to be evaluated, determine the positioning reliability corresponding to each pose to be evaluated in the current sub-image to be evaluated of the target point cloud frame;
[0178] The corresponding pose to be evaluated with the highest positioning confidence is used as the optimized solution pose of the current subgraph to be evaluated.
[0179] In some implementations, the processing unit 302 is further configured to determine, for each sub-image to be evaluated, an optimized solution pose that maximizes the positioning confidence of the target point cloud frame in the current sub-image to be evaluated, including:
[0180] The processing unit 302 is further configured to determine at least one posture to be evaluated within a target posture range based on the first anchor point posture and the preset step size of each degree of freedom; wherein the numerical interval of each degree of freedom in the target posture range satisfies: the numerical value of each degree of freedom in the first anchor point posture is used as the center of the numerical interval, and the preset numerical value corresponding to each degree of freedom is used as the length of the numerical interval;
[0181] The processing unit 302 is further configured to execute, for each subgraph to be evaluated:
[0182] Using each pose to be evaluated, determine the positioning reliability corresponding to each pose to be evaluated in the current sub-image to be evaluated of the target point cloud frame;
[0183] The pose to be evaluated with the highest corresponding positioning confidence is used as the scan matching pose of the current sub-image to be evaluated;
[0184] According to the scan matching pose of the current to-be-evaluated subgraph, an optimized calculated pose of the current to-be-evaluated subgraph is determined in a preset manner; the preset manner includes: taking the scan matching pose corresponding to the current to-be-evaluated subgraph as an initial pose, adjusting the initial pose to improve the positioning accuracy of the target point cloud frame in the current to-be-evaluated subgraph, and obtaining the optimized calculated pose of the current to-be-evaluated subgraph.
[0185] In some implementations, the processing unit 302 is further configured to determine, from the at least one to-be-evaluated subgraph, a subgraph with an abnormality according to the optimized calculated pose of the at least one to-be-evaluated subgraph, including:
[0186] The processing unit 302 is further configured to determine, from the at least one to-be-evaluated subgraph, a to-be-investigated subgraph corresponding to the optimized calculated pose of which has a difference from the first anchor point pose exceeding a second threshold value.
[0187] The processing unit 302 is further configured to determine, from the at least one to-be-evaluated subgraph, an anchor point subgraph in which the positioning accuracy of the map coordinate system point cloud in the subgraph is the highest; the map coordinate system point cloud is a point cloud in a coordinate system corresponding to a to-be-detected map, which is converted from the target point cloud frame by using the first anchor point pose.
[0188] The processing unit 302 is further configured to screen a subgraph with an abnormality from the to-be-investigated subgraph and the anchor point subgraph.
[0189] In some implementations, the processing unit 302 is further configured to screen a subgraph with an abnormality from the to-be-investigated subgraph and the anchor point subgraph, including:
[0190] The processing unit 302 is further configured to divide the optimized calculated poses corresponding to the to-be-investigated subgraph and the anchor point subgraph into a first pose class and a second pose class by clustering operation.
[0191] The processing unit 302 is further configured to obtain at least one second anchor point pose of other point cloud frames collected within a time period including a time point at which the target point cloud frame is collected.
[0192] The processing unit 302 is further configured to obtain a fitted moving track by using the first anchor point pose and the at least one second anchor point pose.
[0193] The processing unit 302 is further configured to respectively calculate a first chi-square error of a pose in the first pose class to the fitted moving track and a second chi-square error of a pose in the second pose class to the fitted moving track.
[0194] The processing unit 302 is further configured to determine a target pose class with a larger chi-square error from the first pose class and the second pose class according to the first chi-square error and the second chi-square error.
[0195] The processing unit 302 is further configured to determine that a subgraph corresponding to each optimized pose in the target pose class is an abnormal subgraph.
[0196] In some implementations, the processing unit 302 is further configured to determine, from the at least one to-be-evaluated subgraph, a to-be-investigated subgraph in which a difference between the corresponding optimized pose and the first anchor pose exceeds the second threshold, according to the optimized pose of the at least one to-be-evaluated subgraph, including:
[0197] The processing unit 302 is further configured to determine a variance of noise of each degree of freedom according to the optimized pose of the at least one to-be-evaluated subgraph.
[0198] The processing unit 302 is further configured to respectively calculate a third chi-square error corresponding to each optimized pose; the third chi-square error is a chi-square error between the first anchor pose and the optimized pose calculated by weighting each degree of freedom according to the variance of noise of each degree of freedom; and the variance of noise of one degree of freedom is negatively correlated with the weight of one degree of freedom.
[0199] The processing unit 302 is further configured to determine a to-be-investigated subgraph in which the third chi-square error exceeds the second threshold.
[0200] In some implementations, the processing unit 302 is further configured to determine a first score reflecting the pose stability of the first anchor pose on the to-be-detected map according to the chi-square error between each two of the optimized poses of the at least one to-be-evaluated subgraph.
[0201] And / or,
[0202] The processing unit 302 is further configured to determine a second score reflecting the maximum error of the first anchor pose in each degree of freedom according to the difference between the first anchor pose and the optimized pose of the at least one to-be-evaluated subgraph in each degree of freedom.
[0203] The map detection apparatus 30 provided by the embodiments of the present disclosure can perform part or all of the steps of the above method, and the implementation principles and technical effects are similar, which will not be described here.
[0204] Based on the same inventive concept, the embodiments of the present disclosure further provide another map detection apparatus. Figure 13 As shown in the structural schematic diagram of the map detection apparatus provided by the embodiments of the present disclosure, Figure 13 The map detection apparatus provided by the embodiments of the present disclosure includes a memory 401 and a processor 402, the memory 401 is configured to store a computer program, and the processor 402 is configured to execute any method provided by the above embodiments when executing the computer program.
[0205] Based on the same inventive concept, the embodiment of the present disclosure further provides a computer readable storage medium, which stores a computer program. When the computer program is executed by a map detection device, the map detection device implements the method provided by the above embodiment.
[0206] Based on the same inventive concept, the embodiment of the present disclosure further provides a computer program product, which, when running on a computer, enables a computing device to implement the method provided by the above embodiment.
[0207] Those skilled in the art will appreciate that the embodiments of the present disclosure can be provided as a method, a system, or a computer program product. Therefore, the present disclosure can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present disclosure can take the form of a computer program product implemented on one or more computer-usable storage media having computer-usable program code embodied in the medium.
[0208] The processor can be a central processing unit (CPU), and can also be other general-purpose processors, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor.
[0209] The memory can include a non-persistent memory in a computer readable medium, a random access memory (RAM) and / or a non-volatile memory, etc., such as a read-only memory (ROM) or a flash memory (flash RAM). The memory is an example of the computer readable medium.
[0210] Computer-readable media includes both permanent and non-permanent, removable and non-removable storage media. Storage media can implement any method or technology for storing information, which can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves.
[0211] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present disclosure, rather than to limit the same. Although the present disclosure has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some or all of the technical features therein, and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present disclosure.
Claims
1. A map detection method, characterized in that: include: Obtaining a map to be detected, a target point cloud frame, and a first anchor point pose corresponding to the target point cloud frame; The target point cloud frame includes: a point cloud of the environment collected from the first anchor point position; the map to be detected includes multiple sub-maps; Determining, from the map to be detected, at least one sub-map to be evaluated that matches the target point cloud frame; For each sub-image to be evaluated, determining an optimized solution pose that maximizes the positioning confidence of the target point cloud frame in the current sub-image to be evaluated; According to the optimized solved pose of the at least one sub-graph to be evaluated, a sub-graph having an abnormality is determined from the at least one sub-graph to be evaluated.
2. The method according to claim 1, characterized in that The step of determining at least one sub-map to be evaluated that matches the target point cloud frame from the map to be detected includes: Using the first anchor point pose, the target point cloud frame is converted into a map coordinate system point cloud; the map coordinate system point cloud is: a point cloud in the coordinate system corresponding to the map to be detected; Determine, from the map to be detected, a first number of adjacent sub-images whose coordinate distances between the sub-image origin and the first anchor point position are closest; Determining the positioning reliability of the map coordinate system point cloud on each of the adjacent sub-maps; The adjacent sub-graphs whose corresponding location confidences are greater than a first threshold are used as the sub-graphs to be evaluated.
3. The method according to claim 1, characterized in that The step of determining, for each sub-image to be evaluated, an optimized solution pose that maximizes the positioning confidence of the target point cloud frame in the current sub-image to be evaluated includes: Determine at least one posture to be evaluated within a target posture range based on the first anchor point posture and preset step sizes of each degree of freedom; a numerical interval of each degree of freedom in the target posture range satisfies: a value of each degree of freedom in the first anchor point posture is used as a center of the numerical interval, and a preset value corresponding to each degree of freedom is used as a length of the numerical interval; For each subgraph to be evaluated, execute: Using each of the poses to be evaluated, determining the positioning reliability corresponding to each pose to be evaluated in the current sub-image to be evaluated of the target point cloud frame; The pose to be evaluated with the highest corresponding positioning confidence is used as the optimized solution pose of the current sub-graph to be evaluated.
4. The method according to claim 1, wherein The step of determining, for each sub-image to be evaluated, an optimized solution pose that maximizes the positioning confidence of the target point cloud frame in the current sub-image to be evaluated includes: Determine at least one posture to be evaluated within a target posture range based on the first anchor point posture and preset step sizes of each degree of freedom; a numerical interval of each degree of freedom in the target posture range satisfies: a value of each degree of freedom in the first anchor point posture is used as a center of the numerical interval, and a preset value corresponding to each degree of freedom is used as a length of the numerical interval; For each subgraph to be evaluated, execute: Using each of the poses to be evaluated, determining the positioning reliability corresponding to each pose to be evaluated in the current sub-image to be evaluated of the target point cloud frame; The pose to be evaluated with the highest corresponding positioning confidence is used as the scan matching pose of the current sub-image to be evaluated; According to the scan matching pose of the current sub-image to be evaluated, the optimized solution pose of the current sub-image to be evaluated is determined in a preset manner; wherein the preset manner includes: taking the scan matching pose corresponding to the current sub-image to be evaluated as the initial pose, and adjusting the initial pose with the goal of improving the positioning reliability of the target point cloud frame in the current sub-image to be evaluated to obtain the optimized solution pose of the current sub-image to be evaluated.
5. The method according to claim 1, wherein The step of determining an abnormal sub-graph from the at least one sub-graph to be evaluated based on the optimized solved pose of the at least one sub-graph to be evaluated comprises: According to the optimized solved pose of the at least one sub-graph to be evaluated, determining, from the at least one sub-graph to be evaluated, a sub-graph to be checked whose corresponding optimized solved pose differs from the pose of the first anchor point by more than a second threshold; Determining, from the at least one subgraph to be evaluated, an anchor subgraph that maximizes the positioning confidence of a point cloud in a map coordinate system within the subgraph; the point cloud in the map coordinate system being a point cloud in a coordinate system corresponding to the map to be inspected, obtained by converting the target point cloud frame using the first anchor point pose; From the subgraphs to be checked and the anchor subgraphs, subgraphs with abnormalities are screened out.
6. The method according to claim 5, characterized in that The step of screening out abnormal subgraphs from the subgraph to be checked and the anchor subgraph includes: By clustering operation, the optimized solved poses corresponding to the subgraph to be checked and the anchor subgraph are divided into the first pose class and the second pose class; Acquire at least one second anchor point pose of other point cloud frames collected within a period of time including the time point of collecting the target point cloud frame; Obtaining a fitted movement trajectory using the first anchor point pose and the at least one second anchor point pose; respectively calculating a first chi-square error between the poses in the first pose class and the fitted motion trajectory, and a second chi-square error between the poses in the second pose class and the fitted motion trajectory; Determining, based on the first chi-square error and the second chi-square error, a target pose class having a larger chi-square error from the first pose class and the second pose class; Determine that the subgraphs corresponding to the optimized solution poses in the target pose class are abnormal subgraphs.
7. The method according to claim 5, characterized in that The step of determining, from the at least one subgraph to be evaluated, a subgraph to be checked whose corresponding optimized solved pose differs from the first anchor point pose by more than a second threshold value based on the optimized solved pose of the at least one subgraph to be evaluated, includes: Determining the variance of noise of each degree of freedom according to the optimized solved pose of the at least one sub-graph to be evaluated; Calculating a third chi-square error corresponding to each of the optimized solution poses respectively; the third chi-square error is: the chi-square error between the first anchor point pose and the optimized solution pose calculated when each degree of freedom is weighted by the variance of the noise of each degree of freedom; wherein the variance of the noise of a degree of freedom is negatively correlated with the weight of the degree of freedom; Determine a subgraph to be checked whose third chi-square error exceeds a second threshold.
8. The method according to any one of claims 1 to 6, characterized in that The method further comprises: determining, based on chi-square errors between pairs of the optimized solved poses of the at least one sub-map to be evaluated, a first score reflecting the pose stability of the first anchor point pose on the map to be tested; And / or, the method further comprises: A second score reflecting a maximum error of the first anchor point pose in each degree of freedom is determined according to differences between the first anchor point pose and the optimized solution pose of the at least one sub-graph to be evaluated in each degree of freedom.
9. A map detection device, characterized in that: include: A memory and a processor, wherein the memory is used to store a computer program; and the processor is used to enable the map detection device to implement the map detection method provided by any one of claims 1 to 8 when executing the computer program.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a computing device, the computing device implements the map detection method according to any one of claims 1 to 8.