Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 


Submitted by Gerd Gro▀mann, posted on February 24, 2005




Image Description, by Gerd Gro▀mann



These are two images of my diploma-thesis project. In advance: i ask for your pardon concerning my poor english.

On the left you can see a triangular mesh with many defects, such as holes, complex edges/vertices and intersections. The right picture shows the same mesh after a mesh repair process. Since this is hot topic nowadays and there are some publications out there: what's so special about this one? The whole mesh repair process is based on the surface of the object, which leads to some important advances in comparsion to volumetric methods. First of all the points of the pointcloud upon which the triangle mesh is constructed are kept - while volumetric methods tend to double, triple the point count. Second, the quality of the repaired mesh is often higher. And third many problems related to thin meshes are avoided - volumetric methods need a high sampling rate to process such meshes. The downside of the algoritm is that it's significantly slower (ca. 5 min. for a mesh with 200000 triangles), consumes more memory (90 MB for a mesh with 200000 triangles) and is more difficult to implement.

The repair process is based on the method propossed by M. Wagner combined with the work of P. Liepa. Even though somewhat modified to avoid complex vertices in the output, and other heuristics in the pre-/postprocessing steps to get a better shaped output mesh. The whole system is implemented upon the OpenMesh library, which was extended with a new mesh kernel, that can handle non-manifold meshes. The source and the program are going to be public when i finished my thesis.

Greets,
Gerd Gro▀mann


[prev]
Image of the Day Gallery
www.flipcode.com

[next]

 
Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
 
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
 
Christian Sigg

February 24, 2005, 01:47 AM

Well done!

I'm defenately looking forward to take a look at your new mesh kernel. I found the restriction to manifold meshes the main drawback of OpenMesh. Otherwise, I find OpenMesh to be pretty powerful and nicely designed.

I was actually thinking about writing a small program like that once too, but I never found time. Me (and my algorithms) were mainly bothered by triangle meshes with self intersections, usually just one single tip-triangle that got flipped, producing vertex normals pointing inside, for example in the stanford horse model.

Anyways, looking forward to try your program.

Christian

 
Rui Martins

February 24, 2005, 04:50 AM

Did you deform a perfectly good model, or did the initial model already have holes and other mesh problems ?

The question is relevant in the sense that if you setup your own test mesh, you may not find cases that you never though about, since you will never reproduce them.

On a side note, how many different meshes did you try the algo on?

Nice work overall, but I think that the corrected mesh, should also be drawn shiny, for us to be able to compare the result, since it's a lot easier to spot errors, specially in normals, when the mesh is shiny.

It seems that your method smooths somewhat the resulting mesh (Look at the lower part of legs), but this can be a consequence/illusion of the non shinny render.

 
grog

February 24, 2005, 06:54 AM

Rui Martins wrote: Did you deform a perfectly good model, or did the initial model already have holes and other mesh problems ?


The algorithm has been tested/is used on real world data only, since it's meant as a postprocessing step for reverse engineering point clouds. The algorithms tested against include algorithms reconstructing surfaces from coplanar slices and unorganized pointclouds.

Regarding this there are, of course limitations:
+ the algoritm can not process handmade meshes (CAD) very well
+ it is bound to the sampling theorem.

The question is relevant in the sense that if you setup your own test mesh, you may not find cases that you never though about, since you will never reproduce them.


I definitely agree.

On a side note, how many different meshes did you try the algo on?


It was successfully tested on approximatly 30 meshes reconstructed from coplanar slices (ranging from a few hundred to four hundred thousand vertices) and 20 meshes reconstructed from unorganized pointclouds (few thousand to millions of vertices). All meshes contained several defects in geometry and topology, due to undersampling or limitations of the reconstruction algorithms.

Nice work overall, but I think that the corrected mesh, should also be drawn shiny, for us to be able to compare the result, since it's a lot easier to spot errors, specially in normals, when the mesh is shiny. It seems that your method smooths somewhat the resulting mesh (Look at the lower part of legs), but this can be a consequence/illusion of the non shinny render.


You're right, i should have rendered both meshes shiny. When i have some spare time i'll put some pictures/meshes on my website.
The algorithm in its current stage does not smooth the mesh, but i'm looking forward to implement a smoothing method proposed in http://kucg.korea.ac.kr/~sjkim/paper/oslo.pdf .
But the vertex-coordinates will not be modified during the repair process.

Greets

 
amh

February 24, 2005, 07:38 AM

Very well done... but your method does not seem to fix the act your model still has a gigantic hook through his back.

 
Eric Martel

February 24, 2005, 08:03 AM

Well done

Good luck with your thesis

amh... I think it's a scan of a Maul (a Wildcats character) action figure(http://www.geocities.com/djmoartwork/maul.jpg)

 
This thread contains 5 messages.
 
 
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.