Dynamic graph trilateral filtering point cloud color denoising method based on graph wavelet transform

By introducing normal vector constraints and interpolation methods into point cloud color denoising, combined with graph wavelet transformation and dynamic graph trilateral filtering, the problems of detail loss and noise interference in the existing technology are solved, and a more efficient point cloud denoising effect is achieved.

CN120107101APending Publication Date: 2025-06-06SHANGHAI UNIV OF ENG SCI
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510178077.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-18
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

The prior art is difficult to effectively retain detailed information in point cloud color denoising, and the graph structure is susceptible to noise interference, resulting in insufficient denoising effect or excessive smoothing.

Method used

A dynamic graph trilateral filtering method based on graph wavelet transformation is adopted, and normal vector constraints and interpolation methods are introduced to build a more robust graph structure, and the denoising effect is improved through block processing and adjustment of dynamic filtering times.

Benefits of technology

It significantly improves the color denoising effect of point clouds, retains more detailed information, reduces the requirements for processing equipment, and improves the quality of point clouds after denoising.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120107101A_ABST
    Figure CN120107101A_ABST
Patent Text Reader

Abstract

The invention discloses a dynamic graph trilateral filtering point cloud color denoising method based on graph wavelet transformation. The method comprises the following steps: reading a three-dimensional point cloud model containing color noise and carrying out data preprocessing; constructing a graph structure used for describing similarity between points in the model; performing graph wavelet transform based on the graph structure to calculate a noise level estimation value; the method is characterized in that the data preprocessing comprises the steps of identifying and normalizing geometric coordinates and color information of each point in a three-dimensional point cloud model, and calculating a normal vector of each point; geometric distance, color difference and normal vector difference weight of the points are introduced when the similarity between the points in the construction graph is described. According to the method, the normal vector constraint is introduced when the weight is calculated, and the color weight is calculated through the interpolation method, so that the geometric characteristics of the point cloud and the influence of neighbor points are considered, the accuracy of color restoration is ensured, and the denoising detail retention capability of the point cloud is improved; the point clouds are subjected to block processing, and the requirement for equipment for processing large-scale point clouds is lowered.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of three-dimensional point cloud data processing technology, and in particular relates to a dynamic Figure 3 Edge filtering point cloud color denoising method. Background Art

[0002] With the rapid development of 3D point cloud technology, point cloud data has become an important research object in the field of modern computer vision and graphics processing, and is widely used in autonomous driving, 3D modeling, environmental perception, etc. However, due to sensor accuracy limitations, environmental noise, and measurement errors, point cloud data often contains geometric and color noise, which not only affects the visualization quality of the point cloud, but also reduces the accuracy of subsequent tasks.

[0003] Existing point cloud denoising methods mostly focus on geometric noise removal, and the processing methods are relatively mature, but the removal of color noise still faces great challenges. Color information is a key attribute that affects the visual quality of point clouds. Its noise removal not only needs to effectively eliminate random errors, but also needs to avoid the loss of detail information. Among the existing methods, denoising technology based on deep learning and graph signal processing has made significant progress. Among them, the method based on graph signal processing has become a widely applicable solution because it does not need to rely on large-scale training data.

[0004] Traditional denoising methods based on graph signals usually construct a graph structure based on geometric distance and color difference, and then perform low-pass filtering in the graph Fourier domain or graph wavelet domain. These methods can effectively suppress high-frequency noise, but the construction of the graph structure only depends on the distance and color information between points. In real scenes, the geometric characteristics and color characteristics of point clouds are usually closely related. For example, in the surface area, the color change is often smoother, while in the edge or feature area, the color change is more drastic. Therefore, the constructed graph structure is easily disturbed by noise. Furthermore, when constructing the graph structure to calculate the similarity weight between two points, the existing methods often simply consider the difference between the two points, while ignoring the influence of the color information around the points. In addition, the existing methods usually filter an entire point cloud and adopt a fixed strategy in the selection of filtering parameters, which may reduce the adaptive ability of the filter to the local characteristics of the point cloud, resulting in insufficient denoising effect or excessive smoothing. Summary of the invention

[0005] In view of the shortcomings of the prior art, the present invention provides a dynamic Figure 3Edge filtering point cloud color denoising method, this method introduces normal vector constraints into the color denoising process, which can better preserve the point cloud details and improve the denoising effect. On this basis, the present invention also considers the influence of the color information of neighboring points, and introduces the interpolation method when calculating the similarity weight between two points in the constructed graph structure, so that the constructed graph structure is not easily affected by noise; in addition, for dense large-scale point clouds, block processing is performed, and different local point cloud blocks use different times of filtering to improve the overall point cloud effect, which can also reduce the requirements for point cloud processing equipment.

[0006] To achieve the above object, the present invention provides the following technical solutions:

[0007] A dynamic method based on graph wavelet transform Figure 3 The edge filtering point cloud color denoising method comprises: reading a three-dimensional point cloud model containing color noise and performing data preprocessing; constructing a graph structure for describing similarities between points in the model; performing a graph wavelet transform based on the graph structure to calculate a noise level estimation value level;

