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

Simplify from Manifold #8

Open
unlugi opened this issue Oct 18, 2020 · 1 comment
Open

Simplify from Manifold #8

unlugi opened this issue Oct 18, 2020 · 1 comment

Comments

@unlugi
Copy link

unlugi commented Oct 18, 2020

Hi, thank you for the great library!

I would like to ask three questions:

  1. Do you have a simplification feature for ManifoldPlus; I have seen it on the original repo for Manifold?
  2. I am working with ShapeNet.v2. Can you recommend which depth value to use for the 13 categories from ShapeNet?
  3. Should I use Manifold or ManifoldPlus for ShapeNet?

Thanks a lot.

@aluo-x
Copy link

aluo-x commented Jan 27, 2021

Also using ManifoldPlus on shapenet as part of a SDF generation pipeline. Generally I see few artifacts at --depth 9, however there are still problems with complex objects like cars, usually when there are thinly connected parts, ManifoldPlus seems to fill in those regions.

For my purposes, I only need correctly oriented faces and distance is computed using the original mesh, so my tolerance for artifacts is higher.

Here is a snippet to batch process shapenet objects:

from tqdm import tqdm

def fixmesh(paths):
    input_path, output_path = paths
    try:
        completed = subprocess.run(["/home/aluo/Tools2/ManifoldPlus/build/manifold", "--input", input_path, "--output", output_path, "--depth", "9"], timeout=60, check=True, capture_output=True)
    except:
        print("{} failed to run",format(input_path))
        return False
    return True

#our_paths = list(zip(inputs, outputs))
Parallel(n_jobs=4)(delayed(fixmesh)(i) for i in tqdm(our_paths))

Edit: For shapenetv2 specifically, I have also tried outer hull algorithms, but these generally fail by causing thin structures to disappear. Mesh -> Voxel -> Mesh methods generally fail due to the non watertight nature of a lot of the meshes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants