Open MarcoWang1 opened 1 year ago
It is a good idea to implement something like this. We will evaluation current approaches in this area, and implement one of them. Hope to show you something next week.
sharpen flat regions is easy,but also sharpen holes is hard. for example sharpen edges is easy,sharpen holes are hard
I see, thanks. Please send us test data, if you have some. It will help during development.
It is going fine. Here are first results.
Your initial mesh:
Our denoising with keeping of sharp features:
Full denoised mesh: DenoisedTube.obj.zip
We have implemented AT-method from the article: Mesh Denoising via a Novel Mumford-Shah Framework
In the code, it is located in MeshLib\source\MRMesh\MRNormalDenoising.h
. The function is meshDenoiseViaNormals
.
Above result was obtained with the parameters:
beta = 0.001f;
gamma = 10.f;
normalIters = 20;
pointIters = 20;
guideWeight = 0.03f;
For this huge mesh, it takes several minutes to solve big linear systems. So I would recommend to decimate your mesh first.
Thanks. It looks like your mesh does not have any noise, but only discretization artifacts near sharp features. Increasing the number of iterations or other parameters of the proposed method can help, but one hardly can expect 100% quality just by moving vertices (without topology changes: new vertices, other triangulation, etc.) Or there is some other software that can perform better on this input?
Yes,do you know nTop software, when the implicit body convert to mesh, they have the option to keep sharp.I think maybe they just convert implicit to mesh,and then mesh denoising
Thanks for the reference. We will try to evaluate that software, but since it is not freely downloadable, it is hard to promise anything.
For the description, it looks like they have precise implicit representation of the surface (e.g. implicit representation of ball is x*x+y*y+z*z=1
), and may use of it to create the surface with sharp edges. I do not believe that they can import already corrupted mesh (as in your example), and can fix it without having precise implicit representation.
Still the mesh can be made much better. Again, on your example:
Our denoising on maximal settings:
nTop not only have implicit function ,but also implicit body from mesh,it can both keep sharp
Do you have plans to write mesh denoising algorithms that can keep sharp features of flat regions and smooth regions. see the flat regions and the hole in the above image