US20160321523A1 - Using machine learning to filter monte carlo noise from images - Google Patents

Using machine learning to filter monte carlo noise from images Download PDF

Info

Publication number
US20160321523A1
US20160321523A1 US15/144,613 US201615144613A US2016321523A1 US 20160321523 A1 US20160321523 A1 US 20160321523A1 US 201615144613 A US201615144613 A US 201615144613A US 2016321523 A1 US2016321523 A1 US 2016321523A1
Authority
US
United States
Prior art keywords
filter
images
machine learning
noise
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US15/144,613
Inventor
Pradeep Sen
Nima Khademi Kalantari
Steve Bako
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of California
Original Assignee
University of California
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of California filed Critical University of California
Priority to US15/144,613 priority Critical patent/US20160321523A1/en
Assigned to THE REGENTS OF THE UNIVERSITY OF CALIFORNIA reassignment THE REGENTS OF THE UNIVERSITY OF CALIFORNIA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BAKO, STEVE, KALANTARI, NIMA KHADEMI, SEN, PRADEEP
Assigned to NATIONAL SCIENCE FOUNDATION reassignment NATIONAL SCIENCE FOUNDATION CONFIRMATORY LICENSE (SEE DOCUMENT FOR DETAILS). Assignors: UNIVERSITY OF CALIFORNIA, SANTA BARBARA
Publication of US20160321523A1 publication Critical patent/US20160321523A1/en
Priority to US15/840,754 priority patent/US10192146B2/en
Priority to US16/219,340 priority patent/US10832091B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06K9/66
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06K9/46
    • G06K9/6256
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T5/002
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • This disclosure relates generally to methods for computer graphics rendering. More specifically, it relates to removing noise from and improving Monte Carlo rendered images.
  • Producing photorealistic images from a scene model requires computing a complex multidimensional integral of the scene function at every pixel of the image. For example, generating effects like depth of field and motion blur requires integrating over domains such as lens position and time.
  • Monte Carlo (MC) rendering systems approximate this integral by tracing light rays (samples) in the multidimensional space to evaluate the scene function. Although an approximation to this integral can be quickly evaluated with just a few samples, the inaccuracy of this estimate relative to the true value appears as unacceptable noise in the resulting image. Since the variance of the MC estimator decreases linearly with the number of samples, many samples are required to get a reliable estimate of the integral. The high cost of computing additional rays results in lengthy render times that negatively affect the applicability of MC renderers in modern film production.
  • Filtering approaches render a noisy image with a few samples and then denoise images through a filtering process. Some methods adaptively sample as well, further improving the results. Some previous work on MC filtering use only sample color during filtering and others use additional scene information.
  • Mehta et al. used frequency analysis to shear a filter for specific distributed effects such as motion blur and occlusion/shadowing
  • Mehta et al. used related analysis to derive simple formulas that set the variance of a screen-space Gaussian filter to target noise from specific effects. Most of these approaches use the analysis to adaptively position samples as well.
  • the approaches in this category leverage additional scene features (e.g., world positions, shading normals, texture values, etc.) which are computed by the MC renderer. Thus, they tend to generate higher-quality results compared to the color-based approaches described above.
  • scene features e.g., world positions, shading normals, texture values, etc.
  • McCool removed MC noise by using depths and normals to create a coherence map for an anisotropic diffusion filter.
  • Segovia et al. and Laine et al. used a geometry buffer.
  • Dammertz et al. incorporated wavelet information into the bilateral filter and Bauszat et al. used guided image filtering.
  • Shirley et al. used a depth buffer to handle depth of field and motion blur effects
  • Chen et al. combined a depth map with sample variance to filter the noise from depth of field.
  • Hachisuka et al. performed adaptive sampling and reconstruction based on discontinuities in the multidimensional space. Although this method handles general distributed effects, it suffers from dimensionality.
  • Sen and Darabi observed the need to vary the filter's feature weights across the image. Specifically, they proposed to compute these weights using mutual information to approximate the functional dependencies between scene features and the random parameters.
  • Li et al. used Stein's unbiased risk estimator (SURE) to estimate the appropriate spatial filter parameter in a cross-bilateral filter, while hard coding the weights of the remaining cross terms. Rousselle et al. significantly improved upon this by using the SURE metric to select between three candidate cross non-local means filters that each weight color and features differently.
  • Moon et al. compute a weighted local regression on a reduced feature space and evaluate the error for a discrete set of filter parameters to select the best one.
  • Neural networks have been used in computer graphics processing. Grzeszczuk et al. used neural networks to create physically realistic animation. Nowrouzezahrai et al. used neural networks to predict per vertex visibility. Dachsbacher classified different visibility configurations using neural networks. Ren et al. used a neural network to model the radiance regression function to render indirect illumination of a fixed scene in real time. Neural networks have also been used in image denoising where they have been directly trained on a set of noisy and clean patches.
  • Jakob et al. have a method that, while not utilizing neural networks, performs learning through expectation maximization to find the appropriate parameters of a Gaussian mixture model to denoise photon maps, a different but related problem.
  • FIG. 1 is a block diagram of the internal components of a computing device on which the methods described herein may execute.
  • FIG. 2 is a block diagram of a computing device on which the methods described herein may execute.
  • FIG. 3 is a flow chart of a method of filtering Monte Carlo noise from images.
  • FIG. 4 is a flow chart of a method of training a neural network used in filtering Monte Carlo noise from images.
  • FIG. 5 is a diagram showing a multilayer perceptron.
  • FIG. 6 is a first scene and a portion thereof showing the results of method of filtering Monte Carlo noise from images.
  • FIG. 7 is a second scene and a portion thereof showing the results of method of filtering Monte Carlo noise from images.
  • Monte Carlo rendering allows for the creation of realistic and creative images. However, the resulting images may be full of noise and artifacts. As such, the images are considered noisy.
  • the term “noise” when used alone herein refers to Monte Carlo or MC noise that reduces image quality and not desirable noise.
  • a machine learning approach to reduce noise in Monte Carlo (MC) rendered images is described herein.
  • machine learning is used.
  • a multilayer perceptron (MLP) neural network as a nonlinear regression model is used for the machine learning.
  • MLP multilayer perceptron
  • the MLP neural network is combined with a filter.
  • the MLP evaluates a set of features extracted from a local neighborhood at each pixel and outputs a set of filter parameters.
  • the filter parameters and the noisy samples are provided as inputs to the filter to generate a filtered pixel that is compared to the ground truth pixel during training.
  • the neural network is trained on a set of images with a variety of distributed effects and then applied to different images containing various distributed effects or characteristics such as, for example, motion blur, depth of field, area lighting, glossy reflections, and global illumination.
  • the machine learning approach includes training an MLP neural network with a filter to provide denoised or noise-free images.
  • a supervised learning method learns the complex relationship between these factors and the optimal filter parameters. In this way, the methods avoid the problems of previous approaches.
  • a nonlinear regression model is trained on a set of noisy MC rendered images and their corresponding ground truth images, using a multilayer perceptron (MLP) coupled with a matching filter during training and refinement.
  • MLP multilayer perceptron
  • the method renders both noisy images at low sampling rates as well as their corresponding ground truth images for a set of scenes with a variety of distributed effects.
  • the method then processes the noisy images and extracts a set of useful features in square regions around every pixel.
  • the method is trained based on the extracted features to drive the filter to produce images that resemble the ground truth. This is done according to a specific error metric.
  • the method filters new noisy renderings with general distributed effects.
  • the method is fast (and may take a few seconds or less) and produces better results than existing methods for a wide range of distributed effects including depth of field, motion blur, area lighting, glossy reflections, and global illumination.
  • no adaptive sampling is performed.
  • adaptive sampling may be included.
  • the method described herein is a post-process step that effectively removes MC noise.
  • the method includes: reducing general MC noise using machine learning including supervised learning for MC noise reduction; and training a neural network in combination with a filter to generate results that are close to ground truth images.
  • the machine learning may be support vector machines, random forests, and other kinds of machine learning. As such, the methods are not limited to neural networks.
  • the methods described herein may be implemented on a computing device such as a computer workstation or personal computer.
  • An example computing device 100 is shown in FIGS. 1 and 2 .
  • the computing device has at least one central processing unit (CPU 112 ) which typically has multiple cores, a specialized graphics processing unit (GPU 114 ), sufficient memory (random access memory, RAM 116 ), and a non-volatile storage device 120 .
  • Storage device 120 is typically a solid state (also known as silicon storage) device (SSD) or hard disk drive (HDD) or combination thereof.
  • the GPU may be included on a motherboard 110 with the CPU or be included on an add-on card.
  • NICs network interface cards or chips
  • USB universal serial bus
  • PCIe peripheral component interconnect express
  • SATA serial advanced technology attachment
  • SAS serial attached small computer system interface
  • Images may be displayed on one or more monitors 102 coupled with the computing device 100 .
  • User input may be provided via one or more input devices 103 such as a keyboard, mouse, track ball, track pad or digitized pen as well as a touch screen included with monitor 102 .
  • the computing device 100 runs an operating system such as, for example, a version of Linux, Apple OS X, Microsoft Windows, and Ubuntu.
  • the method was implemented and run on a computing device having an INTEL quad-core 3.7 GHz CPU with 24 GB of RAM and a GeForce GTX TITAN GPU from NVIDIA Corporation.
  • a computing device having an INTEL quad-core 3.7 GHz CPU with 24 GB of RAM and a GeForce GTX TITAN GPU from NVIDIA Corporation.
  • Many other computing device configurations may be used; this is merely provided as an example.
  • a learning-based filtering (LBF) component was written in the C++ programming language and integrated into the PBRT2 platform (Physically Based Rendering, Second Edition, see pbrt.org).
  • the neural network and filter were written in CUDA (a parallel computing platform for graphics processing available from NVIDIA Corporation) to take advantage of GPU acceleration.
  • the goal of the method described herein is to take a noisy input image rendered with only a few samples and generate a noise-free image that is similar to the ground truth image rendered with many samples.
  • FIG. 3 there is shown a flow chart of an overview of a method described herein.
  • the method includes obtaining training images as shown in block 310 . Both noisy and ground truth training images may be used.
  • Machine learning incorporating a filter is applied to the training images and output filter parameters, as shown in block 320 .
  • the machine learning model may be a neural network, a support vector machine, a random forest, and other kinds of machine learning.
  • a plurality of Monte Carlo rendered images having noise are obtained, as shown in block 330 .
  • a filter is executed on or applied to the noisy images using the filter parameters, as shown in block 340 . Less noisy or, ideally, denoised or noise-free images are provided, as shown in block 350 .
  • FIGS. 6 and 7 Examples of the results of the application of the method are shown in FIGS. 6 and 7 .
  • Scenes 600 and 700 are provided.
  • Sample image portions 610 and 710 are selected.
  • MC rendering is performed resulting in image portions 612 and 712 .
  • the image portions 612 and 712 are received as input to the method.
  • the ground truth versions of the image portions are shown as 616 and 716 .
  • Image portions 614 and 714 show result image portions produced from application of the method of filtering Monte Carlo noise from images described herein. As is shown, the results are striking.
  • the filtered image is defined as
  • c ⁇ i ⁇ j ⁇ ⁇ ⁇ ( i ) ⁇ d i , j ⁇ c _ j ⁇ j ⁇ ⁇ ⁇ ( i ) ⁇ d i , j ,
  • d i,j is the weight between pixel i and its neighbor j as defined by the filter and c j is the noisy pixel color computed by averaging all the sample colors in pixel j.
  • d i,j would be the Gaussian-weighted distance between pixels i and j in the spatial domain.
  • More sophisticated filters, such as the cross-bilateral filter may be used because they can leverage additional scene features (e.g., world positions, shading normals, texture values, etc.) to improve the quality of filtering.
  • d i,j is:
  • p j and f i,k refer to pixel i's screen space position and scene feature k, respectively
  • ⁇ i 2 , ⁇ i 2 and ⁇ k,i 2 are the variances at pixel i for the spatial, color, and k th feature terms.
  • D and D k are specific distance functions for colors and scene features.
  • the cross-bilateral filter is used, in other versions other differentiable filters may be used.
  • the filtering process may be written as:
  • s N(i) is the collection of mean primary features in the neighborhood of the i th pixel.
  • primary features refers to scene features that are computed directly by the rendering system when shading samples. Primary features include sample positions, colors, and K scene features such as world positions, shading normals, direct illumination visibility and texture values (namely first and second intersection texture colors).
  • mean refers to averaging the features of every sample in a pixel.
  • h is the filter function which implements the filtering described above.
  • ⁇ i is an array of M filter parameters at pixel i.
  • the secondary features include feature variances, noise approximation in local regions, and the like.
  • the relationship between the secondary features and the optimal filter parameters is complicated and difficult to model. For this reason the method uses the following energy minimization function on training images:
  • ⁇ * arg ⁇ min ⁇ ⁇ ⁇ E ⁇ ( h ⁇ ( s _ ⁇ ⁇ ( i ) , ⁇ ⁇ ( x i ) ) , c i ) .
  • This energy function is used to compute the filter parameters that will generate a filtered image close to ground truth.
  • the method uses a learning system that directly minimizes errors.
  • the method uses a nonlinear regression model based on a neural network and directly combine the neural network with a matching filter during training and later application.
  • Ground truth images are used during training to directly compute the error between the filtered and ground truth image without need for error estimation.
  • the trained machine learning model (resulting from iterations that minimize the error computed by the energy function) is applied to additional or secondary features from new scenes to compute filter parameters that produce results close to the ground truth.
  • training images are obtained, both ground truth and noisy, as shown in block 410 .
  • Primary features of the training images are determined, as shown in block 420 .
  • Secondary features of the training images are extracted or computed, as shown in block 430 .
  • the secondary features may be based on or computed from the primary features or may be extracted or computed independent of the primary features.
  • Training is then performed using a neural network incorporating a filter, as shown in block 440 .
  • the training includes computing training filter parameters using a multilayer perceptron of the secondary features, as shown in block 442 .
  • a filter is applied using the training filter parameters, as shown in block 444 .
  • An error metric is applied, as shown in block 446 .
  • the error metric is used to compare temporary images with the ground truth images.
  • Backpropagation is then applied, as shown in block 448 in an effort to improve or correct the training filter parameters to get the temporary images closer to the ground truth images.
  • the results are final filter parameters 450 that allow for preparation of near ground truth, noise-free images from noisy images. Detailed descriptions of these actions are set forth below.
  • the neural network includes three elements: (1) a model for representing the energy function, (2) an appropriate error metric to measure the distance between the filtered and ground truth images, and (3) an optimization strategy to minimize the energy function.
  • the machine learning model is represented as a neural network in the form of a multilayer perceptron (MLP).
  • MLP is a regression model since it is a simple and powerful system for discovering complex nonlinear relationships between inputs and outputs.
  • MLPs are inherently parallel and can be efficiently implemented on a GPU and are very fast once trained, which is important for rendering.
  • the method described herein differs from standard MLPs in that a filter is incorporated into the training process.
  • the filter By using a filter during machine learning and particularly with the MLP, the method “backpropagates” to update the weights of the neural network during training.
  • the filter must be differentiable with respect to filter parameters. Filters such as Gaussian, cross-bilateral, and cross non-local means filters are all differentiable and may be incorporated in the method. Other appropriate filters may also be used.
  • the MLP 500 consists of multiple layers known as the input, hidden, and output layers. Each layer has several nodes which are fully connected to all nodes in the next layer through weights.
  • the output of a certain node is a function of the weighted sum of the outputs of the nodes from the previous layer plus an additional bias term used as an offset.
  • the output of the i th node at the l th layer is:
  • n (l-1) is the number of nodes in layer l-1
  • w t,s l is the weight associated with the connection between node t in layer l-1, and node s in layer l
  • w 0,s l is the bias for this node
  • ⁇ l is the activation function for layer l.
  • the error metric to measure the error between the filtered and ground truth pixel values used in the method is a modified relative mean squared error (RelMSE) metric:
  • E i n 2 ⁇ ⁇ q ⁇ ⁇ r , g , b ⁇ ⁇ ⁇ ( c ⁇ i , q - c i , q ) 2 c i , q 2 + ⁇ ,
  • n is the number of samples per pixel
  • ⁇ i,q and c i,q are the i th color channel of the filtered and ground truth pixels, respectively, and is a small number (0.01 in one implementation) to avoid division by zero.
  • division by is incorporated to account for human visual sensitivity to color variations in darker regions of the image by giving higher weight to the regions where the ground truth image is darker.
  • by multiplying the squared error by n an inverse relationship to training image bias is removed and all of the images have an equal contribution to the error regardless of sampling rate.
  • division by 2 is included to produce a simpler derivative.
  • the optimization starts with a large set of noisy images and the corresponding ground truth images, which can be generated prior to training. For each noisy image, a set of secondary features at each pixel are extracted. The secondary features are used to train the neural network through an iterative, three-step process called “backpropagation”.
  • the weights are randomly initialized to small values around zero (for example, between ⁇ 0.5 to 0.5).
  • the output of the neural network is computed using all inputs. This can be implemented efficiently using a series of matrix multiplications and activation functions applied to the input data to evaluate a s l using the equation above.
  • the error between the computed and desired outputs is used to determine the effect of each weight on the output error. To do this, the derivative of the error is taken with respect to each weight ⁇ E/ ⁇ t,s l .
  • the activation functions and the filter as well
  • these two steps are performed for all of the data in the training set.
  • the error gradient of each weight is accumulated.
  • all the weights are updated according to their error gradient and the actual error computed by the Error Metric above. This completes a single iteration of training, known as an epoch. Epochs are performed until a converged set of weights is obtained.
  • the first term is the derivative of the error with respect to the filtered pixels ⁇ i,q . This first term can be calculated as:
  • the middle of the derivative energy function term requires that the filter be differentiable so the derivative of the filtered color with respect to the filter parameters can be computed.
  • the cross-bilateral and cross non-local means filters and Gaussian filter may be used for this, and other filters may also be used.
  • the derivative energy function is computed for each weight within the neural network, and the weights are updated after every epoch. The process iterates until convergence is achieved.
  • Primary features are those directly output by the rendering system.
  • ⁇ i and ⁇ j are the standard deviation of color samples at pixel i and j, respectively, and ⁇ is a small number (such as, for example, 10 ⁇ 10 ) to avoid division by zero.
  • ⁇ k,i is the standard deviation of the k th feature at pixel i and ⁇ is a small number (such as, for example, 10 ⁇ 4 ) to avoid division by zero.
  • the method smooths the noisy standard deviations for the additional features ⁇ k,i by filtering them using the same weights computed by the non-local means filter when filtering the primary features.
  • the method computes a set of secondary features from the neighboring noisy samples to serve as inputs to the neural network.
  • the gradients of features may be used to decrease the weight of a feature in regions with sharp edges.
  • the method calculates the gradient magnitude (scalar) of the K additional features using a Sobel operator (5 values total).
  • Mean deviation This term is the average of the absolute difference between each individual pixel in a block and the block mean. This feature can help identify regions with large errors.
  • the neural network can adjust the filter parameters. For each of the K additional features, the method computes the mean deviation of all the pixel-averaged features in a 3 ⁇ 3 block around each pixel. This feature is computed on each component separately and then averaged to obtain a single value for each additional feature (5 values total).
  • MAD Median Absolute Deviation
  • Sampling rate The method uses the inverse of the sampling rate as a secondary feature.
  • the variance of MC noise decreases linearly with the number of samples and, therefore, the filter parameters should reflect this. Since the method includes training a single neural network, the neural network is capable of handling different sampling rates and adjusting the filter size accordingly.
  • the neural network outputs the parameters to be used by the filter to generate the final filtered pixel. The method does this for all the pixels to produce a final result.
  • the method may be applied to frames of video.
  • the existing neural network described herein may be used without retraining and the cross-bilateral filter may be extended to operate on 3-D spatio-temporal volumes. This modification to the filter is incorporated to reduce the flickering that might appear if each frame is independently filtered.
  • only three neighboring frames on each side of a current frame (7 frames total) were used for spatio-temporal filtering. The method generates high-quality, temporally-coherent videos from noisy input sequences with low sampling rates.
  • “plurality” means two or more. As used herein, a “set” of items may include one or more of such items.
  • the terms “comprising”, “including”, “carrying”, “having”, “containing”, “involving”, and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of”, respectively, are closed or semi-closed transitional phrases with respect to claims.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Computational Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Graphics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Processing (AREA)

Abstract

A method of producing noise-free images is disclosed. The method includes using machine learning incorporating a filter to output filter parameters using the training images. The machine learning may include training a neural network. The filter parameters are applied to Monte Carlo rendered training images that have noise to generate noise-free images. The training may include determining, computing and extracting features of the training images; computing filter parameters; applying an error metric; and applying backpropgation. The neural network may be a multilayer perceptron. The machine learning model is applied to new noisy Monte Carlo rendered images to create noise-free images. This may include applying the filter to the noisy Monte Carlo rendered images using the filter parameters to create the noise-free images.

Description

    RELATED APPLICATION INFORMATION
  • This patent claims priority from Provisional Patent Application No. 62/155,104, filed Apr. 30, 2015, titled A LEARNING-BASED APPROACH FOR FILTERING MONTE CARLO NOISE which is included by reference in its entirety.
  • GOVERNMENT INTERESTS
  • This invention was made with Government support under Grant (or Contract) Nos. IIS-1321168 and IIS-1342931 awarded by the National Science Foundation. The Government has certain rights in the invention.
  • NOTICE OF COPYRIGHTS AND TRADE DRESS
  • A portion of the disclosure of this patent document contains material which is subject to copyright protection. This patent document may show and/or describe matter which is or may become trade dress of the owner. The copyright and trade dress owner has no objection to the facsimile reproduction by anyone of the patent disclosure as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright and trade dress rights whatsoever.
  • BACKGROUND
  • 1. Field
  • This disclosure relates generally to methods for computer graphics rendering. More specifically, it relates to removing noise from and improving Monte Carlo rendered images.
  • 2. Description of the Related Art
  • Producing photorealistic images from a scene model requires computing a complex multidimensional integral of the scene function at every pixel of the image. For example, generating effects like depth of field and motion blur requires integrating over domains such as lens position and time. Monte Carlo (MC) rendering systems approximate this integral by tracing light rays (samples) in the multidimensional space to evaluate the scene function. Although an approximation to this integral can be quickly evaluated with just a few samples, the inaccuracy of this estimate relative to the true value appears as unacceptable noise in the resulting image. Since the variance of the MC estimator decreases linearly with the number of samples, many samples are required to get a reliable estimate of the integral. The high cost of computing additional rays results in lengthy render times that negatively affect the applicability of MC renderers in modern film production.
  • One way to mitigate this problem is to quickly render a noisy image with a few samples and then filter it as a post-process to generate an acceptable, noise-free result. This approach has been the subject of extensive research in recent years. The more successful methods typically use feature-based filters (e.g., cross-bilateral or cross non-local means filters) to leverage additional scene features, such as world position, that help guide the filtering process. Since these features are highly correlated with scene detail, using them in the filtering process greatly improves the quality of the results.
  • Some approaches have used this information to handle specific distributed effects such as global illumination and depth of field. However, a major challenge is how to exploit this additional information to denoise distributed effects, which requires setting the filter weights for all features (called “filter parameters” hereafter) so that noise is removed while scene detail is preserved. To do this, some have proposed to use the functional dependencies between scene features and random parameters calculated using mutual information, a process that removes noise but was slow. Several other algorithms build upon this by using error estimation metrics to select the best filter parameters from a discrete set. The main drawback of these methods is that their error metrics are usually noisy at low sampling rates, reducing the accuracy of filter selection. Furthermore, they choose the filter parameters from a preselected, discrete set that may not contain the optimum. As a result, these methods produce images with over/under blurred regions.
  • Since the introduction of distributed ray tracing by Cook et al., researchers have proposed a variety of algorithms to address the noise in Monte Carlo (MC) rendering. Some of these include variance reduction techniques, low-discrepancy sampling patterns, new Monte Carlo formulations with faster convergence, and methods that exploit specific properties of the integrand}\add{position or reuse samples based on the shape of the multidimensional integrand.
  • Filtering approaches render a noisy image with a few samples and then denoise images through a filtering process. Some methods adaptively sample as well, further improving the results. Some previous work on MC filtering use only sample color during filtering and others use additional scene information.
  • Color-Based Filter Methods
  • These methods are inspired by traditional image denoising techniques and use only pixel color information from the rendering system to remove MC noise. Early work by Lee and Redner used nonlinear filters (median and alpha-trimmed mean filters) to remove spikes while preserving edges. Rushmeier and Ward proposed to spread the energy of input samples through variable width filter kernels. To reduce the noise in path-traced images, Jensen and Christensen separated illumination into direct and indirect components, filtered the indirect portion, and then added the components back together. Bala et al. exploited an edge image to facilitate the filtering process, while Xu and Pattanaik used a bilateral filter to remove MC noise. Egan et al. used frequency analysis to shear a filter for specific distributed effects such as motion blur and occlusion/shadowing, while Mehta et al. used related analysis to derive simple formulas that set the variance of a screen-space Gaussian filter to target noise from specific effects. Most of these approaches use the analysis to adaptively position samples as well.
  • For denoising general distributed effects, Overbeck et al. adapted wavelet shrinkage to MC noise reduction, while Rousselle et al. selected an appropriate scale for a Gaussian filter at every pixel to minimize the reconstruction error. Rousselle later improved this using a non-local means filter. Using the median absolute deviation to estimate the noise at every pixel, Kalantari and Sen were able to apply arbitrary image denoising techniques to MC rendering. Finally, Delbracio et al. proposed a method based on non-local means filtering which computes the distance between two patches using their color histograms. Although these color-based methods are general and work on a variety of distributed effects, they need many samples to produce reasonable results. At low sampling rates, they generate unsatisfactory results on challenging scenes.
  • Filters That Use Additional Information
  • The approaches in this category leverage additional scene features (e.g., world positions, shading normals, texture values, etc.) which are computed by the MC renderer. Thus, they tend to generate higher-quality results compared to the color-based approaches described above.
  • For example, McCool removed MC noise by using depths and normals to create a coherence map for an anisotropic diffusion filter. To efficiently render scenes with global illumination, Segovia et al. and Laine et al. used a geometry buffer. Meanwhile, to reduce global illumination noise, Dammertz et al. incorporated wavelet information into the bilateral filter and Bauszat et al. used guided image filtering. Shirley et al. used a depth buffer to handle depth of field and motion blur effects, while Chen et al. combined a depth map with sample variance to filter the noise from depth of field. These methods are directed to a fixed set of distributed effects and are not general.
  • Hachisuka et al. performed adaptive sampling and reconstruction based on discontinuities in the multidimensional space. Although this method handles general distributed effects, it suffers from dimensionality.
  • To handle general MC noise using additional scene features, Sen and Darabi observed the need to vary the filter's feature weights across the image. Specifically, they proposed to compute these weights using mutual information to approximate the functional dependencies between scene features and the random parameters. Li et al. used Stein's unbiased risk estimator (SURE) to estimate the appropriate spatial filter parameter in a cross-bilateral filter, while hard coding the weights of the remaining cross terms. Rousselle et al. significantly improved upon this by using the SURE metric to select between three candidate cross non-local means filters that each weight color and features differently. Moon et al. compute a weighted local regression on a reduced feature space and evaluate the error for a discrete set of filter parameters to select the best one.
  • The main problem the aforementioned approaches, which constitute the state of the art, is that they weight each filter term through either heuristic rules and/or an error metric which is quite noisy at low sampling rates. Thus, they are not able to robustly estimate the appropriate filter weights in challenging cases.
  • Neural Networks in Graphics/Denoising
  • Neural networks have been used in computer graphics processing. Grzeszczuk et al. used neural networks to create physically realistic animation. Nowrouzezahrai et al. used neural networks to predict per vertex visibility. Dachsbacher classified different visibility configurations using neural networks. Ren et al. used a neural network to model the radiance regression function to render indirect illumination of a fixed scene in real time. Neural networks have also been used in image denoising where they have been directly trained on a set of noisy and clean patches.
  • In addition, Jakob et al. have a method that, while not utilizing neural networks, performs learning through expectation maximization to find the appropriate parameters of a Gaussian mixture model to denoise photon maps, a different but related problem.
  • DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of the internal components of a computing device on which the methods described herein may execute.
  • FIG. 2 is a block diagram of a computing device on which the methods described herein may execute.
  • FIG. 3 is a flow chart of a method of filtering Monte Carlo noise from images.
  • FIG. 4 is a flow chart of a method of training a neural network used in filtering Monte Carlo noise from images.
  • FIG. 5 is a diagram showing a multilayer perceptron.
  • FIG. 6 is a first scene and a portion thereof showing the results of method of filtering Monte Carlo noise from images.
  • FIG. 7 is a second scene and a portion thereof showing the results of method of filtering Monte Carlo noise from images.
  • DETAILED DESCRIPTION
  • Monte Carlo rendering allows for the creation of realistic and creative images. However, the resulting images may be full of noise and artifacts. As such, the images are considered noisy. The term “noise” when used alone herein refers to Monte Carlo or MC noise that reduces image quality and not desirable noise.
  • A machine learning approach to reduce noise in Monte Carlo (MC) rendered images is described herein. To model the complex relationship between ideal filter parameters and a set of features extracted from the input noisy images, machine learning is used. In one embodiment, a multilayer perceptron (MLP) neural network as a nonlinear regression model is used for the machine learning. To effectively train the neural network, the MLP neural network is combined with a filter. In this arrangement, the MLP evaluates a set of features extracted from a local neighborhood at each pixel and outputs a set of filter parameters. The filter parameters and the noisy samples are provided as inputs to the filter to generate a filtered pixel that is compared to the ground truth pixel during training. The neural network is trained on a set of images with a variety of distributed effects and then applied to different images containing various distributed effects or characteristics such as, for example, motion blur, depth of field, area lighting, glossy reflections, and global illumination. The machine learning approach includes training an MLP neural network with a filter to provide denoised or noise-free images.
  • There is a complex relationship between the input noisy image and the optimal filter parameters needed to create an accurate image. These filter parameters can be effectively estimated using different factors (e.g., feature variances and noise in local regions), but each individual factor by itself cannot accurately predict them. Based on these observations, a supervised learning method is described herein. The supervised learning method learns the complex relationship between these factors and the optimal filter parameters. In this way, the methods avoid the problems of previous approaches. According to one version of the method, a nonlinear regression model is trained on a set of noisy MC rendered images and their corresponding ground truth images, using a multilayer perceptron (MLP) coupled with a matching filter during training and refinement.
  • During the training stage, the method renders both noisy images at low sampling rates as well as their corresponding ground truth images for a set of scenes with a variety of distributed effects. The method then processes the noisy images and extracts a set of useful features in square regions around every pixel. The method is trained based on the extracted features to drive the filter to produce images that resemble the ground truth. This is done according to a specific error metric.
  • After the neural network has been trained, in an application stage the method filters new noisy renderings with general distributed effects. The method is fast (and may take a few seconds or less) and produces better results than existing methods for a wide range of distributed effects including depth of field, motion blur, area lighting, glossy reflections, and global illumination. Further, unlike earlier approaches, in one embodiment, no adaptive sampling is performed. In another embodiment of the method, adaptive sampling may be included. The method described herein is a post-process step that effectively removes MC noise.
  • The method includes: reducing general MC noise using machine learning including supervised learning for MC noise reduction; and training a neural network in combination with a filter to generate results that are close to ground truth images. In other implementations, the machine learning may be support vector machines, random forests, and other kinds of machine learning. As such, the methods are not limited to neural networks.
  • Description of Apparatus
  • The methods described herein may be implemented on a computing device such as a computer workstation or personal computer. An example computing device 100 is shown in FIGS. 1 and 2. The computing device has at least one central processing unit (CPU 112) which typically has multiple cores, a specialized graphics processing unit (GPU 114), sufficient memory (random access memory, RAM 116), and a non-volatile storage device 120. Storage device 120 is typically a solid state (also known as silicon storage) device (SSD) or hard disk drive (HDD) or combination thereof. The GPU may be included on a motherboard 110 with the CPU or be included on an add-on card. Other components included in computing device 100 that are commonly included are not shown, including, for example, one or more network interface cards or chips (NICs) that allow for network communication, buses such as universal serial bus (USB), peripheral component interconnect express (PCIe bus), serial advanced technology attachment (SATA), serial attached small computer system interface) (serial attached SCSI or SAS), and others. Images may be displayed on one or more monitors 102 coupled with the computing device 100. User input may be provided via one or more input devices 103 such as a keyboard, mouse, track ball, track pad or digitized pen as well as a touch screen included with monitor 102. The computing device 100 runs an operating system such as, for example, a version of Linux, Apple OS X, Microsoft Windows, and Ubuntu.
  • In one version, the method was implemented and run on a computing device having an INTEL quad-core 3.7 GHz CPU with 24 GB of RAM and a GeForce GTX TITAN GPU from NVIDIA Corporation. Many other computing device configurations may be used; this is merely provided as an example.
  • To implement one version of the methods described herein, a learning-based filtering (LBF) component was written in the C++ programming language and integrated into the PBRT2 platform (Physically Based Rendering, Second Edition, see pbrt.org). In one implementation, the neural network and filter were written in CUDA (a parallel computing platform for graphics processing available from NVIDIA Corporation) to take advantage of GPU acceleration.
  • Description of Processes
  • The goal of the method described herein is to take a noisy input image rendered with only a few samples and generate a noise-free image that is similar to the ground truth image rendered with many samples. Referring now to FIG. 3, there is shown a flow chart of an overview of a method described herein. In its most basic, the method includes obtaining training images as shown in block 310. Both noisy and ground truth training images may be used. Machine learning incorporating a filter is applied to the training images and output filter parameters, as shown in block 320. The machine learning model may be a neural network, a support vector machine, a random forest, and other kinds of machine learning. A plurality of Monte Carlo rendered images having noise (aka noisy images) are obtained, as shown in block 330. A filter is executed on or applied to the noisy images using the filter parameters, as shown in block 340. Less noisy or, ideally, denoised or noise-free images are provided, as shown in block 350.
  • Examples of the results of the application of the method are shown in FIGS. 6 and 7. Scenes 600 and 700 are provided. Sample image portions 610 and 710 are selected. MC rendering is performed resulting in image portions 612 and 712. The image portions 612 and 712 are received as input to the method. The ground truth versions of the image portions are shown as 616 and 716. Image portions 614 and 714 show result image portions produced from application of the method of filtering Monte Carlo noise from images described herein. As is shown, the results are striking.
  • Returning now to discussion of the method. The filtered image is defined as

  • ĉ={ĉr, ĉg, ĉb}
  • at pixel i is computed as a weighted average of all of the pixels in a square neighborhood N(i) (for example, 55×55) centered around pixel i:
  • c ^ i = j ( i ) d i , j c _ j j ( i ) d i , j ,
  • where di,j is the weight between pixel i and its neighbor j as defined by the filter and c j is the noisy pixel color computed by averaging all the sample colors in pixel j. For example, for a standard Gaussian filter, di,j would be the Gaussian-weighted distance between pixels i and j in the spatial domain. More sophisticated filters, such as the cross-bilateral filter, may be used because they can leverage additional scene features (e.g., world positions, shading normals, texture values, etc.) to improve the quality of filtering. When using a cross-bilateral filter, di,j is:
  • d i , j = exp [ - p _ i - p _ j 2 2 α i 2 ] × exp [ - D ( c _ i , c _ j ) 2 β i 2 ] × k = 1 K exp [ - D k ( f _ i , k , f _ j , k ) 2 γ k , i 2 ] ,
  • where p j and f i,k refer to pixel i's screen space position and scene feature k, respectively, and αi 2, βi 2 and γk,i 2 are the variances at pixel i for the spatial, color, and kth feature terms. Here, D and Dk are specific distance functions for colors and scene features. In one version of the method, the cross-bilateral filter is used, in other versions other differentiable filters may be used.
  • The filtering process may be written as:
  • c ^ i = h ( s _ ( i ) , θ i ) , where s _ ( i ) = j ( i ) s _ j .
  • Here, s N(i) is the collection of mean primary features in the neighborhood of the ith pixel. The term “primary features” refers to scene features that are computed directly by the rendering system when shading samples. Primary features include sample positions, colors, and K scene features such as world positions, shading normals, direct illumination visibility and texture values (namely first and second intersection texture colors). The term “mean” refers to averaging the features of every sample in a pixel. In the filtering process, h is the filter function which implements the filtering described above. θi is an array of M filter parameters at pixel i. To identify the filter parameters {circumflex over (θ)}i that estimate the optimum filter parameters θ*i, the noisy mean primary features in a pixel's neighborhood are processed to generate a set of more meaningful data called “secondary features” xi={x1, x2, . . . , xN}i The secondary features include feature variances, noise approximation in local regions, and the like. The filter parameters are approximated through an energy function of the secondary features: {circumflex over (θ)}i=
    Figure US20160321523A1-20161103-P00001
    (xi). The relationship between the secondary features and the optimal filter parameters is complicated and difficult to model. For this reason the method uses the following energy minimization function on training images:
  • * = arg min E ( h ( s _ ( i ) , ( x i ) ) , c i ) .
  • This energy function is used to compute the filter parameters that will generate a filtered image close to ground truth.
  • To avoid problems in computing the energy function and the filter parameters, the method uses a learning system that directly minimizes errors. The method uses a nonlinear regression model based on a neural network and directly combine the neural network with a matching filter during training and later application. Ground truth images are used during training to directly compute the error between the filtered and ground truth image without need for error estimation. During an application stage, the trained machine learning model (resulting from iterations that minimize the error computed by the energy function) is applied to additional or secondary features from new scenes to compute filter parameters that produce results close to the ground truth.
  • We now describe how to train a neural network in combination with a filter by minimizing the energy function to create filter parameters. Referring now to FIG. 4, training images are obtained, both ground truth and noisy, as shown in block 410. Primary features of the training images are determined, as shown in block 420. Secondary features of the training images are extracted or computed, as shown in block 430. The secondary features may be based on or computed from the primary features or may be extracted or computed independent of the primary features. Training is then performed using a neural network incorporating a filter, as shown in block 440. The training includes computing training filter parameters using a multilayer perceptron of the secondary features, as shown in block 442. A filter is applied using the training filter parameters, as shown in block 444. An error metric is applied, as shown in block 446. The error metric is used to compare temporary images with the ground truth images. Backpropagation is then applied, as shown in block 448 in an effort to improve or correct the training filter parameters to get the temporary images closer to the ground truth images. The results are final filter parameters 450 that allow for preparation of near ground truth, noise-free images from noisy images. Detailed descriptions of these actions are set forth below.
  • Neural Network.
  • In one embodiment, the neural network includes three elements: (1) a model for representing the energy function, (2) an appropriate error metric to measure the distance between the filtered and ground truth images, and (3) an optimization strategy to minimize the energy function.
  • The Energy Function
  • In one embodiment, the machine learning model is represented as a neural network in the form of a multilayer perceptron (MLP). The MLP is a regression model since it is a simple and powerful system for discovering complex nonlinear relationships between inputs and outputs. Moreover, MLPs are inherently parallel and can be efficiently implemented on a GPU and are very fast once trained, which is important for rendering. The method described herein differs from standard MLPs in that a filter is incorporated into the training process. By using a filter during machine learning and particularly with the MLP, the method “backpropagates” to update the weights of the neural network during training. To be used in this way, the filter must be differentiable with respect to filter parameters. Filters such as Gaussian, cross-bilateral, and cross non-local means filters are all differentiable and may be incorporated in the method. Other appropriate filters may also be used.
  • As shown in FIG. 5, the MLP 500 consists of multiple layers known as the input, hidden, and output layers. Each layer has several nodes which are fully connected to all nodes in the next layer through weights. The output of a certain node is a function of the weighted sum of the outputs of the nodes from the previous layer plus an additional bias term used as an offset. Specifically, the output of the ith node at the lth layer is:
  • a s l = f l ( t = 1 n ( l - 1 ) w t , s l a t l - 1 + w 0 , s l ) ,
  • where n(l-1) is the number of nodes in layer l-1, wt,s l is the weight associated with the connection between node t in layer l-1, and node s in layer l, w0,s l is the bias for this node, and ƒl is the activation function for layer l. In one implementation, nonlinear activation functions are used in all layers. Multiple kinds of nonlinear activation functions may be used, such as the sigmoid function ƒl(x)=1/(1+e−x). In various implementations, combinations of linear and nonlinear activation functions may be used.
  • The Error Metric
  • The error metric to measure the error between the filtered and ground truth pixel values used in the method is a modified relative mean squared error (RelMSE) metric:
  • E i = n 2 q { r , g , b } ( c ^ i , q - c i , q ) 2 c i , q 2 + ɛ ,
  • where n is the number of samples per pixel, ĉi,q and ci,q are the ith color channel of the filtered and ground truth pixels, respectively, and
    Figure US20160321523A1-20161103-P00002
    is a small number (0.01 in one implementation) to avoid division by zero. In this equation, division by is incorporated to account for human visual sensitivity to color variations in darker regions of the image by giving higher weight to the regions where the ground truth image is darker. Further, by multiplying the squared error by n, an inverse relationship to training image bias is removed and all of the images have an equal contribution to the error regardless of sampling rate. In addition, division by 2 is included to produce a simpler derivative.
  • Optimization Strategy
  • The optimization starts with a large set of noisy images and the corresponding ground truth images, which can be generated prior to training. For each noisy image, a set of secondary features at each pixel are extracted. The secondary features are used to train the neural network through an iterative, three-step process called “backpropagation”. The goal of backpropagation is to determine the optimal weights wt,s l for all nodes in the neural network which minimize the error between the computed and desired outputs (i.e., the ground truth values) for all pixels in the training images, E=Σi∈ all pEi.
  • Before starting the backpropagation process, the weights are randomly initialized to small values around zero (for example, between −0.5 to 0.5). Then in the first step, known as the feed-forward pass, the output of the neural network is computed using all inputs. This can be implemented efficiently using a series of matrix multiplications and activation functions applied to the input data to evaluate as l using the equation above. In the second step, the error between the computed and desired outputs is used to determine the effect of each weight on the output error. To do this, the derivative of the error is taken with respect to each weight ∂E/∂ωt,s l. Thus, the activation functions (and the filter as well) need to be differentiable. These two steps are performed for all of the data in the training set. The error gradient of each weight is accumulated. In the third step, all the weights are updated according to their error gradient and the actual error computed by the Error Metric above. This completes a single iteration of training, known as an epoch. Epochs are performed until a converged set of weights is obtained.
  • Next, a chain rule is used to express the derivative of the energy function.
  • E i w t , s l = m = 1 M [ q { r , g , b } [ E i , q c ^ i , q c ^ i , q θ m , i ] θ m , i w t , s l ]
  • where M is the number of filter parameters. The first term is the derivative of the error with respect to the filtered pixels ĉi,q. This first term can be calculated as:
  • E i c ^ i , q = n c ^ i , q - c i , q c i , q 2 + ε .
  • In addition, is the output of the MLP network (shown in FIG. 5 and described above). The middle of the derivative energy function term requires that the filter be differentiable so the derivative of the filtered color with respect to the filter parameters can be computed. The cross-bilateral and cross non-local means filters and Gaussian filter may be used for this, and other filters may also be used.
  • The derivative energy function is computed for each weight within the neural network, and the weights are updated after every epoch. The process iterates until convergence is achieved.
  • Primary Features
  • Primary features are those directly output by the rendering system. In one version of the method, seven primary features (M=7) are used in the cross-bilateral filter. The primary features are: screen position, color, and five additional features (K=5): world position, shading normal, texture values for the first and second intersections, and direct illumination visibility.
  • During rendering, for each sample screen position in x, y coordinates, color in RGB format, world position in Cartesian coordinates (x, y, z), shading normal (i, j, k), texture values for the first and second intersections in RGB format, and a single binary value for the direct illumination visibility, for a total of 18 floating point values. These values are averages for all samples in a pixel to produce the mean primary features for every pixel in the image. At this point, the average direct illumination visibility represents the fraction of shadow rays that see the light and is not a binary value. Moreover, additional features are prefiltered using a non-local means filter in an 11×11 window with patch size 7×7.
  • The distance of the color and additional features are normalized by their variances. The following function is used for the color term:
  • D ( c _ i , c _ j ) = c _ i - c _ j 2 ψ i 2 + ψ j 2 + ζ ,
  • Where ψi and ψj are the standard deviation of color samples at pixel i and j, respectively, and ζ is a small number (such as, for example, 10−10) to avoid division by zero. For the additional features are expressed by the following function,
  • D k ( f _ i , k , f _ j , k ) = f _ i , k - f _ j , k 2 max ( ψ k , i 2 , δ ) ,
  • where ψk,i is the standard deviation of the kth feature at pixel i and δ is a small number (such as, for example, 10−4) to avoid division by zero. The method smooths the noisy standard deviations for the additional features ψk,i by filtering them using the same weights computed by the non-local means filter when filtering the primary features.
  • Secondary Features
  • At every pixel, the method computes a set of secondary features from the neighboring noisy samples to serve as inputs to the neural network.
  • Feature statistics: the mean and standard deviation for the K=5 additional features are computed for all samples in the pixel. To capture more global statistics, the method also calculates the mean and standard deviation of the pixel-averaged features in a 7×7 block around each pixel. The method computes the statistics for each component (e.g., i, j, k for shading normal) separately and averages them together to create a single value per feature. Thus, according to the method, there are 20 total values for each pixel and the block around it.
  • Gradients: The gradients of features may be used to decrease the weight of a feature in regions with sharp edges. The method calculates the gradient magnitude (scalar) of the K additional features using a Sobel operator (5 values total).
  • Mean deviation: This term is the average of the absolute difference between each individual pixel in a block and the block mean. This feature can help identify regions with large errors. In response, the neural network can adjust the filter parameters. For each of the K additional features, the method computes the mean deviation of all the pixel-averaged features in a 3×3 block around each pixel. This feature is computed on each component separately and then averaged to obtain a single value for each additional feature (5 values total).
  • Median Absolute Deviation (MAD): The method uses the MAD to estimate the amount of noise in each pixel, which is directly related to the size of the filter. The method computes the MAD for each K additional features (5 values total).
  • Sampling rate: The method uses the inverse of the sampling rate as a secondary feature. The variance of MC noise decreases linearly with the number of samples and, therefore, the filter parameters should reflect this. Since the method includes training a single neural network, the neural network is capable of handling different sampling rates and adjusting the filter size accordingly.
  • In one version of the system, the method computes a total of N=36 secondary features for each pixel. These secondary features are used as input to the neural network. The neural network outputs the parameters to be used by the filter to generate the final filtered pixel. The method does this for all the pixels to produce a final result.
  • Video Application
  • Although described herein regarding scene images, the method may be applied to frames of video. To handle video sequences, the existing neural network described herein may be used without retraining and the cross-bilateral filter may be extended to operate on 3-D spatio-temporal volumes. This modification to the filter is incorporated to reduce the flickering that might appear if each frame is independently filtered. In one version of the method, only three neighboring frames on each side of a current frame (7 frames total) were used for spatio-temporal filtering. The method generates high-quality, temporally-coherent videos from noisy input sequences with low sampling rates.
  • Closing Comments
  • Throughout this description, the embodiments and examples shown should be considered as exemplars, rather than limitations on the apparatus and procedures disclosed or claimed. Although many of the examples presented herein involve specific combinations of method acts or system elements, it should be understood that those acts and those elements may be combined in other ways to accomplish the same objectives. With regard to flowcharts, additional and fewer steps may be taken, and the steps as shown may be combined or further refined to achieve the methods described herein. Acts, elements and features discussed only in connection with one embodiment are not intended to be excluded from a similar role in other embodiments.
  • As used herein, “plurality” means two or more. As used herein, a “set” of items may include one or more of such items. As used herein, whether in the written description or the claims, the terms “comprising”, “including”, “carrying”, “having”, “containing”, “involving”, and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of”, respectively, are closed or semi-closed transitional phrases with respect to claims. Use of ordinal terms such as “first”, “second”, “third”, etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements. As used herein, “and/or” means that the listed items are alternatives, but the alternatives also include any combination of the listed items.

Claims (21)

It is claimed:
1. A method of producing a noise-free image, the method comprising:
obtaining training images;
using machine learning incorporating a filter on the training images to output filter parameters;
receiving a Monte Carlo rendered image that has noise;
executing the filter on the noisy image using the filter parameters to generate the noise-free image.
2. The method of claim 1 wherein the training images include both ground truth training images and noisy training images.
3. The method of claim 1 wherein the using machine learning is training a neural network.
4. The method of claim 3 wherein the neural network is a multilayer perceptron.
5. The method of claim 3 wherein the training the neural network includes:
extracting, determining and/or computing features from the training images;
computing testing filter parameters using the machine learning model including applying the filter using the features to create a temporary image;
applying an error metric to the temporary image;
correcting the machine learning model based on the error metric including updating the testing filter parameters;
repeating the computing, the applying and the correcting to determine final filter parameters.
6. The method of claim 5 wherein the extracting, determining and/or computing features includes:
determining primary features of the training images;
extracting and/or computing secondary features of the training images using the primary features.
7. The method of claim 6 wherein the machine learning is a neural network of the secondary features.
8. The method of claim 6 wherein the primary features include some selected from the group including: positions, colors, world positions, visibility, shading normals, texture values.
9. The method of claim 6 wherein the secondary features include some selected from the group including: variances and noise approximation in local regions, mean of primary features at various block sizes, standard deviation of the primary features at various block sizes, gradients of primary features, mean deviation of the primary features, median absolute deviation (MAD) of primary features, sampling rate.
10. The method of claim 3 further including applying backpropagation on the neural network.
11. The method of claim 5 wherein the error metric is a modified relative mean squared error function.
12. The method of claim 5 wherein the error metric is a perceptual metric such as a structural similarity index (SSIM).
13. The method of claim 1 wherein executing the filter includes one selected from the group including a Gaussian filter, a cross-bilateral filter, and a cross non-local means filter.
14. The method of claim 1 wherein using machine learning includes:
applying an error metric to measure the distance between filtered images and ground truth images;
applying an optimization strategy to minimize an energy function on results of the error metric.
15. The method of claim 14 wherein the energy function computes errors in a multilayer perceptron.
16. The method of claim 14 wherein the error metric is a modified relative mean squared error (RelMSE) metric.
17. The method of claim 14 wherein the optimization strategy is backpropagation.
18. A method of producing a noise-free Monte Carlo rendered image, the method comprising:
training a machine learning model on a plurality of Monte Carlo-rendered training images to learn how to output noise-free images;
receiving a new Monte Carlo rendered noisy image;
executing the trained machine learning model on the new Monte Carlo rendered noisy image to generate a noise-free result.
19. The method of claim 18,
wherein the training includes placing a filter after the machine learning model and the machine learning model outputs parameters for the filter
wherein the executing including applying the filter to denoise the new Monte Carlo rendered noisy image.
20. The method of claim 19, wherein during the training the machine learning model is trained to output optimal filter parameters for the training images such that when the new Monte Carlo noisy image is received, the machine learning model outputs the filter parameters to remove noise from the new image.
21. The method of claim 18 wherein the machine learning model is a neural network.
US15/144,613 2015-04-30 2016-05-02 Using machine learning to filter monte carlo noise from images Abandoned US20160321523A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/144,613 US20160321523A1 (en) 2015-04-30 2016-05-02 Using machine learning to filter monte carlo noise from images
US15/840,754 US10192146B2 (en) 2015-04-30 2017-12-13 Machine learning to process Monte Carlo rendered images
US16/219,340 US10832091B2 (en) 2015-04-30 2018-12-13 Machine learning to process Monte Carlo rendered images

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562155104P 2015-04-30 2015-04-30
US15/144,613 US20160321523A1 (en) 2015-04-30 2016-05-02 Using machine learning to filter monte carlo noise from images

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/840,754 Continuation US10192146B2 (en) 2015-04-30 2017-12-13 Machine learning to process Monte Carlo rendered images

