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

How to control the number of points in the generation of the point cloud .ply object? #21

Open
BelhalK opened this issue Jan 13, 2025 · 4 comments

Comments

@BelhalK
Copy link

BelhalK commented Jan 13, 2025

How to control the number of points in the generation of the point cloud .ply object?

is there an argument in the run.py that I am missing?

Thank you!

@zxhuang1698
Copy link

zxhuang1698 commented Jan 14, 2025

We used a fixed point cloud resolution of 512 in SPAR3D. Changing the resolution too much (moderate change is fine) can potentially make the point cloud generation results worse. However, if you want to make such changes, you can modify the sampler accordingly (e.g. here). On the other hand, if you have existing point clouds that have different resolution, you can also input that to our model and our meshing model has reasonable robustness to resolution changes. In such case, you can remove the point cloud subsampling e.g. here.

@BillRen123
Copy link

We used a fixed point cloud resolution of 512 in SPAR3D. Changing the resolution too much (moderate change is fine) can potentially make the point cloud generation results worse. However, if you want to make such changes, you can modify the sampler accordingly (e.g. here). On the other hand, if you have existing point clouds that have different resolution, you can also input that to our model and our meshing model has reasonable robustness to resolution changes. In such case, you can remove the point cloud subsampling e.g. here.

I commented out the 'subsample to the 512 points' code in gradio_app.py and changed num_points to num_points: int = 1024 in sampler.py, as you suggested, so that my input point cloud file is not subsampled to 512, allowing the generated mesh to have higher quality. However, after making these changes, the point cloud is still being downsampled to 512. Could you please advise on how to resolve this issue? I would greatly appreciate your help.

@zxhuang1698
Copy link

If you are using the gradio demo and are uploading points manually, the subsampling here should also be modified.

@yuedajiong
Copy link

yuedajiong commented Feb 13, 2025

@zxhuang1698

Although the point cloud (512 points) contains some color information and the image encoding is used again in the subsequent Triplane computation, providing some supplementary information for the representation of the shape in Triplane, for objects with more complex shapes, 512 points may not be sufficient. Even if Image-Encoding is relied upon to enhance the generation of the shape, the Transformer before Triplane is not embedded in the long Diffusion process, so its memory and generation capabilities are limited. According to the authors, significantly increasing the number of points to 512 makes it difficult to generate correctly—how can the issue of insufficient representation for complex shapes be solved?

thanks!

PS. Direct3D use Latent but not colored PointCloud.

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

4 participants