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.
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
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.
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]
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
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.
[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