jchibane / if-net

Implicit Feature Network (IF-Net) - Codebase
305 stars 59 forks source link

Test own pointcloud for SVR #11

Closed wangsen1312 closed 3 years ago

wangsen1312 commented 3 years ago

Thank you for you codebase. Do you have any simple example from own pointcloud to human shape using your SVR?

jchibane commented 3 years ago

Hi @wangsen1312 ,

you're welcome! I attached an example input/output for you - is that what you are looking for? If not let me know some more details.

Best, Julian

example.zip

wangsen1312 commented 3 years ago

@jchibane Thank you for your reply. One more things, how to convert own 3d pointcloud to the required .off file?

jchibane commented 3 years ago

Hi,

the .off file is for visualization only and is not essential for the algorithm.

To save points as .off for visualization you can do something along the lines of:

import trimesh import numpy as np

points = np.random.randn(10,3) mesh = trimesh.Trimesh(vertices = points,faces = []) mesh.export('yourfile.off')

wangsen1312 commented 3 years ago

@jchibane Thank you for your reply. Do you have formal procedure from .off to .npz using your data_preprocessing?

jchibane commented 3 years ago

Hi,

in the code I use .npz for reading and writing data for the alogithm only. Therefore, there is no need for converting from .off to .npz in my code. There is no code for this in the repo.

However you can do something along the lines of the following:

import numpy as np import trimesh

mesh = trimesh.load(path_to_your_off) np.savez(path_where_to_store_npz, vertices = mesh.vertices)

For the other way round see my above suggestion.

Best, Julian

wangsen1312 commented 3 years ago

@jchibane Thank you for your detailed explanation. Since I want to use my own 3d point clouds, any procedure to convert my own 3d point clouds to your voxelized point clouds?

jchibane commented 3 years ago

Hi,

sure, just reuse the code in https://github.com/jchibane/if-net/blob/master/data_processing/voxelized_pointcloud_sampling.py#L26 and following. Replace 'point_cloud' with your point cloud and the rest can stick the same.

Best, Julian