Point cloud data processing method and device and program product

By acquiring and analyzing the normal vectors and acquisition angles of point cloud data, the preset surface point cloud data of the target object is identified, solving the problem of point cloud data layering, improving the accuracy and relative precision of point cloud data, and enhancing the quality of electronic maps.

CN121069404APending Publication Date: 2025-12-05BEIJING AUTONAVI YUNMAP TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410712088.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-06-03
Publication Date
2025-12-05

AI Technical Summary

Technical Problem

Because the trajectory position of a vehicle accumulates errors during its movement, the spatial geographic location of the point cloud data becomes incorrect. This causes the point cloud data generated on the same surface of an object to not be on the same plane, resulting in a layered phenomenon that affects the accuracy of subsequent tasks.

Method used

By acquiring multiple sets of point cloud data of the target object, and based on the normal vector and acquisition angle of the point cloud data, the preset surface point cloud data of the target object is identified. The acquisition angle is used to distinguish the front and back of the object, thereby improving the accuracy of the point cloud data.

Benefits of technology

It effectively solves the problem of point cloud data layering, improves the accuracy of object representation and the accuracy of point cloud data relative precision repair, and enhances the accuracy and quality of point cloud map drawing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121069404A_ABST
    Figure CN121069404A_ABST
Patent Text Reader

Abstract

The invention provides a point cloud data processing method and device and a program product, and the method comprises the steps: obtaining two or more groups of point cloud data of a target object, and enabling one group of point cloud data to correspond to one plane; determining a target normal vector based on a normal vector of a plane corresponding to at least one group of point cloud data in the more than two groups of point cloud data; based on trajectory data and a target normal vector when the acquisition device acquires more than two groups of point cloud data, determining an acquisition angle of a point in the more than two groups of point cloud data, the acquisition angle of the point being an included angle between a sight line when the acquisition device acquires the point and the target normal vector; and on the basis of the acquisition angle, point cloud data of a preset surface of the target object is determined from the more than two groups of point cloud data, and the preset surface comprises at least one of two opposite surfaces of the target object. The point cloud data of different surfaces of the object, such as the front and back surfaces, are distinguished based on the acquisition angle, and distinguishing efficiency and accuracy are high.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of point cloud data processing, and in particular to a point cloud data processing method, device and program product. BACKGROUND

[0002] In the scenarios of electronic map making or updating, intelligent driving, etc., the laser signals emitted by the laser radar carried by the vehicle will scan the surfaces of objects such as traffic signboards, traffic guide boards / screens, etc. Based on the laser signals reflected back by the surfaces of the objects, laser point cloud data (referred to as point cloud data for short) can be generated.

[0003] The inventors found, in the research on the point cloud data processing process, that the original point cloud data collected by the laser radar is in its own coordinate system and cannot be directly used. It is necessary to solve the original point cloud data based on the trajectory position of the vehicle, so as to generate the spatial geographic position of the points in the original point cloud data, and then model the elements of the solved point cloud data. Due to the error accumulation of the trajectory position of the vehicle in the driving process, the spatial geographic position of the point cloud data solved based on the trajectory position of the vehicle also has errors, which causes the point cloud data generated by the same surface of an object not to be on the same plane, i.e. layering occurs. Taking a traffic signboard as an example, a traffic signboard has two opposite surfaces (front and back surfaces). Under normal circumstances, the point cloud data of the traffic signboard should be divided into two groups of point cloud data, and each group of point cloud data can fit one surface of the traffic signboard. However, as mentioned above, the spatial geographic position of the solved point cloud data has errors, so in actual situations, the point cloud data of one traffic signboard will be more than two groups. In order to ensure the quality of downstream tasks, a point cloud data processing technical solution is needed to process multiple groups of point cloud data of an object and identify the point cloud data that can represent the two opposite surfaces of the object. SUMMARY

[0004] The present application provides a point cloud data processing method, device and program product, which realizes a scheme of distinguishing the front and back surfaces of an object based on the collection angle of the surface point cloud data of the object, uses the point cloud data corresponding to the front and back surfaces respectively to represent a three-dimensional object, improves the accuracy of object representation, and effectively solves the problem of layering of the point cloud data of a board-shaped object.

[0005] In a first aspect, the present application provides a point cloud data processing method, comprising:

[0006] obtaining two or more groups of point cloud data of a target object, one group of point cloud data corresponding to one plane;

[0007] determining a target normal vector based on the normal vector of the plane corresponding to at least one group of point cloud data in the two or more groups of point cloud data;

[0008] determine, based on the trajectory data when the acquisition device acquires the two or more sets of point cloud data, an acquisition angle of a point in the two or more sets of point cloud data, the acquisition angle of the point being an included angle between a line of sight of the acquisition device when the acquisition device acquires the point and the target normal vector;

[0009] determine, based on the acquisition angle, point cloud data of a preset surface of the target object from the two or more sets of point cloud data, the preset surface including at least one of two opposite surfaces of the target object. In a second aspect, the present application provides a point cloud data processing device, comprising:

[0010] a plane point cloud acquisition module configured to acquire two or more sets of point cloud data of a target object, one set of point cloud data corresponding to one plane;

[0011] a target normal vector determination module configured to determine a target normal vector based on a normal vector of a plane corresponding to at least one set of point cloud data in the two or more sets of point cloud data;

[0012] an acquisition angle determination module configured to determine, based on trajectory data when an acquisition device acquires the two or more sets of point cloud data, an acquisition angle of a point in the two or more sets of point cloud data, the acquisition angle of the point being an included angle between a line of sight of the acquisition device when the acquisition device acquires the point and the target normal vector;

[0013] a side surface identification module configured to determine, based on the acquisition angle, point cloud data of a preset surface of the target object from the two or more sets of point cloud data, the preset surface including at least one of two opposite surfaces of the target object.

[0014] In a third aspect, the present application provides an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to cause the electronic device to perform the method provided in the first aspect of the present application.

[0015] In a fourth aspect, the present application provides a computer-readable storage medium, the computer-readable storage medium storing computer execution instructions, and when a processor executes the computer execution instructions, the method provided in the first aspect of the present application is implemented.

[0016] In a fifth aspect, the present application provides a program product, comprising a computer program, and when the computer program is executed by a processor, the method provided in the first aspect of the present application is implemented.

