Giter Club home page Giter Club logo

Comments (15)

pengsongyou avatar pengsongyou commented on May 31, 2024 2

Did you sample the 100,000 points from the volume and store them in the points.npz file ? If so, how did you get the occupancy values for those 100,000 points?
Also can you give a description of the files in the dataset? I was able to reproduce your results for the dataset you mentioned but could you give a brief description of the files mainly (pointcloud.npz and points.npz) to make sure my custom data looks like yours?

Hi @SrinjaySarkar

pointcloud.npz contains the points sampled from surfaces. You should have ['points', 'normals'] as keys in pointcloud.npz, which are the 3D position and surface normals of the sampled points.
points.npz contains occupancy information of the uniformly sampled points in the space. You should have ['points', 'occupancies'] as keys, which are the 3D positions and occupancy.

Hope this helps.

from convolutional_occupancy_networks.

raphaelsulzer avatar raphaelsulzer commented on May 31, 2024 1

Hi,

I used the sample_mesh.py script from the ONet implementation here to get the pointcloud.npz and points.npz files. They therefore should have the exact same content as similar files from the ShapeNet dataset. However, I still cannot get rid of the error I mentioned in my last post.

Did you manage to run the code on your own dataset?

from convolutional_occupancy_networks.

pengsongyou avatar pengsongyou commented on May 31, 2024

Hi,

I think you should have the following line in your config file.

inherit_from: configs/pointcloud/shapenet_3plane.yaml

Check out my config file for the pre_trained model.

from convolutional_occupancy_networks.

raphaelsulzer avatar raphaelsulzer commented on May 31, 2024

Thanks for the quick reply.

I managed to get a working config file.

Now I have a problem with the test_loader. It loaded my single points.npz file to test_loader.dataset.models.
However, I can not iterate over the test_loader, i.e. in for it, data in enumerate(tqdm(test_loader)): I get the following error:

Traceback (most recent call last):
File "/home/raphael/miniconda3/envs/conv_onet/lib/python3.6/site-packages/tqdm/std.py", line 1165, in iter
for obj in iterable:
File "/home/raphael/miniconda3/envs/conv_onet/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 363, in next
data = self._next_data()
File "/home/raphael/miniconda3/envs/conv_onet/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 403, in _next_data
data = self._dataset_fetcher.fetch(index) # may raise StopIteration
File "/home/raphael/miniconda3/envs/conv_onet/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 47, in fetch
return self.collate_fn(data)
File "/home/raphael/miniconda3/envs/conv_onet/lib/python3.6/site-packages/torch/utils/data/_utils/collate.py", line 86, in default_collate
raise TypeError(default_collate_err_msg_format.format(elem_type))
TypeError: default_collate: batch must contain tensors, numpy arrays, numbers, dicts or lists; found <class 'NoneType'>
python-BaseException

Besides that I also get the following warning in my output:

Error occured when loading field points of model points.npz

What are the field points?

Is there really no easier way of generating a mesh from a custom point cloud with the provided code?

from convolutional_occupancy_networks.

pengsongyou avatar pengsongyou commented on May 31, 2024

Hi,

I am not sure about this issue. What I suggest is, you can first try to run the demo, use pdb to check how the whole thing works. Also, you can check what is inside those points.npy files, which should give you some ideas of how you should make your data look like.

from convolutional_occupancy_networks.

SrinjaySarkar avatar SrinjaySarkar commented on May 31, 2024

Did you sample the 100,000 points from the volume and store them in the points.npz file ? If so, how did you get the occupancy values for those 100,000 points?
Also can you give a description of the files in the dataset? I was able to reproduce your results for the dataset you mentioned but could you give a brief description of the files mainly (pointcloud.npz and points.npz) to make sure my custom data looks like yours?

from convolutional_occupancy_networks.

pengsongyou avatar pengsongyou commented on May 31, 2024

Can you send me your config file and if possible, send me an email your sampled point files. I can try it.

from convolutional_occupancy_networks.

csyhping avatar csyhping commented on May 31, 2024

Did you sample the 100,000 points from the volume and store them in the points.npz file ? If so, how did you get the occupancy values for those 100,000 points?
Also can you give a description of the files in the dataset? I was able to reproduce your results for the dataset you mentioned but could you give a brief description of the files mainly (pointcloud.npz and points.npz) to make sure my custom data looks like yours?

Hi @SrinjaySarkar

pointcloud.npz contains the points sampled from surfaces. You should have ['points', 'normals'] as keys in pointcloud.npz, which are the 3D position and surface normals of the sampled points.
points.npz contains occupancy information of the uniformly sampled points in the space. You should have ['points', 'occupancies'] as keys, which are the 3D positions and occupancy.

Hope this helps.

Hi @pengsongyou , may I ask, is these two .npz exactly what we need to train the Occupancy Network and Convolution Occupancy Net?

from convolutional_occupancy_networks.

csyhping avatar csyhping commented on May 31, 2024

Hi,

I used the sample_mesh.py script from the ONet implementation here to get the pointcloud.npz and points.npz files. They therefore should have the exact same content as similar files from the ShapeNet dataset. However, I still cannot get rid of the error I mentioned in my last post.

Did you manage to run the code on your own dataset?

Hi @raphaelsulzer , have you solve the problem? Could you please provide the config file and an example of own dataset for reference? Thanks!

from convolutional_occupancy_networks.

pengsongyou avatar pengsongyou commented on May 31, 2024

Did you sample the 100,000 points from the volume and store them in the points.npz file ? If so, how did you get the occupancy values for those 100,000 points?
Also can you give a description of the files in the dataset? I was able to reproduce your results for the dataset you mentioned but could you give a brief description of the files mainly (pointcloud.npz and points.npz) to make sure my custom data looks like yours?

Hi @SrinjaySarkar
pointcloud.npz contains the points sampled from surfaces. You should have ['points', 'normals'] as keys in pointcloud.npz, which are the 3D position and surface normals of the sampled points.
points.npz contains occupancy information of the uniformly sampled points in the space. You should have ['points', 'occupancies'] as keys, which are the 3D positions and occupancy.
Hope this helps.

Hi @pengsongyou , may I ask, is these two .npz exactly what we need to train the Occupancy Network and Convolution Occupancy Net?

Hi,

Yes, to train the network, we always require to have the ground truth occupancy in the PointField, and the input point cloud in the PointCloudField. Therefore, we need two .npz.

from convolutional_occupancy_networks.

csyhping avatar csyhping commented on May 31, 2024

Did you sample the 100,000 points from the volume and store them in the points.npz file ? If so, how did you get the occupancy values for those 100,000 points?
Also can you give a description of the files in the dataset? I was able to reproduce your results for the dataset you mentioned but could you give a brief description of the files mainly (pointcloud.npz and points.npz) to make sure my custom data looks like yours?

Hi @SrinjaySarkar
pointcloud.npz contains the points sampled from surfaces. You should have ['points', 'normals'] as keys in pointcloud.npz, which are the 3D position and surface normals of the sampled points.
points.npz contains occupancy information of the uniformly sampled points in the space. You should have ['points', 'occupancies'] as keys, which are the 3D positions and occupancy.
Hope this helps.

Hi @pengsongyou , may I ask, is these two .npz exactly what we need to train the Occupancy Network and Convolution Occupancy Net?

Hi,

Yes, to train the network, we always require to have the ground truth occupancy in the PointField, and the input point cloud in the PointCloudField. Therefore, we need two .npz.

Hi @pengsongyou , thanks for your quick reply! Could you please provide one example of these two .npz files for reference? And may i use the sample_mesh.py script from OccNet to generate these two .npz? If not, how can I create these .npz files on my own data?

from convolutional_occupancy_networks.

pengsongyou avatar pengsongyou commented on May 31, 2024

Did you sample the 100,000 points from the volume and store them in the points.npz file ? If so, how did you get the occupancy values for those 100,000 points?
Also can you give a description of the files in the dataset? I was able to reproduce your results for the dataset you mentioned but could you give a brief description of the files mainly (pointcloud.npz and points.npz) to make sure my custom data looks like yours?

Hi @SrinjaySarkar
pointcloud.npz contains the points sampled from surfaces. You should have ['points', 'normals'] as keys in pointcloud.npz, which are the 3D position and surface normals of the sampled points.
points.npz contains occupancy information of the uniformly sampled points in the space. You should have ['points', 'occupancies'] as keys, which are the 3D positions and occupancy.
Hope this helps.

Hi @pengsongyou , may I ask, is these two .npz exactly what we need to train the Occupancy Network and Convolution Occupancy Net?

Hi,
Yes, to train the network, we always require to have the ground truth occupancy in the PointField, and the input point cloud in the PointCloudField. Therefore, we need two .npz.

Hi @pengsongyou , thanks for your quick reply! Could you please provide one example of these two .npz files for reference? And may i use the sample_mesh.py script from OccNet to generate these two .npz? If not, how can I create these .npz files on my own data?

Yes, you can use sample_mesh.py to generate .npz files. To get an example, just download the ShapeNet / Synthetic Room dataset that I provided in the README.md.

from convolutional_occupancy_networks.

csyhping avatar csyhping commented on May 31, 2024

Did you sample the 100,000 points from the volume and store them in the points.npz file ? If so, how did you get the occupancy values for those 100,000 points?
Also can you give a description of the files in the dataset? I was able to reproduce your results for the dataset you mentioned but could you give a brief description of the files mainly (pointcloud.npz and points.npz) to make sure my custom data looks like yours?

Hi @SrinjaySarkar
pointcloud.npz contains the points sampled from surfaces. You should have ['points', 'normals'] as keys in pointcloud.npz, which are the 3D position and surface normals of the sampled points.
points.npz contains occupancy information of the uniformly sampled points in the space. You should have ['points', 'occupancies'] as keys, which are the 3D positions and occupancy.
Hope this helps.

Hi @pengsongyou , may I ask, is these two .npz exactly what we need to train the Occupancy Network and Convolution Occupancy Net?

Hi,
Yes, to train the network, we always require to have the ground truth occupancy in the PointField, and the input point cloud in the PointCloudField. Therefore, we need two .npz.

Hi @pengsongyou , thanks for your quick reply! Could you please provide one example of these two .npz files for reference? And may i use the sample_mesh.py script from OccNet to generate these two .npz? If not, how can I create these .npz files on my own data?

Yes, you can use sample_mesh.py to generate .npz files. To get an example, just download the ShapeNet / Synthetic Room dataset that I provided in the README.md.

Hi @pengsongyou , I used the sample_mesh.py and got the npz files. Here is the capture of points.npz and pointcloud.npz, could you please take a look if my files are correct? Thanks!

points.npz
image

pointclouds.npz
Uploading image.png…

from convolutional_occupancy_networks.

csyhping avatar csyhping commented on May 31, 2024

Did you sample the 100,000 points from the volume and store them in the points.npz file ? If so, how did you get the occupancy values for those 100,000 points?
Also can you give a description of the files in the dataset? I was able to reproduce your results for the dataset you mentioned but could you give a brief description of the files mainly (pointcloud.npz and points.npz) to make sure my custom data looks like yours?

Hi @SrinjaySarkar
pointcloud.npz contains the points sampled from surfaces. You should have ['points', 'normals'] as keys in pointcloud.npz, which are the 3D position and surface normals of the sampled points.
points.npz contains occupancy information of the uniformly sampled points in the space. You should have ['points', 'occupancies'] as keys, which are the 3D positions and occupancy.
Hope this helps.

Hi @pengsongyou , may I ask, is these two .npz exactly what we need to train the Occupancy Network and Convolution Occupancy Net?

Hi,

Yes, to train the network, we always require to have the ground truth occupancy in the PointField, and the input point cloud in the PointCloudField. Therefore, we need two .npz.

Hi @pengsongyou ,and is there a config.yaml for reference to train with pointcloud? Should I follow files like configs/pointcloud/shapenet_3plane.yaml? Besides, I notice there are shapenet_3plane and shapenet_3plane_partial, may I ask the difference with/without partial?

from convolutional_occupancy_networks.

pengsongyou avatar pengsongyou commented on May 31, 2024

Did you sample the 100,000 points from the volume and store them in the points.npz file ? If so, how did you get the occupancy values for those 100,000 points?
Also can you give a description of the files in the dataset? I was able to reproduce your results for the dataset you mentioned but could you give a brief description of the files mainly (pointcloud.npz and points.npz) to make sure my custom data looks like yours?

Hi @SrinjaySarkar
pointcloud.npz contains the points sampled from surfaces. You should have ['points', 'normals'] as keys in pointcloud.npz, which are the 3D position and surface normals of the sampled points.
points.npz contains occupancy information of the uniformly sampled points in the space. You should have ['points', 'occupancies'] as keys, which are the 3D positions and occupancy.
Hope this helps.

Hi @pengsongyou , may I ask, is these two .npz exactly what we need to train the Occupancy Network and Convolution Occupancy Net?

Hi,
Yes, to train the network, we always require to have the ground truth occupancy in the PointField, and the input point cloud in the PointCloudField. Therefore, we need two .npz.

Hi @pengsongyou ,and is there a config.yaml for reference to train with pointcloud? Should I follow files like configs/pointcloud/shapenet_3plane.yaml? Besides, I notice there are shapenet_3plane and shapenet_3plane_partial, may I ask the difference with/without partial?

Please follow the instruction in Readme to run the code yourself, and use pdb or print to understand the code and yaml file. As for the shapenet_3plane_partial, it corresponds to the 3D reconstruction from partial point cloud experiment mentioned in the supplementary material.

from convolutional_occupancy_networks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.