A 3D denoising method based on guided filtering

By combining guided filtering and nonlocal means, this method solves the image distortion problem caused by non-translational motion in 3D denoising methods, improves the denoising effect while maintaining image quality, and is applicable to fields such as intelligent vehicles and intelligent monitoring.

CN120707422BActive Publication Date: 2026-05-08RICE MICROELECTRONICS
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
RICE MICROELECTRONICS
Filing Date
2025-06-16
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

Existing 3D denoising methods are prone to causing image blurring and ghosting when dealing with objects that are not in translational motion, which affects image quality. Furthermore, traditional mean fusion methods are insufficient in terms of denoising performance.

Method used

A guided filtering-based 3D denoising method is adopted. The method matches image blocks by motion estimation and performs filtering using guided filtering. Combining the idea of ​​nonlocal means, a weight function is set to balance the contribution of different guided image blocks. Multiple guided image blocks are used instead of a single guided image block to make full use of the translational similarity and structural similarity within the image.

Benefits of technology

It effectively reduces image distortion caused by non-translation motion, improves noise reduction, preserves image edge and detail information, reduces the impact of noise, and is suitable for low-cost hardware implementation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120707422B_ABST
    Figure CN120707422B_ABST
Patent Text Reader

Abstract

The application discloses a 3D noise reduction method based on guided filtering, and relates to the technical field of digital image processing, and comprises the following steps: matching each pixel point of an input frame by using motion estimation to obtain corresponding pixel points in a reference frame; based on each pixel point, extracting image blocks in R, G and B channels as target image blocks, and extracting corresponding guided image blocks in the reference frame for matching; filtering the target image blocks and the guided image blocks in the reference frame by using guided filtering to obtain output image blocks after noise reduction. The application can achieve high-quality noise reduction effect, reduce image distortion caused by non-translational motion, is easy to implement by hardware, and is convenient for low-cost implementation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of digital image processing technology, and more specifically, to a 3D noise reduction method based on guided filtering. Background Technology

[0002] Digital image acquisition is the process of converting light signals into electrical signals using sensors such as cameras and storing, transmitting, and displaying them in digital form. Digital image processing is the process of processing and optimizing acquired digital images for the intended use and scenario. Common methods include image enhancement and restoration, image encoding and compression, and image description.

[0003] Image noise reduction is a crucial aspect of image enhancement and restoration. It is widely used in various fields, including automotive imaging and surveillance cameras. In low-light environments, such as outdoors at dusk and night, cameras generate significant noise due to insufficient light sensitivity. To ensure clear display, noise reduction of low-light images is necessary, allowing for clear acquisition of real-time information by the naked eye and storage of clear images for subsequent use.

[0004] 3D noise reduction is an important technique in image processing. It utilizes the temporal correlation of image sequences to reduce noise. By detecting corresponding pixel blocks between two frames through motion estimation, and then temporally fusing the matched pixel blocks, it leverages the statistical randomness of noise to reduce its impact on image quality. Currently, mainstream 3D noise reduction methods primarily employ averaging or weighted averaging methods during temporal fusion. However, for some objects without translational motion, simple averaging can lead to blurring, motion blur, and other problems, negatively impacting image quality to some extent.

[0005] Guided filtering is an important image processing filtering technique. Its core principle is to use information from a guide image to filter the target image. It calculates the filtered output of the target image by defining a locally linear model on the guide image. This filtering method has edge-preserving properties, effectively retaining image edges and details while removing noise and smoothing the image. Furthermore, the locally linear nature ensures that the basic local structure of the image remains unchanged, avoiding image distortion caused by non-translational motion or other issues that could lead to structural misalignment.

[0006] Today, image processing plays an increasingly important role in many fields such as smart cars, smart homes, and smart surveillance, and it also puts forward higher requirements for image quality. A new and more effective 3D noise reduction temporal fusion method has practical value.

[0007] No effective solutions have yet been proposed to address the problems in the relevant technologies. Summary of the Invention

[0008] In view of the problems in related technologies, this invention proposes a 3D noise reduction method based on guided filtering to overcome the above-mentioned technical problems existing in the existing related technologies.