Publications (1)

Publication Number Publication Date
US20160321523A1 true US20160321523A1 (en) 2016-11-03

Family

ID=57204111

Family Applications (3)

Application Number Title Priority Date Filing Date
US15/144,613 Abandoned US20160321523A1 (en) 2015-04-30 2016-05-02 Using machine learning to filter monte carlo noise from images
US15/840,754 Expired - Fee Related US10192146B2 (en) 2015-04-30 2017-12-13 Machine learning to process Monte Carlo rendered images
US16/219,340 Active 2036-09-23 US10832091B2 (en) 2015-04-30 2018-12-13 Machine learning to process Monte Carlo rendered images

Family Applications After (2)

Application Number Title Priority Date Filing Date
US15/840,754 Expired - Fee Related US10192146B2 (en) 2015-04-30 2017-12-13 Machine learning to process Monte Carlo rendered images
US16/219,340 Active 2036-09-23 US10832091B2 (en) 2015-04-30 2018-12-13 Machine learning to process Monte Carlo rendered images

Country Status (1)

Country Link
US (3) US20160321523A1 (en)

Cited By (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150055855A1 (en) * 2013-08-02 2015-02-26 Digimarc Corporation Learning systems and methods
CN106803237A (en) * 2016-12-14 2017-06-06 银江股份有限公司 A kind of improvement self-adaptive weighted average image de-noising method based on extreme learning machine
RU173468U1 (en) * 2017-03-27 2017-08-29 Акционерное общество "ЭЛВИС-НеоТек" DEVICE FOR CASCADE PROCESSING OF THE IMAGE FLOW USING SURFACE NEURAL NETWORKS
CN107145846A (en) * 2017-04-26 2017-09-08 贵州电网有限责任公司输电运行检修分公司 A kind of insulator recognition methods based on deep learning
US20170308656A1 (en) * 2016-03-10 2017-10-26 Siemens Healthcare Gmbh Content-based medical image rendering based on machine learning
US20170345131A1 (en) * 2016-05-30 2017-11-30 Novatek Microelectronics Corp. Method and device for image noise estimation and image capture apparatus
US9836664B1 (en) * 2016-05-27 2017-12-05 Intuit Inc. Method and system for identifying and addressing imaging artifacts to enable a software system to provide financial services based on an image of a financial document
RU2651147C1 (en) * 2017-03-27 2018-04-18 Акционерное общество "ЭЛВИС-НеоТек" Device of cascade processing of a stream of images by means of convolutional neural network
US20180130248A1 (en) * 2016-11-04 2018-05-10 Disney Enterprises, Inc. Noise reduction on g-buffers for monte carlo filtering
US20180160134A1 (en) * 2016-12-01 2018-06-07 Qualcomm Incorporated Indication of bilateral filter usage in video coding
US20180189607A1 (en) * 2016-12-29 2018-07-05 Elektrobit Automotive Gmbh Generating training images for machine learning-based objection recognition systems
CN108280811A (en) * 2018-01-23 2018-07-13 哈尔滨工业大学深圳研究生院 A kind of image de-noising method and system based on neural network
US10096088B2 (en) * 2016-09-28 2018-10-09 Disney Enterprises, Inc. Robust regression method for image-space denoising
US20180300590A1 (en) * 2017-04-13 2018-10-18 Facebook, Inc. Panoramic camera systems
CN108712397A (en) * 2018-04-28 2018-10-26 天津大学 Communication protocol recognition methods based on deep learning
CN109003240A (en) * 2018-07-16 2018-12-14 安徽理工大学 A kind of image de-noising method based on multiple dimensioned parallel C NN
CN109146824A (en) * 2018-09-27 2019-01-04 福州瑞芯微电子股份有限公司 A kind of image noise reduction processing method and a kind of storage equipment
US20190057505A1 (en) * 2017-08-17 2019-02-21 Siemens Healthcare Gmbh Automatic change detection in medical images
US20190082177A1 (en) * 2017-09-14 2019-03-14 Samsung Electronics Co., Ltd. Image processing apparatus, method for processing image and computer-readable recording medium
WO2019067248A1 (en) * 2017-09-28 2019-04-04 D5Ai Llc Estimating the amount of degradation with a regression objective in deep learning
EP3480782A1 (en) 2017-11-02 2019-05-08 Vrije Universiteit Brussel Method and device for reducing noise in a depth image
US10311552B2 (en) * 2017-04-06 2019-06-04 Pixar De-noising images using machine learning
CN109862253A (en) * 2018-12-06 2019-06-07 中国人民解放军陆军工程大学 A kind of digital video digital image stabilization method based on deep learning
EP3498557A1 (en) * 2017-12-18 2019-06-19 Continental Automotive GmbH Method and system for road safety in detecting nearby vehicles swerving to avoid accidents
CN110020670A (en) * 2019-03-07 2019-07-16 阿里巴巴集团控股有限公司 A kind of model alternative manner, device and equipment
CN110097611A (en) * 2019-04-28 2019-08-06 上海联影智能医疗科技有限公司 Image rebuilding method, device, equipment and storage medium
US20190266448A1 (en) * 2016-09-30 2019-08-29 General Electric Company System and method for optimization of deep learning architecture
WO2019164381A1 (en) * 2018-02-26 2019-08-29 주식회사 고영테크놀러지 Method for inspecting mounting state of component, printed circuit board inspection apparatus, and computer readable recording medium
CN110390056A (en) * 2019-06-18 2019-10-29 平安科技(深圳)有限公司 Big data processing method, device, equipment and readable storage medium storing program for executing
US10475165B2 (en) * 2017-04-06 2019-11-12 Disney Enterprises, Inc. Kernel-predicting convolutional neural networks for denoising
US10572979B2 (en) 2017-04-06 2020-02-25 Pixar Denoising Monte Carlo renderings using machine learning with importance sampling
WO2020041610A1 (en) * 2018-08-23 2020-02-27 Walmart Apollo, Llc System and method for automated electronic catalogue management and electronic image quality assessment
US10600167B2 (en) 2017-01-18 2020-03-24 Nvidia Corporation Performing spatiotemporal filtering
US10614186B2 (en) 2017-08-30 2020-04-07 Samsung Electronics Co., Ltd. Apparatus for predicting yield of semiconductor integrated circuit and method for manufacturing semiconductor device using the same
CN111095349A (en) * 2017-05-19 2020-05-01 视网膜医疗股份公司 Reducing noise in images
WO2020101257A1 (en) * 2018-11-12 2020-05-22 Samsung Electronics Co., Ltd. Display apparatus and method of controlling the same
US10672109B2 (en) 2018-03-29 2020-06-02 Pixar Multi-scale architecture of denoising monte carlo renderings using neural networks
WO2020123548A1 (en) * 2018-12-10 2020-06-18 XNOR.ai, Inc. Digital watermarking of machine-learning models
CN111316291A (en) * 2017-11-03 2020-06-19 西门子股份公司 Segmentation and denoising depth images with generative countering neural networks for recognition applications
US20200202493A1 (en) * 2018-12-21 2020-06-25 Intel Corporation Apparatus and method for efficient distributed denoising of a graphics frame
US10963995B2 (en) * 2018-02-12 2021-03-30 Samsung Electronics Co., Ltd. Image processing apparatus and image processing method thereof
WO2021103420A1 (en) * 2019-11-30 2021-06-03 浙江大学 Method for learning and migrating communication protocol in multi-agent cooperation scene
CN112949669A (en) * 2019-12-10 2021-06-11 中国科学院深圳先进技术研究院 Method for estimating Gaussian low-pass filtering parameters in digital image
US11080835B2 (en) 2019-01-09 2021-08-03 Disney Enterprises, Inc. Pixel error detection system
CN113393585A (en) * 2021-08-18 2021-09-14 西安芯瞳半导体技术有限公司 Rendering problem positioning method and device, positioning equipment and storage medium
US20210295589A1 (en) * 2020-03-17 2021-09-23 Nvidia Corporation Denoising techniques suitable for recurrent blurs
CN113496271A (en) * 2020-03-20 2021-10-12 辉达公司 Neural network control variables
US11153575B2 (en) 2018-03-06 2021-10-19 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
US11182877B2 (en) 2018-08-07 2021-11-23 BlinkAI Technologies, Inc. Techniques for controlled generation of training data for machine learning enabled image enhancement
US11232624B2 (en) * 2016-03-25 2022-01-25 Outward, Inc. Adaptive sampling of pixels
US11308585B2 (en) * 2017-12-05 2022-04-19 Google Llc Noise reduction method for high dynamic range videos
US11315220B2 (en) * 2018-06-07 2022-04-26 Kabushiki Kaisha Toshiba Distance measuring apparatus, vibration measuring apparatus, and industrial computed tomography apparatus
US11330145B1 (en) * 2021-06-10 2022-05-10 Bank Of America Corporation Image processing edge device for document noise removal
US11354782B2 (en) 2017-08-04 2022-06-07 Outward, Inc. Machine learning based image processing techniques
US11354543B2 (en) * 2020-09-21 2022-06-07 Kyocera Document Solutions Inc. Convolutional neural network filter stacker for colorization preprocessing
US11410044B2 (en) * 2017-05-20 2022-08-09 Google Llc Application development platform and software development kits that provide comprehensive machine learning services
US11449790B2 (en) * 2018-09-19 2022-09-20 Lg Electronics Inc. Artificial intelligence device and method for executing an operation based on predicted biometric state of a user
US11475542B2 (en) * 2017-07-27 2022-10-18 Nvidia Corporation Neural network system with temporal feedback for adaptive sampling and denoising of rendered sequences
US11508143B2 (en) 2020-04-03 2022-11-22 Disney Enterprises, Inc. Automated salience assessment of pixel anomalies
WO2022173820A3 (en) * 2021-02-15 2022-12-15 Carnegie Mellon University System and method for class-identity-preserving data augmentation
US11557022B2 (en) 2017-07-27 2023-01-17 Nvidia Corporation Neural network system with temporal feedback for denoising of rendered sequences
US20230014245A1 (en) * 2017-07-27 2023-01-19 Nvidia Corporation Neural network system with temporal feedback for denoising of rendered sequences
WO2023178033A1 (en) * 2022-03-14 2023-09-21 Zaixing Mao Vista de-noising
US11836597B2 (en) * 2018-08-09 2023-12-05 Nvidia Corporation Detecting visual artifacts in image sequences using a neural network model

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10366328B2 (en) * 2017-09-19 2019-07-30 Gyrfalcon Technology Inc. Approximating fully-connected layers with multiple arrays of 3x3 convolutional filter kernels in a CNN based integrated circuit
US10339445B2 (en) * 2016-10-10 2019-07-02 Gyrfalcon Technology Inc. Implementation of ResNet in a CNN based digital integrated circuit
US10360470B2 (en) * 2016-10-10 2019-07-23 Gyrfalcon Technology Inc. Implementation of MobileNet in a CNN based digital integrated circuit
US10713537B2 (en) * 2017-07-01 2020-07-14 Algolux Inc. Method and apparatus for joint image processing and perception
US10762620B2 (en) 2017-11-27 2020-09-01 Nvidia Corporation Deep-learning method for separating reflection and transmission images visible at a semi-reflective surface in a computer image of a real-world scene
US11270161B2 (en) 2017-11-27 2022-03-08 Nvidia Corporation Deep-learning method for separating reflection and transmission images visible at a semi-reflective surface in a computer image of a real-world scene
US10776985B2 (en) 2018-03-17 2020-09-15 Nvidia Corporation Reflection denoising in ray-tracing applications
US10848805B1 (en) * 2018-03-28 2020-11-24 Electronic Arts Inc. Contextual video recommendations within a video game
CN108647683B (en) * 2018-04-28 2021-08-17 浙江大学 Method and system for generating character confrontation verification code based on frequency domain noise addition
CN110473147A (en) 2018-05-09 2019-11-19 腾讯科技(深圳)有限公司 A kind of video deblurring method and device
JP7028345B2 (en) * 2018-06-29 2022-03-02 日本電気株式会社 Pattern recognition device, pattern recognition method, and program
CN109102472A (en) * 2018-07-23 2018-12-28 上海滚滚文化传播有限公司 A kind of method that the imitative two dimension of three-dimensional models production caricature special efficacy after rendering
US10991079B2 (en) 2018-08-14 2021-04-27 Nvidia Corporation Using previously rendered scene frames to reduce pixel noise
US10430708B1 (en) 2018-08-17 2019-10-01 Aivitae LLC System and method for noise-based training of a prediction model
US11062210B2 (en) * 2018-10-02 2021-07-13 Nokia Technologies Oy Method and apparatus for training a neural network used for denoising
US10832046B1 (en) * 2018-10-23 2020-11-10 Architecture Technology Corporation Systems and methods for processing document images
US10839249B2 (en) 2019-03-08 2020-11-17 International Business Machines Corporation Methods and systems for analyzing images utilizing scene graphs
US10665011B1 (en) * 2019-05-31 2020-05-26 Adobe Inc. Dynamically estimating lighting parameters for positions within augmented-reality scenes based on global and local features
CN110349107B (en) * 2019-07-10 2023-05-26 北京字节跳动网络技术有限公司 Image enhancement method, device, electronic equipment and storage medium
US11069034B2 (en) * 2019-09-06 2021-07-20 Adobe Inc. Method and system to enhance quality of digital images
US11334671B2 (en) 2019-10-14 2022-05-17 International Business Machines Corporation Adding adversarial robustness to trained machine learning models
CN112785507A (en) * 2019-11-07 2021-05-11 上海耕岩智能科技有限公司 Image processing method and device, storage medium and terminal
CN110971784B (en) * 2019-11-14 2022-03-25 北京达佳互联信息技术有限公司 Video processing method and device, electronic equipment and storage medium
US11836249B2 (en) * 2019-11-21 2023-12-05 Paypal, Inc. System and method for counteracting adversarial attacks
US11461645B2 (en) 2019-12-02 2022-10-04 International Business Machines Corporation Initialization of memory networks
US11776679B2 (en) * 2020-03-10 2023-10-03 The Board Of Trustees Of The Leland Stanford Junior University Methods for risk map prediction in AI-based MRI reconstruction
US11599223B1 (en) 2020-03-13 2023-03-07 Apple Inc. System and machine learning method for separating noise and signal in multitouch sensors
ES2877410B2 (en) * 2020-05-13 2022-07-13 Univ Coruna PROCEDURE, COMPUTER PROGRAM, SYSTEM AND COMPUTER SYSTEM FOR ELIMINATION OF NOISE IN A SEQUENCE OF IMAGES
US11899881B2 (en) 2020-07-17 2024-02-13 Apple Inc. Machine learning method and system for suppressing display induced noise in touch sensors using information from display circuitry
US20220044102A1 (en) * 2020-08-06 2022-02-10 Micron Technology, Inc. Fault tolerant artificial neural network computation in deep learning accelerator having integrated random access memory
US11954288B1 (en) 2020-08-26 2024-04-09 Apple Inc. System and machine learning method for separating noise and signal in multitouch sensors
US11481070B1 (en) 2020-09-25 2022-10-25 Apple Inc. System and method for touch sensor panel with display noise correction
GB2605158B (en) 2021-03-24 2023-05-17 Sony Interactive Entertainment Inc Image rendering method and apparatus
GB2605154B (en) * 2021-03-24 2023-05-24 Sony Interactive Entertainment Inc Image rendering method and apparatus
KR20230092514A (en) * 2021-12-17 2023-06-26 삼성전자주식회사 Rendering method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012054339A1 (en) * 2010-10-19 2012-04-26 3M Innovative Properties Company Computer-aided assignment of ratings to digital samples of a manufactured web product

Cited By (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11625805B2 (en) 2013-08-02 2023-04-11 Digimarc Corporation Learning systems and methods
US9594983B2 (en) * 2013-08-02 2017-03-14 Digimarc Corporation Learning systems and methods
US20150055855A1 (en) * 2013-08-02 2015-02-26 Digimarc Corporation Learning systems and methods
US10902539B2 (en) * 2013-08-02 2021-01-26 Digimarc Corporation Learning systems and methods
US20170308656A1 (en) * 2016-03-10 2017-10-26 Siemens Healthcare Gmbh Content-based medical image rendering based on machine learning
US10339695B2 (en) * 2016-03-10 2019-07-02 Siemens Healthcare Gmbh Content-based medical image rendering based on machine learning
US11232624B2 (en) * 2016-03-25 2022-01-25 Outward, Inc. Adaptive sampling of pixels
US11704861B2 (en) * 2016-03-25 2023-07-18 Outward, Inc. Adaptive sampling of pixels
US20220084277A1 (en) * 2016-03-25 2022-03-17 Outward, Inc. Adaptive sampling of pixels
US9836664B1 (en) * 2016-05-27 2017-12-05 Intuit Inc. Method and system for identifying and addressing imaging artifacts to enable a software system to provide financial services based on an image of a financial document
US20170345131A1 (en) * 2016-05-30 2017-11-30 Novatek Microelectronics Corp. Method and device for image noise estimation and image capture apparatus
US10127635B2 (en) * 2016-05-30 2018-11-13 Novatek Microelectronics Corp. Method and device for image noise estimation and image capture apparatus
US10096088B2 (en) * 2016-09-28 2018-10-09 Disney Enterprises, Inc. Robust regression method for image-space denoising
US20190266448A1 (en) * 2016-09-30 2019-08-29 General Electric Company System and method for optimization of deep learning architecture
US11017269B2 (en) * 2016-09-30 2021-05-25 General Electric Company System and method for optimization of deep learning architecture
US10922872B2 (en) * 2016-11-04 2021-02-16 Disney Enterprises, Inc. Noise reduction on G-buffers for Monte Carlo filtering
US10403026B2 (en) * 2016-11-04 2019-09-03 Disney Enterprises, Inc. Noise reduction on G-buffers for Monte Carlo filtering
US20180130248A1 (en) * 2016-11-04 2018-05-10 Disney Enterprises, Inc. Noise reduction on g-buffers for monte carlo filtering
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
US20180160134A1 (en) * 2016-12-01 2018-06-07 Qualcomm Incorporated Indication of bilateral filter usage in video coding
CN106803237A (en) * 2016-12-14 2017-06-06 银江股份有限公司 A kind of improvement self-adaptive weighted average image de-noising method based on extreme learning machine
US20180189607A1 (en) * 2016-12-29 2018-07-05 Elektrobit Automotive Gmbh Generating training images for machine learning-based objection recognition systems
US10635935B2 (en) * 2016-12-29 2020-04-28 Elektrobit Automotive Gmbh Generating training images for machine learning-based objection recognition systems
US10600167B2 (en) 2017-01-18 2020-03-24 Nvidia Corporation Performing spatiotemporal filtering
US11113800B2 (en) 2017-01-18 2021-09-07 Nvidia Corporation Filtering image data using a neural network
RU173468U1 (en) * 2017-03-27 2017-08-29 Акционерное общество "ЭЛВИС-НеоТек" DEVICE FOR CASCADE PROCESSING OF THE IMAGE FLOW USING SURFACE NEURAL NETWORKS
RU2651147C1 (en) * 2017-03-27 2018-04-18 Акционерное общество "ЭЛВИС-НеоТек" Device of cascade processing of a stream of images by means of convolutional neural network
US11037274B2 (en) 2017-04-06 2021-06-15 Pixar Denoising Monte Carlo renderings using progressive neural networks
US10789686B2 (en) 2017-04-06 2020-09-29 Pixar Denoising Monte Carlo renderings using machine learning with importance sampling
US10607319B2 (en) * 2017-04-06 2020-03-31 Pixar Denoising monte carlo renderings using progressive neural networks
US10846828B2 (en) 2017-04-06 2020-11-24 Pixar De-noising images using machine learning
US10586310B2 (en) 2017-04-06 2020-03-10 Pixar Denoising Monte Carlo renderings using generative adversarial neural networks
US10796414B2 (en) * 2017-04-06 2020-10-06 Disney Enterprises, Inc. Kernel-predicting convolutional neural networks for denoising
US10311552B2 (en) * 2017-04-06 2019-06-04 Pixar De-noising images using machine learning
US10572979B2 (en) 2017-04-06 2020-02-25 Pixar Denoising Monte Carlo renderings using machine learning with importance sampling
US10475165B2 (en) * 2017-04-06 2019-11-12 Disney Enterprises, Inc. Kernel-predicting convolutional neural networks for denoising
US10368062B2 (en) 2017-04-13 2019-07-30 Facebook, Inc. Panoramic camera systems
US10659773B2 (en) 2017-04-13 2020-05-19 Facebook, Inc. Panoramic camera systems
US10477200B2 (en) 2017-04-13 2019-11-12 Facebook, Inc. Panoramic camera systems
US10499046B2 (en) 2017-04-13 2019-12-03 Facebook, Inc. Generating depth maps for panoramic camera systems
US10540576B1 (en) 2017-04-13 2020-01-21 Facebook, Inc. Panoramic camera systems
US10262238B2 (en) * 2017-04-13 2019-04-16 Facebook, Inc. Panoramic camera systems
US20180300590A1 (en) * 2017-04-13 2018-10-18 Facebook, Inc. Panoramic camera systems
US10248890B2 (en) 2017-04-13 2019-04-02 Facebook, Inc. Panoramic camera systems
US10230947B2 (en) 2017-04-13 2019-03-12 Facebook, Inc. Panoramic camera systems
CN107145846A (en) * 2017-04-26 2017-09-08 贵州电网有限责任公司输电运行检修分公司 A kind of insulator recognition methods based on deep learning
CN111095349A (en) * 2017-05-19 2020-05-01 视网膜医疗股份公司 Reducing noise in images
US11410044B2 (en) * 2017-05-20 2022-08-09 Google Llc Application development platform and software development kits that provide comprehensive machine learning services
US11861811B2 (en) * 2017-07-27 2024-01-02 Nvidia Corporation Neural network system with temporal feedback for denoising of rendered sequences
US11475542B2 (en) * 2017-07-27 2022-10-18 Nvidia Corporation Neural network system with temporal feedback for adaptive sampling and denoising of rendered sequences
US11557022B2 (en) 2017-07-27 2023-01-17 Nvidia Corporation Neural network system with temporal feedback for denoising of rendered sequences
US20230014245A1 (en) * 2017-07-27 2023-01-19 Nvidia Corporation Neural network system with temporal feedback for denoising of rendered sequences
US11449967B2 (en) 2017-08-04 2022-09-20 Outward, Inc. Machine learning based image processing techniques
US11810270B2 (en) 2017-08-04 2023-11-07 Outward, Inc. Machine learning training images from a constrained set of three-dimensional object models associated with prescribed scene types
US11354782B2 (en) 2017-08-04 2022-06-07 Outward, Inc. Machine learning based image processing techniques
US11790491B2 (en) * 2017-08-04 2023-10-17 Outward, Inc. Machine learning based image processing techniques
US20190057505A1 (en) * 2017-08-17 2019-02-21 Siemens Healthcare Gmbh Automatic change detection in medical images
US10699410B2 (en) * 2017-08-17 2020-06-30 Siemes Healthcare GmbH Automatic change detection in medical images
US10614186B2 (en) 2017-08-30 2020-04-07 Samsung Electronics Co., Ltd. Apparatus for predicting yield of semiconductor integrated circuit and method for manufacturing semiconductor device using the same
US20190082177A1 (en) * 2017-09-14 2019-03-14 Samsung Electronics Co., Ltd. Image processing apparatus, method for processing image and computer-readable recording medium
KR20190030339A (en) * 2017-09-14 2019-03-22 삼성전자주식회사 Image processing apparatus, method for processing image and computer-readable recording medium
US11006108B2 (en) * 2017-09-14 2021-05-11 Samsung Electronics Co., Ltd. Image processing apparatus, method for processing image and computer-readable recording medium
KR102444054B1 (en) * 2017-09-14 2022-09-19 삼성전자주식회사 Image processing apparatus, method for processing image and computer-readable recording medium
US11074506B2 (en) 2017-09-28 2021-07-27 D5Ai Llc Estimating the amount of degradation with a regression objective in deep learning
WO2019067248A1 (en) * 2017-09-28 2019-04-04 D5Ai Llc Estimating the amount of degradation with a regression objective in deep learning
EP3480782A1 (en) 2017-11-02 2019-05-08 Vrije Universiteit Brussel Method and device for reducing noise in a depth image
CN111316291A (en) * 2017-11-03 2020-06-19 西门子股份公司 Segmentation and denoising depth images with generative countering neural networks for recognition applications
US11308585B2 (en) * 2017-12-05 2022-04-19 Google Llc Noise reduction method for high dynamic range videos
EP3498557A1 (en) * 2017-12-18 2019-06-19 Continental Automotive GmbH Method and system for road safety in detecting nearby vehicles swerving to avoid accidents
CN108280811A (en) * 2018-01-23 2018-07-13 哈尔滨工业大学深圳研究生院 A kind of image de-noising method and system based on neural network
US10963995B2 (en) * 2018-02-12 2021-03-30 Samsung Electronics Co., Ltd. Image processing apparatus and image processing method thereof
KR102427381B1 (en) * 2018-02-26 2022-08-02 주식회사 고영테크놀러지 Method for inspecting the mounting state of a component, a printed circuit board inspection apparatus, and a computer-readable recording medium
CN111788883A (en) * 2018-02-26 2020-10-16 株式会社高迎科技 Component mounting state inspection method, printed circuit board inspection apparatus, and computer-readable recording medium
US11244436B2 (en) * 2018-02-26 2022-02-08 Koh Young Technology Inc. Method for inspecting mounting state of component, printed circuit board inspection apparatus, and computer readable recording medium
KR20200108483A (en) * 2018-02-26 2020-09-18 주식회사 고영테크놀러지 Method for inspecting the mounting condition of components, printed circuit board inspection apparatus, and computer-readable recording medium
US11328407B2 (en) * 2018-02-26 2022-05-10 Koh Young Technology Inc. Method for inspecting mounting state of component, printed circuit board inspection apparatus, and computer readable recording medium
CN111788476A (en) * 2018-02-26 2020-10-16 株式会社高迎科技 Component mounting state inspection method, printed circuit board inspection apparatus, and computer-readable recording medium
WO2019164381A1 (en) * 2018-02-26 2019-08-29 주식회사 고영테크놀러지 Method for inspecting mounting state of component, printed circuit board inspection apparatus, and computer readable recording medium
US11153575B2 (en) 2018-03-06 2021-10-19 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
US10672109B2 (en) 2018-03-29 2020-06-02 Pixar Multi-scale architecture of denoising monte carlo renderings using neural networks
US11532073B2 (en) 2018-03-29 2022-12-20 Pixar Temporal techniques of denoising Monte Carlo renderings using neural networks
US10706508B2 (en) 2018-03-29 2020-07-07 Disney Enterprises, Inc. Adaptive sampling in Monte Carlo renderings using error-predicting neural networks
US10699382B2 (en) 2018-03-29 2020-06-30 Disney Enterprises, Inc. Denoising Monte Carlo renderings using neural networks with asymmetric loss
CN108712397A (en) * 2018-04-28 2018-10-26 天津大学 Communication protocol recognition methods based on deep learning
US11315220B2 (en) * 2018-06-07 2022-04-26 Kabushiki Kaisha Toshiba Distance measuring apparatus, vibration measuring apparatus, and industrial computed tomography apparatus
CN109003240A (en) * 2018-07-16 2018-12-14 安徽理工大学 A kind of image de-noising method based on multiple dimensioned parallel C NN
CN109003240B (en) * 2018-07-16 2021-07-27 安徽理工大学 Image denoising method based on multi-scale parallel CNN
US11182877B2 (en) 2018-08-07 2021-11-23 BlinkAI Technologies, Inc. Techniques for controlled generation of training data for machine learning enabled image enhancement
US11995800B2 (en) * 2018-08-07 2024-05-28 Meta Platforms, Inc. Artificial intelligence techniques for image enhancement
US11836597B2 (en) * 2018-08-09 2023-12-05 Nvidia Corporation Detecting visual artifacts in image sequences using a neural network model
US11599983B2 (en) 2018-08-23 2023-03-07 Walmart Apollo, Llc System and method for automated electronic catalogue management and electronic image quality assessment
US11164300B2 (en) 2018-08-23 2021-11-02 Walmart Apollo, Llc System and method for automated electronic catalogue management and electronic image quality assessment
WO2020041610A1 (en) * 2018-08-23 2020-02-27 Walmart Apollo, Llc System and method for automated electronic catalogue management and electronic image quality assessment
US11449790B2 (en) * 2018-09-19 2022-09-20 Lg Electronics Inc. Artificial intelligence device and method for executing an operation based on predicted biometric state of a user
CN109146824A (en) * 2018-09-27 2019-01-04 福州瑞芯微电子股份有限公司 A kind of image noise reduction processing method and a kind of storage equipment
US11265564B2 (en) 2018-11-12 2022-03-01 Samsung Electronics Co., Ltd. Display apparatus and method of controlling the same
US11968382B2 (en) 2018-11-12 2024-04-23 Samsung Electronics Co., Ltd. Display apparatus and method of controlling the same
WO2020101257A1 (en) * 2018-11-12 2020-05-22 Samsung Electronics Co., Ltd. Display apparatus and method of controlling the same
CN109862253A (en) * 2018-12-06 2019-06-07 中国人民解放军陆军工程大学 A kind of digital video digital image stabilization method based on deep learning
US11893486B2 (en) 2018-12-10 2024-02-06 Apple Inc. Digital watermarking of machine-learning models
WO2020123548A1 (en) * 2018-12-10 2020-06-18 XNOR.ai, Inc. Digital watermarking of machine-learning models
US11042611B2 (en) 2018-12-10 2021-06-22 XNOR.ai, Inc. Digital watermarking of machine-learning models
US10922790B2 (en) * 2018-12-21 2021-02-16 Intel Corporation Apparatus and method for efficient distributed denoising of a graphics frame
US11562468B2 (en) 2018-12-21 2023-01-24 Intel Corporation Apparatus and method for efficient distributed denoising of a graphics frame
US20200202493A1 (en) * 2018-12-21 2020-06-25 Intel Corporation Apparatus and method for efficient distributed denoising of a graphics frame
US11080835B2 (en) 2019-01-09 2021-08-03 Disney Enterprises, Inc. Pixel error detection system
CN110020670A (en) * 2019-03-07 2019-07-16 阿里巴巴集团控股有限公司 A kind of model alternative manner, device and equipment
CN110097611A (en) * 2019-04-28 2019-08-06 上海联影智能医疗科技有限公司 Image rebuilding method, device, equipment and storage medium
CN110390056A (en) * 2019-06-18 2019-10-29 平安科技(深圳)有限公司 Big data processing method, device, equipment and readable storage medium storing program for executing
WO2021103420A1 (en) * 2019-11-30 2021-06-03 浙江大学 Method for learning and migrating communication protocol in multi-agent cooperation scene
CN112949669A (en) * 2019-12-10 2021-06-11 中国科学院深圳先进技术研究院 Method for estimating Gaussian low-pass filtering parameters in digital image
US11823321B2 (en) * 2020-03-17 2023-11-21 Nvidia Corporation Denoising techniques suitable for recurrent blurs
US11508113B2 (en) * 2020-03-17 2022-11-22 Nvidia Corporation Denoising techniques suitable for recurrent blurs
US20210295589A1 (en) * 2020-03-17 2021-09-23 Nvidia Corporation Denoising techniques suitable for recurrent blurs
US20230005211A1 (en) * 2020-03-17 2023-01-05 Nvidia Corporation Denoising techniques suitable for recurrent blurs
CN113496271A (en) * 2020-03-20 2021-10-12 辉达公司 Neural network control variables
US11508143B2 (en) 2020-04-03 2022-11-22 Disney Enterprises, Inc. Automated salience assessment of pixel anomalies
US11354543B2 (en) * 2020-09-21 2022-06-07 Kyocera Document Solutions Inc. Convolutional neural network filter stacker for colorization preprocessing
WO2022173820A3 (en) * 2021-02-15 2022-12-15 Carnegie Mellon University System and method for class-identity-preserving data augmentation
US11330145B1 (en) * 2021-06-10 2022-05-10 Bank Of America Corporation Image processing edge device for document noise removal
CN113393585A (en) * 2021-08-18 2021-09-14 西安芯瞳半导体技术有限公司 Rendering problem positioning method and device, positioning equipment and storage medium
WO2023178033A1 (en) * 2022-03-14 2023-09-21 Zaixing Mao Vista de-noising

Also Published As

Publication number Publication date
US10192146B2 (en) 2019-01-29
US20180114096A1 (en) 2018-04-26
US20190122076A1 (en) 2019-04-25
US10832091B2 (en) 2020-11-10

Similar Documents

Publication Publication Date Title
US20160321523A1 (en) Using machine learning to filter monte carlo noise from images
Kalantari et al. A machine learning approach for filtering Monte Carlo noise.
Park et al. Retinex method based on adaptive smoothing for illumination invariant face recognition
Li et al. SURE-based optimization for adaptive sampling and reconstruction
Iizuka et al. Globally and locally consistent image completion
JP6613605B2 (en) Method and system for restoring depth value of depth image
Pu et al. A fractional-order variational framework for retinex: fractional-order partial differential equation-based formulation for multi-scale nonlocal contrast enhancement with texture preserving
Yu et al. Image denoising using trivariate shrinkage filter in the wavelet domain and joint bilateral filter in the spatial domain
Moon et al. Adaptive rendering based on weighted local regression
Sen et al. On filtering the noise from the random parameters in Monte Carlo rendering.
US8374457B1 (en) System and method for interactive image-noise separation
USRE48083E1 (en) System and methods for random parameter filtering
US10198801B2 (en) Image enhancement using self-examples and external examples
Wu et al. Accurate transmission estimation for removing haze and noise from a single image
CN111275686B (en) Method and device for generating medical image data for artificial neural network training
Liu et al. A multi-focus color image fusion algorithm based on low vision image reconstruction and focused feature extraction
US9183671B2 (en) Method for accelerating Monte Carlo renders
CN110349112A (en) A kind of two stages image de-noising method based on adaptive singular value threshold value
Dey Python image processing cookbook: over 60 recipes to help you perform complex image processing and computer vision tasks with ease
Karthikeyan et al. Energy based denoising convolutional neural network for image enhancement
Piriyatharawet et al. Image denoising with deep convolutional and multi-directional LSTM networks under Poisson noise environments
Cui et al. Attention-guided multi-scale feature fusion network for low-light image enhancement
Guan et al. DiffWater: Underwater Image Enhancement Based on Conditional Denoising Diffusion Probabilistic Model
US10922872B2 (en) Noise reduction on G-buffers for Monte Carlo filtering
Chen et al. A novel low-light enhancement via fractional-order and low-rank regularized retinex model

Legal Events

Date Code Title Description
AS Assignment

Owner name: THE REGENTS OF THE UNIVERSITY OF CALIFORNIA, CALIF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SEN, PRADEEP;KALANTARI, NIMA KHADEMI;BAKO, STEVE;REEL/FRAME:038719/0878

Effective date: 20160502

AS Assignment

Owner name: NATIONAL SCIENCE FOUNDATION, VIRGINIA

Free format text: CONFIRMATORY LICENSE;ASSIGNOR:UNIVERSITY OF CALIFORNIA, SANTA BARBARA;REEL/FRAME:040028/0949

Effective date: 20160914

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION