Method and apparatus for processing point cloud data
By identifying and correcting the point cloud data of the guiding parts of the target object, eliminating easily changeable parts, extracting the point cloud data of the central skeleton and rotating it, the problem of normalization accuracy of point cloud data under unsteady attitude is solved, and the needs of high-precision modeling and automated measurement are met.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- INST OF NEW DISPLAY TECH HENAN ACAD OF SCI
- Filing Date
- 2026-03-23
- Publication Date
- 2026-06-23
AI Technical Summary
Existing technologies produce point cloud data with poor normalization accuracy in unconstrained environments, which cannot meet the needs of high-precision modeling or automated measurement. In particular, when the target object is in a complex and unsteady state, existing methods are easily affected by local offsets or missing point clouds.
By identifying the 3D point cloud data corresponding to the guiding parts of the target object, correcting the spatial orientation, removing the point cloud of the guiding parts, extracting the point cloud data of the central skeleton, and determining the rotation parameters based on the central skeleton point cloud to rotate the point cloud, the point cloud data is normalized.
It improves the accuracy and stability of point cloud data normalization, meets the needs of high-precision modeling and automated measurement, adapts to point cloud processing under complex unsteady attitudes, and reduces computing costs and resource consumption.
Smart Images

Figure CN122265041A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer vision technology, and in particular to a method and apparatus for processing point cloud data. Background Technology
[0002] With the development of 3D sensing and computer vision technologies, research on 3D modeling, posture measurement, and behavior analysis based on point cloud data has shown great application value in fields such as smart animal husbandry, bionic robots, digital twins, and film and animation. The core premise of this type of research is to obtain high-quality, standardized 3D spatial information of the target object (such as quadrupedal biological entities, animal models, or bionic mechanisms).
[0003] In practical applications, due to the unconstrained nature of the acquisition environment (such as natural walking on pastures, shooting in the wild), the spatial orientation of the target object in the acquired point cloud data is usually random and variable. In order to achieve subsequent feature comparison, standard body size calculation, or gait analysis, it is necessary to first normalize the spatial coordinate system of the messy original point cloud.
[0004] In existing technologies, when normalizing the coordinates of a 3D point cloud of a target object, the normalization process typically relies on the overall statistical characteristics of the point cloud data or ideal set symmetry. However, in natural data acquisition or actual engineering environments, target objects are often in complex, unsteady postures, such as random head swings, asymmetrical limb deflections, or local data gaps due to occlusion. In such cases, the aforementioned normalization methods are highly susceptible to interference from local offsets or missing point clouds, resulting in poor normalization accuracy and failing to meet the requirements of high-precision modeling or automated measurement. Summary of the Invention
[0005] This invention provides a method for processing point cloud data to improve the accuracy of point cloud data normalization, thereby meeting the needs of high-precision modeling or automated measurement. The method includes: Based on the original 3D point cloud data of the target object, determine the 3D point cloud data corresponding to the guiding part of the target object; the guiding part is the end of the target object used to achieve attitude guidance; Based on the three-dimensional point cloud data corresponding to the guide part, the spatial orientation of the original three-dimensional point cloud data is corrected to obtain the first three-dimensional point cloud data. Remove the three-dimensional point cloud data corresponding to the guide part from the first three-dimensional point cloud data to obtain the second three-dimensional point cloud data; Extract the central skeleton point cloud data from the second and third-dimensional point cloud data; Determine the point cloud rotation parameters based on the central skeleton point cloud data; Based on the point cloud rotation parameters, the first three-dimensional point cloud data is rotated to obtain normalized three-dimensional point cloud data.
[0006] Optionally, based on the original 3D point cloud data of the target object, the 3D point cloud data corresponding to the guiding part of the target object is determined, including: The original 3D point cloud data is projected onto a preset 2D plane to obtain the first 2D projection point set; Based on the geometric distribution characteristics and / or asymmetric characteristics of the first two-dimensional projection point set, the target region point set in the first two-dimensional projection point set is determined; the target region point set is the two-dimensional projection image corresponding to the guide part. Based on the point set of the target area, determine the 3D point cloud data corresponding to the guiding part of the target object.
[0007] Optionally, based on the three-dimensional point cloud data corresponding to the guiding part, the spatial orientation of the original three-dimensional point cloud data is corrected to obtain the first three-dimensional point cloud data, including: Based on the position information of the target area point set on the preset two-dimensional plane, determine the direction information of the guiding part; The direction information of the guide portion is compared with a preset first direction to determine whether the direction information is consistent with the preset first direction. If the direction information is inconsistent with the preset first direction, the original three-dimensional point cloud data is rotated according to the preset rotation angle to obtain the first three-dimensional point cloud data. If the direction information is consistent with the preset first direction, then the original three-dimensional point cloud data is used as the first three-dimensional point cloud data.
[0008] Optionally, based on the position information of the target area point set on a preset two-dimensional plane, the direction information of the guiding part is determined, including: The direction information of the guiding part is determined based on the relative position vector between the center point of the target area point set and the origin of the preset two-dimensional plane.
[0009] Optionally, central skeleton point cloud data is extracted from the second 3D point cloud data, including: The second three-dimensional point cloud data is divided into multiple regions along a preset second direction to obtain three-dimensional point cloud data of multiple regions. Based on the value of the 3D point cloud data of each region in a preset third direction, at least one target point in each region is determined; Determine the central skeleton point cloud data based on at least one target point in each region.
[0010] Optionally, based on the central skeleton point cloud data, the point cloud rotation parameters are determined, including: Project the central skeleton point cloud data onto a preset two-dimensional plane to obtain a second two-dimensional projection point set; A linear fit is performed on the second two-dimensional projection point set to obtain the fitted straight line; Determine the slope parameter between the fitted line and the preset fourth direction; The slope parameter is defined as the point cloud rotation parameter.
[0011] This invention also provides a point cloud data processing device to improve the accuracy of point cloud data normalization, thereby meeting the needs of high-precision modeling or automated measurement. The device includes: The guide part determination module is used to determine the three-dimensional point cloud data corresponding to the guide part of the target object based on the original three-dimensional point cloud data of the target object; the guide part is the end of the target object used to achieve attitude guidance; The orientation correction module is used to correct the spatial orientation of the original 3D point cloud data based on the 3D point cloud data corresponding to the guide part, so as to obtain the first 3D point cloud data. The point cloud removal module is used to remove the three-dimensional point cloud data corresponding to the guide part in the first three-dimensional point cloud data to obtain the second three-dimensional point cloud data. The skeleton extraction module is used to extract the central skeleton point cloud data from the second-dimensional point cloud data; The rotation parameter determination module is used to determine the rotation parameters of the point cloud based on the central skeleton point cloud data. The rotation module is used to rotate the first three-dimensional point cloud data based on the point cloud rotation parameters to obtain normalized three-dimensional point cloud data.
[0012] This invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the above-described method for processing point cloud data.
[0013] This invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described point cloud data processing method.
[0014] This invention also provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-described point cloud data processing method.
[0015] In this embodiment of the invention, based on the original three-dimensional point cloud data of the target object, the three-dimensional point cloud data corresponding to the guiding part of the target object is determined; the guiding part is the end of the target object used for attitude guidance; based on the three-dimensional point cloud data corresponding to the guiding part, the spatial orientation of the original three-dimensional point cloud data is corrected to obtain the first three-dimensional point cloud data; the three-dimensional point cloud data corresponding to the guiding part in the first three-dimensional point cloud data is removed to obtain the second three-dimensional point cloud data; the central skeleton point cloud data is extracted from the second three-dimensional point cloud data; based on the central skeleton point cloud data, the point cloud rotation parameters are determined; based on the point cloud rotation parameters, the first three-dimensional point cloud data is rotated to obtain the normalized three-dimensional point cloud data. Compared with existing point cloud processing methods, this invention firstly identifies the 3D point cloud data corresponding to the guide parts on the target object used for attitude guidance, and corrects the spatial orientation of the target object based on the 3D point cloud data corresponding to the guide parts. This allows for a unique and effective correction of the overall spatial orientation of the target object even when there are significant pose changes (such as head tilting or turning), providing a standard directional reference for the normalization process. Moreover, after correcting the spatial orientation of the target object, the 3D point cloud data corresponding to the guide parts of the target object is removed from the 3D point cloud data, which effectively isolates the interference of local offset or missing point clouds on the overall point cloud normalization. Then, the central skeleton point cloud data is extracted from the removed 3D point cloud data, and the point cloud rotation parameters are determined. Since the central skeleton point cloud data has strong stability, it can be used as a reference for rotation alignment, which can improve the normalization accuracy when the target object is in an unsteady posture, thereby meeting the needs of high-precision modeling or automated measurement. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of the present invention 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 of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] In the attached diagram: Figure 1 This is a flowchart of a point cloud data processing method provided in an embodiment of the present invention; Figure 2 This is a flowchart of a method for processing raw three-dimensional point cloud data to determine the three-dimensional point cloud data corresponding to the guiding part of a target object, provided in an embodiment of the present invention. Figure 3 This is a flowchart illustrating the point cloud data processing method provided in this embodiment of the invention. Figure 4aThis is an example image of the original 3D point cloud data provided in an embodiment of the present invention. Figure 4b This is an example image of the 3D point cloud data corresponding to the guide portion in the original 3D point cloud data. Figure 4c This is an example image of 3D point cloud data obtained after performing a compensated rotation operation on the original 3D point cloud data. Figure 4d To eliminate Figure 4c The example image shows a 3D point cloud obtained after processing the 3D point cloud data corresponding to the guide part in the 3D point cloud data shown. Figure 4e This is an example image of the central skeleton point cloud data. Figure 4f Example image of normalized 3D point cloud data; Figure 5 This is a schematic diagram of a point cloud data processing device provided in an embodiment of the present invention; Figure 6 This is a schematic diagram of a computer device provided in an embodiment of the present invention. Detailed Implementation
[0018] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the embodiments of the present invention will be further described in detail below with reference to the accompanying drawings. Here, the illustrative embodiments of the present invention and their descriptions are used to explain the present invention, but are not intended to limit the present invention.
[0019] In the description of this specification, the terms "comprising," "including," "having," and "containing" are open-ended terms, meaning that they include but are not limited to. The terms "an embodiment," "a specific embodiment," "some embodiments," and "for example," etc., refer to specific features, structures, or characteristics described in connection with that embodiment or example that are included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, or characteristics described can be combined in any suitable manner in one or more embodiments or examples. The order of steps involved in the various embodiments is used to illustrate the implementation of this application, and the order of steps is not limited and can be adjusted appropriately as needed.
[0020] Research has revealed that existing point cloud processing methods, when normalizing coordinates for target objects with specific skeletal structures (such as biological entities or biomimetic machines), often rely excessively on the overall statistical characteristics or ideal geometric symmetry of the point cloud data. However, in natural data collection or actual engineering environments, target objects are often in complex, unsteady postures, such as random head swings, asymmetrical limb deflections, or localized data loss due to occlusion. In this context, existing point cloud orientation alignment methods based on Principal Component Analysis (PCA) are highly susceptible to interference from locally offset point clouds, leading to drastic fluctuations in the calculated principal axis orientation, and even 180-degree orientation flip errors. Existing alignment methods based on the symmetry geometry of the target object's body often struggle to extract accurate symmetry center planes when processing unbalanced or incomplete point cloud data, resulting in reduced normalization accuracy and failing to meet the needs of high-precision modeling or automated measurement. Meanwhile, while existing point cloud alignment methods based on keypoint annotation have acceptable accuracy, they face significant bottlenecks in large-scale, real-time industrial applications, including high computational resource consumption, low automation, and poor versatility, making it difficult to quickly adapt to the batch processing needs of various types and poses of targets.
[0021] Based on this, embodiments of the present invention provide a method and apparatus for processing point cloud data, which can improve the accuracy of point cloud data normalization; at the same time, it can significantly improve the processing efficiency of point cloud normalization for various symmetrical or asymmetrical objects, providing a highly robust standardized spatial data foundation for subsequent automated measurement, 3D reconstruction and intelligent perception.
[0022] Figure 1 This is a flowchart illustrating a point cloud data processing method provided in an embodiment of the present invention. The execution subject of this method can be an electronic device, or a functional module or entity within an electronic device capable of implementing the point cloud data processing method. Such electronic devices include, but are not limited to, mobile terminals, tablet computers, computers, cameras, and wearable devices.
[0023] like Figure 1 As shown, the method may include: Step 101: Based on the original 3D point cloud data of the target object, determine the 3D point cloud data corresponding to the guiding part of the target object; the guiding part is the end of the target object used to achieve attitude guidance. Step 102: Based on the three-dimensional point cloud data corresponding to the guide part, correct the spatial orientation of the original three-dimensional point cloud data to obtain the first three-dimensional point cloud data. Step 103: Remove the three-dimensional point cloud data corresponding to the guide part from the first three-dimensional point cloud data to obtain the second three-dimensional point cloud data; Step 104: Extract the central skeleton point cloud data from the second 3D point cloud data; Step 105: Determine the point cloud rotation parameters based on the central skeleton point cloud data; Step 106: Based on the point cloud rotation parameters, rotate the first three-dimensional point cloud data to obtain normalized three-dimensional point cloud data.
[0024] In this embodiment of the invention, firstly, by identifying the 3D point cloud data corresponding to the guide parts on the target object used for attitude guidance, and based on the 3D point cloud data corresponding to the guide parts, the spatial orientation of the target object is corrected. This allows for a unique and effective correction of the overall spatial orientation even when the target object undergoes significant pose changes (such as head tilting or turning), providing a standard directional reference for the normalization process. Secondly, after correcting the spatial orientation of the original 3D point cloud data of the target object, the 3D point cloud data corresponding to the guide parts of the target object is removed from the corrected 3D point cloud data. This effectively isolates the interference of local offsets or missing point clouds on the overall point cloud normalization. Then, the central skeleton point cloud data is extracted from the removed 3D point cloud data, and the point cloud rotation parameters are determined. Since the central skeleton point cloud data has strong stability, it is used as a reference for rotation alignment, which can improve the normalization accuracy when the target object is in an unsteady posture, thereby meeting the needs of high-precision modeling or automated measurement.
[0025] The following is about Figure 1 The processing method for the point cloud data shown is explained in detail.
[0026] In step 101, firstly, based on the original three-dimensional point cloud data of the target object, the three-dimensional point cloud data corresponding to the guiding part of the target object is determined.
[0027] The target object can refer to an object with a specific skeletal structure, such as a biological entity or a biomimetic mechanical device. The guiding part can refer to the end of the target object used to achieve posture guidance. The guiding part has unique geometric distribution characteristics and / or asymmetric characteristics, such as the head end or limb guiding end of a biological entity, or the sensor guiding unit of a biomimetic mechanical device.
[0028] In practice, the original 3D point cloud data can be pre-collected using devices such as depth cameras or LiDAR to capture the original 3D point cloud data of the target object. The original 3D point cloud data includes multiple points, each of which can be represented as p(x,y,z), where x, y, and z represent the coordinate values along the x-axis, y-axis, and z-axis in a 3D coordinate system. In step 101 above, for example, machine learning models can be used to identify the 3D point cloud data corresponding to the guiding part of the target object within the original 3D point cloud data. The implementation process can refer to existing machine learning model techniques, which will not be elaborated upon here.
[0029] In one embodiment, to improve the efficiency of point cloud data processing, such as Figure 2 As shown, step 101 above can also be achieved in the following way: Step 201: Project the original 3D point cloud data onto a preset 2D plane to obtain the first 2D projection point set; Step 202: Based on the geometric distribution characteristics and / or asymmetric characteristics of the first two-dimensional projection point set, determine the target area point set in the first two-dimensional projection point set; the target area point set is the two-dimensional projection image corresponding to the guide part. Step 203: Determine the 3D point cloud data corresponding to the guiding part of the target object based on the target area point set.
[0030] In specific implementation, in step 201, the original three-dimensional point cloud data can be projected onto a preset two-dimensional plane to obtain the first two-dimensional projection point set. For example, if the original three-dimensional point cloud data is located in a three-dimensional coordinate system, each point of the original three-dimensional point cloud data can be mapped to a two-dimensional plane (such as a two-dimensional plane composed of the x-axis and y-axis) through orthogonal projection along the direction perpendicular to the ground of the three-dimensional coordinate system. During the projection process, the relative positional relationship of the original three-dimensional point cloud data is maintained, and the original three-dimensional coordinates are converted into two-dimensional coordinates through a coordinate transformation matrix to obtain the first two-dimensional projection point set.
[0031] Next, in step 202, the geometric distribution characteristics and / or asymmetric characteristics of the first two-dimensional projection point set can be analyzed by a neural network model to identify the point set region with significant geometric distribution characteristics or asymmetric characteristics in the first two-dimensional projection point set, which is denoted as the target region. The target region is the two-dimensional projection image region corresponding to the guide part.
[0032] Finally, in step 203, the original three-dimensional point cloud data corresponding to each point in the target area point set is the three-dimensional point cloud data corresponding to the guiding part of the target object.
[0033] In this way, by projecting the original 3D point cloud data onto a 2D plane and combining the analysis of the geometric distribution characteristics and asymmetric characteristics of the 2D projected point set, the complexity of point cloud processing can be reduced, the guiding parts of the target object can be identified more accurately and efficiently, and the accuracy and efficiency of point cloud data processing can be improved.
[0034] In step 102 above, after determining the three-dimensional point cloud data corresponding to the guiding part of the target object, the spatial orientation of the original three-dimensional point cloud data can be corrected based on the three-dimensional point cloud data corresponding to the guiding part to obtain the first three-dimensional point cloud data.
[0035] In practical implementation, considering that the guiding part of the target object may have a serious problem of spatial orientation that does not match the expected normalization direction in the actual acquired original point cloud data, this embodiment of the invention can also determine the current spatial orientation of the target object through the three-dimensional point cloud data corresponding to the guiding part. If the current spatial orientation of the target object is inconsistent with the expected normalization direction, the spatial orientation of the original three-dimensional point cloud data of the target object is corrected to ensure that the spatial orientation of the three-dimensional point cloud data is consistent with the expected normalization direction.
[0036] Specifically, the directional position vector of the guide part in the three-dimensional coordinate system can be determined based on the centroid of the three-dimensional point cloud data corresponding to the guide part and the origin of the three-dimensional coordinate system (or the centroid of the original three-dimensional point cloud). The directional position vector of the guide part in the three-dimensional coordinate system is compared with the preset positive direction of the three-dimensional coordinate system. If they are inconsistent, the original three-dimensional point cloud data can be rotated according to a preset rotation angle (the preset rotation angle includes the rotation direction and the rotation angle magnitude, such as 180 degrees clockwise or 180 degrees counterclockwise) to obtain the first three-dimensional point cloud data. If they are consistent, the original three-dimensional point cloud data is used as the first three-dimensional point cloud data.
[0037] In one embodiment, to improve the efficiency of point cloud data processing, step 102 above can also be based on... Figure 2 The obtained two-dimensional projection image corresponding to the guiding part is used to correct the spatial orientation of the original three-dimensional point cloud data, which may specifically include: Based on the position information of the target area point set on the preset two-dimensional plane, determine the direction information of the guiding part; Compare the direction information of the guide part with the preset first direction to determine whether the direction information is consistent with the preset first direction; If the direction information is inconsistent with the preset first direction, the original three-dimensional point cloud data is rotated according to the preset rotation angle to obtain the first three-dimensional point cloud data. If the direction information is consistent with the preset first direction, then the original 3D point cloud data is used as the first 3D point cloud data.
[0038] In practice, the target area point set is the two-dimensional projection image corresponding to the guide part. The position information of the target area point set on the preset two-dimensional plane is the position information of the guide part on the two-dimensional plane. The direction information of the guide part can be determined based on the position information of the guide part on the two-dimensional plane.
[0039] In one embodiment, the direction information of the guide part is determined based on the position information of the target area point set on a preset two-dimensional plane. Specifically, this may include determining the direction information of the guide part based on the relative position vector between the center point of the target area point set and the origin of the preset two-dimensional plane.
[0040] Specifically, the direction information of the guide part can be obtained by calculating the relative position vector of the guide part in the two-dimensional plane using the center point of the target area point set and the origin of the two-dimensional plane. This direction information can represent the current original orientation of the target object. Alternatively, the direction information of the guide part can be determined by using the density distribution of the target area point set, the offset of the feature region from the geometric center, or by direction classification based on deep learning feature vectors.
[0041] Then, the direction information is compared with the preset first direction, which represents the positive direction of the guide part in the two-dimensional plane. If the two are consistent, the target object is considered to be positive, and there is no need to process the orientation of the original three-dimensional point cloud data of the target object. The original three-dimensional point cloud data is used as the first three-dimensional point cloud data. If the two are inconsistent, it means that the orientation of the target object is not positive. Then, the original three-dimensional point cloud data of the target object can be rotated according to the preset rotation angle to obtain the first three-dimensional point cloud data, so that the orientation of the point cloud of the target object is consistent with the expectation at the coarse alignment level. In this way, in subsequent operations, all processing is based on the rotated original three-dimensional point cloud data (i.e., the first three-dimensional point cloud data).
[0042] The preset rotation angle can be 180 degrees clockwise or 180 degrees counterclockwise. Rotating the original 3D point cloud data 180 degrees along the central axis can effectively eliminate the inconsistency in orientation caused by the point cloud being collected under unconstrained conditions on a large scale, providing a standard orientation reference for subsequent high-precision skeleton alignment.
[0043] In step 103 above, in order to eliminate the dynamic interference caused by frequent deformation of irregular guide ends (guide parts) (such as the head-shaking movements of biological entities), it is necessary to remove the point cloud of guide parts that are prone to large-scale dynamic deformation (such as the head of an organism or the moving end of a bionic device), that is, to remove the three-dimensional point cloud data corresponding to the guide parts in the first three-dimensional point cloud data, and obtain the second three-dimensional point cloud data that does not contain the guide parts.
[0044] In step 104 above, the central skeleton point cloud data is extracted from the second three-dimensional point cloud data.
[0045] Among them, the central skeleton point cloud data refers to the set of three-dimensional coordinates of discrete points on the central axis / central axis of the target object, such as point cloud data related to the spine.
[0046] In one embodiment, step 104 above may specifically include: The second three-dimensional point cloud data is divided into multiple regions along a preset second direction to obtain three-dimensional point cloud data of multiple regions. Based on the value of the 3D point cloud data of each region in a preset third direction, at least one target point in each region is determined; Determine the central skeleton point cloud data based on at least one target point in each region.
[0047] In practical implementation, for example, a parallel plane perpendicular to the xy plane can be used to project the second three-dimensional point cloud data P along the x-axis direction (a preset second direction). body The data is divided into multiple regions, resulting in 3D point cloud data for each region. Specifically, the second 3D point cloud data P can be calculated first. body Span in a second direction (e.g., the x-axis direction): the minimum coordinate x in the x-axis direction. min With the maximum coordinate x max The distance between them, i.e., x max -x min Then, based on the preset distance interval d, calculate the number of segmented regions: N = (rounded up)((x...) max -x min Then, initialize a slice container array Slices of length N, with each slice region initially set to N. (Empty set), for the second 3D point cloud data P body For each point p(x,y,z), calculate the slice region index idx that each point falls into, rounded down ((px-x...). min ) / d), where px is the coordinate value in the x-axis direction, idx∈[0,N-1]; thus, the multiple regions Slices[idx] can be obtained.
[0048] Next, the 3D point cloud data of each region can be sorted in descending order of the z-axis values (preset third direction). The top one or more points in the sorted list are selected as the target points for that region. Specifically, the point or more with the largest pz (coordinate value of each point in the z-axis direction) within each region's Slices[idx] are determined. If there are multiple target points in any region, the coordinates of these multiple points are averaged. The target points (or the average value of the target points) of all regions' Slices[idx] are then concatenated in idx order to obtain the central skeleton point cloud data.
[0049] In this way, by slicing the second three-dimensional point cloud data and extracting the central skeleton point cloud data based on at least one point corresponding to the maximum value in a preset third direction within each slice area, the process of central skeleton feature extraction can be simplified, and the efficiency and accuracy of central skeleton feature extraction can be improved.
[0050] It should be noted that in step 104 above, the central skeleton point cloud data can also be extracted from the second-dimensional point cloud data using deep learning methods. This can be achieved by training a deep learning model on a large amount of data to obtain a central skeleton point cloud extraction model. The model construction and training can refer to existing deep learning techniques, which will not be elaborated upon here.
[0051] In step 105 above, the point cloud rotation parameters are determined based on the central skeleton point cloud data.
[0052] In specific implementation, in step 105 above, the point cloud rotation parameters can be determined by using the angle and sign between the principal direction of the central skeleton point cloud data and the preset fourth direction. For example, the principal direction of the central skeleton point cloud data can be determined first through principal component analysis, and then the angle and sign between the principal direction and the preset fourth direction can be calculated to obtain the point cloud rotation parameters.
[0053] In one embodiment, to improve the efficiency of point cloud data processing, step 105 above can also be implemented in the following way: Project the central skeleton point cloud data onto a preset two-dimensional plane to obtain a second two-dimensional projection point set; A linear fit is performed on the second two-dimensional projection point set to obtain the fitted straight line; Determine the slope parameter between the fitted line and the preset fourth direction; The slope parameter is defined as the point cloud rotation parameter.
[0054] In specific implementation, firstly, the central skeleton point cloud data is projected onto a preset two-dimensional plane to obtain a second two-dimensional projection point set. This step can refer to the implementation of step 201 above, and will not be elaborated further here. Then, a linear fitting algorithm is used to linearly fit the second two-dimensional projection point set to obtain a fitted straight line. The linear fitting algorithm can be the least squares method. Next, the slope parameter between the fitted straight line and a preset fourth direction (such as the positive x-axis) is calculated to obtain the point cloud rotation parameters. The point cloud rotation parameters can include the magnitude and direction of the rotation angle.
[0055] In this way, by mapping the central skeleton point cloud data to a two-dimensional plane and then performing linear fitting on it to determine the point cloud rotation parameters, the efficiency and accuracy of point cloud data processing can be improved, while reducing the complexity of point cloud data processing.
[0056] In step 106 above, the first three-dimensional point cloud data can be rotated based on the point cloud rotation parameters. In this way, normalized point cloud data that satisfies the same central axis direction and feature orientation in a unified spatial coordinate system can be obtained.
[0057] In summary, the point cloud data processing method of this invention identifies the three-dimensional point cloud data corresponding to the guiding part of the target object, determines the spatial orientation of the target object based on the three-dimensional point cloud data (or two-dimensional projection image) corresponding to the guiding part, and corrects the spatial orientation of the original three-dimensional point cloud data. This effectively solves the problem of the diversity of (orientation) of three-dimensional point cloud data collected under complex unsteady postures of the target object. It makes the adjustment of the point cloud orientation no longer solely dependent on the geometric statistical characteristics or symmetry assumptions of the target object, ensuring that even when the target object undergoes significant pose changes (such as looking down or turning its head), its overall orientation can still be uniquely and effectively determined, significantly improving the stability of the normalization process.
[0058] Secondly, in this embodiment of the invention, point clouds of guide parts that are prone to pose changes are removed, and then central skeleton point cloud data is extracted from the removed point cloud data. Based on the central skeleton point cloud data, point cloud rotation parameters are determined and fine alignment is performed. This ensures that the normalized point cloud maintains a high degree of consistency in the central axis direction and feature orientation, accurately meeting the stringent requirements for spatial consistency in subsequent high-precision modeling or automated feature extraction.
[0059] Moreover, the point cloud data processing method of the present invention is mainly implemented through geometric projection, position determination and rotation operations. The implementation process is simple and the computational cost is low. In addition, the point cloud data processing method has strong compatibility. Even under uncontrolled conditions, such as local missing or noise interference, it can still ensure a highly consistent normalization result and has strong environmental adaptability. Furthermore, the point cloud data processing method has strong scalability. The method provided in the embodiments of the present invention can be used to process point cloud data of target objects with specific skeleton structures (such as ridge normalization in ridge contrast).
[0060] In order to clearly understand the solution of the present invention, the following uses a cow as the target object to describe the point cloud data processing method provided in the embodiments of the present invention.
[0061] Figure 3 This is a flowchart illustrating a method for processing cow point cloud data according to an embodiment of the present invention. First, the original three-dimensional point cloud data of the cow is acquired (e.g., ...). Figure 4a (As shown); then, the original 3D point cloud data is projected onto a 2D plane to obtain the 2D projection point set of the cow (the first 2D projection point set); by identifying the guiding parts in the 2D projection point set of the cow, the 3D point cloud data corresponding to the guiding parts in the original 3D point cloud data can be obtained (e.g., Figure 4bAs shown in the figure, the direction vector of the guide part in the two-dimensional plane is determined based on the first two-dimensional projection point set, thereby determining the current orientation of the cow; it is determined whether the direction of the guide part is consistent with the preset positive direction (i.e., the first direction). If they are consistent, no compensation rotation operation is needed, and the three-dimensional point cloud data corresponding to the guide part in the original three-dimensional point cloud data (here, the original three-dimensional point cloud data is equivalent to the first three-dimensional point cloud data) is directly removed; if they are inconsistent, a compensation rotation operation is performed on the original three-dimensional point cloud data, such as rotating it 180 degrees, to obtain the following: Figure 4c The third-dimensional point cloud data shown (i.e., the first three-dimensional point cloud data) is then removed. Figure 4c The guide portion of the third-dimensional point cloud data shown is corresponding to the three-dimensional point cloud data, resulting in the following: Figure 4d The three-dimensional point cloud data shown (second three-dimensional point cloud data); then, based on Figure 4d The 3D point cloud data shown is used to extract the central skeleton point cloud (e.g.) Figure 4e As shown), the central skeleton point cloud is projected onto a two-dimensional plane to obtain a two-dimensional projection point set (second two-dimensional projection point set) of the central skeleton point cloud; a linear fit is performed on the two-dimensional projection point set of the central skeleton point cloud, and the slope parameter of the fitted line with the preset reference axis is determined as the point cloud rotation parameter; based on the point cloud rotation parameter, the point cloud data (first three-dimensional point cloud data) is rotated to obtain normalized three-dimensional point cloud data (e.g., Figure 4f (As shown).
[0062] Therefore, in this embodiment of the invention, the orientation of the overall point cloud is corrected based on the direction of the guiding part of the target object in the original 3D point cloud data, and then the point cloud corresponding to the guiding part in the corrected point cloud is removed. The central skeleton point cloud data is extracted from the removed point cloud data, and then the point cloud rotation parameters are obtained based on the central skeleton point cloud data. The point cloud data is then rotated based on these rotation parameters. This method effectively solves the problem of orientation diversity in 3D point cloud data collected under complex, unsteady postures of the target object, and greatly reduces the impact of dynamic deformation regions on the extraction of the central skeleton. By identifying the guiding part of the target object in the point cloud, correcting the orientation of the overall point cloud based on the direction of the guiding part, and then removing the guiding part point cloud that is prone to pose changes, stable central skeleton features are extracted and finely aligned. This ensures that the normalized point cloud maintains a high degree of consistency in the central axis direction and feature orientation, accurately meeting the stringent requirements for spatial consistency in subsequent high-precision modeling or automated feature extraction.
[0063] This invention also provides a point cloud data processing apparatus, as described in the following embodiments. Since the principle by which this apparatus solves the problem is similar to the point cloud data processing method described above, the implementation of this method can refer to the implementation of the point cloud data processing method, and repeated details will not be elaborated further.
[0064] like Figure 5 The diagram shown is a schematic of a point cloud data processing device provided in an embodiment of the present invention. The device may include the following steps: The guide part determination module 501 is used to determine the three-dimensional point cloud data corresponding to the guide part of the target object based on the original three-dimensional point cloud data of the target object; the guide part is the end of the target object used to achieve posture guidance; Orientation correction module 502 is used to correct the spatial orientation of the original three-dimensional point cloud data based on the three-dimensional point cloud data corresponding to the guide part, so as to obtain the first three-dimensional point cloud data. The point cloud removal module 503 is used to remove the three-dimensional point cloud data corresponding to the guide part in the first three-dimensional point cloud data to obtain the second three-dimensional point cloud data. The skeleton extraction module 504 is used to extract the central skeleton point cloud data from the second three-dimensional point cloud data; The rotation parameter determination module 505 is used to determine the rotation parameters of the point cloud based on the central skeleton point cloud data; The rotation module 506 is used to rotate the first three-dimensional point cloud data based on the point cloud rotation parameters to obtain normalized three-dimensional point cloud data.
[0065] In one embodiment, the guide portion determining module 501 can be specifically used for: The original 3D point cloud data is projected onto a preset 2D plane to obtain the first 2D projection point set; Based on the geometric distribution characteristics and / or asymmetric characteristics of the first two-dimensional projection point set, the target region point set in the first two-dimensional projection point set is determined; the target region point set is the two-dimensional projection image corresponding to the guide part. Based on the point set of the target area, determine the 3D point cloud data corresponding to the guiding part of the target object.
[0066] In one embodiment, the orientation correction module 502 can be specifically used for: Based on the position information of the target area point set on the preset two-dimensional plane, determine the direction information of the guiding part; The direction information of the guide portion is compared with a preset first direction to determine whether the direction information is consistent with the preset first direction. If the direction information is inconsistent with the preset first direction, the original three-dimensional point cloud data is rotated according to the preset rotation angle to obtain the first three-dimensional point cloud data. If the direction information is consistent with the preset first direction, then the original three-dimensional point cloud data is used as the first three-dimensional point cloud data.
[0067] In one embodiment, the orientation correction module 502 can also be used for: The direction information of the guiding part is determined based on the relative position vector between the center point of the target area point set and the origin of the preset two-dimensional plane.
[0068] In one embodiment, the skeleton extraction module 504 can be specifically used for: The second three-dimensional point cloud data is divided into multiple regions along a preset second direction to obtain three-dimensional point cloud data of multiple regions. Based on the value of the 3D point cloud data of each region in a preset third direction, at least one target point in each region is determined; Determine the central skeleton point cloud data based on at least one target point in each region.
[0069] In one embodiment, the rotation parameter determination module 505 can be specifically used for: Project the central skeleton point cloud data onto a preset two-dimensional plane to obtain a second two-dimensional projection point set; A linear fit is performed on the second two-dimensional projection point set to obtain the fitted straight line; Determine the slope parameter between the fitted line and the preset fourth direction; The slope parameter is defined as the point cloud rotation parameter.
[0070] This invention also provides a computer device. Figure 6 This is a schematic diagram of a computer device in an embodiment of the present invention. The computer device 600 includes a memory 610, a processor 620, and a computer program 630 stored in the memory 610 and executable on the processor 620. When the processor 620 executes the computer program 630, it implements the above-mentioned point cloud data processing method.
[0071] This invention also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described point cloud data processing method.
[0072] This invention also provides a computer program product, which includes a computer program that, when executed by a processor, implements the above-described point cloud data processing method.
[0073] In this embodiment of the invention, based on the original three-dimensional point cloud data of the target object, the three-dimensional point cloud data corresponding to the guiding part of the target object is determined; the guiding part is the end of the target object used for attitude guidance; based on the three-dimensional point cloud data corresponding to the guiding part, the spatial orientation of the original three-dimensional point cloud data is corrected to obtain the first three-dimensional point cloud data; the three-dimensional point cloud data corresponding to the guiding part in the first three-dimensional point cloud data is removed to obtain the second three-dimensional point cloud data; the central skeleton point cloud data is extracted from the second three-dimensional point cloud data; based on the central skeleton point cloud data, the point cloud rotation parameters are determined; based on the point cloud rotation parameters, the first three-dimensional point cloud data is rotated to obtain the normalized three-dimensional point cloud data. Compared with existing point cloud processing methods, this invention firstly identifies the 3D point cloud data corresponding to the guide parts on the target object used for attitude guidance, and corrects the spatial orientation of the target object based on the 3D point cloud data corresponding to the guide parts. This allows for a unique and effective correction of the overall spatial orientation of the target object even when there are significant pose changes (such as head tilting or turning), providing a standard directional reference for the normalization process. Moreover, after correcting the spatial orientation of the target object, the 3D point cloud data corresponding to the guide parts of the target object is removed from the 3D point cloud data, which effectively isolates the interference of local offset or missing point clouds on the overall point cloud normalization. Then, the central skeleton point cloud data is extracted from the removed 3D point cloud data, and the point cloud rotation parameters are determined. Since the central skeleton point cloud data has strong stability, it can be used as a reference for rotation alignment, which can improve the normalization accuracy when the target object is in an unsteady posture, thereby meeting the needs of high-precision modeling or automated measurement.
[0074] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0075] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0076] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0077] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0078] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for processing point cloud data, characterized in that, include: Based on the original three-dimensional point cloud data of the target object, determine the three-dimensional point cloud data corresponding to the guiding part of the target object; The guiding part is the end portion of the target object used for attitude guidance; Based on the three-dimensional point cloud data corresponding to the guide part, the spatial orientation of the original three-dimensional point cloud data is corrected to obtain the first three-dimensional point cloud data. The three-dimensional point cloud data corresponding to the guide part in the first three-dimensional point cloud data is removed to obtain the second three-dimensional point cloud data. Extract the central skeleton point cloud data from the second 3D point cloud data; Based on the central skeleton point cloud data, determine the point cloud rotation parameters; Based on the point cloud rotation parameters, the first three-dimensional point cloud data is rotated to obtain normalized three-dimensional point cloud data.
2. The method as described in claim 1, characterized in that, The step of determining the 3D point cloud data corresponding to the guide portion of the target object based on the original 3D point cloud data of the target object includes: The original three-dimensional point cloud data is projected onto a preset two-dimensional plane to obtain a first two-dimensional projection point set; Based on the geometric distribution characteristics and / or asymmetric characteristics of the first two-dimensional projection point set, the target region point set in the first two-dimensional projection point set is determined; the target region point set is the two-dimensional projection image corresponding to the guide part. Based on the target area point set, determine the three-dimensional point cloud data corresponding to the guiding part of the target object.
3. The method as described in claim 2, characterized in that, The step of correcting the spatial orientation of the original three-dimensional point cloud data based on the three-dimensional point cloud data corresponding to the guiding part to obtain the first three-dimensional point cloud data includes: Based on the position information of the target area point set on a preset two-dimensional plane, determine the direction information of the guide part; The direction information of the guide portion is compared with a preset first direction to determine whether the direction information is consistent with the preset first direction. If the direction information is inconsistent with the preset first direction, the original three-dimensional point cloud data is rotated according to the preset rotation angle to obtain the first three-dimensional point cloud data. If the direction information is consistent with the preset first direction, then the original three-dimensional point cloud data is used as the first three-dimensional point cloud data.
4. The method as described in claim 3, characterized in that, The step of determining the direction information of the guiding part based on the position information of the target area point set on a preset two-dimensional plane includes: The direction information of the guiding part is determined based on the relative position vector between the center point of the target area point set and the origin of the preset two-dimensional plane.
5. The method as described in claim 1, characterized in that, The step of extracting the central skeleton point cloud data from the second three-dimensional point cloud data includes: The second three-dimensional point cloud data is divided into multiple regions along a preset second direction to obtain three-dimensional point cloud data of multiple regions. Based on the value of the 3D point cloud data of each region in a preset third direction, at least one target point in each region is determined; Determine the central skeleton point cloud data based on at least one target point in each region.
6. The method as described in claim 1, characterized in that, Based on the central skeleton point cloud data, the point cloud rotation parameters are determined, including: The central skeleton point cloud data is projected onto a preset two-dimensional plane to obtain a second two-dimensional projection point set; A linear fit is performed on the second two-dimensional projection point set to obtain the fitted straight line; Determine the slope parameter between the fitted straight line and the preset fourth direction; The slope parameter is determined as the point cloud rotation parameter.
7. A point cloud data processing device, characterized in that, include: The guide part determination module is used to determine the three-dimensional point cloud data corresponding to the guide part of the target object based on the original three-dimensional point cloud data of the target object; The guiding part is the end portion of the target object used for attitude guidance; An orientation correction module is used to correct the spatial orientation of the original three-dimensional point cloud data based on the three-dimensional point cloud data corresponding to the guiding part, thereby obtaining the first three-dimensional point cloud data. The point cloud removal module is used to remove the three-dimensional point cloud data corresponding to the guide part in the first three-dimensional point cloud data to obtain the second three-dimensional point cloud data. The skeleton extraction module is used to extract the central skeleton point cloud data from the second three-dimensional point cloud data; The rotation parameter determination module is used to determine the rotation parameters of the point cloud based on the central skeleton point cloud data. The rotation module is used to rotate the first three-dimensional point cloud data based on the point cloud rotation parameters to obtain normalized three-dimensional point cloud data.
8. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the point cloud data processing method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the point cloud data processing method according to any one of claims 1 to 6.
10. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the point cloud data processing method according to any one of claims 1 to 6.