# Projects

## Surface Denoising Example

The raw data produced by 3D scanners (range images or point clouds) are usually far from usable in any application. Considerable number of algorithms were developed for processing such data, removing the noise in particular. There are three types of noise present in the mesh data:

- Connectivity noise, which is the pretty much all of the connectivity information for surfaces of low genus. As the only information about the original surface carried by connectivity is the topological information, connectivity can be replaced by any other as long as topology is preserved. All topological information we theoretically need for a surface of genus 0 can be represented by a tetrahedron.
- Topological noise, which is created by the algorithms used to extract a mesh from the point cloud.
- Geometric noise, due to the errors in measurement and resampling of the data at various processing stages.

Topology-preserving reparameterization can be thought of as removing connectivity noise. We focus on the geometric noise removal, assuming that the surface is already reparameterized. While our method can be potentially applied before reparameterization, it works best and is most natural for semiregular meshes.

Our algorithm is based on recent work in image denoising which uses locally adaptive Wiener filtering. The subbands in a multiscale representation are modeled as a product of Gaussian random vector with a hidden multiplier variable. Estimation of the multiplier leads to the estimation of the local variance and allows standard Wiener denoising. The resulting algorithm is highly efficient, as it requires a single pass over the surface at each resolution level. It is controlled by a single user-defined variable, an estimate of the noise magnitude. The performance does not depend on the magnitude of this estimate, i.e. strong noise reduction takes exactly as much time as moderate amount of denoising. Given an infrastructure for supporting irregular meshes it takes very little time to implement and can be used for interactive local denoising of a model.

- A Simple Algorithm for Surface Denoising
- Jianbo Peng, Vasily Strela, Denis Zorin
*Proceedings of IEEE Visualization 2001.*

**Examples**

Denoising meshes with artificial noise. More results for different choices of the estimated noise magnitude.

Denoising a part of the model of Michalangelo's David, for different choices of the estimated noise magnitude. (Original mesh courtesy of Digital Michelangelo Project, Stanford University.) More results.

Denoising scanned and reparameterized meshes. (The Stanford bunny, an ear and a dog. The foot is a part of the dog.) More results.