Image denoising method and apparatus

By extracting local illumination images and using noise variance and intermediate variables as control parameters, combined with bilateral filters for image denoising, the noise problem of rendered images at low sampling rates is solved, image quality is improved and block noise is avoided, achieving high-quality rendering effects.

CN114820331BActive Publication Date: 2026-04-28HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
Filing Date
2021-01-27
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Existing technologies suffer from noise issues due to low sampling rates during real-time image rendering, affecting image quality, especially in 3D games and virtual reality applications, and failing to meet the real-time requirements for high-quality rendering.

Method used

By extracting local illumination images and using noise variance and intermediate variables as control parameters, image denoising is performed in conjunction with a bilateral filter to avoid block processing and reduce block noise. A fitting model is then used to predict the denoised image.

Benefits of technology

It effectively reduces noise in the image, improves image quality, avoids block noise caused by block processing, and improves the overall effect of rendering the image.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114820331B_ABST
    Figure CN114820331B_ABST
Patent Text Reader

Abstract

The application provides an image denoising method and device. The method comprises: performing texture removal processing on a first image and a plurality of second images respectively to obtain a third image and a plurality of fourth images respectively, wherein the plurality of second images are historical images of the first image; performing denoising processing on a local illumination image extracted from the third image according to a noise variance and a first intermediate variable to obtain a denoised local illumination image, wherein the noise variance comprises variances of respective pixel points corresponding to the plurality of fourth images, and the first intermediate variable is an intermediate variable generated in a process of generating respective pixel points of the first image through ray tracing rendering; performing denoising processing on the third image according to the denoised local illumination image and the first intermediate variable to obtain a denoised third image; and performing texture addition processing on the denoised third image to obtain a fifth image, wherein noise points of the fifth image are less than noise points of the first image.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of image processing, and more particularly to an image noise reduction method and apparatus. Background Technology

[0002] Rendering refers to the process of generating images from a 3D model using software. The 3D model is a description of a 3D object using a strictly defined language or data structure, including geometry, viewpoint, texture, and lighting information. The image is a digital image or a bitmap image. The term "rendering" is similar to "an artist's rendering of a scene," and it is also used to describe "the process of calculating the effects in a video editing file to generate the final video output."

[0003] Rendering can include pre-rendering (offline rendering) or real-time rendering (online rendering). Pre-rendering is typically used for real-world simulations with a pre-defined script, such as movies and advertisements; real-time rendering is typically used for real-world simulations without a pre-defined script, such as flight training, 3D games, and interactive architectural demonstrations.

[0004] Therefore, how to improve the quality of rendered images is a technical problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0005] This application provides an image denoising method and apparatus that can effectively reduce noise, thereby improving image quality.

[0006] In a first aspect, an image denoising method is provided, the method comprising:

[0007] The first image and multiple second images are subjected to texture removal processing to obtain a third image and multiple fourth images, wherein the multiple second images are historical images of the first image;

[0008] The local illumination image extracted from the third image is denoised based on the noise variance and the first intermediate variable to obtain the denoised local illumination image; wherein, the noise variance includes the variance of each pixel corresponding to the plurality of fourth images, and the first intermediate variable is an intermediate variable generated during the process of generating each pixel of the first image through ray tracing rendering.

[0009] The third image is denoised based on the denoised local illumination image and the first intermediate variable to obtain the denoised third image.

[0010] The denoised third image is then textured to obtain a fifth image, wherein the noise level of the fifth image is lower than that of the first image.

[0011] In some possible designs, the local illumination image extracted from the third image is subjected to noise reduction processing based on the noise variance and a first intermediate variable, including:

[0012] The noise variance and the first intermediate variable are used as control parameters of the bilateral filter to control the smoothing filtering intensity of the pixels in the local illumination image extracted from the third image.

[0013] In some possible designs, the greater the value of the first variance in the noise variance, the stronger the smoothing filter applied by the bilateral filter to the pixels corresponding to the first variance in the local illumination image extracted from the third image; and / or, the slower the change of the first variable in the first intermediate variable, the stronger the smoothing filter applied by the bilateral filter to the pixels corresponding to the first variable in the local illumination image extracted from the third image.

[0014] In some possible designs, the first intermediate variables include the world coordinates of surface points corresponding to each pixel of the first image and the normal direction of the surface points, wherein the surface points are the intersection points of the light rays passing through the first image and the surface of the 3D model when the first image is generated by ray tracing rendering.

[0015] In some possible designs, the third image is denoised based on the denoised local illumination image and the first intermediate variable, including:

[0016] The first intermediate variable and the denoised local illumination image are used as inputs to the first fitting model to predict the denoised third image. The first fitting model is trained using the first intermediate variable and the denoised local illumination image as known inputs and the third image as known outputs.

[0017] In some possible designs, the first fitting model includes one or more of the following: linear regression model, regression tree model, and multinomial fitting model.

[0018] Secondly, an image noise reduction device is provided, the device comprising: a texture removal module, a filtering module, a fitting module, and a texture addition module;

[0019] The texture removal module is used to remove texture from the first image and multiple second images respectively, to obtain a third image and multiple fourth images respectively, wherein the multiple second images are historical images of the first image;

[0020] The filtering module is used to perform noise reduction processing on the local illumination image extracted from the third image based on the noise variance and the first intermediate variable, so as to obtain the noise-reduced local illumination image; wherein, the noise variance includes the variance of each pixel corresponding to the plurality of fourth images, and the first intermediate variable is an intermediate variable generated in the process of generating each pixel of the first image through ray tracing rendering.

[0021] The fitting module is used to perform noise reduction processing on the third image based on the denoised local illumination image and the first intermediate variable, thereby obtaining the denoised third image;

[0022] The texture addition module is used to add texture processing to the denoised third image to obtain a fifth image, wherein the noise of the fifth image is less than that of the first image.

[0023] In some possible designs, the filtering module is also used to use the noise variance and the first intermediate variable as control parameters of the bilateral filter to control the smoothing filtering intensity of the bilateral filter on the pixels in the local illumination image extracted from the third image.

[0024] In some possible designs, the filtering module is further configured to control the bilateral filter to apply a stronger smoothing filter to the pixels corresponding to the first variance in the local illumination image extracted from the third image when the value of the first variance in the noise variance is larger; and / or, control the bilateral filter to apply a stronger smoothing filter to the pixels corresponding to the first variable in the local illumination image extracted from the third image when the change of the first variable in the first intermediate variable is slower.