[0009] Therefore, the specific technical solution adopted by the present invention is as follows:

[0010] A 3D noise reduction method based on guided filtering includes:

[0011] Motion estimation is used to match each pixel in the input frame to obtain the corresponding pixel in the reference frame;

[0012] For each pixel, the image blocks in the R, G, and B channels are extracted as target image blocks, and the corresponding guide image blocks are extracted in the reference frame for matching.

[0013] Guided filtering is used to filter the target image block and the guide image block in the reference frame to obtain the noise-reduced output image block.

[0014] Furthermore, motion estimation is used to match each pixel in the input frame to obtain the corresponding pixels in the reference frame, including:

[0015] Use the current image frame to be denoised as the input frame, and the image that has been denoised as the reference frame;

[0016] For each pixel in the input frame, select the pixel in the reference frame that is at the same position as the input pixel, and use the pixel at the same position as the center to define the preset matching range of the reference frame;

[0017] Centered on the pixels in the input frame, a preset image block is selected as the matching block, and a search is performed within the preset matching range of the reference frame to find several similar reference blocks;

[0018] Calculate the distance between an image block in the reference frame and a matching block in the input frame, compare the obtained distance with a preset threshold, and retain image blocks whose distance is less than the threshold;

[0019] Through motion estimation and matching processes, matching blocks corresponding to each pixel in the input frame are obtained in the reference frame.

[0020] Furthermore, the formula for calculating the distance between an image patch in the reference frame and a matching patch in the input frame is:

[0021]

[0022] In the formula, d represents the distance between the image block in the reference frame and the matching block in the input frame; I represents the matching block; I(i,j,c) represents the pixel value of the matching block in the input frame at coordinates (i,j,c); I′(i,j,c) represents the pixel value of the image block in the reference frame at coordinates (i,j,c); and m represents the side length of the image block.

[0023] Furthermore, based on each pixel, image blocks in the R, G, and B channels are extracted as target image blocks, and corresponding guide image blocks are extracted from the reference frame for matching, including:

[0024] For each pixel, extract its image patch in the R, G, and B channels respectively, and use it as the target image patch;

[0025] In the reference frame, extract the position that matches the target image block, and extract the guide image blocks for the R, G, and B channels respectively, ensuring that the extracted target image block and guide image block are the same size.

[0026] Furthermore, guided filtering is used to filter the target image block and the guided image block in the reference frame to obtain the denoised output image block, which includes:

[0027] Calculate the coefficients in the guided filter linear model based on the relationship between the guide image patch and the target image patch;

[0028] Based on the obtained coefficients, the pixel value of the center point of the output image block is calculated, and for each pixel, the output pixel values ​​of its R, G, and B channels are calculated respectively.

[0029] During the filtering process, the idea of ​​nonlocal mean is used to set weights to balance the contributions of different guiding image blocks;

[0030] The algorithm iterates through all pixels in the image, performs filtering on the target image block and the guide image block respectively, and finally generates a complete output image block after noise reduction.

[0031] Furthermore, the formula for calculating the coefficients in the guided filter linear model is as follows:

[0032]

[0033] In the formula, a and b both represent coefficients; I′ rl Indicates a guide image block; I′ rl (i,j) represents the pixel value of the pixel at coordinates (i,j) in the guiding image block; I r Represents the target image patch; I r(i,j) represents the pixel value of the pixel at coordinate (i,j) in the target image patch; s represents the distance from the center point to the edge of the image patch; ε represents the regularization parameter that limits the size of a; m represents the side length of the image patch; n represents the matching range. Indicates the weight.

[0034] Furthermore, the formula for calculating the pixel value of the center point of the output image patch is:

[0035]

[0036] In the formula, This represents the pixel value at the center point of the output image patch; a and b both represent coefficients. Indicates weight; I′ rl This indicates a guide image block.

[0037] Furthermore, during the filtering process, the concept of nonlocal means is used to set weights to balance the contributions of different guiding image patches, including:

[0038] Multiple guide image blocks are used instead of a single guide image block, and the translational similarity within the image is utilized to improve the noise reduction effect in smooth areas;

[0039] By setting a weighting function to balance the contributions of different guided image blocks, and combining the structural similarity and pixel value similarity of image blocks, the noise reduction effect is improved.

[0040] Due to computational resource constraints, the weight function is replaced with a monotonically decreasing function, and the weight calculation is optimized by using a lookup table.

[0041] The beneficial effects of this invention are as follows:

[0042] 1. This invention uses a block-matching-based method for motion estimation. By comparing the similarity of image blocks with neighboring positions in the previous frame, several matching blocks are found for temporal fusion. This does not affect compatibility with other modules. Improvements have been made to the temporal fusion part, replacing the mean-based fusion method with a guided filtering-based method to enhance noise reduction. This achieves high-quality noise reduction, reduces image distortion caused by non-translational motion, is easy to implement in hardware, and facilitates low-cost implementation.

[0043] 2. This invention uses guided filtering instead of mean fusion, and modifies the general single-guided-image guided filtering into multi-guided-image guided filtering, making full use of spatial similarity to further improve the noise reduction effect. After obtaining several matching blocks through motion estimation, these matching blocks are used as guide images, with the current frame as the target image. It combines the smoothness of the noise reduction already completed in the previous frame with the structural information of the current frame, avoiding image distortion caused by changes in the local structure of the image due to non-translational motion. It also outperforms traditional mean fusion in preserving edges and reducing noise. Furthermore, by using multiple guide images instead of a single guide image, it further utilizes the spatial similarity within the image and reduces the impact of accidental matching errors caused by randomness. At the same time, guided filtering itself consumes relatively few computational resources; compared with traditional 3D noise reduction, the main computational resources are also consumed in the motion estimation part, making it easy to implement at low cost. Attached Figure Description

[0044] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0045] Figure 1 This is a flowchart of a 3D noise reduction method based on guided filtering according to an embodiment of the present invention;

[0046] Figure 2 This is a schematic diagram illustrating the process of RGB image motion estimation and acquisition of guide image blocks and target image blocks according to an embodiment of the present invention;

[0047] Figure 3 This is a schematic diagram of the Bayer image motion estimation and acquisition of guide image blocks and target image blocks according to an embodiment of the present invention. Detailed Implementation

[0048] To further illustrate the various embodiments, the present invention provides accompanying drawings, which are part of the disclosure of the present invention. These drawings are mainly used to illustrate the embodiments and can be used in conjunction with the relevant descriptions in the specification to explain the operating principles of the embodiments. With reference to these drawings, those skilled in the art should be able to understand other possible implementation methods and the advantages of the present invention.

[0049] According to an embodiment of the present invention, a 3D noise reduction method based on guided filtering is provided.

[0050] The present invention will now be further described in conjunction with the accompanying drawings and specific embodiments, such as... Figure 1 As shown, the 3D noise reduction method based on guided filtering according to an embodiment of the present invention includes:

[0051] S1. Use motion estimation to match each pixel in the input frame to obtain the corresponding pixel in the reference frame;

[0052] S2. Based on each pixel, extract its image blocks in the R, G, and B channels as target image blocks, and extract the corresponding guide image blocks in the reference frame for matching;

[0053] S3. Use guided filtering to filter the target image block and the guided image block in the reference frame to obtain the noise-reduced output image block.

[0054] In this optional embodiment, matching each pixel of the input frame using motion estimation to obtain the corresponding pixel in the reference frame includes:

[0055] Use the current image frame to be denoised as the input frame, and the image that has been denoised as the reference frame;

[0056] For each pixel in the input frame, select the pixel in the reference frame that is at the same position as the input pixel, and use the pixel at the same position as the center to define the preset matching range of the reference frame;

[0057] Centered on the pixels in the input frame, a preset image block is selected as the matching block, and a search is performed within the preset matching range of the reference frame to find several similar reference blocks;

[0058] Calculate the distance between an image block in the reference frame and a matching block in the input frame, compare the obtained distance with a preset threshold, and retain image blocks whose distance is less than the threshold;

[0059] Through motion estimation and matching processes, matching blocks corresponding to each pixel in the input frame are obtained in the reference frame.

[0060] In this optional embodiment, for each pixel, image blocks in the R, G, and B channels are extracted as target image blocks, and corresponding guide image blocks are extracted in the reference frame for matching, including:

[0061] For each pixel, extract its image patch in the R, G, and B channels respectively, and use it as the target image patch;

[0062] In the reference frame, extract the position that matches the target image block, and extract the guide image blocks for the R, G, and B channels respectively, ensuring that the extracted target image block and guide image block are the same size.

[0063] In this optional embodiment, guided filtering is used to filter the target image block and the guided image block in the reference frame to obtain a denoised output image block, including:

[0064] Calculate the coefficients in the guided filter linear model based on the relationship between the guide image patch and the target image patch;

[0065] Based on the obtained coefficients, the pixel value of the center point of the output image block is calculated, and for each pixel, the output pixel values ​​of its R, G, and B channels are calculated respectively.

[0066] During the filtering process, the idea of ​​nonlocal mean is used to set weights to balance the contributions of different guiding image blocks;

[0067] The algorithm iterates through all pixels in the image, performs filtering on the target image block and the guide image block respectively, and finally generates a complete output image block after noise reduction.

[0068] In this optional embodiment, during the filtering process, the nonlocal mean concept is used to set weights to balance the contributions of different guiding image patches, including:

[0069] Multiple guide image blocks are used instead of a single guide image block, and the translational similarity within the image is utilized to improve the noise reduction effect in smooth areas;

[0070] By setting a weighting function to balance the contributions of different guided image blocks, and combining the structural similarity and pixel value similarity of image blocks, the noise reduction effect is improved.

[0071] Due to computational resource constraints, the weight function is replaced with a monotonically decreasing function, and the weight calculation is optimized by using a lookup table.

[0072] It should be explained that during 3D noise reduction, the previous frame is used as the reference frame. After inputting a new image, 3D noise reduction is performed according to the following steps. This invention is applicable to both RGB and Bayer format images, which are described below:

[0073] 1) For RGB format images, perform 3D noise reduction as follows:

[0074] The first step involves taking each pixel in the input frame and selecting a pixel block centered on it. Motion estimation is then performed by searching for matching blocks in the reference frame to find the corresponding pixel. Specifically, the current input image frame to be denoised is called the input frame, and the previous frame, which has already been denoised and is stored in the device register, is called the reference frame. For each pixel in the input frame, a pixel in the reference frame at the same position is selected, and an n×n range is chosen as the matching range centered on that pixel. An m×m image block centered on this pixel in the input frame is selected as the matching block, and several matching reference blocks are found within the aforementioned n×n matching range through a search. The side length m of the image block used for matching and the selected matching range n usually have a corresponding relationship and can be adjusted as needed. Common values ​​for m and n are m=5, n=9, 11, 13; m=7, n=11, 13, 15, 17, etc.

[0075] During matching, m×m image blocks within the n×n matching range are selected sequentially. For RGB format images, the search step size is set to 1.

[0076] Calculate the difference between the image block in the selected reference frame and the matching block. Specifically, for an RGB format image, let the matching block be I, where the pixel value of the pixel at coordinates (i, j, c) is denoted as I(i, j, c), and let the image block in the selected reference frame be I′, where the pixel value of the pixel at coordinates (i, j, c) is denoted as I′(i, j, c). Here, c = 1, 2, 3, representing the red, green, and blue channels respectively when the channel values ​​are 1, 2, and 3. The formula for calculating the distance between the image block in the reference frame and the matching block in the input frame is:

[0077]

[0078] In the formula, d represents the distance between the image block in the reference frame and the matching block in the input frame; I represents the matching block; I(i,j,c) represents the pixel value of the matching block in the input frame at coordinates (i,j,c); I′(i,j,c) represents the pixel value of the image block in the reference frame at coordinates (i,j,c); and m represents the side length of the image block.

[0079] This distance is compared with a threshold th, and image blocks with distances less than the threshold are retained. The threshold is determined based on the pixel value range and the image noise level. For example, for 8-bit data with a range of [0, 255], the noise level is typically selected from 8 to 32, from low to high. The noise level can be determined through exposure gain and other methods. After the first step described above, several reference blocks are obtained. Let k be the number of reference blocks that meet the conditions, and let I1, ..., I2 be the reference blocks. k And record the distances obtained as d1, ... d k .

[0080] The second step is to obtain the guide image patch and the target image patch. Guided filtering is suitable for single-channel scenarios; for multiple color channels, each channel needs to be filtered separately. Specifically, for an RGB format image, each pixel has three channels: R, G, and B. The image patch I centered on that pixel, representing the R channel, is taken. r G channel image I g and B channel image block I b Then, take the image patch I′ centered on the point that matches it in the reference frame. r1 ...I′ rk ...,I′ g1 ...I′ gk ...,I′ b1 ...I′ bk ...These image patches are all the same size, i.e., m×m.

[0081] The results of the first and second steps are illustrated in the diagram below. Figure 2 As shown in the figure, the left side is the input frame, and the pixels marked with black dots are the current pixels. The pixel block centered on it is selected and represented by a box in the figure. The arrow below indicates that the RGB three-channel image block centered on it is extracted separately as the target image block I. r I g I b The right side shows the reference frame. Pixel blocks at the same positions as the input frame are represented by solid-line boxes, while dashed-line boxes represent pixel blocks obtained through motion estimation matching, with the center point of the matching pixel. The arrow indicates that the RGB three-channel image block represented by the dashed-line box is extracted as the guide image block I′. r , I′ g , I′ b By performing the same operation on the remaining reference blocks, other guide image blocks for the corresponding channels can be obtained.

[0082] The third step is guided filtering, which uses the guide image block and the target image block to obtain the output image block. This will be explained using the R channel as an example:

[0083] Take I' r1 ...I′ rk Let the guiding image block be denoted as guiding image block I′. rl The pixel value I′ of the pixel at coordinate (i, j) rl (i,j). Take I r Let I be the pixel value of the pixel at coordinate (i, j) in the target image patch. r (i,j). Where -s≤i, j≤s, and s is the distance from the center point to the edge of the image patch. In the image patch, the coordinates of the center point are (0,0). The formula for calculating the coefficients in the guided filter linear model is:

[0084]

[0085] In the formula, a and b both represent coefficients; k is the number of reference blocks obtained in the first step, I′ rl Represents the guide image block obtained in the first step, l = 1, 2, ..., k; I′ rl (i,j) represents the pixel value of the pixel at coordinate (i,j) in the guiding image block, l = 1, 2, ..., k; r Represents the target image patch; I r (i, j) represents the pixel value of the pixel at coordinate (i, j) in the target image patch; s represents the distance from the center point to the edge of the image patch; ε represents the regularization parameter that limits the size of a. The larger the value, the greater the proportion of guiding image information in the output image, and the smoother the image. However, if the value is too large, it is easy to distort. In this invention, the value is generally [0.5, 2]; m represents the side length of the image patch, m = 2s + 1; n represents the matching range. Let d1, ... d represent the weights. k This refers to the reference block I1, ... I obtained in the first step. k The corresponding distance, r, is used as a subscript to indicate that the operation is currently being performed on the R channel.

[0086] After obtaining the coefficients in step three above, the pixel value of the center point in the output image is calculated using the formula for calculating the pixel value of the center point of the output image block:

[0087]

[0088] In the formula, This represents the pixel value at the center point of the output image patch; a and b both represent coefficients. Indicates the weight; k is the number of reference blocks obtained in the first step, I′ rl Let l represent the guide image block, where l = 1, 2, ..., k.

[0089] Similarly, by applying the same operation to the G channel and the B channel, the corresponding output value of the pixel can be obtained.

