MeshNet icon indicating copy to clipboard operation
MeshNet copied to clipboard

simplifying the mesh data to 1024

Open tranduytrung opened this issue 5 years ago • 6 comments

Could you please tell me which method you used for simplifying the mesh data to exact 1024 faces? I cannot find a tool or library to reduce the number of face to exact number like this.

tranduytrung avatar Apr 15 '19 15:04 tranduytrung

Currently, we use a modified version of Fast-Quadric-Mesh-Simplification to do this work. But the results is not satisfying. Except the bad cases you mentioned in #3 , there are also some holes and isolated edges in the result models. Recently, we tried the method in Manifold to fix bad cases, but it is a re-construction method and the number of elements can not be restricted. So if you find a better way to do this work, please let us know to update the dataset, thanks :)

thss15fyt avatar Apr 16 '19 07:04 thss15fyt

Could you please tell me which method you used for simplifying the mesh data to exact 1024 faces? I cannot find a tool or library to reduce the number of face to exact number like this.

do you try using a mlp to extact mesh ?

JsBlueCat avatar Aug 17 '19 04:08 JsBlueCat

@thss15fyt:

Currently, we use a modified version of Fast-Quadric-Mesh-Simplification to do this work.

I tried implementing two obvious/straightforward modifications on top of Fast-Quadric-Mesh-Simplification:

  • using absolute number of output faces rather than a fraction of original faces count
  • support of reading .off files

but I can't match your conversion result present in the reorganized ModelNet40 dataset linked from your project readme. Specifically, the simplification algorithm seems to break some objects from ModelNet40 with non-uniform triangle density, e.g. in chair_0451 the overall chair shape disappears, keeping only the seat and its nearby parts connecting it to (now non-existent) legs, so that it looks more like a table... When "simplifying less" (targeting more faces/triangles than 1024, e.g. about 7000), the backrest is preserved but legs are partially missing. It appears the importance of faces (or the error introduced by potential edge contraction) is computed differently in your ".off –> .npy" conversion code as the same model in your reorganized ModelNet40 dataset dataset seems to preserve the overall shape of the chair even with just 1024 faces.

Could you please provide more details about how you modified it further, or provide the modified code you used to convert/reorganize the dataset?

martinmCGG avatar Sep 24 '20 14:09 martinmCGG

@martinmCGG We now recommend you to use the toolbox from MeshLab and here is an example that simplifies a model with 3180 faces to 1024 faces, using the implemented "Simplification: Quadric Edges Collapse". And a python API library (https://github.com/3DLIRIOUS/MeshLabXML) might be used for batch preprocessing.

image image

thss15fyt avatar Sep 25 '20 07:09 thss15fyt

Use PyMeshlab's 'simplification_quadric_edge_collapse_decimation', with this I can replicate the recall numbers in the paper. Hope it's not too late.

ss892714028 avatar Nov 04 '21 10:11 ss892714028

We have updated a version based on the better simplifed Manifold40 (watertight mesh with 500 faces of ModelNet40), which helps us to achieve better performance. I will leave this issue open for further discussion of mesh simplification.

thss15fyt avatar Dec 21 '21 11:12 thss15fyt