[0017] The point cloud data processing method, device and program product provided in the application can obtain a plurality of groups of point cloud data of an object, wherein one group of point cloud data corresponds to one plane, in order to distinguish at least one surface, such as a first surface and a second surface, a front surface and a back surface, a front surface and a back surface, or determine a specified surface, such as a first surface or a second surface, of the object, a reference target normal vector can be determined based on the normal vector of the plane corresponding to at least one group of point cloud data of the object, and then the collection angle of the points in the plurality of groups of point cloud data can be determined based on the target normal vector and the trajectory of the collection device when collecting the point cloud data, and the point cloud data of the preset surface of the object, such as the point cloud data of the first surface or the second surface, can be distinguished based on the collection angle of the points. By collecting the surface point cloud data of the object into the first surface or the second surface in the manner of the collection angle, the distinguishing efficiency and accuracy are high, the problem of dividing the point cloud data into multiple layers is solved, and the accuracy of representing the object by using the point cloud data is improved. BRIEF DESCRIPTION OF DRAWINGS

[0018] The accompanying drawings, which are incorporated into and form a part of the specification, illustrate an embodiment consistent with the present application and, together with the description, serve to explain the principles of the application.

[0019] Figure 1 A schematic diagram of an application scenario provided for an embodiment of the application;

[0020] Figure 2 A flowchart of a point cloud data processing method provided for an embodiment of the application;

[0021] Figure 3 A schematic diagram of a collection angle provided for an embodiment of the application;

[0022] Figure 4 A flowchart of another point cloud data processing method provided for an embodiment of the application;

[0023] Figure 5 A schematic diagram of point cloud data of a target object before and after correction based on coplanar constraint provided for an embodiment of the application;

[0024] Figure 6 A schematic diagram of a point cloud map before and after correction based on coplanar constraint provided for an embodiment of the application;

[0025] Figure 7 A structural schematic diagram of a point cloud data processing device provided for an embodiment of the application;

[0026] Figure 8 A structural schematic diagram of an electronic device provided for an embodiment of the application.

[0027] The specific embodiments of the application have been shown by the above drawings, and will be described in more detail hereinafter. These drawings and the written description are not intended to restrict the scope of the inventive concept in any way, but to illustrate the inventive concept by reference to specific embodiments. DETAILED DESCRIPTION

[0028] The exemplary embodiments will be described in detail herein with reference to the attached drawings. The same numbers are used in different drawings to represent the same or similar elements. The embodiments described in the following exemplary embodiments are not meant to represent all embodiments consistent with the application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the application as detailed in the appended claims.

[0029] First, some of the terms involved in the application are explained:

[0030] Point cloud data: or point cloud, is the data recorded in the form of points obtained by scanning the surface of an object using a scanning device such as a lidar, a depth camera, etc. Each point in the point cloud data corresponds to a three-dimensional coordinate, and can also include color values, reflectivity, etc. The point cloud data acquisition device can be a lidar, a millimeter wave radar, etc. The point cloud data acquisition device can also obtain point cloud data in a derived manner from an image, such as generating point cloud data from images captured by a binocular camera. The point cloud data acquisition device is not limited in the embodiments of the application.

[0031] Normal vector of point cloud data: one of the important attributes of point cloud data. The normal vector of point cloud data can be obtained based on point cloud normal vector estimation algorithms, such as local surface fitting method, robust statistical method, Delaunay triangle partitioning method, etc.

[0032] Figure 1 A schematic diagram of an application scenario provided by the embodiments of the application is shown in FIG. 1, where a vehicle travels along a road and collects point cloud data of the surface of the objects passed by through a point cloud data acquisition device (such as a lidar) deployed on the vehicle, and then generates a point cloud map by stitching different frames of point cloud data based on the trajectory position of the vehicle when traveling along the road, such as the trajectory position obtained by an inertial odometer, or performs object recognition, scene understanding, etc. based on the stitched point cloud data. Figure 1

[0033] Relative accuracy of point cloud data is used to describe the rate of change of absolute accuracy, which is an important attribute affecting subsequent tasks based on point cloud data, such as map making, object recognition, object positioning, etc.

[0034] ​In the electronic map, objects such as traffic signs, bus stop signs, billboards, roadside electronic display screens, etc. have a flat plane, and the relative accuracy of the point cloud data can be improved by correcting the point cloud data based on the coplanar constraint of the plane.

[0035] In the related art, the object is usually represented by a plane of the object, and the thickness of the object is ignored, which introduces thickness error when the relative accuracy is repaired, resulting in low repair accuracy, and thus low point cloud data accuracy, which is not conducive to subsequent tasks based on point cloud data.

[0036] In addition, due to the error accumulation of the trajectory position of the vehicle over time, the object represented by the point cloud data may be layered, resulting in multiple approximately parallel planes corresponding to one object. If one of the planes is randomly selected to represent the object, the accuracy of the object representation will be poor. Or, if a randomly selected plane is used to repair the relative accuracy of the point cloud data, the accuracy of the accuracy repair will be poor.

[0037] In order to improve the accuracy of the object represented by the point cloud data and the accuracy of the relative accuracy repair of the point cloud data, the embodiments of the present application provide a point cloud data processing method. After obtaining multiple sets of point cloud data of an object, the point cloud data of a preset surface of the object is identified based on the collection angles of the points in the multiple sets of point cloud data. The collection angle is the angle between the line of sight of the collection device when collecting the point and the target normal vector. The target normal vector is obtained based on the normal vector of the plane corresponding to at least one set of point cloud data in the multiple sets of point cloud data of the object. The point cloud data of the object surface is identified using the collection angle, which has high identification efficiency and accuracy, effectively overcoming the problem of layered object point cloud data, improving the accuracy of the object represented by the point cloud data, and thus improving the accuracy of object recognition. At the same time, based on the point cloud data corresponding to the high-accuracy object surface, the relative accuracy repair accuracy of the point cloud data can also be improved, and thus the accuracy and quality of the point cloud map can be improved.

[0038] Figure 2 A flowchart of a point cloud data processing method provided by the embodiments of the present application is shown. The method can be executed by an electronic device with corresponding data processing capability. The electronic device can be a computer, a server, etc.

[0039] As shown in Figure 2 The point cloud data processing method includes the following steps:

[0040] Step S201, obtaining two or more sets of point cloud data of a target object, one set of point cloud data corresponding to one plane.

[0041] The target object can be any object having two relatively flat surfaces, such as traffic signs, bus stop signs, billboards, roadside electronic display screens, etc.

[0042] The point cloud data can be collected by a vehicle, such as a laser radar deployed on the vehicle collecting point cloud data of the surrounding environment when the vehicle is driving on the road.

[0043] For the collected point cloud data, through filtering, aggregation, feature matching, or based on an object recognition algorithm, point cloud data of the same object, that is, a set of point cloud data representing the same object, such as a traffic sign, a billboard, and the like, is obtained.

[0044] When identifying each group of point cloud data, an image corresponding to the point cloud data can be drawn, and through image recognition, a plane is obtained, and the point cloud data corresponding to the plane is a group of point cloud data. A group of point cloud data can also be referred to as a point cloud data group.

[0045] Due to the layered nature of point cloud data, the point cloud data corresponding to the same three-dimensional target object usually includes two or more groups.