[0008] It is characterized in that the data preprocessing includes identifying the geometric coordinates, color information and normal vector of each point in the three-dimensional point cloud model and normalizing them; and introducing the geometric distance, color difference and normal vector difference weights of the points when describing the similarity between the points in the constructed graph.

[0009] Preferably, a dynamic Figure 3 The edge filtering point cloud color denoising method includes the following steps:

[0010] Step 1: Read the 3D color point cloud model P containing N points. Each point i contains its spatial coordinates (x i ,y i , z i ) and RHB color information (r i , g i , b i ), the model is recorded as:

[0011] P={P i =(x i ,y i , z i , r i , g i , b i )|i=1,2,......,N};

[0012] Step 2: Perform data preprocessing on P, including extracting the geometric coordinates and color information of each point in the three-dimensional color point cloud and calculating the normal vector of each point; and incorporating the normalized geometric coordinates and color information and the normal vector of each point into the processed model:

[0013]

[0014] Step 3: Divide P′ into several local blocks P m ;

[0015] Step 4: For each P m , construct the graph structure W; use the adjacency weight matrix to store W and calculate P m Similarity weights between midpoints; and use the adjacency weight matrix W to obtain the random walk Laplace matrix L rw ;

[0016] Step 5: Based on the random walk Laplace matrix L rw , perform wavelet transform on each color channel information of each local block to obtain the noise level estimation value σ n ;

[0017] Step 6: Based on the noise level estimate σ obtained in step 5 n Based on the principle of energy balance before and after filtering, a dynamic adjustment is adopted for the local block Figure 3 The edge filter performs a dynamic number of filtering operations; the dynamic number is based on the random walk Laplace matrix L rw The eigenvalues ​​of are determined by binary search;

[0018] Step 7: Each local block P m The R, G, and B channels are filtered through the above steps to obtain R out , G out , B out , the color information of each local block after filtering is expressed as f out =(R out , G out , B out ) ; Merge local blocks of point clouds and restore their positions and color values ​​in the original three-dimensional space;

[0019] Step 8: Restore the geometric coordinates and color values ​​of the point cloud to the original range to be consistent with the unnormalized point cloud.

[0020] Further preferably, the step 2 comprises the following steps:

[0021] Step 2.1: Calculate each point P i The normal vector of , including the following steps:

[0022] Step 2.1.1: For each point P in the point cloud i , take the K points with the closest Euclidean distance to form a neighborhood S i , K is the preset value;

[0023] Step 2.1.2: Calculate the neighborhood S according to formula (1) iThe center coordinates of

[0024]

[0025] Step 2.1.3: Calculate the neighborhood S according to formula (2) i The covariance matrix C of is:

[0026]

[0027] Step 2.1.4: Find the eigenvalue and eigenvector of C: Select the eigenvector v corresponding to the eigenvalue with the smallest absolute value min As point P i Normal vector: n i =v min ;

[0028] Step 2.2: Normalize the geometric coordinates according to formula (3):

[0029]

[0030] Among them, x min , x max ,y min ,y max , z min , z max Respectively represent the spatial coordinate set {(x i ,y i , z i )|P i ∈P} in the corresponding minimum and maximum values:

[0031]

[0032] Step 2.3: Normalize the color of the point according to formula (5):

[0033]

[0034] After data preprocessing, each point in the point cloud model contains normalized geometric coordinates, color, and calculated normal vector, which are recorded as

[0035]

[0036] Further preferably, in step 3, the farthest point sampling method and the k nearest neighbor algorithm are combined to divide p′ into local blocks P m ; comprising the following steps:

[0037] Step 3.1: Use the farthest point sampling algorithm to select m representative points in the global point cloud P′, which needs to satisfy m<<N; m is based on the total number of points N in the point cloud model and the size K of each local block defined by the user. PatchSize Dynamically determined, the number of representative points is determined according to formula (6):

[0038]

[0039] α represents the scaling factor that controls the sampling density, Indicates rounding up;

[0040] Step 3.2: For each representative point, find the K points with the closest Euclidean distance PatchSize -1 neighbor point, construct each local block; thus, a representative point and its K PatchSize -1 neighboring point forms a K-sized PatchSize The local block P m ,

[0041] Further preferably, the step 4 comprises the following steps:

[0042] Step 4.1: P m Every point p in j , find the h neighboring points with the closest Euclidean distance to form a neighboring set L j ={p k |p k ∈P m , k = 1, 2, ..., h};

[0043] Step 4.2: Initialize a size K PatchSize *K PatchSize The adjacency weight matrix W is:

[0044]

[0045] Step 4.3: Recalculate the similarity weight w for each edge jk ,Combining the geometric distance, color difference and normal vector difference of the points; including the following steps:

[0046] Step 4.3.1: Calculate p k and p j The Euclidean distance d between jk =‖p j -p k ‖;

