Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

simplifying the mesh data to 1024 #6

Open
tranduytrung opened this issue Apr 15, 2019 · 6 comments
Open

simplifying the mesh data to 1024 #6

tranduytrung opened this issue Apr 15, 2019 · 6 comments
Labels
enhancement New feature or request

Comments

@tranduytrung
Copy link

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.

@thss15fyt
Copy link
Member

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 thss15fyt added the help wanted Extra attention is needed label Apr 16, 2019
@JsBlueCat
Copy link

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 ?

@martinmCGG
Copy link

martinmCGG commented Sep 24, 2020

@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?

@thss15fyt
Copy link
Member

@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

@ss892714028
Copy link

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.

@thss15fyt
Copy link
Member

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 thss15fyt added enhancement New feature or request and removed help wanted Extra attention is needed labels Dec 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants