LMD0311 / PointMamba

PointMamba: A Simple State Space Model for Point Cloud Analysis
https://arxiv.org/abs/2402.10739
Apache License 2.0
301 stars 20 forks source link

Serialization / Hilbert ordering. #18

Open karannb opened 2 weeks ago

karannb commented 2 weeks ago

Hello does the current code-base have code for imposing a specific order and then serializing it? If no, will you be uploading it? If yes, I can't find it; in fact I think

choice = np.random.choice(len(seg), self.npoints, replace=True)
# resample
point_set = point_set[choice, :]
seg = seg[choice]

at line 155 in ./part_segmentation/dataset.py effectively randomizes the order of the points (which I guess might work, but is not what the paper reports).

Thank you!

LMD0311 commented 2 weeks ago

Thank you for your interest in our work! We have recently updated the paper introducing a scanning strategy based on space-filling curves and made minor adjustments to the network architecture to improve performance. The related code will be updated soon, so stay tuned.

Regarding the code you mentioned, in fact the random ordering of each point in the point cloud is a routine operation, this is because the point cloud is permutation invariant, i.e. the order of swapping still represents the same 3D object. On the other hand, we scan FPS-sampled key points along a space-filling curve, which differs from the random ordering.

karannb commented 2 weeks ago

Sure! can you please close this issue with the release I guess? So I know when to pull the changes. Thanks.