[0090] This invention, based on guided filtering, introduces the concept of Non-Local Means (NLM), replacing the previous single guided image block with multiple guided image blocks. On one hand, this fully utilizes the translational similarity within the image, achieving better noise reduction for smooth areas; on the other hand, it makes fuller use of information from the reference frame, further improving the noise reduction effect and avoiding the impact of suboptimal matching of some image blocks due to the randomness of noise. Simultaneously, by setting weight e... -dlBy combining the structural similarity of image patches represented by guided filtering with the pixel value similarity of image patches represented by distance, image information can be utilized more effectively while reducing the impact of pixel patches with large differences. For resource conservation, [the following can be done]: Replace with This is a monotonically decreasing function. In practical applications, the corresponding weight W(d) can be set using a lookup table through testing. l To further optimize performance and save resources.

[0091] After traversing all pixels in the image, the complete output image can be obtained.

[0092] 2) For Bayer format images, perform 3D noise reduction as follows:

[0093] Step 1: For each pixel in the input frame, take the pixel block centered on it and perform motion estimation by searching for matching blocks in the reference frame to find the corresponding pixel. Specifically, the current input image frame to be denoised is called the input frame, and the previous frame image that has been denoised and stored in the device register is called the reference frame. For each pixel in the input frame, select the pixel in the reference frame that is at the same position as it, and select an n×n range as the matching range centered on it. Select an m×m image block centered on this pixel to be matched in the input frame as the matching block, and find several matching reference blocks within the aforementioned n×n matching range by searching. The side length m of the image block used for matching and the selected matching range n usually have a corresponding relationship and can be adjusted as needed. Common values ​​for m and n are m=5, n=9, 11, 13; m=7, n=11, 13, 15, 17, etc.

[0094] When performing the matching, select m×m image blocks within the n×n matching range in sequence. For Bayer format image blocks, it is important to ensure that the same color channels correspond to each other during the search, and set the search step size to 2.

[0095] Calculate the difference between the image block in the selected reference frame and the matching block. Specifically, for a Bayer format image, let the matching block be I, where the pixel value of the pixel at coordinates (i, j) is denoted as I(i, j), and let the image block in the selected reference frame be I′, where the pixel value of the pixel at coordinates (i, j) is denoted as I′(i, j). The formula for calculating the distance between the image block in the reference frame and the matching block in the input frame is:

[0096]

[0097] In the formula, d represents the distance between the image block in the reference frame and the matching block in the input frame; I represents the matching block; I(i,j,c) represents the pixel value of the matching block in the input frame at coordinates (i,j,c); I′(i,j,c) represents the pixel value of the image block in the reference frame at coordinates (i,j,c); and m represents the side length of the image block.

[0098] This distance is compared with a threshold th, and image blocks with distances less than the threshold are retained. The threshold is determined based on the pixel value range and the image noise level. For example, for 8-bit data with a range of [0, 255], the noise level is typically selected from 8 to 32, from low to high. The noise level can be determined through exposure gain and other methods. After step one above, several reference blocks, denoted as I1, ... I2, are obtained. k And record the distances obtained as d1, ... d k .

[0099] Step 2: Obtain the guide image block and the target image block. For Bayer format images, each pixel has only one channel, while surrounding pixels store the pixel values ​​of other channels. When selecting an image block, use it as the center and select in steps of 2, that is, only select surrounding pixels with the same channel.

[0100] The results of steps one and two are illustrated in the diagram below. Figure 2 As shown in the figure, the left side is the input frame, with the pixel blocks used for matching marked by black boxes, the center of which is the current pixel. Pixels in the same channel surrounding the target image are selected with a step size of 2 and merged into a single image block, denoted as I. The right side is the reference frame, where the matched image blocks are also marked with black boxes. Pixels in the same channel surrounding the target image are selected with a step size of 2 and merged into a single image block, denoted as I′. The figure uses a 3×3 image block as an example for both the target and guide image blocks. In practical applications, a 5×5 range is more commonly used. For the reference block I1 in step one, ... I... k Perform this operation separately to obtain the target image block I in the current frame and the guide image block I1′, ... I in the reference frame. k ′ is used for subsequent steps.

