Project:

Bilateral Mesh Denoising



Author:

Dr. Iman Sadeghi


Instructor:

Prof. Matthias Zwicker


Venue:

CSE291: 3D Geometry Processing Course, UC San Diego, Winter of 2008


Project Description:

The goal of this project is learning how to work with software libraries that provide many of the basic operations required for 3D geometry processing. For example VTK and CGAL. Students had to implement a geometry processing algorithm of your choice. They have to identify an algorithm for surface reconstruction, simplification, parameterization, registration, or a related operation that is not available in the library you are using. The goal is that students will provide their implementation for use by the public, see Getting involved in the CGAL project, or VTK: How to contribute.


About Bilateral Denoising Filter

SIGGRAPH 2003

Bilateral Mesh Denoising
Shachar Fleishman, Iddo Drori, Daniel Cohen-Or
School of Computer Science, Tel Aviv University

Abstract
We present an anisotropic mesh denoising algorithm that is effective, simple and fast. This is accomplished by filtering vertices of the mesh in the normal direction using local neighborhoods. Motivated by the impressive results of bilateral filtering for image denoising, we adopt it to denoise 3D meshes; addressing the specific issues required in the transition from two-dimensions to manifolds in three dimensions. We show that the proposed method successfully removes noise from meshes while preserving features. Furthermore, the presented algorithm excels in its simplicity both in concept and implementation.

Publication: PDF


About VTK

The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization used by thousands of researchers and developers around the world. VTK consists of a C++ class library, and several interpreted interface layers including Tcl/Tk, Java, and Python. Professional support and products for VTK are provided by Kitware, Inc. VTK supports a wide variety of visualization algorithms including scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques such as implicit modelling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation. In addition, dozens of imaging algorithms have been directly integrated to allow the user to mix 2D imaging / 3D graphics algorithms and data. The design and implementation of the library has been strongly influenced by object-oriented principles. VTK has been installed and tested on nearly every Unix-based platform, PCs (Windows 98/ME/NT/2000/XP), and Mac OSX Jaguar or later.



Denoising Algorithm

The prediction Πq(p) for a point p based on the surface at q is the projection of p to the plane tangent to the surface at q. Points across a sharp feature result in predictions that are farther away, and therefore given less influence. (b) Noisy normals can lead to poor predictors. (c) Mollified normal alleviate this problem. Note that corners are preserved because points are not displaced by the mollification: only the normals are smoothed. (Image from [2])

Pseudo-code of the algorithm taken from [1]

Image is taken from [3]

Denoising Results

Here you see the denoising results performed on the stanford bunny from left to right:



Original Mesh - Artificial Noise Added to the Mesh - Denoised Mesh

Color coded version which shows the movements of each points:



Color coded offset when filter is applied to the
Original Mesh - Noisy Mesh - Denoised Mesh



Denoising vs. Smoothing

The bilateral filter smoothes out only the noise and preserves the features of the mesh. In contrast, algorithms such as Laplacian smoothing with smooth not only the noise but also the features of the mesh which is not desirable. Here I have compared my denoising implementation with Laplacian smoothing filter which has been already implemented in vtk library.

Original Mesh - Noisy Mesh - Smoothed Mesh


Color coded offset when laplacian smoothing is applied to the
Original Mesh - Noisy Mesh - Smoothed Mesh


Smoothed Mesh - Denoised Mesh

Notice the loss of features specially around the eyes of the bunny.



References:

[1] Shachar Fleishman , Iddo Drori , Daniel Cohen-Or, Bilateral mesh denoising, ACM Transactions on Graphics (TOG), v.22 n.3, July 2003

[2] Jones, T., Durand, F., Desbrun, M. 2003. Non-iterative, feature preserving mesh smoothing. ACM Transactions on Graphics.

[3] Frédo Durand , Julie Dorsey, Fast bilateral filtering for the display of high-dynamic-range images, ACM Transactions on Graphics (TOG), v.21 n.3, July 2002



Get in touch

Contact

Email

Follow

Support

Mirrors


Your message was sent successfully! I will be in touch as soon as I can.

Something went wrong, try refreshing and submitting the form again.