Suspension spring point cloud data denoising method and device and computing equipment
By using the combination method of normal vector and clustering algorithm in the suspension spring point cloud data, the noise data points are deleted, and the problem of high-precision measurement of suspension springs in the prior art is solved, and high-precision three-dimensional measurement of suspension springs is achieved.
Patent Information
- Application Number
- CN202411460427.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-18
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2044-10-18
AI Technical Summary
In the prior art, the suspension spring point cloud data denoising method depends on the noise distribution assumption and cannot meet the high-precision measurement requirements of the suspension spring. Moreover, the noise interference caused by environmental interference and surface characteristics when collecting data by three-dimensional sensors seriously affects the measurement accuracy. .
By obtaining the suspension spring point cloud data collected by the three-dimensional sensor, the normal vector of the data point is determined using the point cloud radius neighborhood, the first layer of noise data points are deleted in combination with the region growth algorithm, and the second layer of noise data points are deleted using the clustering algorithm. , assign the data point category label value, and finally obtain a high-precision normal data point set.
Effectively filter out the messy noise in the suspension spring point cloud data collected by the three-dimensional sensor, simplify the measurement process and data processing process, improve the three-dimensional measurement accuracy of the suspension spring, and meet the high-precision measurement needs.
Smart Images

Figure CN119273579A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of three-dimensional measurement technology, and in particular to a suspension spring point cloud data denoising method, a suspension spring point cloud data denoising device and a computing device. Background Art
[0002] Suspension springs are key components in the automotive suspension system, and their quality defects seriously affect the safety of vehicle operation. With the development of the automotive industry and the gradual improvement of quality control requirements, traditional automotive parts testing methods can no longer meet the higher requirements of testing capabilities and efficiency.
[0003] At present, 3D sensors such as laser rangefinders have been widely used in the field of 3D measurement due to their reliable measurement accuracy, high efficiency, and non-contact characteristics. However, in actual engineering applications, the data collection process of 3D sensors is affected by factors such as environmental interference and surface characteristics of the measured object, resulting in a large amount of noise in the point cloud data collected, which seriously interferes with the subsequent measurement process and measurement accuracy.
[0004] Denoising the suspension spring point cloud data is a key step in achieving 3D measurement of suspension springs. The denoising capability directly affects the complexity of the measurement method and the accuracy of the measurement results. However, in the prior art, the widely used denoising methods rely on the assumption of noise distribution, and the noise filtering capability cannot meet the high-precision measurement requirements of suspension springs.
[0005] Therefore, a suspension spring point cloud data denoising method is needed to solve the problems existing in the above technical solutions. Summary of the invention
[0006] To this end, the present invention provides a suspension spring point cloud data denoising method and device to solve or at least alleviate the above problems.
[0007] According to one aspect of the present invention, a suspension spring point cloud data denoising method is provided, which is executed in a computing device and includes: 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, wherein the plurality of noise data points include a first layer of noise data points and a second layer of noise data points, wherein the first layer of noise data points represent data points that have errors with the actual contour of the suspension spring, and the second layer of noise data points represent data points that do not belong to the contour of the suspension spring; determining a normal vector of each data point in the first point cloud data based on a point cloud radius neighborhood of each data point in the first point cloud data, wherein the point cloud radius neighborhood of the data point represents a normal vector of each data point in the first point cloud data with the point cloud radius neighborhood of the data point representing ... A method for measuring the three-dimensional suspension spring of a suspension spring is disclosed in the present invention; a ... of a suspension spring is disclosed in the present invention; a method for measuring the three-dimensional suspension spring of a suspension spring of a suspension spring is disclosed in the present invention; a method for measuring the three-dimensional suspension spring of a suspension spring of a suspension spring is disclosed in the present invention; a method for measuring the three-dimensional suspension spring of a suspension spring of a suspension spring of a suspension spring is disclosed in the present invention; a method for measuring the three-dimensional suspension spring of a suspension spring of a suspension spring of a suspension spring of a suspension spring
[0008] Optionally, in the suspension spring point cloud data denoising method according to the present invention, the first layer of noise data points in the first point cloud data are deleted, including: for each data point in the first point cloud data, determining whether the normal vector difference between the data point and its neighboring points is greater than a first threshold value; if the normal vector difference is greater than the first threshold value, determining the data point as a first layer of noise data point and deleting it.
[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 first layer of noise data points in the first point cloud data is deleted using a region growing algorithm, including: selecting an extreme data point with the smallest curvature from each data point of the first point cloud data as a first reference point, and assigning the first label value of the first reference point to a reference value, wherein 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 neighbor point index data of the first point cloud data, obtaining each neighbor point corresponding to the first reference point; traversing and determining whether the normal vector difference between each neighbor point corresponding to the first reference point and the first reference point is greater than a first threshold; if the normal vector difference between the neighbor point and the first reference point is greater than a first threshold, If the normal vector difference is greater than the first threshold, the neighbor point is determined as the first layer of noise data point and deleted; if the normal vector difference between the neighbor point and the first reference point is less than or equal to the first threshold, the neighbor point is determined as an in-class point of the first reference point, and the first label value of the neighbor point is assigned to the reference value, wherein the in-class point of the first reference point represents a data point belonging to the same local area as the first reference point; it is traversed to determine whether the curvature difference between each in-class point of the first reference point and the first reference point is 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; iteratively perform the above steps until the first label values of the currently remaining data points of the first point cloud data are all non-default values, and the second point cloud data is obtained based on the currently 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 judging whether the curvature difference between each in-class point of the first reference point and the first reference point is less than a second threshold value, 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 value, including: traversing and judging 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 value; if the curvature difference between at least one in-class point and the first reference point is less than the second threshold value, determining the at least one in-class point as the second reference point, forming a second reference point set based on the determined second reference points, and moving the first reference point to the second reference point set; continuing to traverse and judging whether the normal vector difference between each neighboring point corresponding to the first reference point and the first reference point is greater than the first threshold value, 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 value.
[0011] Optionally, in the suspension spring point cloud data denoising method according to the present invention, the above steps are iteratively performed until the first label values of the currently remaining data points of the first point cloud data are all non-default values, and the second point cloud data is obtained based on the currently remaining data points of the first point cloud data, including: if the curvature difference between each in-class point of the first reference point and the first reference point is greater than or equal to a second threshold, then judging whether the first label values of the currently remaining data points of the first point cloud data are all non-default values; if there is at least one default value in the first label values of the currently remaining data points of the first point cloud data, then selecting the extreme data point with the smallest curvature from the currently 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 perform subsequent steps; if the first label values of the currently remaining data points of the first point cloud data are all non-default values, then obtaining the second point cloud data based on the currently 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 noise data points in the second point cloud data to obtain a normal data point set, including: determining the number of categories of cluster label values for all data points in the second point cloud data, and establishing corresponding multiple data point sets based on the number of categories of the 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, and placing the data point into a 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 of the data point sets; determining the data point set with the largest number of data points in the multiple data point sets as a normal data point set; and determining each data point in each data point set in the multiple data point sets except the normal data point set as a second layer of noise data point and deleting it.
[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, it also includes: determining the curvature of each data point in the first point cloud data based on the covariance matrix of the neighboring points of 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 profiler, and a structured light sensor.
[0015] According to one aspect of the present invention, there is provided a suspension spring point cloud data denoising device, which is deployed in a computing device and includes: an acquisition unit, adapted to acquire first point cloud data of a suspension spring acquired 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, wherein the plurality of noise data points include a first layer of noise data points and a second layer of noise data points, wherein the first layer of noise data points represent data points that have errors with an actual profile of the suspension spring, and the second layer of noise data points represent data points that do not belong to the profile of the suspension spring; a determination unit, adapted to determine a normal vector of each data point in the first point cloud data based on a point cloud radius neighborhood of each data point in the first point cloud data, wherein the point cloud radius neighborhood of the data point represents a normal vector of each data point in the first point cloud data with the data point as the neighborhood. A local area within a sphere range of a specified radius of the sphere center; a first denoising unit, adapted to delete a first layer of noise data points in the first point cloud data based on the normal vectors of each data point in the first point cloud data by using a regional growing algorithm to obtain second point cloud data, and to assign a clustering label value of a corresponding category to each data point in the second point cloud data, wherein the first layer of noise data points includes each data point whose normal vector difference with its neighboring points is greater than a first threshold; a second denoising unit, adapted to delete a second layer of noise data points in the second point cloud data by 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 noise data points includes each data point whose clustering label value is inconsistent with that of the normal data point.
[0016] According to one aspect of the present invention, there is provided a computing device, comprising: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be suitable for being executed by the at least one processor, and the program instructions include instructions for executing 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 / instruction, wherein the computer program / instruction implements the method as described above when executed by a processor.
[0018] According to one aspect of the present invention, a readable storage medium storing program instructions is provided. When the program instructions are read and executed by a computing device, the computing device executes the suspension spring point cloud data denoising method as described above.
[0019] According to the technical solution of the present invention, a suspension spring point cloud data denoising method is provided. After obtaining 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 noise data points in the first point cloud data (including each data point whose normal vector difference with the neighboring point is greater than the first threshold) are deleted by using the region growing algorithm to obtain the second point cloud data, and the clustering label value of the corresponding category is assigned to each data point in the second point cloud data. Finally, the second layer of noise data points in the second point cloud data (including each data point whose clustering label value is inconsistent with the normal data point) are deleted by using the clustering algorithm to obtain a normal data point set, so as to perform three-dimensional measurement of the suspension spring based on the normal data point set. In this way, according to the technical solution of the present invention, various messy noises in the suspension spring point cloud data collected by the three-dimensional sensor can be effectively filtered out, and the denoising ability is improved. The suspension spring is measured three-dimensionally based on the normal data point set after denoising of the present invention, 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.
[0020] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented according to the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to achieve the above and related purposes, some illustrative aspects are described herein in conjunction with the following description and accompanying drawings, which indicate various ways in which the principles disclosed herein can be practiced, and all aspects and their equivalents are intended to fall within the scope of the claimed subject matter. By reading the following detailed description in conjunction with the accompanying drawings, the above and other purposes, features and advantages of the present invention will become more apparent. Throughout the present 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 schematic flow chart of a suspension spring point cloud data denoising method 200 provided according to an embodiment of the present invention is shown;
[0024] Figure 3 A schematic diagram showing 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 showing the distribution of the second layer of noise points according to an embodiment of the present invention is shown;
[0026] Figure 5 A schematic flow chart of step 230 in a suspension spring point cloud data denoising method provided according to an embodiment of the present invention is shown;
[0027] Figure 6 A schematic flow chart of step 240 in 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 DESCRIPTION
[0029] The exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present invention are shown in the accompanying drawings, it should be understood that the present invention can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present invention and to enable the scope of the present invention to be fully communicated to those skilled in the art.
[0030] In view of the problem that the denoising method for suspension spring point cloud data in the prior art relies on the noise distribution assumption and the noise filtering capability cannot meet the high-precision measurement requirements of the suspension spring, an embodiment of the present invention proposes a suspension spring point cloud data denoising method, which can effectively filter out the messy noise in the suspension spring point cloud data collected by a three-dimensional sensor, thereby simplifying the subsequent measurement process and data processing process, improving the three-dimensional measurement accuracy of the suspension spring, and meeting the high-precision measurement requirements.
[0031] The suspension spring point cloud data denoising method in the embodiment of the present invention may be executed in a computing device.
[0032] The embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0033] Figure 1 FIG. 1 is a schematic diagram of a computing device 100 provided according to an embodiment of the present invention. Figure 1 As shown, in a basic configuration, the computing device 100 includes at least one processing unit 102 and a system memory 104. According to one aspect, depending on the configuration and type of the computing device, the processing unit 102 can be implemented as a processor. The system memory 104 includes, but is not limited to, volatile storage (e.g., random access memory), non-volatile storage (e.g., read-only memory), flash memory, or any combination of such memories. According to one aspect, the system memory 104 includes an operating system 105.
[0034] According to one aspect, operating system 105 is suitable for controlling the operation of computing device 100, for example. Furthermore, examples are practiced in conjunction with graphics libraries, other operating systems, or any other application programs, and are not limited to any particular application or system. Figure 1 The basic configuration is shown in FIG. 1 by those components within the dashed lines. According to one aspect, computing device 100 has additional features or functionality. For example, according to one aspect, computing device 100 includes additional data storage devices (removable and / or non-removable), such as magnetic disks, optical disks, or tapes. Such additional storage Figure 1 1 is illustrated by a removable storage device 109 and a non-removable storage device 110.
[0035] As stated above, according to one aspect, a program module 103 is stored in the system memory 104. According to one aspect, the program module 103 may include one or more application programs, and the present invention does not limit the type of application program, for example, the application program may include: email and contact application programs, word processing application programs, spreadsheet application programs, database application programs, slide show application programs, drawing or computer-aided application programs, web browser application programs, etc.
[0036] According to one aspect, the program module 103 may include a plurality of program instructions suitable for executing the suspension spring point cloud data denoising method 200 of the present invention, so that the computing device 100 is configured to execute the suspension spring point cloud data denoising method 200 of the present invention.
[0037] According to one aspect, the program module 103 may include a suspension spring point cloud data denoising device 700 , and the suspension spring point cloud data denoising device 700 may be configured to execute the suspension spring point cloud data denoising method 200 of the present invention.
[0038] According to one aspect, the examples may be practiced on a circuit comprising discrete electronic components, a packaged or integrated electronic chip containing logic gates, a circuit utilizing a microprocessor, or a single chip containing electronic components or a microprocessor. Figure 1Each or many components shown in can be integrated into a system on a chip (SOC) on a single integrated circuit to practice examples. According to one aspect, such a SOC device may include one or more processing units, a graphics unit, a communication unit, a system virtualization unit, and various application functions, all of which are integrated (or "burned") into a chip substrate as a single integrated circuit. When operated via SOC, the functions described in this article can be operated via a dedicated logic integrated with other components of the computing device 100 on a single integrated circuit (chip). Embodiments of the present invention can also be practiced using other technologies capable of performing logical operations (such as AND, OR, and NOT), including but not limited to mechanical, optical, fluid, and quantum technologies. In addition, embodiments of the present invention can be practiced in a general-purpose computer or in any other circuit or system.
[0039] According to one aspect, the computing device 100 may also have one or more input devices 112, such as a keyboard, a mouse, a pen, a voice input device, a touch input device, etc. Output devices 114 may also be included, such as a display, a speaker, a printer, etc. The aforementioned devices are examples and other devices may also be used. The 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 circuits; Universal Serial Bus (USB), parallel and / or serial ports.
[0040] The term computer-readable medium as used herein includes computer storage media. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (e.g., computer-readable instructions, data structures, or program modules 103). System memory 104, removable storage device 109, and non-removable storage device 110 are all examples of computer storage media (i.e., memory storage). Computer storage media may include random access memory (RAM), read-only memory (ROM), electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, cassettes, tapes, disk storage or other magnetic storage devices, or any other products that can be used to store information and can be accessed by computing device 100. According to one aspect, any such computer storage medium can be a part of computing device 100. Computer storage media do not include carrier waves or other propagated data signals.
[0041] According to one aspect, communication media 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 transport mechanism), and includes any information delivery media. According to one aspect, the term "modulated data signal" describes a signal that has one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.
[0042] In an embodiment according to the present invention, the computing device 100 is configured to execute 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. When the program instructions are configured to be executed by one or more processors, the computing device executes the suspension spring point cloud data denoising method 200 in the embodiment of the present invention.
[0043] Figure 2 A schematic flow chart of a suspension spring point cloud data denoising method 200 provided according to an embodiment of the present invention is shown. The suspension spring point cloud data denoising method 200 may be executed in a computing device (eg, 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-240.
[0045] Step 210: The computing device 100 obtains first point cloud data (i.e., initial point cloud data, including a set of multiple data points) 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, and the multiple noise data points include first-layer noise data points and second-layer noise data points.
[0046] In an embodiment of the present invention, the first point cloud data may be a collection of multiple data points of the suspension spring collected by various three-dimensional sensors. The three-dimensional sensor used to collect the first point cloud data of the suspension spring may include, for example, a laser rangefinder, a laser profiler, and a structured light sensor, but is not limited thereto. In some embodiments, the three-dimensional sensor may include one or more of a laser rangefinder, a laser profiler, and a structured light sensor.
[0047] Figure 3 A schematic diagram showing the distribution of noise points in the first layer according to an embodiment of the present invention is shown. Figure 4 FIG. 4 shows a schematic diagram of the distribution of the second layer of noise points according to an embodiment of the present invention. Figure 3 and Figure 4As shown, the first layer of noise data points represent data points that have errors with the actual profile of the suspension spring, and the second layer of noise data points represent data points that do not belong to the profile of the suspension spring (non-suspension spring part). For example, when using a laser profiler to measure the profile of a suspension spring, due to factors such as ambient light interference, surface characteristics of the object being measured, and the accuracy of the laser profiler, there is a certain error between the profile data (first point cloud data) measured by the laser profiler and the actual profile of the suspension spring, where the data points in the first point cloud data that have errors with the actual profile of the suspension spring are the first layer of noise points. For another example, the profile data points of the suspension spring mounting fixture and the profile data points of the obstructing object are not data points of the suspension spring part and do not belong to the suspension spring profile, which are also the second layer of noise points.
[0048] Additionally, in an embodiment of the present invention, a normal data point refers to a data point that is free of noise and belongs to a suspension spring profile.
[0049] Step 220: The computing device 100 may 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 the data point may be determined based on the point cloud radius neighborhood of the data point.
[0050] It should be noted that the point cloud radius neighborhood of a data point represents a local area within a sphere of a specified radius with the data point as the center in the first point cloud data.
[0051] In an embodiment of the present invention, the computing device 100 may determine the normal vector of each data point in the first point cloud data based on the point cloud radius neighborhood neighboring points of each data point in the first point cloud data. It should be noted that the point cloud radius neighborhood neighboring points of the data point represent a set of data points in a local area of a specified radius sphere with the data point as the center in the first point cloud data. For example, in some embodiments, for each data point in the first point cloud data, a plane may be fitted based on the point cloud radius neighborhood neighboring points of the data point, and the normal direction of the plane may be determined as the normal vector of the data point.
[0052] Step 230, the computing device 100 can use a region growing algorithm to delete the first layer of noise data points in the first point cloud data based on the normal vectors of each data point in the first point cloud data to obtain the second point cloud data, and can assign a clustering label value of a corresponding category to each data point in the second point cloud data (different categories of clustering label values can be assigned to each data point).
[0053] Here, the first layer of noise data points to be deleted include all data points whose normal vector difference with their neighboring points is greater than the first threshold. In other words, the normal vector difference between any data point in the first layer of noise data points and its neighboring points is greater than the first threshold. It should be noted that the normal vector difference refers to the specific value obtained by taking the absolute value of the dot product of the normal vectors of two data points.
[0054] like Figure 3 As shown, when a laser profiler is used to measure the profile of a suspension spring, due to factors such as ambient light interference, surface characteristics of the object being measured, and accuracy of the laser profiler, the profile data (first point cloud data) collected by the laser profiler deviates from the actual profile of the suspension spring and generates one or more stray noise data points. The normal vector directions of these noise data points are significantly different from the normal vector directions 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 may determine, for each data point in the first point cloud data, whether the normal vector difference between the data point and its neighboring points 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 noise data point and deleted.
[0056] Step 240: The computing device 100 may use a clustering algorithm to delete the second layer of noise data points in the second point cloud data to obtain a normal data point set. Further, the suspension spring may be measured in three dimensions based on the normal data point set.
[0057] Here, the deleted second layer noise data points include individual data points (and data point groups) that are inconsistent with the cluster label values of the normal data points. That is, the cluster label value of any data point in the second layer noise data points is inconsistent with the cluster label value of the normal data points.
[0058] like Figure 4 As shown, when a laser profiler is used to measure the profile of a suspension spring, the profile data (first point cloud data) collected by the laser profiler contains profile data points of the suspension spring mounting fixture and profile data points of obstructing objects. These profile data points are second-layer noise points that do not belong to the suspension spring profile (non-suspension spring part), and there is a large distance between the second-layer noise points and the suspension spring point cloud data in space.
[0059] In an embodiment of the present invention, in step 240, the computing device 100 may determine, for each data point in the second point cloud data, whether the cluster label value of the data point 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 may be pre-assigned as a default value. After obtaining 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 may also be obtained.
[0061] Figure 5 A schematic flow chart of step 230 in a suspension spring point cloud data denoising method provided according to an embodiment of the present invention is shown.
[0062] like Figure 5 As shown, step 230 further includes the following steps 231-239.
[0063] Step 231, the computing device 100 selects an extreme value data point with the smallest curvature from each data point of the first point cloud data as the first reference point. In other words, an extreme value data point is selected from each data point of the first point cloud data, and the extreme value data point is used as the first reference point, wherein the extreme value data point can be a data point whose first label value is the default value and whose curvature is the smallest among each data point 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 the 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, and the reference value is different from the default value. Specifically, the reference value may be a predetermined integer value.
[0065] In some embodiments, before executing step 231 (selecting the extreme value 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 of the point cloud radius neighborhood neighboring points based on each data point in the first point cloud data, and determine the curvature of each data point in the first point cloud data based on the covariance matrix of the point cloud radius neighborhood neighboring points of each data point in the first point cloud data, and obtain the curvature data of the first point cloud data. It should be noted that the point cloud radius neighborhood neighboring points of the data point represent a set of data points in a local area within a specified radius sphere range with the data point as the sphere center in the first point cloud data.
[0066] Step 232: The computing device 100 may obtain each neighboring point corresponding to the first reference point based on the radius neighborhood neighboring point index data of the first point cloud data. It should be noted that the computing device 100 may obtain the radius neighborhood neighboring point index data of the first point cloud data in advance, so that in step 232, each neighboring point corresponding to the first reference point may be obtained based on the radius neighborhood neighboring point index data of the first point cloud data.
[0067] Step 233: The computing device 100 may traverse and determine whether the normal vector difference between each neighboring point corresponding to the first reference point and the first reference point is greater than a first threshold. It can be understood that the neighboring point corresponding to the first reference point is a data point corresponding to the first reference point in the radius neighborhood neighboring point index data of the first point cloud data.
[0068] For each neighboring point traversed in step 233, if the normal vector difference between the neighboring point and the first reference point is greater than a first threshold, the following step 234 is performed.
[0069] Step 234: The computing device 100 determines the neighbor point as a first-layer noise data point and deletes it.
[0070] For each neighbor point traversed in step 233, if the normal vector difference between the neighbor point and the first reference point is less than or equal to the first threshold, then: the computing device 100 can determine the neighbor point as an in-class point of the first reference point, and assign the first label value of the neighbor point to the reference value. It should be noted that the in-class point of the first reference point represents a data point that belongs to the same local area as the first reference point. Furthermore, the computing device 100 can traverse 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 a specific value obtained by subtracting the curvature values of two data points and taking the absolute value. In the embodiment of the present invention, the first threshold and the second threshold can be set according to actual conditions.
[0072] Specifically, Figure 5 As shown, for each neighboring point traversed in step 233, if the normal vector difference between the neighboring point and the first reference point is less than or equal to the first threshold, the following steps 235 to 236 may be performed.
[0073] Step 235: The computing device 100 determines the neighbor point as an in-class point of the first reference point, and assigns the first label value of the neighbor point as a reference value. It should be noted that the in-class point of the first reference point represents a data point that belongs to the same local area as the first reference point.
[0074] Step 236: The computing device 100 traverses and determines whether the curvature difference between each in-class point of the first reference point and the first reference point is less than a second threshold.
[0075] Step 237: If the curvature difference between at least one in-class point and the first reference point is less than a second threshold, the computing device 100 may determine at least one in-class point as a second reference point, and 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, the first reference point may be moved to the second reference point set.
[0076] After moving the first reference point to the second reference point set, the computing device 100 may return to step 233, and continue to traverse to determine whether the normal vector difference between each neighboring point corresponding to the first reference point and the first reference point is greater than the first 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.
[0077] It should be understood that if 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, it indicates that the second reference point set is an empty set.
[0078] It should be noted that, when 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 (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 starting from step 231 until the first label values of each currently remaining data point of the first point cloud data are all non-default values (all have been assigned reference values). At this time, the second point cloud data can be obtained based on the currently remaining data points of the first point cloud data.
[0079] Specifically, when 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 second reference point set is an empty set), the computing device 100 can perform the following steps 238 to 239.
[0080] Step 238: If 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, determine whether the first label values of each data point currently remaining in the first point cloud data are all non-default values.
[0081] If there is at least one default value in the first label values of the remaining data points of the first point cloud data, 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 subsequent steps.
[0082] Step 239: If the first label values of the data points currently remaining in the first point cloud data are all non-default values, the second point cloud data are obtained based on the data points currently remaining in the first point cloud data.
[0083] It can be seen that by iteratively executing the above steps until the first label values of the remaining data points of the first point cloud data are all 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 A schematic flow chart of step 240 in a suspension spring point cloud data denoising method provided in an embodiment of the present invention is shown.
[0085] like Figure 6 As shown, step 240 further includes the following steps 241-245.
[0086] Step 241: The computing device 100 determines the number of categories of cluster label values for all data points in the second point cloud data, and establishes corresponding multiple data point sets based on the number of categories of cluster label values, wherein each data point set corresponds to a cluster label value category.
[0087] Here, the number of categories of clustering label values may be represented as m, where m is a positive integer greater than or equal to 2. Then, in step 241, m data point sets may be established.
[0088] Step 242: The computing device 100 traverses and obtains each data point in the second point cloud data, and puts the data point into a corresponding data point set based on the clustering label value category 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 may determine a data point set having the largest number of data points among the multiple (m) data point sets as a normal data point set.
[0091] Step 245: The computing device 100 may determine each data point in each data point set other than the normal data point set in the multiple data point sets as a second-layer noise data point and delete the data point.
[0092] 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. 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 execute 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, a suspension spring point cloud data denoising device 700 includes an acquiring unit 710, a determining unit 720, a first denoising unit 730, and a second denoising unit 740 which are sequentially communicatively connected.
[0094] Among them, the acquisition unit 710 is used to acquire the first point cloud data of the suspension spring collected by the three-dimensional sensor, wherein 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 represent data points that have errors with the actual contour of the suspension spring, and the second layer of noise data points represent data points that do not belong to the contour of the suspension spring.
[0095] The determination 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 within a specified radius sphere with the data point as the center in the first point cloud data.
[0096] The first denoising unit 730 is used to delete the first layer of noise data points in the first point cloud data based on the normal vectors of each data point in the first point cloud data and use the region growing algorithm to obtain the second point cloud data, and assign a clustering label value of the corresponding category to each data point in the second point cloud data, wherein the first layer of noise data points includes each data point whose normal vector difference with its neighboring points 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 noise 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, wherein the second layer of noise data points includes each data point that is inconsistent with the clustering label value of the normal data point.
[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 method 200 above, which will not be repeated here.
[0099] According to the suspension spring point cloud data denoising method 200 in an embodiment of the present invention, after obtaining the first point cloud data of the suspension spring collected by the three-dimensional sensor, the normal vector of each data point in the first point cloud data is determined based on the point cloud radius neighborhood of each data point, and then, the first layer of noise data points in the first point cloud data (including each data point whose normal vector difference with the neighboring points is greater than the first threshold) is deleted by using the region growing algorithm to obtain the second point cloud data, and the corresponding category of clustering label values are assigned to each data point in the second point cloud data. Finally, the second layer of noise data points in the second point cloud data (including each data point whose clustering label value is inconsistent with the normal data point) is deleted by using the clustering algorithm to obtain a normal data point set, so as to perform three-dimensional measurement of the suspension spring based on the normal data point set. In this way, according to the technical solution of the present invention, various messy noises in the suspension spring point cloud data collected by the three-dimensional sensor can be effectively filtered out, thereby improving the denoising ability. Based on the normal data point set after denoising of the present invention, three-dimensional measurement of the suspension spring can be performed, 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 may be implemented in combination with hardware or software, or a combination thereof. Thus, the method and apparatus of the present invention, or some aspects or parts of the method and apparatus of the present invention may be in the form of program codes (i.e., instructions) embedded in a tangible medium, such as a removable hard disk, a USB flash drive, a floppy disk, a CD-ROM, or any other machine-readable storage medium, wherein when the program is loaded into a machine such as a computer and executed by the machine, the machine becomes a device for practicing the present invention.
[0101] In the case where the program code is executed on a programmable computer, the mobile terminal generally includes a processor, a storage medium readable by the processor (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 the program code; the processor is configured to execute the suspension spring point cloud data denoising method of the present invention according to the 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 embody computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and include any information transfer medium. Any combination of the above is also included within the scope of readable media.
[0103] In the description provided herein, algorithms and displays are not inherently related to any particular computer, virtual system or other device. Various general purpose systems can also be used together with the examples of the present invention. According to the above description, it is obvious that the structure required for constructing such systems. In addition, the present invention is not directed to any specific programming language either. It should be understood that various programming languages can be utilized to implement the content of the present invention described herein, and the above description of specific languages is for the purpose of disclosing the best mode of the present invention.
[0104] In the description provided herein, a large number of specific details are described. However, it is understood that embodiments of the present invention can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.
[0105] Similarly, it should be understood that in order to streamline the present disclosure and aid in understanding one or more of the various inventive aspects, in the above description of exemplary embodiments of the present invention, various features of the present invention are sometimes grouped together into a single embodiment, figure, or description thereof.
[0106] Those skilled in the art will appreciate that the modules or units or components of the devices in the examples disclosed herein may be arranged in the devices described in the embodiment, or alternatively may be located in one or more devices different from the devices in the examples. The modules in the foregoing examples may be combined into one module or may be divided into multiple submodules.
[0107] Unless otherwise specified, the use of ordinal numbers "first", "second", "third", etc. to describe common objects merely indicates that different instances of similar objects are involved and is not intended to imply that the objects so described must have a given order in time, space, order or in any other manner.
Claims
1. A suspension spring point cloud data denoising method, executed in a computing device, comprising: Acquire first point cloud data of the suspension spring collected by the three-dimensional sensor, wherein the 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 include a first layer of noise data points and a second layer of noise data points, the first layer of noise data points represent data points having errors with the actual profile of the suspension spring, and the second layer of noise data points represent data points that do not belong to the profile of the suspension spring; Determine a normal vector of each data point in the first point cloud data based on a point cloud radius neighborhood of each data point in the first point cloud data, wherein the point cloud radius neighborhood of the data point represents a local area within a sphere of a specified radius with the data point as the sphere center in the first point cloud data; Based on the normal vectors of each data point in the first point cloud data, a first layer of noise data points in the first point cloud data is deleted by using a region growing algorithm to obtain second point cloud data, and a cluster label value of a corresponding category is assigned to each data point in the second point cloud data, wherein the first layer of noise data points includes each data point whose normal vector difference with a neighboring point is greater than a first threshold value; Using a clustering algorithm, the second layer of noise data points in the second point cloud data is deleted 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 noise data points includes individual data points that are inconsistent with the clustering label values of the normal data points.
2. The method of claim 1, wherein: 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, determine whether the normal vector difference between the data point and its neighboring points is greater than a first threshold; if the normal vector difference is greater than the first threshold, determine the data point as a first layer noise data point and delete it.
3. The method of claim 1, wherein: The first label value of each data point in the first point cloud data is pre-assigned to a default value; Based on the normal vectors of each data point in the first point cloud data, a first layer of noise data points in the first point cloud data is deleted by using a region growing algorithm, including: Selecting an extreme value data point with the smallest curvature from each data point of the first point cloud data as a first reference point, and assigning a first label value of the first reference point to a reference value, wherein 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 neighbor point index data of the first point cloud data, obtaining each neighbor point corresponding to the first reference point; Traversing and determining whether a normal vector difference between each neighboring point corresponding to the first reference point and the first reference point is greater than a first threshold; If the normal vector difference between the neighboring point and the first reference point is greater than a first threshold, the neighboring point is determined as a first layer noise data point and deleted; If the normal vector difference between the neighboring point and the first reference point is less than or equal to a first threshold, the neighboring point is determined as an in-class point of the first reference point, and the first label value of the neighboring point is assigned to the reference value, wherein the in-class point of the first reference point represents a data point belonging to the same local area as the first reference point; Traversing and determining whether the curvature difference between each in-class point of the first reference point and the first reference point is 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 performed until the first label values of the respective data points currently remaining in the first point cloud data are all non-default values, and the second point cloud data are obtained based on the respective data points currently remaining in the first point cloud data.
4. The method of claim 3, wherein: Traversing and determining whether a curvature difference between each in-class point of the first reference point and the first reference point is less than a second threshold value, until a 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 value, including: Traversing and determining whether the curvature difference between each in-class point of the first reference point and the first reference point is less than a second threshold; If the curvature difference between at least one in-class point and the first reference point is less than a second threshold, the at least one in-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; Continue to traverse and determine whether the normal vector difference between each neighboring point corresponding to the first reference point and the first reference point is greater than a first 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 a second threshold.
5. The method according to claim 3 or 4, wherein: Iteratively executing the above steps until the first label values of the respective data points currently remaining in the first point cloud data are all non-default values, and obtaining the second point cloud data based on the respective data points currently remaining in the first point cloud data, including: If the curvature difference between each in-class point of the first reference point and the first reference point is greater than or equal to a second threshold, determining whether the first label values of the remaining data points of the first point cloud data are all non-default values; If there is at least one default value in the first label values of the remaining data points of the first point cloud data, selecting an extreme value data point with the smallest curvature from the remaining data points of the first point cloud data 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 the respective data points currently remaining in the first point cloud data are all non-default values, the second point cloud data are obtained based on the respective data points currently remaining in the first point cloud data.
6. The method according to any one of claims 1 to 5, wherein: Using a clustering algorithm, the second layer of noise data points in the second point cloud data is deleted to obtain a set of normal data points, including: Determine the number of categories of cluster label values for all data points in the second point cloud data, and establish a corresponding plurality of data point sets based on the number of categories of cluster label values, wherein each data point set corresponds to a cluster label value category; Traversing and acquiring each data point in the second point cloud data, and placing the data point into a corresponding data point set based on the clustering 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 of the sets of data points; Determine the data point set with the largest number of data points among the multiple data point sets as a normal data point set; and Each data point in each data point set other than the normal data point set in the multiple data point sets is determined as a second layer of noise data point and deleted.
7. The method according to any one of claims 3 to 5, wherein: Before selecting the extreme value 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: The curvature of each data point in the first point cloud data is determined based on the covariance matrix of neighboring points in the point cloud radius neighborhood of each data point in the first point cloud data.
8. The method according to any one of claims 1 to 7, wherein: The three-dimensional sensor includes one or more of a laser rangefinder, a laser profiler, and a structured light sensor.
9. A suspension spring point cloud data denoising device, 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 the 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 include a first layer of noise data points and a second layer of noise data points, the first layer of noise data points represent data points having errors with an actual profile of the suspension spring, and the second layer of noise data points represent data points that do not belong to the profile of the suspension spring; a determining unit adapted to determine a normal vector of each data point in the first point cloud data based on a point cloud radius neighborhood of each data point in the first point cloud data, wherein the point cloud radius neighborhood of the data point represents a local area within a sphere of a specified radius with the data point as the sphere center in the first point cloud data; A first denoising unit is adapted to delete a first layer of noise data points in the first point cloud data by using a region growing algorithm based on the normal vectors of each data point in the first point cloud data to obtain second point cloud data, and to assign a cluster label value of a corresponding category to each data point in the second point cloud data, wherein the first layer of noise data points includes each data point whose normal vector difference with a neighboring point is greater than a first threshold value; The second denoising unit is suitable for using a clustering algorithm to delete the second layer of noise 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, wherein the second layer of noise data points includes individual data points that are inconsistent with the clustering label values of the normal data points.
10. 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, and the program instructions include instructions for processing the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Point cloud data noise point removal method and device
CN108594250A
Fast reverse modeling method based on three-dimensional feature extraction
CN109118574A
Point cloud denoising method, image processing device and device with storage function
CN109767391A
Target point cloud extraction method
CN110827339A
Railway danger monitoring method based on laser radar
CN116030289A