[0101] Step 3: Perform guided filtering. Using I1′, ..., I k Let ' be the guide image block, denoted as guide image block I. l The pixel value of the pixel at coordinate (i, j) in the triangle is I. lLet I be the target image patch, and denote the pixel value of the pixel at coordinate (i, j) as I(i, j). Where -s ≤ i, j ≤ s, and s is the distance from the center point to the edge of the image patch. In the image patch, the coordinates of the center point are (0, 0). First, calculate the coefficients in the guided filter linear model using the following formula:

[0102]

[0103] In the formula, a and b both represent coefficients; k is the number of reference blocks obtained in step one, I l ' represents the guide image block obtained in step one, l = 1, 2, ..., k; I l ′(i,j) represents the pixel value of the pixel at coordinates (i,j) in the guiding image patch; I l Represents the target image patch; I l (i, j) represents the pixel value of the pixel at coordinate (i, j) in the target image patch; s represents the distance from the center point to the edge of the image patch; ε represents the regularization parameter that limits the size of a. The larger the value, the greater the proportion of guiding image information in the output image, and the smoother the image. However, if the value is too large, it is easy to distort. In this invention, the value is generally [0.5, 2]; m represents the side length of the image patch, m = 2s + 1; n represents the matching range. Let d1, ... d represent the weights. k This refers to the reference block I1, ... I obtained in the first step. k The corresponding distance.

[0104] After obtaining the coefficients in step three above, use the following formula to calculate the pixel value of the center point in the output image:

[0105]

[0106] In the formula, This represents the pixel value at the center point of the output image patch; a and b both represent coefficients. Indicates the weight; k is the number of reference blocks obtained in step one; I l ′ represents the guide image block, l = 1, 2, ..., k.

[0107] Similarly, by applying the same operation to the G channel and the B channel, the corresponding output value of the pixel can be obtained.

[0108] This invention, based on guided filtering, introduces the concept of Non-Local Means (NLM), replacing the previous single guided image block with multiple guided image blocks. On one hand, this fully utilizes the translational similarity within the image, achieving better noise reduction for smooth areas; on the other hand, it makes more full use of information from the reference frame, further improving the noise reduction effect and avoiding the impact of suboptimal matching of some image blocks due to the randomness of noise. Furthermore, by setting weights... By combining the structural similarity of image patches represented by guided filtering with the pixel value similarity of image patches represented by distance, image information can be utilized more effectively while reducing the impact of pixel patches with large differences. For resource conservation, [the following can be done]: Replace with This is a monotonically decreasing function. In practical applications, the corresponding weight W(d) can be set using a lookup table through testing. l To further optimize performance and save resources.

[0109] After traversing all pixels in the image, the complete output image can be obtained.

[0110] In summary, by utilizing the above-mentioned technical solution of this invention, guided filtering replaces mean fusion, and modifies the general single-guided-image guided filtering into multi-guided-image guided filtering, fully leveraging spatial similarity to further improve the noise reduction effect. After obtaining several matching blocks through motion estimation, these matching blocks are used as guide images, with the current frame as the target image. By combining the smoothness of the noise reduction already completed in the previous frame with the structural information of the current frame, image distortion caused by changes in the local structure of the image due to non-translational motion is avoided. At the same time, it is also better than traditional mean fusion in terms of edge preservation and noise reduction. Furthermore, by replacing the single-guided-image method with multi-guided-images, the spatial similarity within the image is further utilized, and the impact of accidental matching errors caused by randomness is reduced. Meanwhile, guided filtering itself consumes relatively few computational resources. Compared with traditional 3D noise reduction, the main computational resources are also consumed in the motion estimation part, making it easy to implement at low cost.

