Suspension spring point cloud data denoising method and device and computing device
By processing suspension spring point cloud data using region growing and clustering algorithms and removing noisy data points, the problem of insufficient accuracy in existing suspension spring point cloud data denoising methods is solved, and high-precision 3D measurement is achieved.
Patent Information
- Application Number
- CN202411460427.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-18
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2044-10-18
AI Technical Summary
Existing methods for denoising suspension spring point cloud data rely on noise distribution assumptions, which cannot meet the requirements of high-precision measurement, resulting in insufficient accuracy and efficiency in 3D measurement.
By acquiring suspension spring point cloud data collected by 3D sensors, and using region growing and clustering algorithms, based on the normal vector and curvature difference of the data points, noisy data points in the first and second layers are deleted to obtain a set of normal data points for 3D measurement.
It effectively filters out cluttered noise in suspension spring point cloud data, simplifies the measurement process, improves the accuracy of three-dimensional measurement, and meets the requirements of high-precision measurement.
Smart Images

Figure CN119273579B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of three-dimensional measurement technology, and in particular to a method, device and computing equipment for denoising point cloud data of suspension springs. Background Technology
[0002] As a key component of the automotive suspension system, the quality defects of suspension springs seriously affect the safety of vehicle operation. With the development of the automotive industry and the gradual increase in quality control requirements, traditional automotive component testing methods can no longer meet the higher requirements for testing capabilities and efficiency.
[0003] Currently, 3D sensors such as laser rangefinders are widely used in the field of 3D measurement due to their reliable measurement accuracy, high efficiency, and non-contact operation. However, in practical engineering applications, the data acquisition process of 3D sensors is affected by environmental interference and the surface characteristics of the measured object, resulting in the acquisition of point cloud data containing a large amount of noise, which seriously interferes with subsequent measurement processes and measurement accuracy.
[0004] Denoising suspension spring point cloud data is a crucial step in achieving three-dimensional measurement of suspension springs, and the denoising capability directly affects the complexity of the measurement method and the accuracy of the measurement results. However, existing denoising methods widely used in technology rely on assumptions about the distribution of noise, and their noise filtering capabilities cannot meet the high-precision measurement requirements of suspension springs.
[0005] Therefore, a method for denoising suspension spring point cloud data is needed to solve the problems existing in the above technical solutions. Summary of the Invention
[0006] Therefore, the present invention provides a method and apparatus for denoising suspension spring point cloud data to solve or at least alleviate the above-mentioned problems.
[0007] According to one aspect of the present invention, a method for denoising point cloud data of a suspension spring is provided, executed in a computing device, comprising: acquiring first point cloud data of a suspension spring collected by a three-dimensional sensor, wherein a plurality of data points in the first point cloud data include a plurality of normal data points and a plurality of noise data points, the plurality of noise data points including a first layer of noise data points and a second layer of noise data points, the first layer of noise data points representing data points that have errors with the actual contour of the suspension spring, and the second layer of noise data points representing data points that do not belong to the contour of the suspension spring; determining the normal vector of each data point in the first point cloud data based on the point cloud radius neighborhood of each data point, wherein the point cloud radius neighborhood of the data points represents the normal vector of each data point in the first point cloud data. The data point is a local area within a specified radius of a sphere centered on the first point cloud data. Based on the normal vectors of each data point in the first point cloud data, a region growing algorithm is used to delete the first layer of noisy data points in the first point cloud data to obtain the second point cloud data. Each data point in the second point cloud data is assigned a clustering label value corresponding to its category. The first layer of noisy data points includes data points whose normal vector difference with their nearest neighbors is greater than a first threshold. Using a clustering algorithm, the second layer of noisy data points in the second point cloud data is deleted to obtain a set of normal data points. This set of normal data points is used to perform three-dimensional measurements on the suspension spring. The second layer of noisy data points includes data points whose clustering label values are inconsistent with those of the normal data points.
[0008] Optionally, in the suspension spring point cloud data denoising method according to the present invention, deleting the first layer of noise data points in the first point cloud data includes: for each data point in the first point cloud data, determining whether the difference in normal vectors between the data point and its nearest neighbor is greater than a first threshold; if the difference in normal vectors is greater than the first threshold, then the data point is determined as a first layer of noise data point and deleted.
[0009] Optionally, in the suspension spring point cloud data denoising method according to the present invention, the first label value of each data point in the first point cloud data is pre-assigned a default value; based on the normal vector of each data point in the first point cloud data, a region growing algorithm is used to delete the first layer of noisy data points in the first point cloud data, including: selecting the extreme value data point with the smallest curvature from each data point in the first point cloud data as a first reference point, and assigning the first label value of the first reference point as a reference value, wherein the reference value is inconsistent with the first label value of each data point in the first point cloud data; obtaining each nearest neighbor point corresponding to the first reference point based on the radius neighborhood nearest neighbor index data of the first point cloud data; traversing and judging whether the difference in normal vector between each nearest neighbor point corresponding to the first reference point and the first reference point is greater than a first threshold; if the difference in normal vector between the nearest neighbor point and the first reference point is greater than a first threshold, the method further includes ... method further includes: selecting the extreme value data point with the smallest curvature from each data point in the first point cloud data as a first reference point, and assigning the first label value of the first reference point as a reference value, wherein the method further includes: selecting the extreme value data point with the smallest If the difference in normal vectors is greater than a first threshold, the nearest neighbor is identified as a first-layer noise data point and deleted. If the difference in normal vectors between the nearest neighbor and the first reference point is less than or equal to the first threshold, the nearest neighbor is identified as an in-class point of the first reference point, and the first label value of the nearest neighbor is assigned to the reference value. Here, an in-class point of the first reference point represents a data point belonging to the same local region as the first reference point. The curvature difference between each in-class point of the first reference point and the first reference point is traversed and determined to be less than a second threshold, until the curvature difference between each in-class point of the first reference point and the first reference point is greater than or equal to the second threshold. The above steps are iteratively executed until the first label value of each remaining data point of the first point cloud data is a non-default value. Then, the second point cloud data is obtained based on the remaining data points of the first point cloud data.
[0010] Optionally, in the suspension spring point cloud data denoising method according to the present invention, traversing and determining whether the curvature difference between each intra-class point of the first reference point and the first reference point is less than a second threshold, until the curvature difference between each intra-class point of the first reference point and the first reference point is greater than or equal to the second threshold, includes: traversing and determining whether the curvature difference between each intra-class point of the first reference point and the first reference point is less than the second threshold; if the curvature difference between at least one intra-class point and the first reference point is less than the second threshold, then the at least one intra-class point is determined as a second reference point, a second reference point set is formed based on the determined second reference points, and the first reference point is moved to the second reference point set; continuing to traverse and determine whether the normal vector difference between each nearest neighbor point corresponding to the first reference point and the first reference point is greater than a first threshold, until the curvature difference between each intra-class point of the first reference point and the first reference point is greater than or equal to the second threshold.
[0011] Optionally, in the suspension spring point cloud data denoising method according to the present invention, the above steps are iteratively executed until the first label values of all remaining data points of the first point cloud data are non-default values. Then, the second point cloud data is obtained based on the remaining data points of the first point cloud data. This includes: if the curvature difference between each intra-class point of the first reference point and the first reference point is greater than or equal to a second threshold, then determining whether the first label values of all remaining data points of the first point cloud data are non-default values; if at least one default value exists among the first label values of the remaining data points of the first point cloud data, then selecting the extreme data point with the smallest curvature from the remaining data points of the first point cloud data again as a new first reference point, assigning the first label value of the new first reference point as a reference value, and continuing to execute subsequent steps; if the first label values of all remaining data points of the first point cloud data are non-default values, then the second point cloud data is obtained based on the remaining data points of the first point cloud data.
[0012] Optionally, in the suspension spring point cloud data denoising method according to the present invention, a clustering algorithm is used to delete the second layer of noisy data points in the second point cloud data to obtain a normal data point set, including: determining the number of cluster label values of all data points in the second point cloud data; establishing multiple data point sets based on the number of cluster label values, wherein each data point set corresponds to a cluster label value category; traversing and obtaining each data point in the second point cloud data; placing the data point into the corresponding data point set based on the cluster label value category of the data point, until the second point cloud data is an empty set; determining the number of data points in each data point set; determining the data point set with the largest number of data points among the multiple data point sets as the normal data point set; and determining each data point in each data point set other than the normal data point set among the multiple data point sets as second layer noise data points and deleting them.
[0013] Optionally, in the suspension spring point cloud data denoising method according to the present invention, before selecting the extreme data point with the smallest curvature from each data point of the first point cloud data as the first reference point, the method further includes: determining the curvature of each data point in the first point cloud data based on the covariance matrix of the nearest neighbor points in the point cloud radius neighborhood of each data point in the first point cloud data.
[0014] Optionally, in the suspension spring point cloud data denoising method according to the present invention, the three-dimensional sensor includes one or more of a laser rangefinder, a laser profilometer, and a structured light sensor.
[0015] According to one aspect of the present invention, a suspension spring point cloud data denoising device is provided, deployed in a computing device, comprising: an acquisition unit adapted to acquire first point cloud data of a suspension spring collected by a three-dimensional sensor, wherein multiple data points in the first point cloud data include multiple normal data points and multiple noise data points, the multiple noise data points including a first layer of noise data points and a second layer of noise data points, the first layer of noise data points representing data points that have errors with the actual contour of the suspension spring, and the second layer of noise data points representing data points that do not belong to the contour of the suspension spring; and a determination unit adapted to determine the normal vector of each data point in the first point cloud data based on the point cloud radius neighborhood of each data point, wherein the point cloud radius neighborhood of each data point represents the normal vector of each data point in the first point cloud data. The first noise reduction unit is adapted to delete the first layer of noisy data points in the first point cloud data based on the normal vectors of each data point in the first point cloud data and using a region growing algorithm to obtain the second point cloud data, and to assign a clustering label value of the corresponding category to each data point in the second point cloud data, wherein the first layer of noisy data points includes each data point whose normal vector difference with its nearest neighbor is greater than a first threshold; the second noise reduction unit is adapted to delete the second layer of noisy data points in the second point cloud data using a clustering algorithm to obtain a set of normal data points, so as to perform three-dimensional measurement of the suspension spring based on the set of normal data points, wherein the second layer of noisy data points includes each data point whose clustering label value is inconsistent with that of the normal data points.
[0016] According to one aspect of the present invention, a computing device is provided, comprising: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, the program instructions including instructions for performing the suspension spring point cloud data denoising method as described above.
[0017] According to one aspect of the present invention, a computer program product is provided, comprising a computer program / instructions, wherein the computer program / instructions, when executed by a processor, implement the method as described above.
[0018] According to one aspect of the present invention, a readable storage medium storing program instructions is provided, which, when read and executed by a computing device, causes the computing device to perform the suspension spring point cloud data denoising method as described above.
[0019] According to the technical solution of the present invention, a method for denoising suspension spring point cloud data is provided. After acquiring the first point cloud data of the suspension spring collected by a three-dimensional sensor, the normal vector of each data point is determined based on the point cloud radius neighborhood of each data point in the first point cloud data. Then, a region growing algorithm is used to delete the first layer of noisy data points (including data points whose normal vector difference with their nearest neighbors is greater than a first threshold) in the first point cloud data to obtain the second point cloud data. Each data point in the second point cloud data is assigned a clustering label value corresponding to its category. Finally, a clustering algorithm is used to delete the second layer of noisy data points (including data points whose clustering label values are inconsistent with those of normal data points) in the second point cloud data to obtain a set of normal data points, so that the suspension spring can be measured in three dimensions based on the set of normal data points. Thus, according to the technical solution of the present invention, various kinds of messy noise in the suspension spring point cloud data collected by a three-dimensional sensor can be effectively filtered out, improving the denoising capability. Using the denoised normal data point set of the present invention to perform three-dimensional measurement of the suspension spring can simplify the measurement process and data processing process, improve the three-dimensional measurement accuracy of the suspension spring, and meet the requirements of high-precision measurement.
[0020] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and in order to make the above and other objects, features and advantages of the present invention more apparent and understandable, specific embodiments of the present invention are described below. Attached Figure Description
[0021] To achieve the foregoing and related objectives, certain illustrative aspects are described herein in conjunction with the following description and accompanying drawings. These aspects indicate various ways in which the principles disclosed herein may be practiced, and all aspects and their equivalents are intended to fall within the scope of the claimed subject matter. The foregoing and other objectives, features, and advantages of the invention will become more apparent from the following detailed description, taken in conjunction with the accompanying drawings. Throughout the invention, the same reference numerals generally refer to the same parts or elements.
[0022] Figure 1 A schematic diagram of a computing device 100 provided according to an embodiment of the present invention is shown;
[0023] Figure 2 A flowchart illustrating a method 200 for denoising point cloud data of suspension springs according to an embodiment of the present invention is shown.
[0024] Figure 3 A schematic diagram of the distribution of noise points in the first layer according to an embodiment of the present invention is shown;
[0025] Figure 4 A schematic diagram of the distribution of noise points in the second layer according to an embodiment of the present invention is shown;
[0026] Figure 5 A flowchart illustrating step 230 of a suspension spring point cloud data denoising method provided according to an embodiment of the present invention is shown.
[0027] Figure 6 A flowchart illustrating step 240 of a suspension spring point cloud data denoising method provided in an embodiment of the present invention is shown.
[0028] Figure 7 A schematic diagram of a suspension spring point cloud data denoising device 700 provided according to an embodiment of the present invention is shown. Detailed Implementation
[0029] Exemplary embodiments of the invention will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this invention will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
[0030] To address the problem that existing denoising methods for suspension spring point cloud data rely on noise distribution assumptions and cannot meet the high-precision measurement requirements of suspension springs, this invention proposes a denoising method for suspension spring point cloud data. This method can effectively filter out cluttered noise in suspension spring point cloud data acquired by 3D sensors, thereby simplifying subsequent measurement and data processing procedures, improving the 3D measurement accuracy of suspension springs, and meeting the requirements for high-precision measurement.
[0031] The suspension spring point cloud data denoising method in this embodiment of the invention can be executed in a computing device.
[0032] The embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
[0033] Figure 1 A schematic diagram of a computing device 100 according to an embodiment of the present invention is shown. Figure 1 As shown, in a basic configuration, computing device 100 includes at least one processing unit 102 and system memory 104. According to one aspect, depending on the configuration and type of the computing device, the processing unit 102 may be implemented as a processor. System memory 104 includes, but is not limited to, volatile memory (e.g., random access memory), non-volatile memory (e.g., read-only memory), flash memory, or any combination of such memories. According to one aspect, system memory 104 includes an operating system 105.
[0034] According to one aspect, operating system 105 is, for example, suitable for controlling the operation of computing device 100. Furthermore, examples are practiced in conjunction with graphics libraries, other operating systems, or any other applications, and are not limited to any particular application or system. Figure 1 The basic configuration is illustrated by the components within the dashed lines. According to one aspect, the computing device 100 has additional features or functions. For example, according to one aspect, the computing device 100 includes additional data storage devices (removable and / or non-removable), such as disks, optical discs, or magnetic tapes. This additional storage... Figure 1 The middle part is shown by removable storage device 109 and non-removable storage device 110.
[0035] As stated above, according to one aspect, program module 103 is stored in system memory 104. According to one aspect, program module 103 may include one or more applications. The present invention does not limit the type of application; for example, applications may include: email and contact applications, word processing applications, spreadsheet applications, database applications, slideshow applications, drawing or computer-aided applications, web browser applications, etc.
[0036] According to one aspect, program module 103 may include a plurality of program instructions adapted to perform the suspension spring point cloud data denoising method 200 of the present invention, such that computing device 100 is configured to perform the suspension spring point cloud data denoising method 200 of the present invention.
[0037] According to one aspect, program module 103 may include a suspension spring point cloud data denoising device 700, which may be configured to perform the suspension spring point cloud data denoising method 200 of the present invention.
[0038] According to one aspect, examples can be practiced on circuits including discrete electronic components, packaged or integrated electronic chips containing logic gates, circuits utilizing microprocessors, or on a single chip containing electronic components or a microprocessor. For example, it can be practiced via wherein... Figure 1Each or many of the components shown can be implemented as an example by integrating a System-on-a-Chip (SOC) on a single integrated circuit. According to one aspect, such an SOC device may include one or more processing units, graphics units, communication units, system virtualization units, and various application functions, all integrated (or “burned in”) as a single integrated circuit onto a chip substrate. When operating via the SOC, the functions described herein can be operated via dedicated logic integrated on a single integrated circuit (chip) with other components of the computing device 100. Embodiments of the invention can also be implemented using other techniques capable of performing logical operations (e.g., AND, OR, and NOT), including but not limited to mechanical, optical, fluid, and quantum technologies. Additionally, embodiments of the invention can be implemented within a general-purpose computer or in any other circuit or system.
[0039] According to one aspect, computing device 100 may also have one or more input devices 112, such as a keyboard, mouse, pen, voice input device, touch input device, etc. It may also include output devices 114, such as a display, speaker, printer, etc. The foregoing devices are examples and other devices may also be used. Computing device 100 may include one or more communication connections 116 that allow communication with other computing devices 118. Examples of suitable communication connections 116 include, but are not limited to: RF transmitter, receiver and / or transceiver circuitry; Universal Serial Bus (USB), parallel and / or serial ports.
[0040] As used herein, the term computer-readable medium includes computer storage medium. Computer storage medium can include volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information (e.g., computer-readable instructions, data structures, or program module 103). System memory 104, removable storage device 109, and non-removable storage device 110 are examples of computer storage media (i.e., memory storage). Computer storage media can include random access memory (RAM), read-only memory (ROM), electrically erasable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical storage, magnetic tape, magnetic tape, disk storage or other magnetic storage devices, or any other article of manufacture that can be used to store information and is accessible by computing device 100. According to one aspect, any such computer storage medium can be part of computing device 100. Computer storage media does not include carrier waves or other transmitted data signals.
[0041] According to one aspect, the communication medium is implemented by computer-readable instructions, data structures, program modules 103, or other data in a modulated data signal (e.g., a carrier wave or other transmission mechanism), and includes any information transmission medium. According to one aspect, the term "modulated data signal" describes a signal having one or more sets of characteristics or altered in a manner that encodes information in the signal. By way of example and not limitation, the communication medium includes wired media such as wired networks or direct wired connections, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.
[0042] In an embodiment of the present invention, a computing device 100 is configured to perform the suspension spring point cloud data denoising method 200 of the present invention. The computing device 100 includes one or more processors and one or more readable storage media storing program instructions, which, when configured to be executed by the one or more processors, cause the computing device to perform the suspension spring point cloud data denoising method 200 of the present invention.
[0043] Figure 2 A schematic flowchart of a suspension spring point cloud data denoising method 200 according to an embodiment of the present invention is shown. The suspension spring point cloud data denoising method 200 can be executed in a computing device (e.g., the aforementioned computing device 100).
[0044] like Figure 2 As shown, the suspension spring point cloud data denoising method 200 includes the following steps 210 to 240.
[0045] Step 210: The computing device 100 acquires the first point cloud data (i.e., the initial point cloud data, which contains a set of multiple data points) of the suspension spring collected by the three-dimensional sensor. Among them, the multiple data points in the first point cloud data include multiple normal data points and multiple noise data points, and the multiple noise data points include first layer noise data points and second layer noise data points.
[0046] In embodiments of the present invention, the first point cloud data may be a collection of multiple data points of the suspension spring acquired by various three-dimensional sensors. The three-dimensional sensors used to acquire the first point cloud data of the suspension spring may include, for example, a laser rangefinder, a laser profilometer, or a structured light sensor, but are not limited thereto. In some embodiments, the three-dimensional sensor may include one or more of a laser rangefinder, a laser profilometer, and a structured light sensor.
[0047] Figure 3 A schematic diagram of the distribution of noise points in the first layer according to an embodiment of the present invention is shown. Figure 4 A schematic diagram of the distribution of noise points in the second layer according to an embodiment of the present invention is shown. Figure 3 and Figure 4As shown, the first layer of noise data points represents data points that deviate from the actual contour of the suspension spring, while the second layer represents data points that do not belong to the suspension spring contour (non-suspension spring parts). For example, when using a laser profilometer to measure the contour of a suspension spring, factors such as ambient light interference, the surface characteristics of the measured object, and the accuracy of the laser profilometer cause a certain error between the contour data (first point cloud data) measured by the laser profilometer and the actual contour of the suspension spring. The data points in the first point cloud data that deviate from the actual contour of the suspension spring are the first layer of noise points. As another example, the contour data points of the suspension spring mounting fixture and the contour data points of obstructing objects are not part of the suspension spring and do not belong to the suspension spring contour; these are the second layer of noise points.
[0048] In addition, in embodiments of the present invention, normal data points refer to data points that are noise-free and belong to the suspension spring profile.
[0049] Step 220: The computing device 100 can determine the normal vector of each data point in the first point cloud data based on the point cloud radius neighborhood of each data point in the first point cloud data. That is, for each data point in the first point cloud data, the normal vector of that data point can be determined based on the point cloud radius neighborhood of that data point.
[0050] It should be noted that the point cloud radius neighborhood of a data point represents a local region within the first point cloud data that is within a sphere of a specified radius centered on that data point.
[0051] In embodiments of the present invention, the computing device 100 can determine the normal vector of each data point in the first point cloud data based on the nearest neighbors of the point cloud radius of each data point. It should be noted that the nearest neighbors of the point cloud radius of a data point represent the set of data points within a local region of a sphere of a specified radius centered on the data point in the first point cloud data. For example, in some embodiments, for each data point in the first point cloud data, a plane can be fitted based on the nearest neighbors of the point cloud radius of that data point, and the normal direction of that plane can be determined as the normal vector of that data point.
[0052] Step 230: Based on the normal vectors of each data point in the first point cloud data, the computing device 100 can use a region growing algorithm to delete the first layer of noisy data points in the first point cloud data to obtain the second point cloud data. It can also assign clustering label values of corresponding categories to each data point in the second point cloud data (different clustering label values can be assigned to each data point).
[0053] Here, the first layer of noise data points to be deleted includes all data points whose normal vector difference with their nearest neighbors is greater than a first threshold. In other words, the normal vector difference between any data point in the first layer of noise data and its nearest neighbors is greater than the first threshold. It should be noted that the normal vector difference refers to the absolute value obtained by taking the dot product of the normal vectors of two data points.
[0054] like Figure 3 As shown, when using a laser profilometer to measure the profile of a suspension spring, factors such as ambient light interference, surface characteristics of the object being measured, and the accuracy of the laser profilometer cause the profile data (first point cloud data) collected by the laser profilometer to deviate from the actual profile of the suspension spring, resulting in one or more stray noise data points. The normal vector direction of these noise data points differs significantly from the normal vector direction of the actual profile of the suspension spring. These noise data points can be classified as the first layer of noise data points.
[0055] In an embodiment of the present invention, in step 230, the computing device 100 can determine whether the difference between the normal vector of each data point and its nearest neighbor is greater than a first threshold for each data point in the first point cloud data. If the difference between the normal vectors is greater than the first threshold, the data point is identified as a first layer noise data point and deleted.
[0056] Step 240: The computing device 100 can use a clustering algorithm to delete the second layer of noisy data points in the second point cloud data, obtaining a set of normal data points. Then, the suspension spring can be measured in three dimensions based on the set of normal data points.
[0057] Here, the deleted second-layer noise data points include individual data points (and groups of data points) whose cluster label values are inconsistent with those of normal data points. In other words, the cluster label value of any data point in the second-layer noise data points is inconsistent with the cluster label value of a normal data point.
[0058] like Figure 4 As shown, when using a laser profilometer to measure the profile of a suspension spring, the profile data (first point cloud data) collected by the laser profilometer contains profile data points of the suspension spring mounting fixture and profile data points of the obstructing object. These profile data points are the second layer of noise points that do not belong to the suspension spring profile (non-suspension spring part). The second layer of noise points are at a large distance in space from the suspension spring point cloud data.
[0059] In an embodiment of the present invention, in step 240, the computing device 100 can determine whether the cluster label value of each data point in the second point cloud data is consistent with the cluster label value of the normal data point (i.e., whether the category of the cluster label value is consistent). If the cluster label value of the data point is inconsistent with the cluster label value of the normal data point, the data point is determined as a second-layer noise data point and deleted.
[0060] In some embodiments, the first label value of each data point in the first point cloud data can be pre-assigned a default value. After acquiring the first point cloud data of the suspension spring collected by the three-dimensional sensor, the first label value of each data point in the first point cloud data can also be acquired.
[0061] Figure 5 The diagram shows a flowchart of step 230 in a method for denoising point cloud data of suspension springs according to an embodiment of the present invention.
[0062] like Figure 5 As shown, step 230 further includes the following steps 231 to 239.
[0063] Step 231: The computing device 100 selects the extreme data point with the smallest curvature from all data points of the first point cloud data as the first reference point. In other words, it selects an extreme data point from all data points of the first point cloud data and uses this extreme data point as the first reference point. Specifically, the extreme data point can be the data point with the default first label value and the smallest curvature among all data points of the first point cloud data. Subsequently, the computing device 100 can assign the first label value of the first reference point to a reference value, that is, change the first label value of the first reference point from the original default value to a reference value.
[0064] It should be noted that the reference value is inconsistent with the first label value of each data point in the first point cloud data. The reference value is different from the default value. Specifically, the reference value can be a predetermined integer value.
[0065] In some embodiments, before performing step 231 (selecting the extreme data point with the smallest curvature from each data point of the first point cloud data as the first reference point), the computing device 100 may pre-calculate the covariance matrix based on the nearest neighbors of the point cloud radius of each data point in the first point cloud data. Based on the covariance matrix of the nearest neighbors of the point cloud radius of each data point in the first point cloud data, the curvature of each data point in the first point cloud data is determined, thus obtaining the curvature data of the first point cloud data. It should be noted that the nearest neighbors of the point cloud radius of a data point represent the set of data points within a local region of a sphere with a specified radius centered on the data point in the first point cloud data.
[0066] Step 232: The computing device 100 can obtain the nearest neighbor points corresponding to the first reference point based on the radius neighborhood nearest neighbor point index data of the first point cloud data. It should be noted that the computing device 100 can obtain the radius neighborhood nearest neighbor point index data of the first point cloud data in advance, so that in step 232, it can obtain the nearest neighbor points corresponding to the first reference point based on the radius neighborhood nearest neighbor point index data of the first point cloud data.
[0067] Step 233: The computing device 100 can iterate and determine whether the difference in the normal vector between each nearest neighbor point corresponding to the first reference point and the first reference point is greater than a first threshold. It can be understood that the nearest neighbor points corresponding to the first reference point are the data points in the radius neighborhood nearest neighbor index data of the first point cloud data that correspond to the first reference point.
[0068] For each nearest neighbor point traversed in step 233, if the difference in normal vector between the nearest neighbor point and the first reference point is greater than the first threshold, then the following step 234 is executed.
[0069] Step 234: The computing device 100 identifies the nearest neighbor as a first-layer noise data point and deletes it.
[0070] For each nearest neighbor point traversed in step 233, if the difference in normal vector between the nearest neighbor point and the first reference point is less than or equal to the first threshold, then: the computing device 100 can determine the nearest neighbor point as an in-class point of the first reference point, and assign the first label value of the nearest neighbor point as a reference value. It should be noted that an in-class point of the first reference point represents a data point belonging to the same local region as the first reference point. Furthermore, the computing device 100 can iterate and determine whether the curvature difference between each in-class point of the first reference point and the first reference point is less than the second threshold, until the curvature difference between each in-class point of the first reference point and the first reference point is greater than or equal to the second threshold.
[0071] It should be noted that the curvature difference refers to the absolute value obtained by subtracting the curvature values of two data points. In this embodiment of the invention, the first threshold and the second threshold can be set according to actual conditions.
[0072] Specifically, such as Figure 5 As shown, for each nearest neighbor point traversed in step 233, if the difference in normal vector between the nearest neighbor point and the first reference point is less than or equal to the first threshold, then the following steps 235 to 236 can be executed.
[0073] Step 235: The computing device 100 determines the nearest neighbor points as in-class points of the first reference point and assigns the first label value of the nearest neighbor points as a reference value. It should be noted that the in-class points of the first reference point refer to data points that belong to the same local region as the first reference point.
[0074] Step 236: The computing device 100 traverses and determines whether the curvature difference between each intra-class point of the first reference point and the first reference point is less than the second threshold.
[0075] Step 237: If the curvature difference between at least one intra-class point and the first reference point is less than the second threshold, the computing device 100 can determine at least one intra-class point as the second reference point, form a second reference point set based on the determined second reference points (at this time, it is determined that the second reference point set is not an empty set), and then move the first reference point to the second reference point set.
[0076] After moving the first reference point to the second reference point set, the computing device 100 can return to step 233 and continue to traverse and determine whether the difference in normal vector between each nearest neighbor point corresponding to the first reference point and the first reference point is greater than the first threshold, until the curvature difference between each intraclass point of the first reference point and the first reference point is greater than or equal to the second threshold.
[0077] It should be understood that if the curvature difference between each intraclass point of the first reference point and the first reference point is greater than or equal to the second threshold, it indicates that the set of the second reference points is an empty set.
[0078] It should be noted that when the curvature difference between each intraclass point of the first reference point and the first reference point is greater than or equal to the second threshold (at this time, the second reference point set is determined to be an empty set), the computing device 100 can return to step 231 and iteratively execute the above steps from step 231 until the first label value of each remaining data point of the first point cloud data is a non-default value (all have been assigned a reference value). At this time, the second point cloud data can be obtained based on the remaining data points of the first point cloud data.
[0079] Specifically, when the curvature difference between each intraclass point of the first reference point and the first reference point is greater than or equal to the second threshold (the second reference point set is an empty set), the computing device 100 may perform the following steps 238 to 239.
[0080] Step 238: If the curvature difference between each intraclass point of the first reference point and the first reference point is greater than or equal to the second threshold, then determine whether the first label values of each remaining data point of the first point cloud data are all non-default values.
[0081] If at least one default value exists in the first label value of each remaining data point of the first point cloud data, then return to step 231: select the extreme data point with the smallest curvature from the remaining data points of the first point cloud data as the new first reference point, assign the first label value of the new first reference point as the reference value, and continue to execute the subsequent steps.
[0082] Step 239: If the first label values of all remaining data points of the first point cloud data are non-default values, then obtain the second point cloud data based on the remaining data points of the first point cloud data.
[0083] As can be seen, by iteratively executing the above steps until the first label values of all remaining data points of the first point cloud data are non-default values, the second point cloud data can be obtained based on the remaining data points of the first point cloud data.
[0084] Figure 6 The diagram shows a flowchart of step 240 in a method for denoising point cloud data of a suspension spring according to an embodiment of the present invention.
[0085] like Figure 6 As shown, step 240 further includes the following steps 241 to 245.
[0086] Step 241: The computing device 100 determines the number of cluster label values of all data points in the second point cloud data, and establishes multiple data point sets based on the number of cluster label values, wherein each data point set corresponds to a cluster label value category.
[0087] Here, the number of cluster labels can be represented as m, where m is a positive integer greater than or equal to 2. Therefore, in step 241, a set of m data points can be established.
[0088] Step 242: The computing device 100 iterates through each data point in the second point cloud data, and puts the data point into the corresponding data point set based on the clustering label value of the data point, until the second point cloud data is an empty set.
[0089] Step 243: The computing device 100 determines the number of data points in each data point set.
[0090] Step 244: The computing device 100 can determine the set of data points with the largest number of data points among multiple (m) data point sets as the normal data point set.
[0091] Step 245: The computing device 100 can identify each data point in each data point set other than the normal data point set in the multiple data point sets as second-layer noise data points and delete them.
[0092] Figure 7 A schematic diagram of a suspension spring point cloud data denoising device 700 according to an embodiment of the present invention is shown. The suspension spring point cloud data denoising device 700 can be deployed in a computing device 100, and the suspension spring point cloud data denoising device 700 is configured to perform the suspension spring point cloud data denoising method 200 of the present invention.
[0093] like Figure 7 As shown, in an embodiment of the present invention, the suspension spring point cloud data denoising device 700 includes an acquisition unit 710, a determination unit 720, a first denoising unit 730, and a second denoising unit 740 that are connected in sequence.
[0094] The acquisition unit 710 is used to acquire the first point cloud data of the suspension spring collected by the three-dimensional sensor. The multiple data points in the first point cloud data include multiple normal data points and multiple noise data points. The multiple noise data points include a first layer of noise data points and a second layer of noise data points. The first layer of noise data points represents data points that have errors with the actual contour of the suspension spring, and the second layer of noise data points represents data points that do not belong to the contour of the suspension spring.
[0095] The determining unit 720 is used to determine the normal vector of each data point in the first point cloud data based on the point cloud radius neighborhood of each data point in the first point cloud data. The point cloud radius neighborhood of the data point represents a local area of a sphere with a specified radius centered on the data point in the first point cloud data.
[0096] The first denoising unit 730 is used to delete the first layer of noisy data points in the first point cloud data based on the normal vectors of each data point in the first point cloud data and using a region growing algorithm to obtain the second point cloud data. It then assigns a clustering label value of the corresponding category to each data point in the second point cloud data. The first layer of noisy data points includes each data point whose normal vector difference with its nearest neighbor is greater than a first threshold.
[0097] The second denoising unit 740 is used to use a clustering algorithm to delete the second layer of noisy data points in the second point cloud data to obtain a set of normal data points, so as to perform three-dimensional measurement of the suspension spring based on the set of normal data points. The second layer of noisy data points includes each data point whose clustering label value is inconsistent with that of the normal data points.
[0098] It should be noted that the acquisition unit 710, the determination unit 720, the first denoising unit 730, and the second denoising unit 740 are respectively used to execute the aforementioned steps 210 to 240. Here, the specific execution logic of each unit can be found in the description of steps 210 to 240 in the previous method 200, and will not be repeated here.
[0099] According to the suspension spring point cloud data denoising method 200 in this embodiment of the invention, after acquiring the first point cloud data of the suspension spring collected by the three-dimensional sensor, the normal vector of each data point is determined based on the point cloud radius neighborhood of each data point in the first point cloud data. Then, the first layer of noisy data points (including each data point whose normal vector difference with its nearest neighbor is greater than a first threshold) in the first point cloud data is deleted using a region growing algorithm to obtain the second point cloud data. Each data point in the second point cloud data is assigned a clustering label value corresponding to the category. Finally, the second layer of noisy data points (including each data point whose clustering label value is inconsistent with that of the normal data points) in the second point cloud data is deleted using a clustering algorithm to obtain a set of normal data points, so as to perform three-dimensional measurement of the suspension spring based on the set of normal data points. Thus, according to the technical solution of the present invention, various kinds of noise in the suspension spring point cloud data collected by the three-dimensional sensor can be effectively filtered out, improving the noise reduction capability. Based on the normal data point set after noise reduction of the present invention, the suspension spring can be measured in three dimensions, which can simplify the measurement process and data processing process, improve the three-dimensional measurement accuracy of the suspension spring, and meet the high-precision measurement requirements.
[0100] The various techniques described herein can be implemented in combination with hardware or software, or a combination thereof. Thus, the methods and apparatus of the present invention, or certain aspects or portions thereof, can take the form of program code (i.e., instructions) embedded in a tangible medium, such as a removable hard disk, USB flash drive, floppy disk, CD-ROM, or any other machine-readable storage medium, wherein when the program is loaded into and executed by a machine such as a computer, the machine becomes an apparatus for practicing the present invention.
[0101] When the program code is executed on a programmable computer, the mobile terminal generally includes a processor, a processor-readable storage medium (including volatile and non-volatile memory and / or storage elements), at least one input device, and at least one output device. The memory is configured to store program code; the processor is configured to execute the suspension spring point cloud data denoising method of the present invention according to instructions in the program code stored in the memory.
[0102] By way of example, and not limitation, readable media include readable storage media and communication media. Readable storage media stores information such as computer-readable instructions, data structures, program modules, or other data. Communication media generally embodies computer-readable instructions, data structures, program modules, or other data in the form of modulated data signals such as carrier waves or other transmission mechanisms, and includes any information delivery medium. Any combination of the above is also included within the scope of readable media.
[0103] In the specification provided herein, the algorithms and displays are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used with the examples of this invention. The required structure for constructing such systems is apparent from the above description. Furthermore, this invention is not directed to any particular programming language. It should be understood that the contents of the invention described herein can be implemented using various programming languages, and the above description of specific languages is for the purpose of disclosing the best mode of implementation of the invention.
[0104] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.
[0105] Similarly, it should be understood that, in order to streamline this disclosure and aid in understanding one or more of the various aspects of the invention, in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof.
[0106] Those skilled in the art will understand that modules, units, or components of the devices disclosed in the examples herein can be arranged in the devices described in this embodiment, or alternatively, can be located in one or more devices different from the devices in this example. The modules in the foregoing examples can be combined into a single module or, in addition, can be divided into multiple sub-modules.
[0107] Unless otherwise specified, the use of ordinal numbers such as “first,” “second,” “third,” etc., to describe ordinary objects merely indicates different instances of similar objects and is not intended to imply that the objects being described must have a given order in time, space, ordering, or any other manner.
Claims
1. A method for denoising point cloud data of suspension springs, executed in a computing device, comprising: Acquire the first point cloud data of the suspension spring collected by the three-dimensional sensor. The first point cloud data includes multiple normal data points and multiple noise data points. The multiple noise data points include a first layer of noise data points and a second layer of noise data points. The first layer of noise data points represents data points that have errors with the actual contour of the suspension spring, and the second layer of noise data points represents data points that do not belong to the contour of the suspension spring. Based on the point cloud radius neighborhood of each data point in the first point cloud data, the normal vector of each data point in the first point cloud data is determined. The point cloud radius neighborhood of the data point represents a local area of a sphere with a specified radius centered on the data point in the first point cloud data. Based on the normal vectors of each data point in the first point cloud data, a region growing algorithm is used to delete the first layer of noisy data points in the first point cloud data to obtain the second point cloud data. Each data point in the second point cloud data is assigned a clustering label value corresponding to the category. The first layer of noisy data points includes each data point whose normal vector difference with its nearest neighbor is greater than a first threshold. Deleting the first layer of noisy data points in the first point cloud data includes: for each data point in the first point cloud data, determining whether the normal vector difference between the data point and its nearest neighbor is greater than a first threshold. If the normal vector difference is greater than the first threshold, the data point is determined as a first layer of noisy data point and deleted. Using a clustering algorithm, the second layer of noisy data points in the second point cloud data is deleted to obtain a set of normal data points, so that the suspension spring can be measured in three dimensions based on the set of normal data points. The second layer of noisy data points includes data points whose clustering label values are inconsistent with those of the normal data points.
2. The method as described in claim 1, wherein, The first label value of each data point in the first point cloud data is pre-assigned a default value; based on the normal vector of each data point in the first point cloud data, a region growing algorithm is used to delete the first layer of noisy data points in the first point cloud data, including the following steps: From the data points of the first point cloud data, the extreme value data point with the smallest curvature is selected as the first reference point, and the first label value of the first reference point is assigned as the reference value. The reference value is inconsistent with the first label value of each data point in the first point cloud data. Based on the radius neighborhood nearest neighbor index data of the first point cloud data, obtain each nearest neighbor point corresponding to the first reference point; Iterate through and determine whether the difference in the normal vector between each nearest neighbor point corresponding to the first reference point and the first reference point is greater than the first threshold. If the difference in normal vector between the nearest neighbor and the first reference point is greater than a first threshold, then the nearest neighbor is identified as a first layer noise data point and deleted. If the difference in normal vector between the nearest neighbor and the first reference point is less than or equal to a first threshold, then the nearest neighbor is determined as an in-class point of the first reference point, and the first label value of the nearest neighbor is assigned to the reference value, wherein the in-class point of the first reference point represents a data point that belongs to the same local region as the first reference point; Iterate through and determine whether the curvature difference between each intra-class point of the first reference point and the first reference point is less than the second threshold, until the curvature difference between each intra-class point of the first reference point and the first reference point is greater than or equal to the second threshold. The above steps are executed iteratively until the first label value of each remaining data point of the first point cloud data is a non-default value. Then, the second point cloud data is obtained based on the remaining data points of the first point cloud data.
3. The method as described in claim 2, wherein, Iterate through and determine whether the curvature difference between each intra-class point of the first reference point and the first reference point is less than a second threshold, until the curvature difference between each intra-class point of the first reference point and the first reference point is greater than or equal to the second threshold, including: Iterate through and determine whether the curvature difference between each intra-class point of the first reference point and the first reference point is less than the second threshold. If the curvature difference between at least one intra-class point and the first reference point is less than a second threshold, then the at least one intra-class point is determined as a second reference point, a second reference point set is formed based on each determined second reference point, and the first reference point is moved to the second reference point set; Continue iterating to determine whether the difference in normal vector between each nearest neighbor point corresponding to the first reference point and the first reference point is greater than the first threshold, until the curvature difference between each intra-class point of the first reference point and the first reference point is greater than or equal to the second threshold.
4. The method of claim 2, wherein, The above steps are iteratively executed until the first label values of all remaining data points of the first point cloud data are non-default values. Then, the second point cloud data is obtained based on the remaining data points of the first point cloud data, including: If the curvature difference between each intraclass point of the first reference point and the first reference point is greater than or equal to the second threshold, then determine whether the first label value of each remaining data point of the first point cloud data is a non-default value. If there is at least one default value among the first label values of the remaining data points of the first point cloud data, then the extreme value data point with the smallest curvature is selected again from the remaining data points of the first point cloud data as a new first reference point, and the first label value of the new first reference point is assigned as a reference value, and the subsequent steps are continued. If the first label values of all remaining data points of the first point cloud data are non-default values, then the second point cloud data is obtained based on the remaining data points of the first point cloud data.
5. The method according to any one of claims 1-4, wherein, Using a clustering algorithm, the noisy data points in the second layer of the second point cloud data are removed to obtain a set of normal data points, including: Determine the number of cluster label values for all data points in the second cloud data, and establish multiple data point sets based on the number of cluster label values, wherein each data point set corresponds to a cluster label value category; Iterate through each data point in the second point cloud data, and put the data point into the corresponding data point set based on the clustering label value of the data point, until the second point cloud data is an empty set; Determine the number of data points in each of the data point sets; The set of data points with the largest number of data points among the plurality of data point sets is determined as the normal data point set; and Each data point in each data point set other than the normal data point set in the plurality of data point sets is identified as a second layer of noise data points and deleted.
6. The method according to any one of claims 2-4, wherein, Before selecting the extreme data point with the smallest curvature from all data points of the first point cloud data as the first reference point, the process also includes: Based on the covariance matrix of the nearest neighbors of the point cloud radius of each data point in the first point cloud data, the curvature of each data point in the first point cloud data is determined.
7. The method according to any one of claims 1-4, wherein, The three-dimensional sensor includes one or more of the following: laser rangefinder, laser profilometer, and structured light sensor.
8. A noise reduction device for suspension spring point cloud data, deployed in a computing device, comprising: The acquisition unit is adapted to acquire the first point cloud data of the suspension spring collected by the three-dimensional sensor. The first point cloud data includes multiple normal data points and multiple noise data points. The multiple noise data points include a first layer of noise data points and a second layer of noise data points. The first layer of noise data points represents data points that have errors with the actual contour of the suspension spring, and the second layer of noise data points represents data points that do not belong to the contour of the suspension spring. The determining unit is adapted to determine the normal vector of each data point in the first point cloud data based on the point cloud radius neighborhood of each data point in the first point cloud data, wherein the point cloud radius neighborhood of each data point represents a local region in the first point cloud data with the data point as the center of a sphere of a specified radius. The first denoising unit is adapted to use a region growing algorithm to delete the first layer of noisy data points in the first point cloud data based on the normal vectors of each data point in the first point cloud data, thereby obtaining the second point cloud data, and to assign a clustering label value of the corresponding category to each data point in the second point cloud data. The first layer of noisy data points includes each data point whose normal vector difference with its nearest neighbor is greater than a first threshold. Deleting the first layer of noisy data points in the first point cloud data includes: for each data point in the first point cloud data, determining whether the normal vector difference between the data point and its nearest neighbor is greater than a first threshold. If the normal vector difference is greater than the first threshold, the data point is determined as a first layer of noisy data point and deleted. The second denoising unit is adapted to use a clustering algorithm to delete the second layer of noisy data points in the second point cloud data to obtain a set of normal data points, so as to perform three-dimensional measurement of the suspension spring based on the set of normal data points. The second layer of noisy data points includes data points whose clustering label values are inconsistent with those of the normal data points.
9. A computing device, comprising: At least one processor; and A memory storing program instructions, wherein the program instructions are configured to be processed by the at least one processor, the program instructions including instructions for processing the method as described in any one of claims 1-7.
10. A computer program product comprising a computer program / instructions, wherein, When the computer program / instructions are executed by the processor, they implement the method as described in any one of claims 1-7.
11. A readable storage medium storing program instructions that, when read and processed by a computing device, cause the computing device to perform the method as described in any one of claims 1-7.
Citation Information
Patent Citations
Suspension spring point cloud data reconstruction method and device and computing equipment
CN119338995A