Point cloud accuracy determination methods, electronic devices and computer storage media
By extracting semantic features and matching key feature points from point cloud data of vehicle-mounted mobile measurement systems, the problem of inconsistency in point cloud data is solved, improving the efficiency and accuracy of point cloud precision determination and adapting to large-scale map production.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- AUTONAVI SOFTWARE CO LTD
- Filing Date
- 2022-04-12
- Publication Date
- 2026-05-26
AI Technical Summary
Existing vehicle-mounted mobile measurement systems suffer from inconsistent point cloud data due to external interference and limitations in the performance of lidar sensors, making it difficult to meet the requirements for high-precision maps. Furthermore, existing processing methods are inefficient and computationally burdensome.
By extracting semantic features from the target point cloud, the key feature points of the markers are automatically identified and matched, and the difference values of the same point pairs are calculated to determine the accuracy of the point cloud, thereby reducing the amount of computation and improving efficiency.
It achieves automatic acquisition of point cloud accuracy, reduces manual intervention, improves the efficiency and accuracy of point cloud processing, and adapts to the needs of large-scale map production.
Smart Images

Figure CN114722944B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of map production technology, and in particular to a method for determining point cloud accuracy, an electronic device, and a computer storage medium. Background Technology
[0002] During the point cloud data acquisition process of vehicle-mounted mobile measurement systems, interference from the external environment (occlusion), weather changes (wind, rain, snow, etc.), and the limitations of the lidar sensor itself lead to inconsistencies in point cloud data for objects within the same geographic space acquired multiple times. Sometimes, discrepancies at the meter level occur, failing to meet the requirements of high-precision maps. Therefore, the accuracy of point cloud data needs to be improved during subsequent processing. However, existing methods for processing massive amounts of point cloud data not only place stringent demands on computer performance but also require extensive manual inspection and point selection, resulting in extremely low efficiency and making it difficult to adapt to the production of large-scale map data. Summary of the Invention
[0003] In view of this, embodiments of this application provide a point cloud accuracy determination scheme to at least partially solve the above-mentioned problems.
[0004] According to a first aspect of the embodiments of this application, a method for determining point cloud accuracy is provided, comprising: extracting semantic features from a target point cloud to determine a point cloud of an identifier from the target point cloud, the target point cloud including a first point cloud and a second point cloud, wherein the first point cloud and the second point cloud are any two point clouds from a plurality of point clouds; determining key feature points corresponding to the identifier based on the point cloud of the identifier; determining the key feature points of the identifier in the first point cloud and the corresponding key feature points of the same identifier in the second point cloud as a pair of corresponding points; and determining the point cloud accuracy between the first point cloud and the second point cloud based on the difference value between the two key feature points in the pair of corresponding points.
[0005] According to a second aspect of the present application, an electronic device is provided, comprising: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus; the memory is used to store at least one executable instruction, wherein the executable instruction causes the processor to perform an operation corresponding to the method described in the first aspect.
[0006] According to a third aspect of the embodiments of this application, a computer storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect.
[0007] According to a fourth aspect of the embodiments of this application, a computer program product is provided, including computer instructions that instruct a computing device to perform an operation corresponding to the method described above.
[0008] According to the embodiments provided in this application, for point clouds collected by a vehicle-mounted mobile measurement system, point clouds of markers in point clouds collected at different times (such as the first point cloud and the second point cloud) can be automatically acquired, and key feature points can be automatically obtained from the point clouds of markers. Then, the key feature points of the same marker in different point clouds are matched into pairs of corresponding points. Based on the difference value of the key feature points of the pairs of corresponding points, the accuracy of the point cloud is determined, thereby improving the efficiency of determining the accuracy of the point cloud and adapting to the production of large-scale maps. Attached Figure Description
[0009] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings.
[0010] Figure 1A This is a flowchart illustrating the steps of a point cloud accuracy determination method according to Embodiment 1 of this application;
[0011] Figure 1B This is a schematic diagram illustrating the acquisition of key feature points of a different type of marker according to Embodiment 1 of this application;
[0012] Figure 1C This is a flowchart illustrating sub-step 108 of a point cloud accuracy determination method according to Embodiment 1 of this application;
[0013] Figure 2 This is a flowchart illustrating the steps of a point cloud processing method according to Embodiment 2 of this application;
[0014] Figure 3 This is a structural block diagram of a point cloud accuracy determination device according to Embodiment 3 of this application;
[0015] Figure 4 This is a structural block diagram of a point cloud processing device according to Embodiment 4 of this application;
[0016] Figure 5 This is a schematic diagram of the structure of an electronic device according to Embodiment 5 of this application. Detailed Implementation
[0017] To enable those skilled in the art to better understand the technical solutions in the embodiments of this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art should fall within the protection scope of the embodiments of this application.
[0018] The specific implementation of the embodiments of this application will be further described below with reference to the accompanying drawings.
[0019] Example 1
[0020] To facilitate understanding, before providing a detailed explanation of the implementation process of the method in this application, an exemplary use case of the method will be described. However, the method of this application is not limited to this use case and can be applied to other appropriate scenarios.
[0021] In this application scenario, the point cloud accuracy is determined for point clouds collected by a vehicle-mounted mobile measurement system from different collections of the same geographic space (which could be a scanned road or a neighborhood, etc.). Point cloud accuracy indicates the difference between point clouds collected from different collections of the same geographic space or a certain area within that geographic space. Based on the point cloud accuracy, the point clouds that need to be aligned are determined, thereby avoiding the problem of excessive computational load caused by the need to align massive amounts of point clouds.
[0022] like Figure 1A As shown, the method includes the following steps:
[0023] Step S102: Extract semantic features from the target point cloud to determine the point cloud of the identifier from the target point cloud.
[0024] The target point cloud includes a first point cloud and a second point cloud, but is not limited to these; it may also include more point clouds. In this embodiment, the first point cloud and the second point cloud are any two point clouds from a plurality of point clouds, which can be point clouds obtained from multiple different collections of the same geographic space. For example, for a certain road, a vehicle-mounted mobile measurement system is used to travel along the road multiple times, and a point cloud is obtained each time. In this embodiment, "multiple times" can refer to two or more collections.
[0025] As in the previous example, both the first and second point clouds can be point clouds obtained by scanning the same geographic space (such as roads, buildings, or residential areas) multiple times using a lidar sensor in a vehicle-mounted mobile measurement system. Typically, this geographic space can be divided into N different regions to facilitate data processing and reduce computational load. Each point in the point cloud has its position in the world coordinate system (denoted as X, Y, Z), reflection intensity, its region, and the scanning sequence.
[0026] Since it is necessary to determine the point cloud of the marker from the first point cloud and the second point cloud respectively, the first point cloud and the second point cloud can be used as target point clouds for processing.
[0027] To improve the accuracy of the point cloud of the signage, in one example, step S102 can be implemented as follows: extracting the point cloud of the signage of the preset category from the semantic features of the target point cloud, wherein the category of the signage includes at least one of the following: sign, marking, pole, and bridge surface.
[0028] Since the point cloud distribution characteristics of different categories of markers are different, the markers used to determine the accuracy of the point cloud can be classified to facilitate the use of different methods to obtain the point cloud for different categories of markers, thereby improving the accuracy of the determined point cloud.
[0029] Of course, the categories of signs are not limited to this; they can also include other categories, such as ground surfaces and curbs.
[0030] For example, the point cloud belonging to signage or markers can be determined through the following process:
[0031] Process A1: Determine the first candidate point cloud based on the reflection intensity of each point in the target point cloud.
[0032] Since signs are usually flat, the reflection intensity of the points formed by their surface reflection is usually strong. Therefore, the reflection intensity of each point in the target point cloud can be compared with the preset reflection intensity threshold, and the point cloud with the reflection intensity greater than the reflection intensity threshold can be selected as the first candidate point cloud.
[0033] Process B1: Perform clustering and normal vector consistency filtering on the first candidate point cloud to obtain the point cloud of sign-type markers.
[0034] Based on the position of each point in the first candidate point cloud, neighboring points can be clustered into a class. The clustering method can be any appropriate method, and there are no restrictions on it.
[0035] The area of the clustered point cloud can be calculated. If the area is greater than the area threshold (i.e., the area is too large), it may be a non-signboard surface such as a wall, so it can be filtered out. If the area of the clustered point cloud is less than or equal to the area threshold (which can be determined as needed and is not restricted), then these point clouds are retained.
[0036] For the retained point cloud, the normal vector of each point can be calculated. For example, a point can be fitted to a plane with its M neighboring points (M is a positive integer), and the normal vector of that plane can be used as the normal vector of that point. Then, normal vector consistency filtering is performed on each point, filtering out points whose normal vector deviation is greater than a set deviation value (which can be determined as needed and is not subject to any restrictions), thereby obtaining the point cloud of signage-type markers.
[0037] For rod-shaped markers, the point cloud belonging to them can be determined through the following process:
[0038] Process A2: Project the target point cloud along the height direction.
[0039] Based on the position of each point in the target point cloud, project them along the height direction to map the points onto the XY plane of the world coordinate system.
[0040] Process B2: Divide the projected point cloud into multiple blocks and determine the density of points within each block.
[0041] Blocks can be divided as needed. Since the points collected by the rod are all points on the surface of the rod, the density of points in the block where the rod is located will be relatively high after the points are projected along the height direction. The density of points in the block can be calculated based on the area of the block and the number of points in the block.
[0042] Process C2: Determine points within blocks whose density is greater than or equal to a set density value as second candidate point clouds.
[0043] Blocks with a point density greater than or equal to a set density value (which can be determined as needed and is not restricted) can be filtered out, and the point cloud formed by the points within them is recorded as the second candidate point cloud.
[0044] Process D2: Filter the second candidate point cloud to obtain the point cloud corresponding to the rod-shaped object.
[0045] Since the point cloud of rod-shaped objects has relatively obvious distribution characteristics and is connected in the height and circumferential directions, the second candidate point cloud can be screened for distribution characteristics and connectivity to filter out points other than rod-shaped objects, so that the filtered point cloud can be used as the point cloud of rod-shaped object class identifiers.
[0046] Because the surface of the rod-shaped object is continuous, the scanned points are distributed continuously in the height direction, and the number of points at different heights is relatively consistent. Based on this distribution feature, distribution feature filtering can be performed. For example, for the filtered block, the number of points at multiple different heights corresponding to the block can be found, and points in the block with more than a set value (which can be determined as needed and is not limited) or less than the set value can be filtered out.
[0047] Similarly, to ensure connectivity, points in blocks with excessively large point spacing can be filtered out, ultimately yielding a point cloud of rod-shaped objects.
[0048] Of course, it should be noted that this filtering method is only an example, and other appropriate filtering methods can also be used, without any restrictions.
[0049] For markings and other similar markers, the point cloud belonging to them can be determined through the following process:
[0050] Process A3: Determine the difference in reflection intensity between points with adjacent scanning time sequences in each frame of the target point cloud.
[0051] In the obtained target point cloud, each point has an identifier used to indicate the scanning sequence. Based on the scanning principle of LiDAR, it can be known that the scanning sequence of points reflects their spatial location. Because the color of road markings (such as lane lines on a road) is different from the color of the road surface, the reflection intensity of points is different. In order to determine the point cloud belonging to the road markings, the difference in reflection intensity between adjacent points in the scanning sequence of a single frame unit can be calculated.
[0052] Process B3: Determine the third candidate point cloud based on the difference in reflection intensity.
[0053] Based on the difference in reflection intensity, the points where the difference in reflection intensity changes abruptly are identified. According to the location of these points and the distribution characteristics of the markings (such as the fixed spacing between markings), the point cloud that may belong to the markings can be identified as the third candidate point cloud.
[0054] Process C3: Filter the third candidate point cloud to obtain the point cloud corresponding to the marking marker.
[0055] In one example, based on the distribution characteristics of the markings, such as the fact that the distances between the markings are basically equal, the third candidate point cloud is filtered to remove noise, thereby obtaining the point cloud of the marking-type markers.
[0056] For bridge surface markers, the point cloud belonging to them can be determined through the following process:
[0057] Process A4: Based on the height information of the points in the target point cloud and the height of each trajectory point in the trajectory of the vehicle that collected the target point cloud, perform height filtering on the target point cloud.
[0058] The height (i.e., the Z-axis value) of each point in the target point cloud can be determined by the position of each point. For a bridge surface (such as an overpass), the point cloud of the bridge surface is usually located above the trajectory points of the corresponding vehicle. For example, when the trajectory point of a vehicle equipped with a lidar is located at time T1, point cloud frame 1 (which contains multiple points) is collected. Point cloud frame 1 may contain some points of the bridge surface.
[0059] For a point in the target point cloud, the corresponding trajectory point in the vehicle's trajectory can be determined based on the point cloud frame to which it belongs. The target point cloud is then filtered based on the height of the trajectory point, removing points whose height is below that of the trajectory point, thus obtaining a height-filtered point cloud.
[0060] Process B4: Determine the normal vector corresponding to each point in the height-filtered point cloud.
[0061] For the height-filtered point cloud, calculate the normal vector of each point. The normal vector is calculated as follows: for the current point, select Q adjacent points, fit a plane with Q+1 points, and use the normal vector of the fitted plane as the normal vector of the current point.
[0062] Process C4: Based on the normal vectors of each point, perform normal vector filtering on the height-filtered point cloud.
[0063] The point cloud is obtained by filtering the normal vectors of each point and removing points with excessively large deviations in the normal vectors.
[0064] Process D4: Fit a reference plane based on the point cloud filtered by the normal vectors.
[0065] The fitting of the plane can be done in any suitable way, without any restrictions. Because the point cloud after normal vector filtering has high accuracy, the fitted reference plane can accurately represent the bridge surface.
[0066] Furthermore, it should be noted that although the bridge surface is represented by a reference plane in this application, the reference plane is not a "plane" in the mathematical sense; it can be a curved surface or a plane, and there is no limitation on this.
[0067] Process E4: Based on the fitted reference plane, filter the point cloud after filtering the normal vectors to obtain the point cloud of bridge surface markers.
[0068] Point clouds that are too far from the reference plane can be removed based on the reference plane (this distance can be determined as needed and is not limited), thereby obtaining the point cloud of bridge-like signs.
[0069] In one example, the process corresponding to one class or one class of markers can be performed on the target point cloud to obtain point clouds of different categories of markers.
[0070] Of course, the above method is only one example of how to obtain point clouds, and is not limited to this. In other embodiments, a neural network model can be trained to obtain point clouds of different categories of markers, and this neural network model can be used to obtain point clouds of various types of markers. Compared to training a neural network model, the method described above does not require training, which can reduce the time spent on model training, and the accuracy does not depend on the accuracy of sample labeling during model training, thus improving the efficiency of point cloud acquisition.
[0071] Step S104: Determine the key feature points corresponding to the markers based on the point cloud of the markers.
[0072] To reduce the computational load of subsequent data processing, key feature points can be extracted from the point cloud of the markers for subsequent key feature point matching.
[0073] Different types of markers can have different key feature points. For example, if the marker is a sign, the key feature points include the four corner points of the sign; if the marker is a rod, the key feature points include the center point of any cross-section of the rod; if the marker is a road marking, the key feature point is the center point of the bounding rectangle of the road marking; if the marker is a bridge deck, the key feature point is the center point of the grid divided by the bridge deck.
[0074] like Figure 1B As shown, for signage-type markers, the outer border can be fitted based on the point cloud of the signage-type markers to obtain the edge lines of the sign. Then, the intersection points of the edge lines are calculated and used as key feature points.
[0075] For rod-shaped markers, a cross-section of any height can be selected, and the point cloud of this cross-section can be fitted to obtain the cross-section of the rod (usually a circular cross-section). The center of the fitted cross-section (such as the center of a circle) is then determined as the key feature point.
[0076] For road markings, the outer edge of the marking can be fitted based on its point cloud. The outer border of the marking is formed by the outer edge line, and then the center of the marking is determined as the key feature point based on the outer border.
[0077] For bridge deck markers, the outer edge of the bridge deck can be fitted based on point cloud data. Then, the bridge deck can be divided into multiple grids (the grids can be rectangular), and the center point of each grid can be determined as the key feature point of the bridge deck.
[0078] For step S106: Determine the key feature points of the markers in the first point cloud and the corresponding key feature points of the same markers in the second point cloud as point pairs with the same name.
[0079] Since the first point cloud and the second point cloud are point clouds collected from the same geographic space, the first point cloud and the second point cloud contain point clouds of the same object. The same key feature point of the same object is called a homonymous point pair. The homonymous point pair contains the key feature point of a certain landmark in the first point cloud and the corresponding key feature point of the same landmark in the second point cloud.
[0080] In one feasible approach, key feature points of an object in the first point cloud can be matched with key feature points in the second point cloud based on their location, object category, shape, and other attributes, thereby identifying key feature points belonging to the same object as corresponding point pairs.
[0081] Step S108: Determine the point cloud accuracy between the first point cloud and the second point cloud based on the difference value between the two key feature points in the same point pair.
[0082] To improve computational efficiency, the point cloud accuracy of each region can be calculated separately to determine whether the point cloud in that region needs to be processed.
[0083] like Figure 1C As shown, in one example, step S108 includes the following sub-steps:
[0084] Sub-step S1081: For each region, calculate the difference value between the two key feature points in the same pair of points within that region.
[0085] There may be one or more markers within a region. The difference value of corresponding point pairs can be calculated separately for each marker. Different calculation methods can be used for the difference values of corresponding point pairs of different categories of markers to increase the accuracy of the calculation.
[0086] For example, for signage-type markers, the difference value is calculated based on the position of the two key feature points in a pair of corresponding points, using the differences in three dimensions (i.e., the X, Y, and Z directions).
[0087] For rod-shaped markers, since the two key feature points in a pair of identical points may be at different heights on the rod, in order to avoid inaccurate calculation of the difference value caused by the height difference, for rod-shaped markers, the difference value in the plane formed by the X-axis and Y-axis is calculated based on the X-axis and Y-axis values of the key feature points.
[0088] For road markings and bridge surface markings, the difference in elevation between two key feature points can be calculated based on the height value (i.e., the Z-axis value) of the key feature points.
[0089] Sub-step S1082: The difference values of the same point pairs in each region are weighted and summed, and the weighted sum is used as the point cloud accuracy between the first point cloud and the second point cloud in the corresponding region.
[0090] Suppose a region contains three markers, with the difference value of marker 1 being x1, marker 2 being x2, and marker 3 being x3. Then the point cloud accuracy of this region can be expressed as: a*x1 + b*x2 + c*x3, where a, b, and c can be appropriate weights, determined as needed. This point cloud accuracy indicates the degree of deviation between the first and second point clouds in the region. Based on this degree of deviation, it can be determined whether the first and second point clouds in the region can be directly used for subsequent high-precision map production. If the degree of deviation does not meet the requirements, step S110 can be executed. Conversely, if the degree of deviation meets the requirements, the first and second point clouds in the region do not need to be processed, and they can be used for subsequent high-precision map production.
[0091] The point cloud accuracy of each region can be calculated using the above method.
[0092] Subsequently, the point cloud of a certain area can also be processed according to the point cloud accuracy.
[0093] The method in this embodiment uses semantic feature extraction to automatically identify signs, poles, road markings, and bridge surfaces, overcoming the low efficiency of manual point selection and improving production efficiency.
[0094] Key feature points were extracted from the point cloud of the markers obtained from semantic feature extraction. For sign-type markers, the four corner points were extracted; for pole-type markers, the center point of the vertical pole was extracted; for marking markers, the center point of the marking was extracted; and for bridge surface markers, a uniform grid was used to obtain the center points of several sampled grids. This yielded a small number of key feature points. Because only a small number of points were used, the efficiency of subsequent algorithm steps was greatly improved, avoiding excessive point cloud data from flowing into the subsequent matching steps, thus greatly improving the efficiency of the algorithm. At the same time, it was possible to obtain corresponding point pairs for different types of markers.
[0095] For point pairs of the same name in different categories, the difference value is calculated in the corresponding way, and a weighted average difference value is obtained as the point cloud accuracy. This avoids the disadvantage of poor calculation results caused by the limitation of a single element by the scene, and improves the accuracy and reliability of the results.
[0096] For example, key feature points of rod-shaped objects are only used to count the differences in the plane; key feature points of bridge decks and road markings are only used to count the differences in elevation; and key feature points of signs are used to count the differences in three dimensions. At the same time, a weighted method is used to calculate the final point cloud accuracy for differences from different sources. Because different categories are used, the adverse factors caused by specific scenes and single categories can be avoided, so the results are more accurate. At the same time, the differences between the uplink and downlink point clouds can be obtained automatically.
[0097] Furthermore, the obtained key feature points can be used for both point cloud alignment and quality assessment. They can be reused, avoiding the need for repeated extraction and manual selection of key feature points. This improves map production efficiency and reduces labor costs.
[0098] The method described in this embodiment can automatically acquire point clouds of markers from different acquisitions (such as the first and second point clouds) of point clouds collected by a vehicle-mounted mobile measurement system. Key feature points are then automatically extracted from these marker point clouds. Based on the differences in these key feature points, the point cloud accuracy is determined. Since manual point selection and field acquisition of the actual coordinates of feature points are unnecessary, significant manpower and costs are saved, efficiency is improved, and large-scale operations are possible. This method can be applied to raw point clouds without requiring preprocessing or additional information such as digital orthophotos (DOM).
[0099] Based on the accuracy of the obtained point cloud, the point clouds that need to be processed can be selected, and then they can be processed in subsequent steps. This avoids the problem of large computational load caused by the need to align all point clouds, and improves the efficiency of map data production.
[0100] The method of this embodiment can be executed by any suitable electronic device with data processing capabilities, including but not limited to: servers, mobile terminals (such as mobile phones, PADs, etc.) and PCs.
[0101] Example 2
[0102] Reference Figure 2 The diagram shows a step flow chart of the point cloud processing method according to Embodiment 2 of this application.
[0103] The method includes:
[0104] Step S202: Obtain the point cloud accuracy between the first point cloud and the second point cloud.
[0105] The point cloud accuracy mentioned above refers to the point cloud accuracy obtained by the method described in the preceding embodiments. It should be noted that if the geographic space corresponding to the first and second point clouds is divided into multiple regions, the point cloud accuracy for each region can be obtained separately. If the geographic space is not divided into multiple regions, the point cloud accuracy for that geographic space can be obtained directly.
[0106] Dividing the geographic space into multiple regions can reduce the number of points involved in subsequent calculations, thereby reducing the computational load.
[0107] The following example demonstrates how different processing methods can be applied to the point cloud of each region based on its point cloud accuracy.
[0108] Step S204: If the point cloud accuracy is greater than or equal to the accuracy threshold, then perform point cloud alignment processing on the first point cloud and the second point cloud.
[0109] The accuracy threshold can be determined as needed, and there are no restrictions on it.
[0110] If the point cloud accuracy corresponding to a certain region is greater than or equal to the accuracy threshold, it indicates that the deviation is high. The point clouds of that region in the first point cloud and the point clouds of that region in the second point cloud can be aligned, and then the aligned point clouds can be merged.
[0111] Step S206: If the point cloud accuracy is less than the accuracy threshold, then the first point cloud and the second point cloud are merged to obtain a merged point cloud.
[0112] If the point cloud accuracy within a certain region is less than the accuracy threshold, it indicates that the deviation is small, and the point cloud of that region in the first point cloud and the point cloud of that region in the second point cloud can be directly merged.
[0113] The above method allows for appropriate processing of the first and second point clouds based on their point cloud accuracy. This ensures the quality of the processed point cloud while reducing processing costs and improving processing efficiency.
[0114] Optionally, if other related point clouds exist in the geospatial area, such as a third point cloud or more point clouds, the method further includes:
[0115] Step S208: Obtain the point cloud accuracy between the merged point cloud and the third point cloud.
[0116] The merged point clouds can be point clouds merged directly without alignment processing, or point clouds merged after alignment processing; there are no restrictions on this.
[0117] The point cloud accuracy of the merged point cloud and the third point cloud can be obtained using the methods described in the aforementioned embodiments, and therefore will not be repeated here.
[0118] Step S210: If the point cloud precision between the merged point cloud and the third point cloud is greater than or equal to the precision threshold, then perform point cloud alignment on the merged point cloud and the third point cloud.
[0119] The process of aligning the merged point cloud with the third point cloud is similar to the aforementioned process of aligning the first and second point clouds, and therefore will not be repeated. This method can obtain a relatively accurate point cloud precision between different point clouds, and then the point clouds can be appropriately processed based on this precision, such as merging or aligning them. This ensures the precision of the processed point cloud while reducing the processing load and improving processing efficiency.
[0120] Example 3
[0121] Reference Figure 3 The diagram shows a structural block diagram of the point cloud accuracy determination device according to Embodiment 3 of this application.
[0122] In this embodiment, the device includes:
[0123] The first determining module 302 is used to extract semantic features from the target point cloud to determine the point cloud of the identifier from the target point cloud. The target point cloud includes a first point cloud and a second point cloud, wherein the first point cloud and the second point cloud are any two point clouds from a plurality of point clouds.
[0124] The second determining module 304 is used to determine the key feature points corresponding to the marker based on the point cloud of the marker;
[0125] The third determining module 306 is used to determine the key feature points of the markers in the first point cloud and the corresponding key feature points of the same markers in the second point cloud as point pairs with the same name.
[0126] The fourth determining module 308 is used to determine the point cloud accuracy between the first point cloud and the second point cloud based on the difference value between two key feature points in the same point pair.
[0127] Optionally, the first determining module 302 is used to extract the point cloud of the marker of the preset marker category from the semantic features of the target point cloud, wherein the marker category includes at least one of the following: sign, marking, pole, and bridge surface.
[0128] Optionally, the key feature points of the sign include at least one of the following: if the sign is a signboard, the key feature points include the four corner points of the signboard; if the sign is a rod, the key feature points include the center point of any cross-section of the rod; if the sign is a road marking, the key feature point is the center point of the circumscribed rectangle of the road marking; if the sign is a bridge deck, the key feature point is the center point of the grid divided by the bridge deck.
[0129] Optionally, the target point cloud is a point cloud obtained by LiDAR scanning, and each point in the target point cloud has a reflection intensity. If the category of the marker is a sign, the first determining module 302 is used to determine a first candidate point cloud based on the reflection intensity of each point in the target point cloud; and to perform clustering and normal vector consistency filtering on the first candidate point cloud to obtain the point cloud of the sign marker.
[0130] Optionally, if the type of the marker is a rod-shaped object, the first determining module 302 is used to project the target point cloud along the height direction; divide the projected point cloud into multiple blocks and determine the density of points in each block; determine the points in the blocks whose point density is greater than or equal to the density set value as the second candidate point cloud; and filter the second candidate point cloud to obtain the point cloud corresponding to the rod-shaped object marker.
[0131] Optionally, the target point cloud is a point cloud obtained by LiDAR scanning. Each point in the target point cloud has a reflection intensity and a scanning time sequence. If the category of the marker is a line mark, the first determining module 302 is used to determine the difference in reflection intensity of adjacent points in the scanning time sequence of each frame of the target point cloud; determine a third candidate point cloud based on the difference in reflection intensity; and filter the third candidate point cloud to obtain the point cloud corresponding to the line mark marker.
[0132] Optionally, if the category of the marker is a bridge surface, the first determining module 302 is used to perform height filtering on the target point cloud based on the height information of the points in the target point cloud and the height of each trajectory point in the trajectory of the vehicle that collected the target point cloud; determine the normal vector corresponding to each point in the height-filtered point cloud; perform normal vector filtering on the height-filtered point cloud based on the normal vector of each point; fit a reference plane based on the normal vector-filtered point cloud; and filter the normal vector-filtered point cloud based on the fitted reference plane to obtain the point cloud of the bridge surface marker.
[0133] Optionally, the first point cloud and the second point cloud correspond to the same geographic space, which is divided into multiple regions. The fourth determining module 308 is used to calculate the difference value between two key feature points in the same point pair in each region; and to sum the difference values of the same point pairs in each region by weight, and use the weighted sum as the point cloud accuracy between the first point cloud and the second point cloud in the corresponding region.
[0134] The apparatus of this embodiment is used to implement the corresponding methods in the foregoing method embodiments and has the beneficial effects of the corresponding method embodiments, which will not be repeated here. Furthermore, the functional implementation of each module in the apparatus of this embodiment can be referred to the description of the corresponding part in the foregoing method embodiments, which will also not be repeated here.
[0135] Example 4
[0136] Reference Figure 4 The diagram shows a structural block diagram of the point cloud processing and determination device according to Embodiment 4 of this application.
[0137] The device includes:
[0138] The first acquisition module 402 is used to acquire the point cloud accuracy between the first point cloud and the second point cloud, wherein the point cloud accuracy is the point cloud accuracy obtained by the above-mentioned device.
[0139] The first processing module 404 is configured to perform point cloud alignment processing on the first point cloud and the second point cloud if the point cloud accuracy is greater than or equal to an accuracy threshold, or to perform merging processing on the first point cloud and the second point cloud if the point cloud accuracy is less than the accuracy threshold, so as to obtain a merged point cloud.
[0140] Optionally, the device further includes:
[0141] The second acquisition module 406 is used to acquire the point cloud accuracy between the merged point cloud and the third point cloud;
[0142] The second processing module 408 is used to perform point cloud alignment on the merged point cloud and the third point cloud if the point cloud precision between the merged point cloud and the third point cloud is greater than or equal to the precision threshold.
[0143] The apparatus of this embodiment is used to implement the corresponding methods in the foregoing method embodiments and has the beneficial effects of the corresponding method embodiments, which will not be repeated here. Furthermore, the functional implementation of each module in the apparatus of this embodiment can be referred to the description of the corresponding part in the foregoing method embodiments, which will also not be repeated here.
[0144] Example 5
[0145] Reference Figure 5The diagram shows a structural schematic of an electronic device according to Embodiment 5 of this application. The specific embodiments of this application do not limit the specific implementation of the electronic device.
[0146] like Figure 5 As shown, the electronic device may include: a processor 502, a communications interface 504, a memory 506, and a communications bus 508.
[0147] in:
[0148] The processor 502, communication interface 504, and memory 506 communicate with each other via communication bus 508.
[0149] Communication interface 504 is used to communicate with other electronic devices or servers.
[0150] The processor 502 is used to execute program 510, specifically the relevant steps in the above method embodiments.
[0151] Specifically, program 510 may include program code that includes computer operation instructions.
[0152] Processor 502 may be a CPU, an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application. The smart device may include one or more processors of the same type, such as one or more CPUs; or it may include processors of different types, such as one or more CPUs and one or more ASICs.
[0153] Memory 506 is used to store program 510. Memory 506 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk storage device.
[0154] Specifically, program 510 can be used to cause processor 502 to perform the operations corresponding to the aforementioned method.
[0155] The specific implementation of each step in program 510 can be found in the corresponding descriptions of the steps and units in the above method embodiments, and will not be repeated here. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the devices and modules described above can be referred to the corresponding process descriptions in the foregoing method embodiments, and will not be repeated here.
[0156] This application also provides a computer program product, including computer instructions that instruct a computing device to perform an operation corresponding to any of the methods in the above-described multiple method embodiments.
[0157] It should be noted that, depending on the implementation needs, the various components / steps described in the embodiments of this application can be broken down into more components / steps, or two or more components / steps or parts of the operation of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of this application.
[0158] The methods described in the embodiments of this application can be implemented in hardware, firmware, or as software or computer code that can be stored in a recording medium (such as a CD-ROM, RAM, floppy disk, hard disk, or magneto-optical disk), or as computer code downloaded over a network that is originally stored in a remote recording medium or a non-transitory machine-readable medium and will be stored in a local recording medium. Thus, the methods described herein can be processed by software stored on a recording medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware (such as an ASIC or FPGA). It is understood that the computer, processor, microprocessor controller, or programmable hardware includes storage components (e.g., RAM, ROM, flash memory, etc.) capable of storing or receiving software or computer code that, when accessed and executed by the computer, processor, or hardware, implements the methods described herein. Furthermore, when a general-purpose computer accesses code used to implement the methods shown herein, the execution of the code transforms the general-purpose computer into a dedicated computer for executing the methods shown herein.
[0159] Those skilled in the art will recognize that the units and method steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this application.
[0160] The above embodiments are only used to illustrate the embodiments of this application, and are not intended to limit the embodiments of this application. Those skilled in the art can make various changes and modifications without departing from the spirit and scope of the embodiments of this application. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of this application, and the patent protection scope of the embodiments of this application should be defined by the claims.
Claims
1. A method for determining point cloud accuracy, comprising: Based on the preset category of the marker, the point cloud of the marker of the category is extracted from the semantic features of the target point cloud. The category of the marker includes at least one of the following: sign, marking, pole, and bridge surface. The target point cloud includes a first point cloud and a second point cloud, wherein the first point cloud and the second point cloud are any two point clouds from a plurality of point clouds. Based on the point cloud of the marker, determine the key feature points corresponding to the marker; The key feature points of the markers in the first point cloud and the corresponding key feature points of the same markers in the second point cloud are identified as point pairs with the same name. The point cloud accuracy between the first point cloud and the second point cloud is determined based on the difference value between two key feature points in the same point pair.
2. The method according to claim 1, wherein, The key feature points of the sign include at least one of the following: if the sign is a signboard, the key feature points include the four corner points of the signboard; if the sign is a rod, the key feature points include the center point of any cross-section of the rod; if the sign is a road marking, the key feature point is the center point of the circumscribed rectangle of the road marking; if the sign is a bridge deck, the key feature point is the center point of the grid divided by the bridge deck.
3. The method according to claim 1, wherein, The target point cloud is a point cloud acquired through lidar scanning. Each point in the target point cloud has reflectivity. If the category of the marker is a sign, then the step of extracting the point cloud of the marker of that category from the semantic features of the target point cloud according to the preset marker category includes: The first candidate point cloud is determined based on the reflection intensity of each point in the target point cloud; Clustering and normal vector consistency filtering are performed on the first candidate point cloud to obtain the point cloud of sign-type markers.
4. The method according to claim 1, wherein, If the category of the marker is a rod-shaped object, then the step of extracting the point cloud of the marker of that category from the semantic features of the target point cloud according to the preset marker category includes: Project the target point cloud along the height direction; The projected point cloud is divided into multiple blocks, and the density of points in each block is determined. Points within a block whose density is greater than or equal to a set density value are identified as second candidate point clouds. The second candidate point cloud is filtered to obtain the point cloud corresponding to the rod-shaped object.
5. The method according to claim 1, wherein, The target point cloud is a point cloud acquired through lidar scanning. Each point in the target point cloud has reflection intensity and scanning time sequence. If the category of the marker is a line, then the step of extracting the point cloud of the marker of that category from the semantic features of the target point cloud according to the preset marker category includes: Determine the difference in reflection intensity between points that are adjacent in the scanning time sequence in each frame of the target point cloud; Based on the difference in reflection intensity, a third candidate point cloud is determined; The third candidate point cloud is filtered to obtain the point cloud corresponding to the marking marker.
6. The method according to claim 1, wherein, If the category of the marker is bridge surface, then the step of extracting the point cloud of the marker of the category from the semantic features of the target point cloud according to the preset marker category includes: Based on the height information of the midpoints in the target point cloud and the height of each trajectory point in the trajectory of the vehicle that collected the target point cloud, the target point cloud is height filtered. Determine the normal vector corresponding to each point in the height-filtered point cloud; Based on the normal vectors of each point, normal vector filtering is performed on the height-filtered point cloud. Based on the point cloud filtered by the normal vectors, fit the reference plane; Based on the fitted reference plane, the point cloud after filtering the normal vectors is filtered to obtain the point cloud of bridge surface markers.
7. The method according to claim 2, wherein, The first point cloud and the second point cloud correspond to the same geographic space, which is divided into multiple regions. Determining the point cloud accuracy between the first point cloud and the second point cloud based on the difference between two key feature points in the corresponding point pair includes: For each region, calculate the difference between the two key feature points in the same pair of points within that region; The difference values of corresponding point pairs in each region are weighted and summed, and the weighted sum is used as the point cloud accuracy between the first point cloud and the second point cloud in the corresponding region.
8. A point cloud processing method, comprising: The point cloud precision between the first point cloud and the second point cloud is obtained, wherein the point cloud precision is the point cloud precision obtained by the method of any one of claims 1-7; If the point cloud precision is greater than or equal to the precision threshold, then the first point cloud and the second point cloud are aligned; or, if the point cloud precision is less than the precision threshold, then the first point cloud and the second point cloud are merged to obtain a merged point cloud.
9. The method according to claim 8, wherein, The method further includes: Obtain the point cloud accuracy between the merged point cloud and the third point cloud; If the point cloud precision between the merged point cloud and the third point cloud is greater than or equal to the precision threshold, then point cloud alignment is performed on the merged point cloud and the third point cloud.
10. An electronic device, comprising: The processor, memory, communication interface, and communication bus are provided, wherein the processor, memory, and communication interface communicate with each other via the communication bus. The memory is used to store at least one executable instruction that causes the processor to perform the operation corresponding to the method as described in any one of claims 1-9.
11. A computer storage medium having a computer program stored thereon, which, when executed by a processor, implements the method as described in any one of claims 1-9.
12. A computer program product comprising computer instructions that instruct a computing device to perform an operation corresponding to the method described in any one of claims 1-9.