Gaussian KD-Trees for Fast High-Dimensional Filtering
Andrew Adams, Natasha Gelfand, Jennifer Dolson, Marc Levoy
In ACM Transactions on Graphics, 28(3), July 2009.
Abstract: We propose a method for accelerating a broad class of non-linear filters that includes the bilateral, non-local means, and other related filters. These filters can all be expressed in a similar way: First, assign each value to be filtered a position in some vector space. Then, replace every value with a weighted linear combination of all values, with weights determined by a Gaussian function of distance between the positions. If the values are pixel colors and the positions are (x, y) coordinates, this describes a Gaussian blur. If the positions are instead (x, y, r, g, b) coordinates in a five-dimensional space-color volume, this describes a bilateral filter. If we instead set the positions to local patches of color around the associated pixel, this describes non-local means. We describe a Monte-Carlo kd-tree sampling algorithm that efficiently computes any filter that can be expressed in this way, along with a GPU implementation of this technique. We use this algorithm to implement an accelerated bilateral filter that respects full 3D color distance; accelerated non-local means on single images, volumes, and unaligned bursts of images for denoising; and a fast adaptation of non-local means to geometry. If we have n values to filter, and each is assigned a position in a d-dimensional space, then our space complexity is O(dn) and our time complexity is O(dn log n), whereas existing methods are typically either exponential in d or quadratic in n.
Keyword(s): bilateral filter, denoising, geometry filtering, non-local means
Article URL: http://doi.acm.org/10.1145/1531326.1531327
BibTeX format:
@article{Adams:2009:GKF,
  author = {Andrew Adams and Natasha Gelfand and Jennifer Dolson and Marc Levoy},
  title = {Gaussian KD-Trees for Fast High-Dimensional Filtering},
  journal = {ACM Transactions on Graphics},
  volume = {28},
  number = {3},
  pages = {21:1--21:12},
  month = jul,
  year = {2009},
}
Search for more articles by Andrew Adams.
Search for more articles by Natasha Gelfand.
Search for more articles by Jennifer Dolson.
Search for more articles by Marc Levoy.

Return to the search page.


graphbib: Powered by "bibsql" and "SQLite3."