[0046] Based on the point cloud data corresponding to the same target object, an image of the object is drawn, and through image recognition, such as plane fitting, a plurality of planes of the target object are identified, one plane corresponding to one group of point cloud data. The plurality of planes identified can be the same surface or a plurality of surfaces of the target object, for example, the opposite surfaces of the target object, such as the front and back surfaces. The identified plane is represented by the corresponding group of point cloud data. The plane is not infinitely extended, but is a bounded plane, and the boundary of the plane is determined by the corresponding group of point cloud data.

[0047] Any plane fitting algorithm or plane detection algorithm can be used to identify the image of the point cloud data corresponding to the target object, to obtain a plurality of groups of point cloud data representing the surface of the target object. The present application does not limit this.

[0048] The image of the collected point cloud data of the same target object can be subjected to plane recognition by an upstream device, such as a plane recognition device, to obtain a plurality of groups of point cloud data representing the surface of the target object, and then the plurality of groups of point cloud data are sent to a point cloud data processing device to identify the point cloud data of the predetermined surface of the target object from the plurality of groups of point cloud data, thereby distinguishing different surfaces of the object.

[0049] Step S202, determining a target normal vector based on the normal vector of the plane corresponding to at least one group of point cloud data in the two or more groups of point cloud data.

[0050] Step S203, determining the collection angle of the point in the two or more groups of point cloud data based on the trajectory data when the collection device collects the two or more groups of point cloud data and the target normal vector.

[0051] In this context, the acquisition angle of a point in the point cloud data is the angle between the line of sight of the acquisition device when acquiring that point and the target normal vector. The line of sight of the acquisition device is the line connecting the position of the acquisition device when acquiring that point and the point itself. The position of the acquisition device when acquiring the point cloud data can be determined based on the trajectory data of the acquisition device during the acquisition process.

[0052] Step S204: Based on the acquisition angle, determine the point cloud data of the preset surface of the target object from the two or more sets of point cloud data.

[0053] The preset surface includes at least one of two opposing surfaces of the target object, which can be referred to as the first surface and the second surface, such as the front and the back.

[0054] Taking a traffic sign as an example, when a vehicle equipped with a lidar drives in front of the traffic sign, the laser signal emitted by the lidar will be reflected by the surface of the traffic sign facing the vehicle (assuming it is the front), thus forming point cloud data of the front. After the vehicle equipped with the lidar passes the traffic sign, the laser signal emitted by the lidar will be reflected by the other surface of the traffic sign (the back), thus forming point cloud data of the back. If the vehicle's trajectory position is error-free, calculating the point cloud data from the trajectory position will only yield point cloud data for two planes, corresponding to the front and back of the traffic sign, respectively. However, due to the cumulative position of the trajectory position, multiple planes of point cloud data will be obtained, which does not conform to the case that the traffic sign only has two planes. The method provided in this application can classify the point cloud data of multiple planes into the first surface (such as the front) or the second surface (such as the back), that is, obtain the point cloud data corresponding to the front and back of the traffic sign respectively, solving the problem of point cloud layering. At the same time, the thickness of the traffic sign can be accurately obtained through the point cloud data of the front and back, which can be used for subsequent tasks such as building a 3D model of the traffic sign, repairing the relative accuracy of point cloud data, and creating 3D electronic maps.

[0055] The technical features of the method provided in this application will be described in detail below with reference to specific embodiments.

[0056] First, the target normal vector mentioned in step S202 of this application can be the normal vector of the plane corresponding to any set of point cloud data.

[0057] In some embodiments, the normal vector with the smallest sum of angles with the other normal vectors can be determined based on the angles between the normal vectors of the planes corresponding to each set of point cloud data of the target object, and this normal vector is the target normal vector.

[0058] In some embodiments, the target normal vector can also be a resultant vector of normal vectors of planes corresponding to two or more groups of point cloud data.

[0059] The normal vectors being close to each other can mean that the included angle between the normal vectors is less than a preset angle, such as 5°, 10°, 12°, etc.

[0060] For example, taking a traffic sign as an example, after the point cloud data of the traffic sign is generated, the point cloud image is subjected to plane recognition, and five groups of point cloud data are obtained, namely N1 to N5. The normal vectors of the planes corresponding to N1, N3 and N4 are respectively and The included angle between any two of them is less than a preset angle, and the target normal vector corresponding to the traffic sign is determined as the resultant vector of and

[0061] After the target normal vector is determined, the collection angle of the point in the point cloud data is obtained through step S203. Specifically, for each point in two or more groups of point cloud data of the target object, the collection angle of the point is determined based on the target normal vector and the line of sight of the collection device when collecting the point.

[0062] The position of the collection device when collecting a point in the point cloud data can be obtained by position calculation on the trajectory data of the collection device. The position of the vehicle when collecting a point in the point cloud data can be solved by the mileage information of the vehicle when collecting the point cloud data. Further, the line of sight of the collection device when collecting the point can be obtained by the position of the vehicle and the coordinates of the point in the collected point cloud data.

[0063] The line of sight of the collection device can be represented by a direction vector or an angle, such as the angle with the north direction, the west direction or other set direction.

[0064] In some embodiments, the collection angle can have a direction. The collection angle can be the angle between the target normal vector and the line of sight of the collection device when collecting the point.

[0065] For example, Figure 3 The schematic diagram of the collection angle provided by the embodiments of the present application is as follows: Figure 3 ​As shown, the vehicle where the radar is located is driving along the driving direction, and the vehicle passes a traffic sign 30 during driving, and the target normal vector corresponding to the traffic sign 30 is the normal vector V3 of the plane corresponding to one set of point cloud data of the traffic sign 30. The radar is located at point O31 when the i-th set of point cloud data of the traffic sign 30 is collected, and the radar is located at point O32 when the j-th set of point cloud data is collected, where i and j are different positive integers. For the point O33 in the i-th set of point cloud data and the point O34 in the j-th set of point cloud data, the collection angles are the angle α of the normal vector V3 to the line connecting the point O31 and the point O33, and the angle β of the normal vector V3 to the line connecting the point O32 and the point O34. Figure 3 In some embodiments, the collection angle can also be represented by the angle obtained by reaching the corresponding line along the counterclockwise direction of the target normal vector, taking the collection angle as an example. Alternatively, the collection angle can be represented by the angle obtained by reaching the target normal vector along the counterclockwise or clockwise direction of the line of sight.

[0066] After determining the collection angle of the point in the point cloud data, the surface of the target object to which the point cloud data belongs is determined through step S204, i.e., the point cloud data is classified into one of the preset surfaces of the target object, such as the first surface or the second surface.

[0067] Specifically, for each set of point cloud data representing the plane of the target object, the collection angle of each point in the set of point cloud data is obtained, and based on the comparison result of the collection angle and the preset threshold (such as 90°, 270°) or the interval in which the collection angle is located, the surface or side to which the point belongs, such as the first surface or the second surface, is determined. By traversing each set of point cloud data, accurate grouping of the point cloud data can be achieved, and the point cloud data corresponding to at least one preset surface of the target object is obtained.

[0068] For example, taking the value range of the collection angle as 0° to 360°, if the collection angle of a point is in the first interval, such as [5°, 85°]∪[275°, 355°], it is determined that the preset surface to which the point belongs is the first surface of the target object, or it is determined that the point cloud data corresponding to the point whose collection angle is in the first interval is the point cloud data corresponding to the first surface of the target object; if the collection angle of a point is in the second interval, such as [95°, 265°], it is determined that the side to which the point belongs is the second surface, or it is determined that the point cloud data corresponding to the point whose collection angle is in the first interval is the point cloud data corresponding to the second surface.

[0069] The value range of the collection angle can be 0° to 180°, and the smaller one of the angle between the line of sight and the target normal vector can be used to represent the collection angle.

[0070] Optionally, the preset surface includes a first surface of two opposite surfaces of the target object, and the point cloud data of the preset surface of the target object is determined from the two or more groups of point cloud data based on the collection angle, including: the point cloud data of the corresponding points in the two or more groups of point cloud data with an acute collection angle is determined as the point cloud data of the first surface of the target object.

[0071] Optionally, the preset surface includes a second surface of two opposite surfaces of the target object, and the point cloud data of the preset surface of the target object is determined from the two or more groups of point cloud data based on the collection angle, including: the point cloud data of the corresponding points in the two or more groups of point cloud data with an obtuse collection angle is determined as the point cloud data of the second surface of the target object.

[0072] Optionally, the preset surface includes a first surface and a second surface of the target object, and the point cloud data of the preset surface of the target object is determined from the two or more groups of point cloud data based on the collection angle, including:

[0073] the point cloud data of the corresponding points in the two or more groups of point cloud data with an acute collection angle is determined as the point cloud data of the first surface of the target object, and the point cloud data of the corresponding points in the two or more groups of point cloud data with an obtuse collection angle is determined as the point cloud data of the second surface of the target object.

[0074] Specifically, the points in the two or more groups of point cloud data of the target object with an acute collection angle can be determined as the point cloud data corresponding to the first surface of the target object, and the points in the two or more groups of point cloud data of the target object with an obtuse collection angle can be determined as the point cloud data corresponding to the second surface of the target object.

[0075] Exemplarily, the first surface can be the front surface of the target object, and the second surface can be the back surface of the target object.

[0076] The point cloud data corresponding to one or more planes obtained through image plane recognition can only determine one surface of the object corresponding to the point cloud data group, and cannot determine the specific surface to which the point cloud data group belongs or corresponds. The collection angle of the point can determine the specific surface to which the point cloud data belongs, such as the first surface or the second surface.

[0077] If the collection angle of the point is 90°, i.e., a right angle, the point can be skipped, and the surface to which the point belongs is determined based on the collection angle of the subsequent point.

[0078] The points in each group of point cloud data of the target object obtained are traversed, and the surface to which the point belongs is determined to be the first surface or the second surface based on the collection angle of the traversed point.

[0079] By judging whether the collected angle is obtuse or acute, the point cloud data of the first and second surfaces of a planar object can be distinguished. The logic is simple and efficient, which improves the efficiency of distinguishing the front and back of the object.

[0080] After obtaining the surface to which each point belongs in two or more sets of point cloud data of the target object, the point cloud data to which the first surface belongs is determined as the point cloud data of the first surface of the target object, and the point cloud data to which the second surface belongs is determined as the point cloud data of the second surface of the target object, thereby realizing the distinction between the first surface and the second surface of the object.

[0081] In some embodiments, different sets of point cloud data of the target object can be input sequentially, and the normal vector of the plane corresponding to the first set of point cloud data of the target object (the first set of point cloud data input) can be used as the target normal vector to determine the acquisition angle of the points in each set of point cloud data of the target object based on the target normal vector.

[0082] The target normal vector corresponding to different target objects is the normal vector of the plane corresponding to the first set of point cloud data of the target object.

[0083] When a new set of point cloud data is detected, if the target object corresponding to the set of point cloud data is a newly added object, that is, it is different from the target object corresponding to any of the previously input set of point cloud data, or it is the first set of input point cloud data, then the normal vector of the plane corresponding to the set of point cloud data is determined as the target normal vector corresponding to the target object of the set of point cloud data. Based on the determined target normal vector, the acquisition angle of the points in each set of point cloud data of the same target object is determined.

[0084] If the target object corresponding to the newly input set of point cloud data is a historical object, that is, the same target object corresponding to one of the previously input sets of point cloud data, then based on the target normal vector corresponding to the historical object and the line of sight of the acquisition device when the midpoint of the newly input set of point cloud data is acquired, the acquisition angle of the midpoint of the newly input set of point cloud data is obtained, so as to determine the surface to which the midpoint of the newly input set of point cloud data belongs based on the acquisition angle.

[0085] The point cloud data processing method provided in this application, after obtaining multiple sets of point cloud data of an object, where each set of point cloud data corresponds to a plane, in order to distinguish at least one of two opposing surfaces of the object, such as a first and second surface, front and back, front and back, etc., or to determine a specific surface of the object, such as a first or second surface, can first determine a reference target normal vector based on the normal vector of the plane corresponding to at least one of the multiple sets of point cloud data of the object. Then, based on the target normal vector and the trajectory of the acquisition device when acquiring point cloud data, the acquisition angle of the points in the multiple sets of point cloud data is determined. Based on the acquisition angle of the points, the point cloud data of the object's preset surface, such as the first or second surface, is obtained. By classifying the object's surface point cloud data into the first or second surface through the acquisition angle, the method not only has high efficiency and accuracy in distinguishing, but also solves the problem of dividing point cloud data into multiple layers, thus improving the accuracy of representing objects using point cloud data.

[0086] Furthermore, after determining the point cloud data of the first surface and the second surface of the target object, the thickness of the target object can be determined based on the planes corresponding to the point cloud data of the first and second surfaces, respectively. The thickness is used to characterize the distance between the first and second surfaces of the object.

[0087] The fitting planes for the point cloud data of the first surface of the target object (denoted as the first fitting plane) and the fitting planes for the point cloud data of the second surface (denoted as the second fitting plane) are obtained respectively. The distance between the first fitting plane and the second fitting plane is determined as the thickness of the target object.

[0088] When fitting the first and second fitting planes, an additional constraint can be added, such as the angle between the normal vectors of the first and second fitting planes being less than a preset angle deviation, such as 3° or 5°.

[0089] By determining the thickness of an object, its dimensions can be measured, enabling a three-dimensional description of the object. For example, when drawing electronic maps, a three-dimensional model that is closer to the actual shape of the object can be used to represent it, thereby improving the quality of electronic map drawing.

[0090] Furthermore, coplanar constraints can be generated based on the point cloud data of the target object's preset surfaces, such as the first surface and / or the second surface. Based on these coplanar constraints, the point cloud data of the target object can be corrected, as well as the point cloud data of other objects in the same point cloud map as the target object can be corrected.

[0091] Figure 4 This is a flowchart illustrating another point cloud data processing method provided in an embodiment of this application. Figure 2The embodiment shown is a further refinement of step S204, and after step S204, a point cloud data repair step is added.

[0092] like Figure 4 As shown, the point cloud data processing method provided in this embodiment may specifically include the following steps:

[0093] Step S401: Obtain two or more sets of point cloud data for the target object, with each set of point cloud data corresponding to a plane.

[0094] Step S402: Determine the target normal vector based on the normal vector of the plane corresponding to at least one set of point cloud data from the two or more sets of point cloud data.

[0095] Optionally, based on the normal vector of the plane corresponding to at least one set of point cloud data from the two or more sets of point cloud data, the target normal vector is determined, including:

[0096] Obtain the normal vectors of the planes corresponding to each of the two or more sets of point cloud data to obtain multiple plane normal vectors; determine the target normal vector based on the multiple plane normal vectors.

[0097] Specifically, a target normal vector can be determined from multiple plane normal vectors based on the angles between each pair of plane normal vectors. For example, the target normal vector can be the plane normal vector with the smallest sum of its angles with the other plane normal vectors, or the plane normal vector with the most angles smaller than a preset angle among the plane normal vectors can be selected as the target normal vector. The angles corresponding to a plane normal vector include the angles between that plane normal vector and each of the other plane normal vectors.

[0098] The preset included angle can be 5°, 10°, 15°, 20° or other smaller values.

[0099] Optionally, determining the target normal vector based on the plurality of plane normal vectors includes:

[0100] Based on the angle between the plane normal vectors, the multiple plane normal vectors are grouped to obtain at least one group of plane normal vectors, wherein the angle between the plane normal vectors in the same group is less than a preset angle; the target normal vector is determined to be the average value of one of the group of plane normal vectors.

[0101] If multiple sets of plane normal vectors are obtained, the average of the plane normal vectors in the set with the most plane normal vectors can be selected as the target normal vector.

[0102] By combining the angles between the normal vectors of the planes corresponding to each set of point cloud data, the target normal vector is determined, which allows the target normal vector to better represent the normal vector of a surface on which the target object is detected more accurately, thereby improving the accuracy of distinguishing point cloud data of that surface.

[0103] Step S403: Based on the target normal vector and the trajectory data collected by the acquisition device when collecting the two or more sets of point cloud data, determine the acquisition angle of the points in the two or more sets of point cloud data.

[0104] After obtaining the acquisition angle of the point, in order to improve the efficiency of distinguishing the point cloud data of the object surface, in addition to determining the surface to which the point belongs point by point, the surface to which each group of point cloud data belongs can also be determined group by group of point cloud data. For details, see steps S404 to S405.

[0105] Step S404: For each group of point cloud data, obtain the group acquisition angle of the point cloud data based on the acquisition angle of the points in the group of point cloud data.

[0106] The group acquisition angle of a set of point cloud data can be the average, median, or other statistical value of the acquisition angle of the points in the set of point cloud data.

[0107] Optionally, based on the acquisition angle of each point in the point cloud data set, the group acquisition angle of the point cloud data set is obtained, including:

[0108] For each point in the point cloud data set, a weight coefficient is determined based on the distance between the point and the center point of the plane corresponding to the point cloud data set. Based on the weight coefficients of each point in the point cloud data set, the weighted average of the acquisition angles of each point in the point cloud data set is calculated to obtain the group acquisition angle of the point cloud data set.

[0109] For a set of point cloud data, weight coefficients can be configured for the points in the set of point cloud data based on the distance between the points in the set of point cloud data and the center point of the plane corresponding to the set of point cloud data. Based on the configured weight coefficients, the weighted average of the acquisition angles of the points in the set of point cloud data is calculated to obtain the group acquisition angle of the set of point cloud data.

[0110] Step S405: Based on the group of acquisition angles, determine the point cloud data of the preset surface of the target object from the two or more groups of point cloud data.

[0111] Optionally, based on the group of acquisition angles, the point cloud data of the preset surface of the target object is determined from the two or more groups of point cloud data, including: determining the point cloud data with an acute angle from the two or more groups of point cloud data as the point cloud data of the first surface of the target object.

[0112] Optionally, based on the group acquisition angle, the point cloud data of the preset surface of the target object is determined from the two or more groups of point cloud data, including: determining the point cloud data with an obtuse angle from the two or more groups of point cloud data as the point cloud data of the second surface of the target object.

[0113] Optionally, based on the set of acquisition angles, determining the point cloud data of a preset surface of the target object from the two or more sets of point cloud data includes: determining the point cloud data with an acute acquisition angle from the two or more sets of point cloud data as the point cloud data of the first surface of the target object, and determining the point cloud data with an obtuse acquisition angle from the two or more sets of point cloud data as the point cloud data of the second surface of the target object.

[0114] When a group of acquisition angles includes only one acute angle, the point cloud data of the group with the acute angle is identified as the point cloud data of the first surface of the target object. The first surface can be the front or the back.

[0115] When a group of acquisition angles includes multiple acute angles, the point cloud data from multiple groups of acquisition angles with acute angles can be identified as the point cloud data of the first surface of the target object. Alternatively, the multiple groups of point cloud data with acute angles can be clustered, fused, or otherwise merged to identify the processed point cloud data as the point cloud data of the first surface of the target object.

[0116] When a group of acquisition angles includes multiple acute angles, the point cloud data with corresponding group acquisition angles of two or more groups of point cloud data are merged to obtain the first merged point cloud data, and the first merged point cloud data is determined to be the point cloud data of the first surface of the target object.

[0117] Merging point cloud data can be done through clustering, fusion, or other merging processes, thereby combining multiple sets of point cloud data or multiple groups of point cloud data into a larger set.

[0118] Outlier removal can be performed on each group of point cloud data with an acute angle, and the remaining point cloud data can be merged into the first merged point cloud data.

[0119] After obtaining the first merged point cloud data, planar recognition can be performed on the image corresponding to the first merged point cloud data to determine that the point cloud data corresponding to the recognized plane is the point cloud data of the first surface of the target object.

[0120] When a group of acquisition angles includes an obtuse angle, the point cloud data with the obtuse angle in the group acquisition is identified as the point cloud data of the second surface of the target object.

[0121] When the group acquisition angle includes multiple obtuse angles, the multiple groups of point cloud data with corresponding group acquisition angles of obtuse angles in two or more groups of point cloud data are merged to obtain the second merged point cloud data; the second merged point cloud data is determined to be the point cloud data of the second surface of the target object.

[0122] You can refer to the merging method of the first merged point cloud data to merge multiple sets of point cloud data with obtuse angles. Just replace the merged object with "multiple sets of point cloud data with acute angles" and "multiple sets of point cloud data with obtuse angles". This will not be elaborated further here.

[0123] Through the aforementioned steps, point cloud data of the first surface of the target object (such as one or more sets of point cloud data with an acute angle) and point cloud data of the second surface (such as one or more sets of point cloud data with an obtuse angle) can be obtained, thereby enabling the distinction between the first and second surfaces of the target object.

[0124] Taking a traffic sign as the target object, the aforementioned steps can obtain the point cloud data of the front and back of the traffic sign, thereby realizing the representation of the front and back of the traffic sign through point cloud data, achieving a three-dimensional representation of the traffic sign. This allows subsequent processing based on the point cloud data of the traffic sign, such as relative accuracy repair of the point cloud data, to be performed with the front and back of the traffic sign as references respectively, without introducing thickness errors, thus improving the accuracy of relative accuracy repair.

[0125] Regarding the phenomenon of point cloud data layering of the target object, after obtaining the point cloud data of the first surface and the second surface of the target object, some layers of the target object can be filtered out by the coplanar constraints generated by the point cloud data of the first surface and the second surface, thereby improving the accuracy of the target object representation. Specifically, the problem of point cloud data layering can be improved through steps S406 and S407.

[0126] Step S406: Based on the point cloud data of the first surface and the point cloud data of the second surface of the target object, generate the first coplanar constraint and the second coplanar constraint respectively.

[0127] Step S407: Based on the first coplanar constraint and the second coplanar constraint, correct the point cloud data of the target object.

[0128] Coplanar constraints, either the first or second coplanar constraint, are used to constrain point cloud data to lie on a plane, i.e., coplanar.

[0129] Specifically, based on the distribution of point cloud data of the target object's surface (first surface or second surface), coplanar constraints (first coplanar constraint or second coplanar constraint) corresponding to that surface can be generated. Based on the obtained first and second coplanar constraints, the coordinates of the target object's point cloud data are corrected, thereby obtaining a more accurate representation of the object.

[0130] In addition, the trajectory of the acquisition device can be corrected by first coplanar constraints and second coplanar constraints, thereby correcting the point cloud data acquired by the acquisition device based on the corrected trajectory.

[0131] Specifically, suppose the point cloud data of the first surface of the target object includes three sets of point cloud data, such as sets A, B, and C, which are point cloud data of the first surface of the target object collected at three different times. Substituting the point cloud data from set A into the plane equations of sets B and C respectively, a coplanar constraint is constructed. Similarly, the point cloud data from set B is also substituted into the plane equations of sets A and C to construct a coplanar constraint, and the same applies to the point cloud data from set C. These coplanar constraints are collectively referred to as the first coplanar constraint of the first surface of the target object. Using a similar method, the second coplanar constraint of the second surface of the target object can be obtained.

[0132] For example, Figure 5 A schematic diagram of cloud data of target object points before and after coplanar constraint correction provided in an embodiment of this application, as shown below. Figure 5 As shown, before correction based on coplanar constraints (first coplanar constraint and second coplanar constraint), the point cloud data of the target object exhibits layering, which does not conform to the original shape and size of the target object. After correcting the point cloud data of the target object using the first and second coplanar constraints, the corrected point cloud data is shown in the image below. Figure 5 As shown in the right figure, by using coplanar constraints, the layered point cloud data is aggregated, thereby making the point cloud data match the actual shape and size of the target object, and improving the accuracy of the point cloud data in representing the object.

[0133] When point cloud data contains a lot of noise, the point cloud data of a target object, such as a sign-shaped object, appears patchy, and it is not possible to clearly distinguish the areas where the sides of the target object are located simply by measuring the angle. By using the first and second coplanar constraints mentioned above, the point cloud data of the target object is corrected, making the point cloud data corresponding to different sides of the sign-shaped object, such as the front and back, more clustered, thereby improving the accuracy of front and back recognition of the target object.

[0134] After correcting the point cloud data of the target object, the acquisition angle of the points in the point cloud data can be determined again. Using the acquisition angle of the points, the point cloud data of the first surface and the point cloud data of the second surface of the target object can be determined.

[0135] In some embodiments, the acquisition angles of each group of point cloud data in the two or more groups of point cloud data obtained may all be acute angles or all be obtuse angles, so that only the point cloud data of the first surface or the second surface of the target object is obtained. Then, a first coplanar constraint or a second coplanar constraint can be generated based on the point cloud data of the first surface or the second surface of the target object; and the point cloud data of the target object can be corrected based on the first coplanar constraint or the second coplanar constraint.

[0136] In this embodiment, the point cloud data of the target object is grouped by using acute or obtuse angles for each group of point cloud data acquisition. This results in point cloud data for the first and second surfaces of the target object, enabling the distinction between the first and second surfaces. Distinguishing by group significantly improves efficiency. When a group of acquisition angles includes multiple acute or obtuse angles, the first or second surface of the object is represented by the merging result of these point cloud data groups, improving the accuracy of the object's side view representation. Simultaneously, a coplanar constraint is generated from the point cloud data of the first and second surfaces. This coplanar constraint is then used to correct the point cloud data of the target object, improving the relative accuracy of the point cloud data and thus enhancing the accuracy of the point cloud data in representing the object.

[0137] Furthermore, after determining the point cloud data of the first surface and / or the second surface of the target object in the point cloud map, the method further includes:

[0138] Based on the point cloud data of the first surface and / or the point cloud data of the second surface of the target object, the point cloud data of other objects in the point cloud map are corrected.

[0139] The target object is an object for which point cloud data of the first surface and / or the second surface are obtained based on the method provided in the foregoing embodiments, such as a sign-shaped object.

[0140] Taking lidar as the point cloud data acquisition device as an example, the odometry data corresponding to each of the multiple frames of point cloud data acquired by lidar can be determined based on the lidar inertial odometry calculation method. Based on the multiple frames of point cloud data acquired by lidar and the odometry data corresponding to each frame of point cloud data, the multiple frames of point cloud data are fused or stitched together to obtain the point cloud map of the corresponding area.

[0141] Taking the first surface as an example, the point cloud data of the target object's first surface, the point cloud data of other objects, and the actual distance and orientation of other objects relative to the target object's first surface in the point cloud map can be used to correct the point cloud data of other objects so that the distance between the corrected point cloud data of other objects and the first surface of the target object, as well as the orientation relative to the first surface of the target object, match the actual distance and orientation.

[0142] A point cloud map can be a map corresponding to one or more frames of point cloud data. When stitching together multiple frames of point cloud data, it can be done based on inertial odometry.

[0143] Point cloud maps include target objects, such as traffic signs, billboards and other sign-shaped objects, as well as other objects, such as trees and buildings.

[0144] When the lidar on the vehicle collects point cloud data, it passes over a target object, such as a sign-shaped object, in a certain direction, such as from left to right. The sign-shaped object can effectively constrain the point cloud data in the vertical direction of the sign's surface, thus allowing for the relative accuracy repair of the point cloud data of other objects based on the point cloud data of the sign's surface (first or second surface).

[0145] Specifically, the theoretical thickness of the target object can be determined based on the point cloud data of the first and second surfaces. Based on the comparison between the theoretical and actual thickness of the target object, the point cloud data of other objects can be corrected.

[0146] Assuming the actual thickness of the sign-shaped object is 10cm, the point cloud data of the front and back of the sign-shaped object indicate that the thickness of the sign-shaped object is 20cm, resulting in a relative accuracy error of 10cm. This relative accuracy error can then be used to correct the point cloud data of other objects, thereby reducing the overall relative accuracy error of the point cloud map.

[0147] In some embodiments, other objects may be objects near the target object, such as those within a preset range.

[0148] In other embodiments, a first coplanar constraint and a second coplanar constraint can be generated based on the point cloud data of the first surface and the second surface of the target object, respectively. The point cloud data of other objects in the same point cloud map or scene as the target object are then corrected based on these first and second coplanar constraints. A scene can be a continuous spatial region including the target object, where other objects also exist.

[0149] For example, a scene can consist of one or more point cloud maps.

[0150] For example, Figure 6 A schematic diagram of a point cloud map before and after coplanar constraint correction provided in an embodiment of this application, as shown below. Figure 6 As shown, the point cloud map contains target object 610 (such as a sign) and multiple other objects, such as object 620 (street lamp) and object 630 (tree). The point cloud map can also include more objects, such as roads and buildings between target object 610 and object 630. Figure 6 Only point cloud data for a portion of the objects in the point cloud map are shown to illustrate the changes in point cloud data representing objects before and after coplanar constraint correction. The results for object 610, object 620, and object 630 after correcting the point cloud data in the point cloud map based on the coplanar constraint of object 610 are as follows: Figure 6As shown in the figure on the right, the corrected point cloud data representing the object is more clustered and can better represent the object's contour features. At the same time, coplanar constraints can reduce noise in the point cloud map, thereby improving the accuracy of subsequent tasks based on the point cloud map, such as recognizing the content of signs and determining the location of streetlights.

[0151] By distinguishing the point cloud data of the front and back of the target object, the point cloud data of other objects within the same point cloud map are corrected, thereby achieving the correction of the relative accuracy of the point cloud data. At the same time, since the front and back are distinguished, thickness error is not introduced, which improves the accuracy of the relative accuracy repair of the point cloud data and improves the accuracy of the point cloud map.

[0152] Furthermore, based on the corrected point cloud map, electronic maps can be generated, or object recognition, scene understanding, and other processing can be performed.

[0153] It should be understood that the execution order between the steps provided in the foregoing method embodiments of this application is only an example. Under the premise of being logically sound, some parallel steps can be executed serially, or in order to improve efficiency, some serial steps can be executed in parallel, or the execution order of some steps can be changed. This application does not limit this.

[0154] Figure 7 This is a schematic diagram of the structure of a point cloud data processing device provided in an embodiment of this application, as shown below. Figure 7 As shown, the point cloud data processing device includes: a planar point cloud acquisition module 710, a target normal vector determination module 720, an acquisition angle determination module 730, and a side recognition module 740.

[0155] The planar point cloud acquisition module 710 is used to acquire two or more sets of point cloud data of the target object, with each set of point cloud data corresponding to a plane; the target normal vector determination module 720 is used to determine the target normal vector based on the normal vector of the plane corresponding to at least one set of point cloud data in the two or more sets of point cloud data; the acquisition angle determination module 730 is used to determine the acquisition angle of a point in the two or more sets of point cloud data based on the trajectory data of the acquisition device when acquiring the two or more sets of point cloud data and the target normal vector, wherein the acquisition angle of the point is the angle between the line of sight of the acquisition device when acquiring the point and the target normal vector; and the side recognition module 740 is used to determine the point cloud data of a preset surface of the target object from the two or more sets of point cloud data based on the acquisition angle, wherein the preset surface includes at least one of two opposing surfaces of the target object.

[0156] Optionally, the preset surface includes the first surface of two opposing surfaces of the target object. The side recognition module 740 is specifically used to: determine the point cloud data with an acute angle of acquisition of corresponding points in the two or more sets of point cloud data as the point cloud data of the first surface of the target object.

[0157] Optionally, the preset surface includes the second surface of the two opposing surfaces of the target object. The side recognition module 740 is specifically used to: determine the point cloud data with an obtuse angle of the acquisition of corresponding points in the two or more sets of point cloud data as the point cloud data of the second surface of the target object.

[0158] Optionally, the preset surface includes a first surface and a second surface opposite to the target object. The side recognition module 740 is specifically used to: determine the point cloud data with an acute angle of acquisition of corresponding points in the two or more sets of point cloud data as the point cloud data of the first surface of the target object, and determine the point cloud data with an obtuse angle of acquisition of corresponding points in the two or more sets of point cloud data as the point cloud data of the second surface of the target object.

[0159] Optionally, the side recognition module 740 includes: a group acquisition angle determination unit, used to obtain the group acquisition angle of the point cloud data based on the acquisition angle of the midpoint of the point cloud data for each group of point cloud data; and a side recognition unit, used to determine the point cloud data of the preset surface of the target object from the two or more groups of point cloud data based on the group acquisition angle.

[0160] Optionally, the group acquisition angle determination unit is specifically used to: determine the weight coefficient of a point in the group of point cloud data based on the distance between the point and the center point of the plane corresponding to the group of point cloud data; and calculate the weighted average of the acquisition angles of each point in the group of point cloud data based on the weight coefficients of each point in the group of point cloud data to obtain the group acquisition angle of the group of point cloud data.

[0161] Optionally, the side recognition unit is specifically used to: determine the point cloud data with an acute angle from the two or more sets of point cloud data as the point cloud data of the first surface of the target object; and / or, determine the point cloud data with an obtuse angle from the two or more sets of point cloud data as the point cloud data of the second surface of the target object.

[0162] Optionally, the preset surface includes a first surface and a second surface opposite to the target object, and the point cloud data processing device further includes a thickness determination module for:

[0163] After determining the point cloud data of the first surface and the second surface of the target object, the thickness of the target object is determined based on the planes corresponding to the point cloud data of the first surface and the second surface of the target object, respectively; and / or, the point cloud correction module is used to generate a first coplanar constraint and a second coplanar constraint based on the point cloud data of the first surface and the second surface of the target object, respectively, and correct the point cloud data of the target object based on the first coplanar constraint and the second coplanar constraint, and / or correct the point cloud data of other objects in the same point cloud map as the target object.

[0164] The point cloud data processing apparatus provided in this application embodiment can be used to execute the technical solution of the point cloud data processing method provided in any of the above embodiments of this application. Its implementation principle and technical effect are similar, and will not be repeated here.

[0165] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 8 As shown, the electronic device of this embodiment may include: at least one processor 801; and a memory 802 communicatively connected to the at least one processor; wherein the memory 802 stores instructions executable by the at least one processor 801, the instructions being executed by the at least one processor 801 to cause the electronic device to perform the method as described in any of the above embodiments.

[0166] Optionally, the memory 802 can be either standalone or integrated with the processor 801.

[0167] The implementation principle and technical effects of the electronic device provided in this embodiment can be found in the foregoing embodiments, and will not be repeated here.

[0168] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the method described in any of the foregoing embodiments.

[0169] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the methods described in any of the foregoing embodiments.

[0170] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules may be combined or integrated into another system, or some features may be ignored or not executed.

[0171] The integrated modules implemented as software functional modules described above can be stored in a computer-readable storage medium. These software functional modules, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of this application.

[0172] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor. The memory may include RAM (Random Access Memory), and may also include NVM (Non-Volatile Memory), such as at least one disk storage device, and may also be a USB flash drive, external hard drive, read-only memory, disk, or optical disc, etc.

[0173] The aforementioned storage media can be implemented from any type of volatile or non-volatile storage device or a combination thereof, such as Static Random-Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The storage media can be any available medium accessible to general-purpose or special-purpose computers.

[0174] An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Alternatively, the storage medium can be an integral part of the processor. Both the processor and the storage medium can reside in an application-specific integrated circuit (ASIC). Alternatively, the processor and storage medium can exist as discrete components in an electronic device or host device.

[0175] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0176] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0177] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0178] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

Claims

1. A method for processing point cloud data, characterized in that, include: Acquire two or more sets of point cloud data for the target object, with each set of point cloud data corresponding to a plane; The target normal vector is determined based on the normal vector of the plane corresponding to at least one set of point cloud data from the two or more sets of point cloud data. Based on the trajectory data and the target normal vector when the acquisition device acquires the two or more sets of point cloud data, the acquisition angle of the point in the two or more sets of point cloud data is determined. The acquisition angle of the point is the angle between the line of sight of the acquisition device when acquiring the point and the target normal vector. Based on the acquisition angle, point cloud data of a preset surface of the target object is determined from the two or more sets of point cloud data. The preset surface includes at least one of two opposing surfaces of the target object.

2. The method of claim 1, wherein, The preset surface includes the first surface of two opposing surfaces of the target object. Based on the acquisition angle, the point cloud data of the preset surface of the target object is determined from the two or more sets of point cloud data, including: The point cloud data with an acute angle of acquisition for corresponding points in the two or more sets of point cloud data are determined as the point cloud data of the first surface of the target object.

3. The method of claim 1, wherein, The preset surface includes the second surface of two opposing surfaces of the target object. Based on the acquisition angle, the point cloud data of the preset surface of the target object is determined from the two or more sets of point cloud data, including: The point cloud data with an obtuse angle for the corresponding points in the two or more sets of point cloud data are determined as the point cloud data of the second surface of the target object.

4. The method of claim 1, wherein, Based on the acquisition angle, point cloud data of a preset surface of the target object is determined from the two or more sets of point cloud data, including: For each set of point cloud data, the group acquisition angle of the point cloud data is obtained based on the acquisition angle of the points in the set of point cloud data; Based on the aforementioned set of acquisition angles, the point cloud data of the preset surface of the target object is determined from the two or more sets of point cloud data.

5. The method of claim 4, wherein, The preset surface includes the first surface of two opposing surfaces of the target object. Based on the set of acquisition angles, the point cloud data of the preset surface of the target object is determined from the two or more sets of point cloud data, including: Among the two or more sets of point cloud data, the set of point cloud data with an acute angle is determined as the point cloud data of the first surface of the target object.

6. The method of claim 4, wherein, The preset surface includes the second surface of two opposing surfaces of the target object. Based on the set of acquisition angles, the point cloud data of the preset surface of the target object is determined from the two or more sets of point cloud data. Among the two or more sets of point cloud data, the set of point cloud data with an obtuse angle is determined as the point cloud data of the second surface of the target object.

7. The method of claim 4, wherein, Based on the acquisition angle of each point in this set of point cloud data, the group acquisition angle of this set of point cloud data is obtained, including: For each point in the point cloud data set, the weight coefficient of that point is determined based on the distance between that point and the center point of the plane corresponding to the point cloud data set. Based on the weight coefficients of each point in the point cloud data set, the weighted average of the acquisition angles of each point in the point cloud data set is calculated to obtain the group acquisition angle of the point cloud data set.

8. The method according to any one of claims 1 to 7, characterized in that, The preset surface includes a first surface and a second surface opposite to each other of the target object, and after the point cloud data of the first surface and the point cloud data of the second surface of the target object are determined, the method further includes: determining the thickness of the target object based on the planes corresponding to the point cloud data of the first surface and the point cloud data of the second surface of the target object, respectively; or, generating a first coplanar constraint and a second coplanar constraint based on the point cloud data of the first surface and the point cloud data of the second surface of the target object, respectively, and correcting the point cloud data of the target object and / or the point cloud data of other objects in the same point cloud map as the target object based on the first coplanar constraint and the second coplanar constraint.

9. A point cloud data processing apparatus, characterized by comprising: The method comprises: a plane point cloud acquisition module configured to acquire two or more sets of point cloud data of a target object, one set of point cloud data corresponding to one plane; a target normal vector determination module configured to determine a target normal vector based on a normal vector of a plane corresponding to at least one set of point cloud data of the two or more sets of point cloud data; a collection angle determination module configured to determine a collection angle of a point in the two or more sets of point cloud data based on trajectory data when a collection device collects the two or more sets of point cloud data and the target normal vector, the collection angle of the point being an included angle between a line of sight when the collection device collects the point and the target normal vector; a side surface identification module configured to determine point cloud data of a preset surface of the target object from the two or more sets of point cloud data based on the collection angle, the preset surface including at least one of two surfaces opposite to each other of the target object.

10. A computer program product, characterised in that, The computer program is executed by a processor to implement the method of any one of claims 1-8.