PrincetonComputer SciencePIXL GroupPublications → [DeCoro et al. 2010] Local Access
Density-based Outlier Rejection in Monte Carlo Rendering

Computer Graphics Forum (Proc. Pacific Graphics), September 2010

Christopher DeCoro, Tim Weyrich, Szymon Rusinkiewicz
Abstract

The problem of noise in Monte-Carlo rendering arising from estimator variance is well-known and well-studied. In this work, we concentrate on identifying individual light paths as outliers that lead to significant spikes of noise and represent a challenge for existing filtering methods. Most noise-reduction methods, such as importance sampling and stratification, attempt to generate samples that are expected a priori to have lower variance, but do not take into account actual sample values. While these methods are essential to decrease overall noise, we show that filtering samples a posteriori allows for greater reduction of spiked noise. In particular, given evaluated sample values, outliers can be identified and removed. Conforming with conventions in statistics, we emphasize that the term “outlier” should not be taken as synonymous with “incorrect”, but as referring to samples that distort the empirically-observed distribution of energy relative to the true underlying distribution. By expressing a path distribution in joint image and color space, we show how outliers can be characterized by their density across the set of all nearby paths in this space. We show that removing these outliers leads to significant improvements in rendering quality.
Video
Paper
Citation

Christopher DeCoro, Tim Weyrich, and Szymon Rusinkiewicz.
"Density-based Outlier Rejection in Monte Carlo Rendering."
Computer Graphics Forum (Proc. Pacific Graphics) 29(7), September 2010.

BibTeX

@article{DeCoro:2010:DOR,
   author = "Christopher DeCoro and Tim Weyrich and Szymon Rusinkiewicz",
   title = "Density-based Outlier Rejection in {Monte Carlo} Rendering",
   journal = "Computer Graphics Forum (Proc. Pacific Graphics)",
   year = "2010",
   month = sep,
   volume = "29",
   number = "7"
}