[0111] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A 3D noise reduction method based on guided filtering, characterized in that, include: Motion estimation is used to match each pixel in the input frame to obtain the corresponding pixel in the reference frame; For each pixel, the image blocks in the R, G, and B channels are extracted as target image blocks, and the corresponding guide image blocks are extracted in the reference frame for matching. Guided filtering is used to filter the target image block and the guide image block in the reference frame to obtain the noise-reduced output image block. Guided filtering is used to filter both the target image block and the guide image block in the reference frame, resulting in denoised output image blocks including: Calculate the coefficients in the guided filter linear model based on the relationship between the guide image patch and the target image patch; Based on the obtained coefficients, the pixel value of the center point of the output image block is calculated, and for each pixel, the output pixel values ​​of its R, G, and B channels are calculated respectively. During the filtering process, the idea of ​​nonlocal mean is used to set weights to balance the contributions of different guiding image blocks; Iterate through all pixels in the image, perform filtering on the target image block and the guide image block respectively, and finally generate the complete output image block after noise reduction; During the filtering process, the concept of nonlocal mean is used to set weights to balance the contributions of different guiding image patches, including: Multiple guide image blocks are used instead of a single guide image block, and the translational similarity within the image is utilized to improve the noise reduction effect in smooth areas; By setting a weighting function to balance the contributions of different guided image blocks, and combining the structural similarity and pixel value similarity of image blocks, the noise reduction effect is improved. Due to computational resource constraints, the weight function is replaced with a monotonically decreasing function, and the weight calculation is optimized by using a lookup table.

2. The 3D noise reduction method based on guided filtering according to claim 1, characterized in that, The step of matching each pixel in the input frame using motion estimation to obtain the corresponding pixel in the reference frame includes: Use the current image frame to be denoised as the input frame, and the image that has been denoised as the reference frame; For each pixel in the input frame, select the pixel in the reference frame that is at the same position as the input pixel, and use the pixel at the same position as the center to define the preset matching range of the reference frame; Centered on the pixels in the input frame, a preset image block is selected as the matching block, and a search is performed within the preset matching range of the reference frame to find several similar reference blocks; Calculate the distance between an image block in the reference frame and a matching block in the input frame, compare the obtained distance with a preset threshold, and retain image blocks whose distance is less than the threshold; Through motion estimation and matching processes, matching blocks corresponding to each pixel in the input frame are obtained in the reference frame.

3. The 3D noise reduction method based on guided filtering according to claim 2, characterized in that, The formula for calculating the distance between an image block in the reference frame and a matching block in the input frame is as follows: ; In the formula, d represents the distance between the image block in the reference frame and the matching block in the input frame; I represents the matching block; I(i,j,c) represents the pixel value of the matching block in the input frame at coordinates (i,j,c); (i, j, c) represents the pixel value of the image patch in the reference frame at coordinates (i, j, c); m represents the side length of the image patch.

4. The 3D noise reduction method based on guided filtering according to claim 1, characterized in that, The step of extracting image blocks in the R, G, and B channels of each pixel as target image blocks, and extracting corresponding guide image blocks in the reference frame for matching, includes: For each pixel, extract its image patch in the R, G, and B channels respectively, and use it as the target image patch; In the reference frame, extract the position that matches the target image block, and extract the guide image blocks for the R, G, and B channels respectively, ensuring that the extracted target image block and guide image block are the same size.

5. The 3D noise reduction method based on guided filtering according to claim 1, characterized in that, The formula for calculating the coefficients in the guided filter linear model is as follows: ; In the formula, both a and b represent coefficients; Indicates a guide image block; This represents the pixel value at coordinates (i, j) in the guiding image block; I r Represents the target image patch; represents the pixel value of the pixel at coordinates (i, j) in the target image patch; s represents the distance from the center point to the edge of the image patch; ε represents the regularization parameter that limits the size of a; m represents the side length of the image patch; n represents the matching range. Indicates the weight.

6. The 3D noise reduction method based on guided filtering according to claim 1, characterized in that, The formula for calculating the pixel value of the center point of the output image block is: ; In the formula, This represents the pixel value at the center point of the output image patch; a and b both represent coefficients. Indicates weight; This indicates a guide image block.

Citation Information

Patent Citations

  • Image edge processing method based on guided filtering and application

    CN113610734A

  • Binocular image noise reduction method and device, electronic device and storage medium

    CN115908170A

  • Multispectral image reconstruction method based on weighted guided filtering

    CN116188305A