[0047] Step 4.3.2: Calculate p k and p j The color difference between the two includes the following steps:

[0048] Step 4.3.2.1: Calculate p j K interp The Euclidean distance of the nearest neighbor points, k interp is the custom number of interpolation neighbors;

[0049] k interp The contribution of the nearest neighbor point to the interpolation result is determined by the weight w n Indicates that points with closer distance have higher weights, and points with farther distance have lower weights. The weights are calculated based on the Euclidean distance between points, as shown in formula (8):

[0050]

[0051] Step 4.3.2.3: According to w n Calculate each interpolation point p j′ Color information: weighted average of the average color difference of the interpolation point set in the neighborhood:

[0052]

[0053] c n is the interpolation neighborhood point p n The color value of

[0054] Step 4.3.2.4: Calculate point p according to formula (10) k and p j Color Differences:

[0055] Δc jk =||c' j -c' k || (10)

[0056] Step 4.3.2.5: Calculate the normal vector difference between j and k according to formula (11):

[0057] Δn jk =||n j -n k || (11)

[0058] Step 4.3.3: Calculate the weighted control parameters according to the following formula:

[0059]

[0060] Step 4.3.4: The final weight calculation formula (15) is:

[0061] When w in formula (7) jk =1 (15)

[0062] Byjk Composition K PatchSize *K PatchSize The adjacency weight matrix W of

[0063] Step 4.4: Calculate the degree matrix D of the adjacency weight matrix W:

[0064]

[0065] Step 4.5: Definition

[0066] W g =W+D (17)

[0067] D g =2D (18)

[0068] Step 4.6: Compute the Laplacian matrix L and the random walk Laplacian matrix L rw :

[0069]

[0070] Further preferably, k interp =7.

[0071] Further preferably, the step 5 comprises the following steps:

[0072] Step 5.1: The single-channel color signal is transformed by wavelet transform to obtain the wavelet coefficient W s ;

[0073] Step 5.2: Calculate the median absolute deviation (MAD) of the high-frequency coefficients according to formula (20):

[0074] MAD=median(|w high -median(w high )|) (20)

[0075] w high represents the 8 wavelet coefficients with the highest frequency, and median(·) represents the median operation;

[0076] Step 5.3: Calculate the noise standard deviation:

[0077]

[0078] σ n An estimate of the noise level for the current color channel.

[0079] Further preferably, the step 6 comprises the following steps:

[0080] Step 6.1: Calculate the energy of the initial single-channel signal color:

[0081]

[0082] R j is the R channel color signal of each point in the current local block;

[0083] Step 6.2: Set the maximum number of filter operations q max and the number of starts q min , calculate the middle value q of the current search interval mid :

[0084]

[0085] use Figure 3 The edge filter filters the current color channel:

[0086] R out =GTF(R signal ,L,q) (23)

[0087] q is the number of times the current filter is filtered. mid , R out is the filtered color signal; GTF is defined Figure 3 The relationship between the input signal and the output signal of the edge filter is:

[0088] R out =D g -1 W g R signal (twenty four)

[0089] Define GTF through steps 6.2.1 to 6.2.3 Figure 3 Edge dynamic filter;

[0090] Step 6.2.1: Perform eigendecomposition on the random walk Laplacian matrix:

[0091]

[0092] Get the eigenvalue matrix Λ RW and the eigenvector matrix U RW , Λ RW is a diagonal matrix whose diagonal elements are the eigenvalues ​​λ of the matrix i , represents the frequency response of the current local block signal;

[0093] Step 6.2.2: Construct the frequency domain response matrix H according to the number of filters q (Λ):

[0094] H q (Λ)=(I-0.5Λ RW )q (26)

[0095] In formula (26), I is the unit matrix, (1-0.5λ i ) q is the response function for each eigenvalue;

[0096] Step 6.2.3: Apply the frequency domain response matrix H in the frequency domain q (Λ) Filter the signal and project it back to the original space:

[0097]

[0098] Right now:

[0099]

[0100] in Map the signal to the frequency domain, H q (Λ) filters the signal in the frequency domain, q controls the smoothness of the signal, and then U RW H q (Λ) maps the filtered signal back to the original space; finally, the filtered signal R out The same dimension and size as the original color channel signal R signal same;

[0101] Step 6.3: Calculate the energy of the filtered signal:

[0102]

[0103] is the color signal value of each point after filtering;

[0104] Step 6.4: Calculate the energy reduction of the signal and the difference between the energy reduction and the noise energy:

[0105]

[0106] In formula (31), σ n is the noise level estimate of the current color channel obtained in step 5;

[0107] Step 6.5: Set the filter stop threshold ∈; if Diff < ∈, select the current q mid is the optimal filtering number; if Diff>∈, q mid Updated to q mid +1, adjust the filter times range to [q mid ,q max ];

[0108] Step 6.6: When the search interval q max-q min When ≤1, the search stops and the number of output filters is q mid The signal R out .

[0109] Further preferably, take q max =10,q min =1,∈=0.05.

[0110] Compared with the prior art, the present invention has the following beneficial effects:

[0111] 1. Because the present invention combines normal vector information when calculating the weight between two points on the constructed graph, normal vector constraints are introduced in color denoising, which solves the problem of detail loss caused by the decoupling of color characteristics and geometric characteristics in traditional methods.

[0112] 2. Because the present invention also considers the influence of the color information of neighboring points, an interpolation method is introduced into the constructed graph structure instead of directly calculating the color similarity between two points. The contribution degree is defined according to the Euclidean distance of the neighbors around the interpolation point to determine the importance of the color information of the neighboring points, so that the constructed graph structure is not easily affected by noise.

[0113] 3. Because the present invention processes dense large-scale point clouds in blocks, a dynamic filtering number is used for each local block. Figure 3 Edge filter, so that different local point cloud blocks use different times of filtering to improve the overall point cloud effect, and can also reduce the requirements for point cloud processing equipment. BRIEF DESCRIPTION OF THE DRAWINGS

[0114] Figure 1 A graph wavelet-based method according to an embodiment of the present invention Figure 3 Flowchart of edge dynamic point cloud filtering color denoising method;

[0115] Figure 2 The m representative points selected in step 3.1 of the embodiment of the present invention are used as the center point map of the local block construction;

[0116] Figure 3 The usage dynamics of the embodiment of the present invention Figure 3 Flowchart of edge filter filtering;

[0117] Figure 4 1 is an implementation effect diagram of an embodiment of the present invention, wherein (a) is a point cloud image with Gaussian noise added, and (b) is a point cloud image after denoising according to the method of the present invention. DETAILED DESCRIPTION

[0118] In order to make the technical means, creative features, objectives and effects achieved by the present invention easy to understand, the present invention is specifically described in the following embodiments in conjunction with the accompanying drawings. It should be noted that the description of these implementation methods is used to help understand the present invention, but does not constitute a limitation of the present invention.

[0119] The present invention provides a dynamic image processing method based on wavelet transform. Figure 3 The edge filtering point cloud color denoising method aims to solve the problems of insufficient detail preservation and incomplete noise removal in point cloud color denoising. The method includes the following steps: reading a 3D point cloud containing color noise; normalizing the 3D coordinates and color information; dividing the point cloud into blocks using the farthest point sampling method; constructing a graph structure in the local block, using the adjacency weight matrix to store, and calculating the weights by combining the coordinate, color and normal vector information; calculating the noise level estimate of the local block point cloud by graph wavelet transform; calculating the noise level estimate and dynamic Figure 3 The energy difference after edge filter processing is used to dynamically control the filtering strength based on the energy balance principle; finally, the processed point clouds are merged and restored to the original data range through inverse normalization. The present invention significantly improves the PSNR and PCQM indicators of point clouds, and is suitable for large-scale high-precision point cloud processing in the fields of 3D human body reconstruction, human posture estimation, and character modeling in virtual reality / augmented reality.

[0120] The specific steps include:

[0121] like Figure 1 As shown in Figure 2, a graph wavelet-based Figure 3 The edge dynamic point cloud filtering color denoising method includes the following steps:

[0122] Step 1: Read the 3D color point cloud model P containing N points. Each point i contains its spatial coordinates (x i ,y i , z i ) and RGB color information (r i , g i , b i ), the model is recorded as P = {P i =(x i ,y i , z i , r i , g i , b i )|i=1,2,……,N}.

[0123] Step 2: Perform data preprocessing on P, including the following steps:

[0124] Step 2.1: Calculate each point P i The normal vector of . It includes the following steps:

[0125] Step 2.1.1: For each point P in the point cloud i , take the K points with the closest Euclidean distance to form a neighborhood S i , K is the preset value.

[0126] Step 2.1.2: Calculate the neighborhood S according to formula (1) i The center coordinates of

[0127]

[0128] Step 2.1.3: Calculate the neighborhood S according to formula (2) i The covariance matrix C of is:

[0129]

[0130] Step 2.1.4: Find the eigenvalue and eigenvector of C. Select the eigenvector v corresponding to the eigenvalue with the smallest absolute value. min As point P i Normal vector: n i =v min

[0131] Step 2.2: Normalize the geometric coordinates according to formula (3):

[0132]

[0133] Among them, x min , x max ,y min ,y max , z min , z max Respectively represent the spatial coordinate set {(x i ,y i , z i )|P i ∈P} in the corresponding minimum and maximum values:

[0134]

[0135] Step 2.3: Normalize the color of the point according to formula (5):

[0136]

[0137] After data preprocessing, each point in the point cloud contains normalized geometric coordinates, color, and normal vector, which are recorded as

[0138] Step 3: Perform local block processing on P′, and the subsequent point cloud denoising is performed on the local block. Specifically including:

[0139] Step 3.1: Use the farthest point sampling algorithm to select m representative points in the global point cloud P′, which needs to satisfy m<<N. m is based on the total number of points N in the point cloud model and the size K of each local block defined by the user. PatchSize Dynamically determined, the number of representative points is determined according to formula (6):

[0140]

[0141] α is the scaling factor that controls the sampling density. Indicates rounding up.

[0142] In this embodiment, α is set to 2. Figure 2 m representative points selected for the embodiment.

[0143] Step 3.2: For each representative point, find the K points with the closest Euclidean distance PatchSize -1 neighbor point to construct each local block. PatchSize -1 neighboring point forms a K-sized PatchSize The local block P m ,

[0144] In this embodiment, K PatchSize Set to the empirical value K PatchSize =1034.

[0145] Step 4: For each P m , construct a graph structure W, W is used to describe P m The similarity between midpoints. Use the adjacency weight matrix to store W and calculate the similarity weights between points. The following steps are included:

[0146] Step 4.1: P m Every point p in j , find the h neighboring points with the closest Euclidean distance to form a neighboring set L j ={p k |p k ∈P m , k=1,2,.....,h}.

[0147] Step 4.2: Initialize a size K PatchSize *K PatchSize The adjacency weight matrix W is:

[0148]

[0149] Step 4.3: Recalculate the similarity weight w for each edge jk,Combining the geometric distance, color difference and normal vector difference of the points. It includes the following steps:

[0150] Step 4.3.1: Calculate p k and p j The Euclidean distance d between jk =‖p j -p k ‖.

[0151] Step 4.3.2: Calculate p k and p j The color difference between the two includes the following steps:

[0152] Step 4.3.2.1: Calculate p j K interp The Euclidean distance of the nearest neighbor points, k interp is the custom number of interpolation neighbors.

[0153] In this embodiment, k is set interp =7, which is the best value in the experiment. Experiments have shown that choosing a larger interpolation parameter will increase the time consumption of the experiment and the effect obtained is almost the same as that of 7. A smaller interpolation parameter will make the denoising effect less obvious.

[0154] k interp The contribution of the nearest neighbor point to the interpolation result is determined by the weight w n Indicates that the weight of points that are closer is higher, and the weight of points that are farther away is lower. The weight is calculated based on the Euclidean distance between points, as shown in formula (8):

[0155]

[0156] Step 4.3.2.3: According to w n Calculate each interpolation point p j′ Color information: weighted average of the average color difference of the interpolation point set in the neighborhood to avoid the influence of excessive or small local color differences:

[0157]

[0158] c n is the interpolation neighborhood point p n The color value of the

[0159] Step 4.3.2.4: Calculate point p according to formula (10) k and p j Color Differences:

[0160] Δc jk =||c' j -c' k || (10)

[0161] Step 4.3.2.5: Calculate the normal vector difference between j and k according to formula (11):

[0162] Δn jk =||n j -n k || (11)

[0163] Step 4.3.3: Calculate the weighted control parameters according to the following formula:

[0164]

[0165] Step 4.3.4: The final weight calculation formula (15) is:

[0166] When (7) jk =1 (15)

[0167] By jk Composition K PatchSize *K PatchSize The adjacency weight matrix W of .

[0168] Step 4.4: Calculate the degree matrix D of the adjacency weight matrix W:

[0169]

[0170] Step 4.5: Definition

[0171] W g =W+D (17)

[0172] D g =2D (18)

[0173] Step 4.6: Compute the Laplacian matrix L and the random walk Laplacian matrix L rw :

[0174]

[0175] Step 5: Perform wavelet transform on each color channel information of each local block, that is, filter the three color channels of R, G, and B of each local block, and estimate the noise level based on the obtained wavelet coefficients. Take the R color channel of the mth local block as the input signal in =R i , (i=1,2,……,K PatchSize ) as an example, the process is as follows Figure 3 The same operation is performed on the G and B channels, including the following steps:

[0176] Step 5.1: The single-channel color signal is transformed by wavelet transform to obtain the wavelet coefficient W s This process is well known to those skilled in the art and will not be described in detail here.

[0177] Step 5.2: Calculate the median absolute deviation (MAD) of the high-frequency coefficients according to formula (20):

[0178] MAD=median(|w high -median(w high )|) (20

[0179] w high represents the 8 wavelet coefficients with the highest frequency, and median(·) represents the median operation;

[0180] Step 5.3: Calculate the noise standard deviation:

[0181]

[0182] σ n An estimate of the noise level for the current color channel.

[0183] Step 6: According to the noise level estimation value obtained in step 5, based on the principle of energy balance before and after filtering, the local block is filtered a dynamic number of times. It includes the following steps:

[0184] Step 6.1: Calculate the energy of the initial single-channel signal color:

[0185]

[0186] R j It is the R channel color signal of each point in the current local block.

[0187] Step 6.2: Set the maximum number of filter operations q max and the number of starts q min , calculate the middle value q of the current search interval mid :

[0188]

[0189] use Figure 3 The edge filter filters the current color channel:

[0190] R out =GTF(R signal ,L,q) (23)

[0191] q is the number of times the current filter is filtered. mid , R out is the filtered color signal. GTF is defined Figure 3 The relationship between the input signal and the output signal of the edge filter is:

[0192] R out =D g -1 W g R signal (twenty four)

[0193] GTF is defined as follows Figure 3 Edge dynamic filter (step 6.2.1 to step 6.2.3):

[0194] Step 6.2.1: Perform eigendecomposition on the random walk Laplacian matrix:

[0195]

[0196] Get the eigenvalue matrix Λ RW and the eigenvector matrix U RW , Λ RW is a diagonal matrix whose diagonal elements are the eigenvalues ​​λ of the matrix i , represents the frequency response of the current local block signal.

[0197] Step 6.2.2: Construct the frequency domain response matrix H according to the number of filters q (Λ):

[0198] H q (Λ)=(I-0.5Λ RW ) q (26)

[0199] In formula (26), I is the unit matrix, (1-0.5λ i ) q is the response function for each eigenvalue.

[0200] In this implementation, q max =10,q min = 1. q is automatically obtained by the model algorithm based on energy balance. Increasing the number of filtering times q will enhance the filtering effect and suppress high-frequency noise.

[0201] Step 6.2.3: Apply the frequency domain response matrix H in the frequency domain q (Λ) Filter the signal and project it back to the original space:

[0202]

[0203] Right now:

[0204]

[0205] in Map the signal to the frequency domain, H q (Λ) filters the signal in the frequency domain, q controls the smoothness of the signal, and then U RW H q (Λ) maps the filtered signal back to the original space. Finally, the filtered signal R out The same dimension and size as the original color channel signal R signal same.

[0206] Step 6.3: Calculate the energy of the filtered signal:

[0207]

[0208] is the color signal value of each point after filtering.

[0209] Step 6.4: Calculate the energy reduction of the signal and the difference between the energy reduction and the noise energy:

[0210]

[0211]

[0212] In formula (31), σ n is the noise level estimate of the current color channel obtained in step 5.

[0213] Step 6.5: Set the filter stop threshold ∈. If Diff < ∈, select the current q mid is the optimal filtering number; if Diff>∈, q mid Updated to q mid +1, adjust the filter times range to [q mid ,q max ].

[0214] In this embodiment, ∈=0.05 is taken based on experience.

[0215] Step 6.6: When the search interval q max -q min When ≤1, the search stops and the number of output filters is q mid The signal R out .

[0216] Step 7: The R, G, and B channels of each local block are filtered through the above steps to obtain R out , G out , B out , the color information of each local block after filtering is expressed as f out =(R out , G out , B out). Merge local blocks of point clouds and restore their positions and color values ​​in the original three-dimensional space. The following steps are included:

[0217] Step 7.1: Define a count matrix count to record the number of times each point is calculated during the processing:

[0218] count(P i )=count(P i )+1 (32)

[0219] P i is a local block P m The point in .

[0220] Step 7.2: Overlay the color attribute values ​​of each filtered local block point with the corresponding global point cloud coordinates:

[0221]

[0222] Step 7.3: For overlapping points, that is, points processed by multiple local blocks, take the average color:

[0223]

[0224] For points that are not processed by any local block, their original color attribute values ​​are retained:

[0225] Step 8: Restore the geometric coordinates and color values ​​of the point cloud to the original range, consistent with the read point cloud. It includes the following steps:

[0226] Step 8.1: Use the global minimum and maximum values ​​calculated before normalization to restore the normalized coordinates of the point to the original coordinate range:

[0227]

[0228] Step 8.2: Normalize the color channels (R out , G out , B out ) is mapped to the original range [0,255]

[0229]

[0230] Step 8.3: Save the processed point cloud to obtain the denoised point cloud.

[0231] The experimental environment of this embodiment is the Matlab2021 operating platform, and a frame of point cloud of longdress in the JPEG Pleno Database:8iVoxelized Full Bodies (8iVFB v2) dataset is selected. This dataset is provided by 8i and contains multiple high-resolution three-dimensional human point cloud models with color and geometric information, which are widely used in point cloud compression and analysis research. In order to verify the denoising performance of this method, Gaussian noise of different intensities is artificially added to the model to simulate the noise interference that may occur in the actual acquisition process as the experimental data input with color noise. When calculating the color similarity between two points, the interpolation parameter k is set. interp =7, when using dynamic Figure 3 When edge filter is used for filtering, the energy difference threshold ∈ is set to 0.05. Through the above steps, the color denoising of each point in the point cloud is completed.

[0232] The implementation effect of the method of the present invention is as follows Figure 4 As shown in the figure, (a) is a point cloud image with Gaussian noise added, and (b) is a point cloud image after denoising according to the method of the present invention. Experiments have shown that the present invention significantly improves the color PSNR and PCQM indicators of the point cloud. In a Gaussian noise environment with a standard deviation of 0.05 and 0.08, the PSNR of the denoised point cloud data is increased by 8.07dB and 4.85dB respectively. The PCQM indicator is significantly reduced, which proves the effectiveness of the present invention in point cloud denoising.

[0233] The above-mentioned implementation modes are preferred cases of the present invention and are not used to limit the protection scope of the present invention. Various deformations or modifications that can be made by ordinary technicians in this field without creative work within the scope of the attached claims are still within the protection scope of this patent.

Claims

1. A method for color denoising of dynamic graph trilateral filtering point cloud based on graph wavelet transform, comprising: Read the 3D point cloud model containing color noise and perform data preprocessing; Construct a graph structure to describe the similarities between points in the model; Performing graph wavelet transform based on the graph structure to calculate a noise level estimation value; It is characterized in that the data preprocessing includes: identifying the geometric coordinates and color information of each point in the three-dimensional point cloud model and normalizing them, and calculating the normal vector of each point; introducing the geometric distance, color difference and normal vector difference weight of the points when describing the similarity between the points in the constructed graph.

2. The method for color denoising of dynamic graph trilateral filtering point cloud based on graph wavelet transform according to claim 1, characterized in that: The steps include: Step 1: Read the 3D color point cloud model P containing N points. Each point i contains its spatial coordinates (x i ,y i ,z i ) and RGB color information (r i ,g i ,b i ), the model is recorded as: P={P i =(x i ,y i ,z i ,r i ,g i ,b i )|i=1,2,……,N}; Step 2: Perform data preprocessing on P, including extracting the geometric coordinates and color information of each point in the three-dimensional color point cloud and calculating the normal vector of each point; and incorporating the normalized geometric coordinates and color information and the normal vector of each point into the processed model: Step 3: Divide P′ into several local blocks P m ; Step 4: For each P m , construct graph structure W; Use the adjacency weight matrix to store W and calculate P m Similarity weights between midpoints; and use the adjacency weight matrix W to obtain the random walk Laplace matrix L rw ; Step 5: Based on the random walk Laplace matrix L rw , perform wavelet transform on each color channel information of each local block to obtain the noise level estimation value σ n ; Step 6: Based on the noise level estimate σ obtained in step 5 n Based on the principle of energy balance before and after filtering, a dynamic number of filtering operations are performed on the local block using a dynamically adjusted graph trilateral filter; the dynamic number of filtering operations is based on the random walk Laplace matrix L rw The eigenvalues ​​of are determined by binary search; Step 7: Each local block P m The R, G, and B channels are filtered through the above steps to obtain R out ,G out ,B out , the color information of each local block after filtering is expressed as f out =(R out ,G out ,B out ) ; Merge local blocks of point clouds and restore their positions and color values ​​in the original three-dimensional space; Step 8: Restore the geometric coordinates and color values ​​of the point cloud to the original range to be consistent with the unnormalized point cloud.

3. The method for color denoising of dynamic graph trilateral filtering point cloud based on graph wavelet transform according to claim 2 is characterized in that: The following steps are described in step 2: Step 2.1: Calculate each point P i The normal vector of , including the following steps: Step 2.1.1: For each point P in the point cloud i , take the K points with the closest Euclidean distance to form a neighborhood S i , K is the preset value; Step 2.1.2: Calculate the neighborhood S according to formula (1) i The center coordinates of Step 2.1.3: Calculate the neighborhood S according to formula (2) i The covariance matrix C of is: Step 2.1.4: Find the eigenvalue and eigenvector of C: Select the eigenvector v corresponding to the eigenvalue with the smallest absolute value min As point P i Normal vector: n i =v min ; Step 2.2: Normalize the geometric coordinates according to formula (3): Among them, x min , x max ,y min ,y max , z min , z max Respectively represent the spatial coordinate set {(x i ,y i ,z i )|P i ∈P} in the corresponding minimum and maximum values: Step 2.3: Normalize the color of the point according to formula (5): After data preprocessing, each point in the point cloud model contains normalized geometric coordinates, color, and calculated normal vector, which are recorded as 4. The method for color denoising of dynamic graph trilateral filtering point cloud based on graph wavelet transform according to claim 2, characterized in that: In step 3, the farthest point sampling method and the k nearest neighbor algorithm are combined to divide P′ into local blocks P m ; comprising the following steps: Step 3.1: Use the farthest point sampling algorithm to select m representative points in the global point cloud P′, which needs to satisfy m<<N; m is based on the total number of points N in the point cloud model and the size K of each local block defined by the user. PatchSize Dynamically determined, the number of representative points is determined according to formula (6): α represents the scaling factor that controls the sampling density, Indicates rounding up; Step 3.2: For each representative point, find the K points with the closest Euclidean distance PatchSize -1 neighbor point, construct each local block; thus, a representative point and its K PatchSize -1 neighboring point forms a K-sized PatchSize The local block P m , 5. The method for color denoising of dynamic graph trilateral filtering point cloud based on graph wavelet transform according to claim 2, characterized in that: The step 4 comprises the following steps: Step 4.1: P m Every point p in j , find the h neighboring points with the closest Euclidean distance to form a neighboring set L j ={p k |p k ∈P m ,k=1,2,…,h}; Step 4.2: Initialize a size K PatchSize *K PatchSize The adjacency weight matrix W is: Step 4.3: Recalculate the similarity weight w for each edge jk ,Combining the geometric distance, color difference and normal vector difference of the points; including the following steps: Step 4.3.1: Calculate p k and p j The Euclidean distance d between jk =‖p j -p k ‖; Step 4.3.2: Calculate p k and p j The color difference between the two includes the following steps: Step 4.3.2.1: Calculate p j K interp The Euclidean distance of the nearest neighbor points, k interp is the custom number of interpolation neighbors; k interp The contribution of the nearest neighbor point to the interpolation result is determined by the weight w n Indicates that points with closer distance have higher weights, and points with farther distance have lower weights. The weights are calculated based on the Euclidean distance between points, as shown in formula (8): Step 4.3.2.3: According to w n Calculate each interpolation point p j′ Color information: weighted average of the average color difference of the interpolation point set in the neighborhood: c n is the interpolation neighborhood point p n The color value of Step 4.3.2.4: Calculate point p according to formula (10) k and p j Color Differences: Δc jk =‖c' j -c' k ‖ (10) Step 4.3.2.5: Calculate the normal vector difference between j and k according to formula (11): Δn jk =‖n j -n k ‖ (11) Step 4.3.3: Calculate the weighted control parameters according to the following formula: Step 4.3.4: The final weight calculation formula (15) is: By jk Composition K PatchSize *K PatchSize The adjacency weight matrix W of Step 4.4: Calculate the degree matrix D of the adjacency weight matrix W: Step 4.5: Definition W g =W+D (17) D g =2D (18) Step 4.6: Compute the Laplacian matrix L and the random walk Laplacian matrix L rw :

6. The method for color denoising of dynamic graph trilateral filtering point cloud based on graph wavelet transform according to claim 2, characterized in that: The step 5 comprises the following steps: Step 5.1: The single-channel color signal is transformed by wavelet transform to obtain the wavelet coefficient W s ; Step 5.2: Calculate the median absolute deviation (MAD) of the high-frequency coefficients according to formula (20): MAD=median(|w high -median(w high )|) (20) w high represents the 8 wavelet coefficients with the highest frequency, and median(·) represents the median operation; Step 5.3: Calculate the noise standard deviation: σ n An estimate of the noise level for the current color channel.

7. The method for color denoising of dynamic graph trilateral filtering point cloud based on graph wavelet transform according to claim 2, characterized in that: The step 6 comprises the following steps: Step 6.1: Calculate the energy of the initial single-channel signal color: R j is the R channel color signal of each point in the current local block; Step 6.2: Set the maximum number of filter operations q max and the number of starts q min , calculate the middle value q of the current search interval mid : Filter the current color channel using the trilateral filter: R out =GTF(R signal ,L,q) (23) q is the number of times the current filter is filtered. mid , R out is the filtered color signal; GTF is a defined graph trilateral filter, and the relationship between its input signal and output signal is: R out =D g -1 W g R signal (24) Define the GTF graph trilateral dynamic filter through steps 6.2.1 to 6.2.3; Step 6.2.1: Perform eigendecomposition on the random walk Laplacian matrix: Get the eigenvalue matrix Λ RW and the eigenvector matrix U RW , Λ RW is a diagonal matrix whose diagonal elements are the eigenvalues ​​λ of the matrix i , represents the frequency response of the current local block signal; Step 6.2.2: Construct the frequency domain response matrix H according to the number of filters q (Λ): H q (Λ)=(I-0.5Λ RW ) q (26) In formula (26), I is the unit matrix, (1-0.5λ i ) q is the response function for each eigenvalue; Step 6.2.3: Apply the frequency domain response matrix H in the frequency domain q (Λ) Filter the signal and project it back to the original space: Right now: in Map the signal to the frequency domain, H q (Λ) filters the signal in the frequency domain, q controls the smoothness of the signal, and then U RW H q (Λ) maps the filtered signal back to the original space; finally, the filtered signal R out The same dimension and size as the original color channel signal R signal same; Step 6.3: Calculate the energy of the filtered signal: is the color signal value of each point after filtering; Step 6.4: Calculate the energy reduction of the signal and the difference between the energy reduction and the noise energy: In formula (31), σ n is the noise level estimate of the current color channel obtained in step 5; Step 6.5: Set the filter stop threshold ∈; if Diff < ∈, select the current q mid is the optimal filtering number; if Diff>∈, q mid Updated to q mid +1, adjust the filter times range to [q mid ,q max ]; Step 6.6: When the search interval q max -q min When ≤1, the search stops and the number of output filters is q mi The signal R out .

8. The method for color denoising of dynamic graph trilateral filtering point cloud based on graph wavelet transform according to claim 5, characterized in that: Take k interp =7.

9. The method for color denoising of dynamic graph trilateral filtering point cloud based on graph wavelet transform according to claim 7, characterized in that: Toriq max = 10, q min = 1, ∈ = 0.05.