[0025] In some possible designs, the first intermediate variables include the world coordinates of surface points corresponding to each pixel of the first image and the normal direction of the surface points, wherein the surface points are the intersection points of the light rays passing through the first image and the surface of the 3D model when the first image is generated by ray tracing rendering.

[0026] In some possible designs, the fitting module is further configured to use the first intermediate variable and the denoised local illumination image as inputs to the first fitting model to predict the denoised third image, wherein the first fitting model is trained using the first intermediate variable and the denoised local illumination image as known inputs and the third image as known outputs.

[0027] In some possible designs, the first fitting model includes one or more of the following: linear regression model, regression tree model, and multinomial fitting model.

[0028] Thirdly, a computing node is provided, the computing node including a processor and a memory, the processor executing a program in the memory to perform the method as described in any of the first aspects.

[0029] Fourthly, a computer-readable storage medium is provided, including instructions that, when executed on a computing node, cause the computing node to perform the method as described in any of the first aspects.

[0030] In the above scheme, since the local illumination image extracted from the third image is introduced, when using the fitting model to fit the third image, it is not necessary to divide the third image into blocks, and naturally no block noise is generated, which effectively improves the image quality. Attached Figure Description

[0031] To more clearly illustrate the technical solutions in the embodiments of this application or the background art, the accompanying drawings used in the embodiments of this application or the background art will be described below.

[0032] Figures 1A-1B These are schematic diagrams of the structure of some rendering systems provided in this application;

[0033] Figure 2 This is a schematic diagram illustrating the principle of ray tracing rendering involved in this application;

[0034] Figure 3 This is a schematic diagram illustrating the effect of ray tracing rendering when the SPP involved in this application is 1;

[0035] Figure 4 This is a schematic diagram illustrating the effect of ray tracing rendering when the SPP involved in this application is n.

[0036] Figures 5A-5B This application involves an analytical diagram illustrating the problems of ray tracing rendering with low SPP.

[0037] Figure 6 This is a flowchart illustrating an image denoising method provided in this application;

[0038] Figure 7 This is a flowchart illustrating another image denoising method provided in this application;

[0039] Figure 8 This is a schematic diagram of the structure of an image noise reduction device provided in this application;

[0040] Figure 9 This is a schematic diagram of the structure of a rendering node provided in this application;

[0041] Figure 10 This is a structural schematic diagram of a terminal device provided in this application. Detailed Implementation

[0042] See Figure 1A , Figure 1A This is a schematic diagram of a rendering system according to this application. The rendering system of this application is used to render a 2D image, i.e., a rendered image, from a 3D model of a target scene using a rendering method. The rendering method may include ray tracing rendering, etc. Figure 1A The provided rendering system may include: terminal device 110, network device 120, and remote rendering platform 130. The remote rendering platform 130 may be deployed on a public cloud. The remote rendering platform 130 and the terminal device are typically deployed in different data centers or even geographical regions.

[0043] Terminal device 110 can be a device that needs to display rendered images, such as a virtual reality (VR) device for flight training, a computer for virtual games, or a smartphone for virtual shopping malls, etc., without specific limitations. Terminal device can be a high-configuration, high-performance device (e.g., multi-core, high clock speed, large memory, etc.) or a low-configuration, low-performance device (e.g., single-core, low clock speed, small memory, etc.). In a specific embodiment, terminal device 110 runs an operating system and a rendering application client.

[0044] Network device 120 is used to transmit data between terminal device 110 and remote rendering platform 130 via a communication network using any communication mechanism / standard. The communication network can be a wide area network (WAN), local area network (LAN), point-to-point connection, or any combination thereof.

[0045] The remote rendering platform 130 includes multiple rendering nodes, each of which, from bottom to top, comprises rendering hardware, an operating system, a rendering engine, and a rendering application server. The rendering hardware includes computing resources, storage resources, and network resources.

[0046] Computing resources can employ heterogeneous computing architectures, such as a central processing unit (CPU) + graphics processing unit (GPU) architecture, a CPU + AI chip architecture, a CPU + GPU + AI chip architecture, etc., without specific limitations here. Storage resources can include memory, etc. Here, computing resources can be divided into multiple computing units, storage resources can be divided into multiple storage units, and network resources can be divided into multiple network units. Therefore, the remote rendering platform 130 can freely combine resources based on unit resources according to the user's resource requirements, thereby providing resources to the user's needs. For example, through virtualization services, independent resources can be flexibly isolated according to the user's needs to run the rendering engine and / or rendering application server. Commonly, virtualization services can isolate independent computing resources such as virtual machine (VM) services, bare metal server (BMS) services, and containers. The rendering engine can be used to implement image rendering algorithms. The rendering engine allows rendering applications to call the rendering engine's built-in rendering algorithms (pipelines) according to its interface to complete image rendering. The rendering application server can be used to call the rendering engine to complete the rendering of the image.

[0047] The rendering application client running on terminal device 110 and the rendering application server running on remote rendering platform 130 constitute the front-end and back-end of the rendering application, respectively. Common rendering applications can include: game applications, VR applications, movie special effects, and animations, etc. The rendering application can obtain rendered images by calling the rendering engine to perform real-time image rendering.

[0048] In one specific implementation, the rendering application server and rendering application client can be provided by a rendering application provider, while the rendering engine can be provided by a cloud service provider. For example, the rendering application can be a game application. The game developer installs the game application server on a remote rendering platform provided by the cloud service provider, and the game developer provides the game application client to users for download via the internet and installs it on the user's terminal device. Furthermore, the cloud service provider also provides a rendering engine, which provides computing power for the game application. In another specific implementation, the rendering application client, rendering application server, and rendering engine can all be provided by a cloud service provider.

[0049] exist Figure 1BThe cloud rendering system shown also includes a management device 140. The management device 140 can be a third-party device other than the user's terminal device and the cloud service provider's remote rendering platform 130, or it can be deployed together with the remote rendering platform 130 on a public cloud. For example, the management device 140 can be provided by a rendering application provider. The rendering application provider can manage the rendering application through the management device 140; for example, the rendering application provider can specify the quality parameters of the initial rendered image provided by the rendering application server to the rendering application client through the management device 140.

[0050] The following section provides a detailed introduction to the ray tracing rendering method used in terminal devices. Ray tracing rendering is a rendering method that generates an image by tracing the path of light rays emitted from the camera's (or human's) viewpoint toward each pixel of the rendered image and incident on the target scene. The target scene includes light sources and 3D models. Light sources can include direct light sources and ambient light sources. Direct light sources can include point rays, line rays, and area rays, such as lamps, candlelight, etc. Ambient light sources can include the sky, backlighting, and other ambient light. 3D models can be objects of various regular or irregular shapes, such as soccer balls, mirrors, and rivers, etc.

[0051] The core idea of ​​ray tracing rendering is to trace rays backward from the camera's (or human's) viewpoint (when the viewpoint is determined, the angle of view is also determined). Since only the rays that ultimately reach the camera (or human's eye) are useful, tracing rays backward can effectively reduce the amount of data.

[0052] like Figure 2 As shown, assume the target scene has only one light source 311 and one opaque sphere 312. A ray of light is emitted from viewpoint E of camera 313, projected onto pixel O1 of rendered image 314, and then continues to a point P1 on opaque sphere 312. It is then reflected back to light source L. At this point, the light intensity and color of point P1 determine the light intensity and color of pixel O1. Another ray of light is emitted from viewpoint E of camera 311, projected onto another pixel O2 in rendered image 314, and then continues to a point P2 on opaque sphere 312. It is then reflected back to light source L. An opaque sphere 312 exists between point P2 and light source L. At this point, point P2 is in the shadow of opaque sphere 312, and the light intensity of pixel O2 is zero, with a black color.

[0053] It is understandable that once ray tracing is performed on every pixel of the rendered image, a complete rendered image can be obtained.

[0054] in addition, Figure 2The assumption is that only one opaque sphere exists in the target scene. In practical applications, the target scene is much larger than that. Figure 2 To make it more complex, for example, the target scene may contain multiple opaque objects and multiple transparent objects at the same time. As a result, light will be reflected, refracted and transmitted multiple times, making ray tracing very complex.

[0055] During ray tracing, several intermediate variables will be generated, such as the world coordinates of surface points and the normal direction of those points. Surface points are the intersections of rays from the rendered image with the surfaces of the 3D model. Figure 2 For example, a surface point can be point P1, etc. When a ray of light is emitted from viewpoint E of camera 313, projected onto pixel O1 of rendered image 314, and then continues to a surface point P1 of opaque sphere 312, the world coordinates of surface point P1 need to be determined. When the ray needs to be reflected back to light source L, the normal direction of surface point P1 needs to be determined. It can be understood that when tracing each ray, a corresponding surface point is generated; therefore, each ray has a corresponding world coordinate and normal direction for a surface point.

[0056] SPP can be defined as the number of rays sampled per pixel. The value of SPP affects the quality of the rendered image. Generally speaking, the higher the SPP value, the better the rendered image quality, and vice versa. The following will explain in detail the impact of samples per pixel (Spp) on the rendered image. The reason why the number of Spp affects the quality of the rendered image is that if Spp is 1 (i.e., only one ray passes through each pixel), then even a slight shift in the ray can cause a significant change in the pixel's color. In the examples below, it is assumed that the light will eventually be reflected back to the light source; however, for simplicity, this will not be stated further. Figure 3 Taking the example shown, if light passes through pixel A, it will be projected onto the red opaque object 1. In this case, the color value of pixel A is determined by the projection point on opaque object 1; that is, the color of pixel A is red. If light passes through pixel B, it will be projected onto the green opaque object 2. In this case, the color value of pixel B is determined by the projection point on opaque object 2; that is, the color of pixel B is green. Therefore, although pixels A and B are adjacent pixels, their colors will differ significantly, resulting in a jagged edge effect. To solve this problem, using... Figure 4For example, if Spp is n (i.e., n rays of light are emitted from the viewpoint to the same pixel in the rendered image), then these n rays of light pass through the pixel and are projected onto n projection points of opaque object 1 or opaque object 2. Thus, n color values ​​for the pixel can be determined based on these n projection points. Finally, the average of these n color values ​​is calculated to obtain the final color value of the pixel. If the final color value of the pixel matches the image reference frame (mathematical expectation), then there is more noise. Therefore, the more Spps there are, the better the anti-aliasing effect of the rendered image, the less noise, and naturally, the better the quality of the rendered image. In addition, the number of Spps can affect the lighting effects of the image, such as the caustics effect formed by transparent objects (glass spheres, water ripples) under light. When the number of samples is small, such as... Figure 5A As shown, a first ray of light is emitted from viewpoint E of camera 410, passes through a pixel O1 of rendered image 420, and exits to a point P1 of transparent object 440, where it is refracted to light spot H1. A second ray of light is emitted from viewpoint E of camera 410, passes through a pixel O2 of rendered image 420, and exits to a point P2 of transparent object 440, where it is refracted to light spot H2. A third ray of light is emitted from viewpoint E of camera 410, passes through a pixel O3 of rendered image 420, and exits to a point P3 of transparent object 440, where it is refracted to light spot H3. Light spots H1, H2, and H3 are isolated light spots and cannot converge into a caustic spot. When the number of samples increases, as... Figure 5B As shown, a first ray of light is emitted from viewpoint E of camera 410, passes through a pixel O1 of rendered image 420, and exits to a point P1 of transparent object 440, where it is refracted to light point H1; a second ray of light is emitted from viewpoint E of camera 410, passes through a pixel O2 of rendered image 420, and exits to a point P2 of transparent object 440, where it is refracted to light point H2; a third ray of light is emitted from viewpoint E of camera 410, passes through a pixel O3 of rendered image 420, and exits to a point P3 of transparent object 440, where it is refracted to light point H2. A fourth ray is emitted from viewpoint E of camera 410, passes through a pixel O4 of rendered image 420, exits onto a point P4 of transparent object 440, and is refracted onto light point H4; a fifth ray is emitted from viewpoint E of camera 410, passes through a pixel O5 of rendered image 420, exits onto a point P5 of transparent object 440, and is refracted onto light point H5. Light points H1 and H4 form caustic spot G1 (estimated value), and light points H3 and H5 form caustic spot G2 (estimated value). Therefore, if the SPP value is low, the visual effect of caustics cannot be effectively generated.

[0057] Although SPP (Simplified Per Pixel) has a significant impact on image quality, real-time rendering places extremely high demands on computational speed. Taking 3D games as an example, at a refresh rate of 30 frames per second, each frame takes approximately 33 milliseconds to render. Therefore, the rendering time for each frame must absolutely not exceed 33 milliseconds. To meet the computational speed requirements of real-time rendering, only a low SPP can be used, meaning only a small number of rays can be simulated and traced for each pixel. Due to the insufficient number of ray samples per pixel, a large amount of noise will exist in the image.

[0058] To reduce noise in images, this application provides an image denoising method that can perform denoising processing on rendered images obtained by ray tracing rendering under low SPP.

[0059] See Figure 6 , Figure 6 This is a flowchart illustrating an image denoising method provided in this application. Figure 6 As shown, the image denoising method provided in this application includes the following steps:

[0060] S101: The remote rendering platform removes texture from the first image to obtain the second image.

[0061] In a specific embodiment of this application, the first image is an image obtained by ray tracing rendering at low SPP. The first image includes a texture. The texture is a recurring local pattern in the image and its arrangement rules; in other words, the texture is a repeating pattern of local intensity changes in the image. Typically, the texture is surface material, color, etc. For example, the texture could be the veins and color of a leaf in a leaf image, or the waves and color of an ocean in an ocean image, etc. Therefore, the texture is usually high-frequency information in the image.

[0062] In specific embodiments of this application, the second image is the remaining portion of the first image after removing the texture. For example, when the first image is a leaf image, the second image is the remaining portion after removing the leaf veins and color; when the first image is an ocean image, the second image is the remaining portion after removing the waves and color, and so on.

[0063] S102: The remote rendering platform divides the second image into n image blocks S1, S2, ... S n .

[0064] In a specific embodiment of this application, image blocks S1, S2, ... S n Image blocks can be equal or unequal; no specific limitation is made here.

[0065] S103: The remote rendering platform renders n image blocks S1, S2, ... S1 respectively.n The process is performed to obtain n denoised image blocks T1, T2, ... T n .

[0066] With image block S i For example, the remote rendering platform renders image blocks S i The image is processed to obtain the denoised image block T. i The process can be: dividing image block S i The world coordinates of the surface point corresponding to each pixel in the image, and the normal direction of the surface point are used as known inputs to the fitting model. The image patch S i Each pixel in the image is used as a known output of the untrained fitted model to train the fitted model, resulting in a trained fitted model. Then, the image patch S... i The world coordinates of the surface point corresponding to each pixel and the normal direction of the surface point are used as inputs to the trained fitting model to predict the denoised image patch T. i The fitting model can be a linear regression model, a regression tree model, a multinomial fitting model, etc.

[0067] Assume image patch S i Including k pixels r1, r2, ... r k Pixel r1 corresponds to the world coordinates p1 and the normal direction f1 of the surface point. p1 can be represented as (x1, y1, z1), and f1 can be represented as (a1, b1, c1); pixel r2 corresponds to the world coordinates p2 and the normal direction f2 of the surface point. p2 can be represented as (x2, y2, z2), and f2 can be represented as (a2, b2, c2); ...; pixel r k The world coordinates p corresponding to the surface point k and the normal direction f of the surface point k p k It can be represented as (x k ,y k ,z k ), f k It can be represented as (a k ,b k ,c k ).

[0068] In a specific embodiment, the known inputs to the fitting model may be: the world coordinates p1(x1,y1,z1) of the surface points, the normal directions f1(a1,b1,c1) of the surface points, the world coordinates p2(x2,y2,z2) of the surface points, the normal directions f2(a2,b2,c2) of the surface points, ..., the world coordinates p k (x k ,y k ,zk The normal direction f of the surface point k (a k ,b k ,c k ).

[0069] In one specific embodiment, the known output of the fitting model may be: image patch S i k pixels r1, r2, ... r k .

[0070] In a specific embodiment, when the fitted model is a linear regression model, an untrained linear regression model can be represented as:

[0071] m1x+m2y+m3z+m4a+m5b+m6c=r.

[0072] Where x is the value of the surface point projected onto the X-axis in world coordinates, y is the value of the surface point projected onto the Y-axis in world coordinates, z is the value of the surface point projected onto the Z-axis in world coordinates, a is the value of the normal direction of the surface point projected onto the X-axis in world coordinates, y is the value of the normal direction of the surface point projected onto the Y-axis in world coordinates, and z is the value of the normal direction of the surface point projected onto the Z-axis in world coordinates.

[0073] Image block S i Each pixel r1, r2, ... r in k The world coordinates of the corresponding surface points are p1, p2, ... p k The normal directions of surface points f1, f2, ... f k The image patch S serves as the known input to the fitting model. i Each pixel r1, r2, ... r in k As the known output of the fitted model, the process of training an untrained fitted model can be as follows:

[0074]

[0075] This can make:

[0076] RSS=(r1-m1x1-m2y1-m3z1-m4a1-m5b1-m6c1) 2 +(r2-m1x2-m2y2-m3z2-m4a2-m5b2-m6c2) 2 +…+(r k -m1x k -m2y k -m3z k -m4a k -m5b k -m6c k ) 2

[0077] It can be determined through calculation that when At this time, the RSS value is minimized. Therefore, the well-trained fitted model can be expressed as:

[0078]

[0079] Where x is the value of the surface point projected onto the X-axis in world coordinates, y is the value of the surface point projected onto the Y-axis in world coordinates, z is the value of the surface point projected onto the Z-axis in world coordinates, a is the value of the normal direction of the surface point projected onto the X-axis in world coordinates, y is the value of the normal direction of the surface point projected onto the Y-axis in world coordinates, z is the value of the normal direction of the surface point projected onto the Z-axis in world coordinates, and r is the pixel in the image patch.

[0080] Image block S i k pixels r1, r2, ... r k The world coordinates of their respective surface points are p1, p2, ... p k And the normal directions of the surface points f1, f2, ... f k With coefficient Linear regression model predictions are performed separately to obtain the denoised image patch T. i .

[0081]

[0082] That is, the image block T after noise reduction i Including k pixels

[0083] Therefore, for n image patches S1, S2, ... S n By performing the same linear regression model training and prediction separately, n denoised image patches T1, T2, ... T can be obtained. n .

[0084] Understandable, from Figure 3 and Figure 4 The analysis of the causes of noise reveals that intermediate variables generated during the rendering process, such as the world coordinates and normal directions of surface points, are unaffected by noise. Therefore, these intermediate variables can be used to build a linear regression model. Furthermore, linear regression models have relatively weak fitting capabilities and will not fit random, high-frequency information like noise during training. Therefore, when the world coordinates and normal directions of surface points are input into the linear regression model for prediction, the noise in the calculated image patches will be significantly reduced.

[0085] S104: The remote rendering platform will process n denoised image blocks T1, T2, ... Tn Combined into a third image.

[0086] S105: The remote rendering platform adds textures to the third image to obtain the fourth image.

[0087] In a specific embodiment of this application, since texture is also high-frequency information, retaining the texture of the first image would affect the training of the linear regression model, thereby reducing the accuracy of the training results. Therefore, it is necessary to remove the texture of the first image in step S101, and then add the texture back to the denoised third image in step S105.

[0088] Since the input to the linear regression model only includes intermediate variables from the rendering and does not contain lighting information, the fitting result naturally does not include shadow and lighting information. Therefore, in the above example, the first image can only be processed by dividing it into blocks, making each image block fall entirely within the lit or shadowed area. However, dividing the image into multiple image blocks for processing will result in block noise in the stitched third rendered image. This block noise is due to the fact that the processing results of the edges of each image block differ significantly from those of neighboring image blocks, potentially causing abrupt changes in color and brightness at the edges of image blocks. Furthermore, the above embodiment cannot effectively fit shadows smaller than the image blocks, thus losing some shadow details.

[0089] To address the aforementioned issues, this application proposes an alternative image denoising method that eliminates the need for image segmentation, thereby avoiding the generation of significant block noise.

[0090] First, the global illumination image, local illumination image, and ambient illumination image involved in this embodiment will be described in detail. The global illumination image refers to the brightness image of each pixel in the first image obtained through ray tracing. The local illumination image refers to the brightness component of each pixel in the first image obtained through ray tracing, illuminated by direct light sources (e.g., lamps, candlelight, etc.) in the target scene. The ambient illumination image refers to the brightness component of each pixel in the first image obtained through ray tracing, illuminated by ambient light sources (e.g., sky, backlight, etc.) in the target scene. Generally speaking, the global illumination image equals the local illumination image plus the ambient illumination image; that is, the pixel values ​​of the local illumination image and the pixel values ​​of the ambient illumination image are added pixel by pixel. Furthermore, according to... Figure 3 , Figure 4The corresponding textual analysis shows that the smaller the SPP used for ray tracing, the more noise the first image has, and the more noise the corresponding global illumination image, local illumination image, and ambient illumination image also have. Conversely, the larger the SPP used for ray tracing, the less noise the first image has, and the less noise the corresponding global illumination image, local illumination image, and ambient illumination image also have.

[0091] See Figure 7 , Figure 7 This is a flowchart illustrating an image denoising method provided in this application. Figure 7 As shown, the image denoising method provided in this application includes the following steps:

[0092] S201: The computing node performs texture removal processing on the first and second images to obtain the third and fourth images, respectively. The second image is a historical image of the first image.

[0093] In a specific embodiment of this application, both the first image and the second image are images obtained by ray tracing rendering under low SPP (Size, Power, Price). Specifically, the first image is the image obtained by the computing node at time t through ray tracing rendering of the first target scene. The second image includes the image obtained by the computing node at time t-1 through ray tracing rendering of the second target scene, the image obtained by the computing node at time t-2 through ray tracing rendering of the third target scene, ..., the image obtained by the computing node at time tn through ray tracing rendering of the (n+1)th target scene. The first target scene to the (n+1)th target scene are scenes with very little change.

[0094] Both the first and second images include textures. Correspondingly, the third image is the remaining portion of the first image after removing the texture. The fourth image is the remaining portion of the second image after removing the texture. Here, the third image is a global illumination image; therefore, the third image is equal to the sum of the local illumination image and the ambient illumination image of the third image. Assume the third image is represented as I. t Multiple fourth images can be represented as I. t-1 I t-2 , ..., I t-n So, the fourth image I t-1 The fourth image is the global illumination image. t-1 Equal to the fourth image I t-1 The local illumination image and the fourth image I t-1 The sum of ambient lighting images; fourth image I t-2 The fourth image is the global illumination image. t-2 Equal to the fourth image I t-2 The local illumination image and the fourth image It-2 The sum of ambient lighting images; ...; Fourth image I t-n The fourth image is the global illumination image. t-n Equal to the fourth image I t-n The local illumination image and the fourth image I t-n The sum of ambient lighting images.

[0095] S202: The computing node processes the local illumination image extracted from the third image based on the fourth image and the first intermediate variable to obtain the denoised local illumination image.

[0096] In a specific embodiment of this application, the computing node filters the local illumination image extracted from the third image using a bilateral filter to obtain a denoised local illumination image. Specifically, during filtering, a first intermediate variable and the noise variance can be used as control parameters for the bilateral filter. This controls the bilateral filter to apply different smoothing filtering intensities to different pixels in the local illumination image extracted from the third image, thereby removing noise while preserving the edge details of the local illumination image extracted from the third image.

[0097] The first intermediate variable can be an intermediate variable generated during the process of rendering the first image using ray tracing, such as the world coordinates of surface points and the normal direction of surface points. For example, suppose the first image includes r1, r2, ... r m There are a total of m pixels, and only one ray of light passes through each pixel. Therefore, the first intermediate variable can include p1, p2, ... p m The world coordinates of a total of m surface points and f1, f2, ... f m There are a total of m surface points with normal directions. The ray passing through pixel r1 corresponds to the world coordinates p1 and the normal direction f1 of the surface point; the ray passing through pixel r2 corresponds to the world coordinates p2 and the normal direction f2 of the surface point; and so on, until the ray passing through pixel r... m The world coordinates p of the ray corresponding to the surface point m and the normal direction f of the surface point m It should be understood that the first intermediate variable may include one or more of the world coordinates of the surface point and the normal direction of the surface point, etc. Furthermore, the first intermediate variable may include intermediate variables corresponding to all pixels of the first image, or it may include intermediate variables corresponding to a subset of pixels of the first image; no specific limitation is made here.

[0098] The noise variance can be the variance of pixels in the local illumination images of multiple fourth images. Here, we assume that the multiple fourth images can be represented as I... t-1 I t-2 , ..., It-n Fourth image I t-1 A local illumination image can be represented as part t-1 Fourth image I t-2 A local illumination image can be represented as part t-2 , ..., fourth image I t-n A local illumination image can be represented as part t-n The following will use the fourth image I as an example. t-1 Part of the local illumination image t-1 and the fourth image I t-2 Part of the local illumination image t-2 For example, let's explain in detail how the noise variance is obtained. Assume a locally illuminated image part... t-1 The value of each pixel Partial illumination image t-2 The value of each pixel Therefore, the noise variance can be expressed as:

[0099]

[0100]

[0101] …;

[0102]

[0103] in, For the fourth image I t-1 Part of the local illumination image t-1 The first pixel and the fourth image I t-2 Part of the local illumination image t-2 The variance of the first pixel; For the fourth image I t-1 Part of the local illumination image t-1 The second pixel and the fourth image I t-2 Part of the local illumination image t-2 The variance of the second pixel; ...; For the fourth image I t-1 Part of the local illumination image t-1 The m-th pixel and the fourth image I t-2 Part of the local illumination image t-2 The variance of the m-th pixel.

[0104] Here, the world coordinates p1 and the normal direction f1 of the surface point in the first intermediate variable are used to control the bilateral filter for the pixels of the local illumination image extracted from the third image. and pixels The strength of the smoothing filter applied to neighboring pixels; the world coordinates p2 of the surface point and the normal direction f2 of the surface point in the first intermediate variable are used to control the bilateral filter on the pixels of the locally illuminated image extracted from the third image. and pixels The strength of the smoothing filter applied to neighboring pixels; ...; the world coordinates p of the surface point in the first intermediate variable. m and the normal direction f of the surface point m Used to control the bilateral filter for pixels in the locally illuminated image extracted from the third image. and pixels The strength of the smoothing filter applied to neighboring pixels. Here, neighboring pixels can be pixels in the four-neighbor or eight-neighbor areas, etc. Generally speaking, the more drastic the change in the world coordinates and normal direction of the surface point in the first intermediate variable at that location (abrupt edge), the weaker the smoothing filter for the corresponding pixel and its neighboring pixels in the local illumination image extracted from the third image. Conversely, the more slowly the change in the world coordinates and normal direction of the surface point in the first intermediate variable at that location (smooth plane), the stronger the smoothing filter for the corresponding pixel and its neighboring pixels in the local illumination image extracted from the third image. Of course, it is also possible that the more drastic the change in the first intermediate variable setting, the weaker the smoothing filter for its corresponding pixel and its neighboring pixels. Whether the first intermediate variable and the corresponding pixel and its neighboring pixels are positively or negatively correlated depends on the specific physical meaning of the first intermediate variable.

[0105] variance in noise variance Used to control the bilateral filter for pixels in the locally illuminated image extracted from the third image. and pixels The strength of the smoothing filter applied to neighboring pixels; the variance in the noise variance. Used to control the bilateral filter for pixels in the locally illuminated image extracted from the third image. and pixels The strength of the smoothing filter applied to neighboring pixels; ...; the variance in the noise variance. Used to control the bilateral filter for pixels in the locally illuminated image extracted from the third image. and pixels The strength of the smoothing filter applied to neighboring pixels. Generally speaking, the larger the variance value in the noise variance, the stronger the smoothing filter applied to the corresponding and neighboring pixels in the local illumination image extracted from the third image; conversely, the smaller the variance value in the noise variance, the weaker the smoothing filter applied to the corresponding and neighboring pixels in the local illumination image extracted from the third image.

[0106] In one specific embodiment, the first intermediate variable and the noise variance are used as control parameters of the bilateral filter to control the bilateral filter to apply different smoothing filtering intensities to different pixels, specifically:

[0107]

[0108] Where h(q) is the filter kernel of the bilateral filter, p is the pixel corresponding to the center point of the filter kernel in the third image, q is the pixel corresponding to the peripheral point of the filter kernel in the third image, Ω is the neighborhood of pixel p, r(p) is the pixel value (brightness value) corresponding to pixel p in the third image, and r(q) is the pixel value (brightness value) corresponding to pixel q in the third image. Z(p) is the projection of the world coordinates of the surface point corresponding to pixel p onto the Z-axis, and Z(q) is the projection of the world coordinates of the surface point corresponding to pixel q onto the Z-axis. σ z The first adjustable parameter can be set manually, e is a natural number, f(p) is the normal vector of the surface point corresponding to pixel p, f(q) is the normal vector of the surface point corresponding to pixel q, and σ n The second adjustable parameter can be set manually; ε is a minimum value, and σ... l The third adjustable parameter can be set manually; g(3,3) is a Gaussian filter with a size of 3*3. This represents the variance of pixel p in the noise variance.

[0109] Therefore, after filtering each pixel in the local illumination image extracted from the third image using a bilateral filter, the resulting denoised local illumination image can be represented as follows:

[0110] S203: The computing node performs noise reduction on the third image based on the denoised local illumination image and the first intermediate variable, thereby obtaining the denoised third image.

[0111] In a specific embodiment of this application, the first intermediate variable (e.g., the world coordinates of the surface point, the normal direction of the surface point), the pixel value of each pixel in the denoised local illumination image are used as the known inputs of the first fitting model, and the pixel values ​​of each pixel in the third image are used as the known outputs of the untrained first fitting model. The first fitting model is then trained to obtain a trained first fitting model. Then, the first intermediate variable and the pixel values ​​of each pixel in the denoised local illumination image are used as the inputs of the trained first fitting model to predict the denoised global illumination image. The first fitting model can be a linear regression model, a regression tree model, a multinomial fitting model, etc.

[0112] Assume the third image contains m pixels r1', r2', ... r m Pixel r1' corresponds to the world coordinates p1 and the normal direction f1 of the surface point. p1 can be represented as (x1, y1, z1), and f1 can be represented as (a1, b1, c1); pixel r2' corresponds to the world coordinates p2 and the normal direction f2 of the surface point. p2 can be represented as (x2, y2, z2), and f2 can be represented as (a2, b2, c2); ...; pixel r m 'World coordinates p corresponding to a surface point m and the normal direction f of the surface point m p m It can be represented as (x m ,y m ,z m ), f m It can be represented as (a m ,b m ,c m It can be understood that the third image is obtained by detexturing the first image. Therefore, the world coordinates and normal directions of the surface points corresponding to the same pixels in the first and third images are also the same.

[0113] In a specific embodiment, the known inputs to the first fitting model may be: the world coordinates p1(x1,y1,z1) of the surface points, the normal directions f1(a1,b1,c1) of the surface points, the world coordinates p2(x2,y2,z2) of the surface points, the normal directions f2(a2,b2,c2) of the surface points, ..., the world coordinates p m (x m ,y m ,z m The normal direction f of the surface point m (a m ,b m ,c mAnd each pixel of the local illumination image after noise reduction.

[0114] In one specific embodiment, the known output of the first fitting model may be: m pixels r'1, r'2, ... r' of the third image. m .

[0115] In a specific embodiment, when the first fitted model is a linear regression model, the poorly trained first fitted model can be represented as:

[0116]

[0117] Where x is the value of the surface point's projection onto the X-axis in world coordinates, y is the value of the surface point's projection onto the Y-axis in world coordinates, z is the value of the surface point's projection onto the Z-axis in world coordinates, a is the value of the surface point's normal direction projection onto the X-axis in world coordinates, y is the value of the surface point's normal direction projection onto the Y-axis in world coordinates, and z is the value of the surface point's normal direction projection onto the Z-axis in world coordinates. r' represents the pixel value of the local illumination image after noise reduction, and r' represents the pixel value of the third image.

[0118] Each pixel point r1', r2', ... r in the third image is... m The world coordinates of the corresponding surface points are p1, p2, ... p m The normal directions of surface points f1, f2, ... f m Pixels of the local illumination image after noise reduction The known inputs to the first fitting model are the individual pixels r1', r2', ... r in the third image. m Given the known output of the first fitted model, the process of training the untrained first fitted model can be as follows:

[0119]

[0120] This can make:

[0121]

[0122] It can be determined through calculation that when At this time, the RSS value is minimized. Therefore, the first well-trained fitted model can be expressed as:

[0123]

[0124] Where x is the value of the surface point's projection onto the X-axis in world coordinates, y is the value of the surface point's projection onto the Y-axis in world coordinates, z is the value of the surface point's projection onto the Z-axis in world coordinates, a is the value of the surface point's normal direction projection onto the X-axis in world coordinates, y is the value of the surface point's normal direction projection onto the Y-axis in world coordinates, and z is the value of the surface point's normal direction projection onto the Z-axis in world coordinates. r' represents the pixel value of the local illumination image after noise reduction, and r' represents the pixel value of the third image.

[0125] Each pixel point r1', r2', ... r in the third image is... m The world coordinates of the corresponding surface points are p1, p2, ... p m And the normal directions of the surface points f1, f2, ... f m With coefficient Linear regression models were used to predict the noise reduction of the third image.

[0126]

[0127] That is, the denoised third image includes m pixels.

[0128] S204: The compute node adds texture to the denoised third image to obtain the fifth image.

[0129] To reduce computational load, downsampling can be applied to the first intermediate variable of the input bilateral filter, the noise variance, and the local illumination image extracted from the third image. Since downsampling here only affects shadows, which already have a degree of blur and don't need to be perfectly precise, this downsampling won't negatively impact the final image processing result. To further reduce computational load, downsampling can also be applied to the first intermediate variable of the input first fitting model, the denoised local illumination image, and the third image.

[0130] In the above scheme, since the local illumination image extracted from the third image is introduced, when using the fitting model to fit the third image, it is not necessary to divide the third image into blocks, and naturally no block noise is generated, which effectively improves the image quality.

[0131] See Figure 8 , Figure 8 This is a schematic diagram of the structure of an image noise reduction device provided in this application. Figure 8 As shown, the image noise reduction device includes: a texture removal module 301, a filtering module 302, a fitting module 303, and a texture addition module 304.

[0132] The texture removal module 301 is used to remove texture from the first image and a plurality of second images respectively, to obtain a third image and a plurality of fourth images respectively, wherein the plurality of second images are historical images of the first image;

[0133] The filtering module 302 is used to perform noise reduction processing on the local illumination image extracted from the third image based on the noise variance and the first intermediate variable, so as to obtain the noise-reduced local illumination image; wherein, the noise variance includes the variance of each pixel corresponding to the plurality of fourth images, and the first intermediate variable is an intermediate variable generated in the process of generating each pixel of the first image through ray tracing rendering.

[0134] The fitting module 303 is used to perform noise reduction processing on the third image based on the denoised local illumination image and the first intermediate variable, thereby obtaining the denoised third image;

[0135] The texture addition module 304 is used to add texture processing to the denoised third image to obtain a fifth image, wherein the noise of the fifth image is less than that of the first image.

[0136] It should be understood that image noise reduction devices can be used to perform... Figure 7 The image denoising method shown includes the definitions of the first and second images, the first intermediate variable, the noise variance and its calculation method, the process of controlling the bilateral filter to apply different smoothing filtering intensities to different pixels using the first intermediate variable and the noise variance, the process of training the first fitting model using the first intermediate variable, the denoised local illumination image, and the third image, and the process of predicting the first fitting model using the first intermediate variable and the denoised local illumination image, etc., all of which can be found in [reference needed]. Figure 7 The relevant descriptions in the corresponding embodiments will not be elaborated here.

[0137] See Figure 9 , Figure 9 This is a schematic diagram of a rendering node provided in this application. The rendering node in this embodiment includes: a processor 410, a memory 420, a network interface card 430, and a bus 440. Specifically, the rendering node may be... Figure 1A or Figure 1B The rendering node in the process.

[0138] Processor 410 can be one or more general-purpose processors. These general-purpose processors can be any type of device capable of processing electronic instructions, including central processing units (CPUs), microprocessors, microcontrollers, main processors, controllers, and application-specific integrated circuits (ASICs), etc. Processor 410 executes various types of digital storage instructions, such as software or firmware programs stored in memory 420. In a specific embodiment, processor 410 can be an x86 processor, etc. Processor 410 sends commands to memory 420 through a physical interface to complete storage-related tasks.

[0139] The memory 420 may include read-only memory (ROM), hard disk drive (HDD), or solid-state drive (SSD). The memory 420 may be used to store first intermediate variables, noise variance, etc.

[0140] The NIC 430, also known as a network interface controller, network interface card, or local area network (LAN) adapter, has a unique MAC address, which is burned into a read-only memory chip by the manufacturer during production. The NIC 430 can also include multiple ports, which can be any one or more of the following interface types: thick cable interface, thin cable interface, and twisted pair interface.

[0141] Optionally, the rendering node may also include one or more input devices and output devices, wherein the input device may be a mouse, keyboard, etc., and the output device may be a monitor, etc.

[0142] Understandable. Figure 9 The rendering node shown can perform Figure 7 For details on the steps performed by the compute nodes in the method shown, please refer to [link / reference]. Figure 7 And related descriptions, which are not specifically limited here.

[0143] See Figure 10 , Figure 10 This is a schematic diagram of the structure of a terminal device provided in this application. The terminal device of this embodiment may include a processor 510, a memory 520, an input device 530, an output device 540, and a bus 550. Specifically, this terminal device may be… Figure 1A or Figure 1B Terminal devices in the process.

[0144] Processor 510 can be one or more general-purpose processors, wherein the general-purpose processor can be any type of device capable of processing electronic instructions, including CPUs, microprocessors, microcontrollers, main processors, controllers, and ASICs, etc. Processor 510 executes various types of digital storage instructions, such as software or firmware programs stored in memory 520. In a specific embodiment, processor 510 can be an x86 processor, etc.

[0145] The memory 520 may include ROM, HDD, or SSD. The memory 520 may be used to store the first intermediate variable, noise variance, etc.

[0146] Input device 530 may include a mouse and keyboard, etc. Users can use input device 530 to input the first quality parameters that need to be set for the computing node, the second quality parameters that need to be set for the computing node and the terminal device, etc.

[0147] Output device 540 may include a display. The display may include a cathode ray tube (CRT) display, a plasma display panel (PDP), a liquid crystal display (LCD), etc. Taking an LCD as an example, the LCD includes a liquid crystal panel and a backlight module. The liquid crystal panel includes a polarizing film, a glass substrate, a black matrix, a color filter, a protective film, ordinary electrodes, a calibration layer, a liquid crystal layer (liquid crystal, spacer, sealant), capacitors, display electrodes, a prism layer, and a diffuser layer. The backlight module includes an illumination source, a reflector, a light guide plate, a diffuser, a brightness enhancement film (prism sheet), and a frame, etc.

[0148] Understandable. Figure 10 The terminal device shown can perform Figure 7 For details on the steps performed by the compute nodes in the method shown, please refer to [link / reference]. Figure 7 And related descriptions, which are not specifically limited here.

[0149] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, storage disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).

Claims

1. An image denoising method, characterized in that, The method includes: The first image and multiple second images are subjected to texture removal processing to obtain a third image and multiple fourth images, wherein the multiple second images are historical images of the first image; The local illumination image extracted from the third image is denoised based on the noise variance and the first intermediate variable to obtain a denoised local illumination image. The noise variance includes the variance of each pixel corresponding to the plurality of fourth images. The first intermediate variable is an intermediate variable generated during the process of generating each pixel of the first image by ray tracing rendering. The first intermediate variable includes the world coordinates of the surface point corresponding to each pixel of the first image and the normal direction of the surface point. The surface point is the intersection point of the ray passing through the first image and the surface of the three-dimensional model when the first image is generated by ray tracing rendering. The third image is denoised based on the denoised local illumination image and the first intermediate variable to obtain the denoised third image. The denoised third image is then textured to obtain a fifth image, wherein the noise level of the fifth image is lower than that of the first image.

2. The method according to claim 1, characterized in that, The local illumination image extracted from the third image is subjected to noise reduction processing based on the noise variance and the first intermediate variable, including: The noise variance and the first intermediate variable are used as control parameters of the bilateral filter to control the smoothing filtering intensity of the pixels in the local illumination image extracted from the third image.

3. The method according to claim 2, characterized in that, The larger the value of the first variance in the noise variance, the stronger the smoothing filtering of the bilateral filter on the pixels corresponding to the first variance in the local illumination image extracted from the third image; and / or, The slower the change of the first variable in the first intermediate variable, the stronger the smoothing filtering of the bilateral filter on the pixels corresponding to the first variable in the local illumination image extracted from the third image.

4. The method according to any one of claims 1 to 3, characterized in that, The third image is denoised based on the denoised local illumination image and the first intermediate variable, including: The first intermediate variable and the denoised local illumination image are used as inputs to the first fitting model to predict the denoised third image. The first fitting model is trained using the first intermediate variable and the denoised local illumination image as known inputs and the third image as known outputs.

5. The method according to claim 4, characterized in that, The first fitting model includes one or more of the following: linear regression model, regression tree model, and multinomial fitting model.

6. An image noise reduction device, characterized in that, The device includes: a texture removal module, a filtering module, a fitting module, and a texture addition module; The texture removal module is used to remove texture from the first image and multiple second images respectively, to obtain a third image and multiple fourth images respectively, wherein the multiple second images are historical images of the first image; The filtering module is used to perform noise reduction processing on the local illumination image extracted from the third image based on the noise variance and the first intermediate variable, thereby obtaining the noise-reduced local illumination image; wherein, the noise variance includes the variance of each pixel corresponding to the plurality of fourth images, and the first intermediate variable is an intermediate variable generated during the process of generating each pixel of the first image through ray tracing rendering, the first intermediate variable includes the world coordinates of the surface point corresponding to each pixel of the first image and the normal direction of the surface point, wherein, the surface point is the intersection point of the ray passing through the first image and the surface of the three-dimensional model when the first image is generated through ray tracing rendering. The fitting module is used to perform noise reduction processing on the third image based on the denoised local illumination image and the first intermediate variable, thereby obtaining the denoised third image; The texture addition module is used to add texture processing to the denoised third image to obtain a fifth image, wherein the noise of the fifth image is less than that of the first image.

7. The apparatus according to claim 6, characterized in that, The filtering module is further configured to use the noise variance and the first intermediate variable as control parameters of the bilateral filter to control the smoothing filtering intensity of the pixels in the local illumination image extracted from the third image.

8. The apparatus according to claim 7, characterized in that, The filtering module is further configured to, when the value of the first variance in the noise variance is larger, control the bilateral filter to apply a stronger smoothing filter to the pixels corresponding to the first variance in the local illumination image extracted from the third image; and / or, when the change of the first variable in the first intermediate variable is slower, control the bilateral filter to apply a stronger smoothing filter to the pixels corresponding to the first variable in the local illumination image extracted from the third image.

9. The apparatus according to any one of claims 6 to 8, characterized in that, The fitting module is further configured to use the first intermediate variable and the denoised local illumination image as inputs to the first fitting model to predict the denoised third image. The first fitting model is trained using the first intermediate variable and the denoised local illumination image as known inputs and the third image as known outputs.

10. The apparatus according to claim 9, characterized in that, The first fitting model includes one or more of the following: linear regression model, regression tree model, and multinomial fitting model.

11. A computing node, characterized in that, The computing node includes a processor and a memory, the processor executing a program in the memory to perform the method as described in any one of claims 1 to 5.

12. A computer-readable storage medium, characterized in that, Includes instructions that, when executed on a computing node, cause the computing node to perform the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Image rendering method, device and equipment and storage medium

    CN110827391A

  • Image noise removing method and device

    CN111325694A