PoinTr icon indicating copy to clipboard operation
PoinTr copied to clipboard

Change the number of points in the test output

Open zura-false opened this issue 3 years ago • 4 comments

Hi, When I test with my own dataset, I want to change the point cloud points of the test output. Where do I need to modify it?

zura-false avatar May 11 '22 02:05 zura-false

Hi, sorry for the late reply. You only need to modify num_pred and num_query in the config. num_pred stands for the number of points you want to produce, and num_query stands for the number of coarse points. And we use a FoldingNet to upsample the coarse point clouds, so it is better to guarantee num_pred/num_query is a square (like 4, 16, 36, 64 ...).

yuxumin avatar May 24 '22 06:05 yuxumin

Hi xumin, I have a follow-up question. If the input pc has 8192 points, and I want to get an output q with 2048 dimensions and coarse_point_cloud with 2048 points. Are there other parameters that need to be changed in PoinTr?

lizhiqihhh avatar Jun 02 '22 10:06 lizhiqihhh

Hi, @lizhiqihhh In the original design, the number of dimension of q is the same as the number of embedding dimension trans_dim of Transformer. But I think it is unpractical to directly to set it to 2048, which brings too much computational cost. A more feasible solution is to add a block for dimension increasing, like an MLP. the number of points in coarse_point_cloud is num_query in the config. Since we will regard each coarse points as an anchor and enrich the local stucture around these points.

yuxumin avatar Jun 02 '22 11:06 yuxumin

Thank you @yuxumin for your reply!

lizhiqihhh avatar Jun 05 '22 10:06 lizhiqihhh