ErlerPhilipp / points2surf

Learning Implicit Surfaces from Point Clouds (ECCV 2020)
https://www.cg.tuwien.ac.at/research/publications/2020/erler-2020-p2s/
MIT License
441 stars 45 forks source link

training and testing on my dataset #34

Open deleydel opened 1 month ago

deleydel commented 1 month ago

Hi, thanks for the great work. I have worked with your code but I got very poor reconstruction results on my own dataset. I just wanted to confirm I did the process right. First of all I created my own dataset with make_dataset.py. Then, I trained on my dataset using train_p2s_max, and used eval_p2s_dataset and got the results. Is it correct? if yes, do you have any suggestion to improve the results? my dataset contains different CAD models of a same object, with different sizes and dimensions. Also, I have another question. While making the dataset, I got error that my meshes are not watertight, while they are. any comment on this?

Thanks!

ErlerPhilipp commented 1 month ago

Hi @deleydel ! The process sounds right, although I haven't touched this code in a while. You can use the same dataset with our new work PPSurf , which will give you much better results.

my dataset contains different CAD models of a same object, with different sizes and dimensions.

This sounds like a very small dataset. Also different CAD models won't help much. You'll need a nice variety of objects, unless you really only need to reconstruct this specific object. "different sizes and dimensions" won't help much, since they will be normalized (scaled to unit cube) anyway.

Also, I have another question. While making the dataset, I got error that my meshes are not watertight, while they are. any comment on this?

This is a watertightness check of the Trimesh library. So far, it was very reliable. You could open the meshes in Meshlab and see if it can select boundary vertices. If it can, it means very likely that your CAD->Mesh export is broken.

Let me know if you need more help.

deleydel commented 4 weeks ago

Thank you so for your response and the suggestion of your new work! I'll definitely start working with it I just have one more issue regarding making the dataset, so that I can also work with PPSurf. As I said, while making a dataset of my meshes, it gives me error that they are not watertight (while they are). I tried to run the same code make_dataset.py on your ABC dataset meshes to get the point clouds and sdfs, but I get an error that the meshes have too many faces, and I cannot make the dataset.

ErlerPhilipp commented 3 weeks ago

Please see my answer in issue #23 about the num_max_faces parameter for some context.

Do I understand right that you get the "too many faces"-message for my own ABC meshes? That's strange. I don't remember having this problem back then. Maybe, I had different settings or implemented the face check later. In any case, you should be fine setting num_max_faces=None but you might have some long processing times.