You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to understand your grp_range_torch(random sampling at ptbev.py) through the toy example. But I couldn't understand what process it was. Can you explain it on this toy example? Or is there an equation in which this is implemented?
Thanks
The text was updated successfully, but these errors were encountered:
Sorry for the late reply!
Before jumping into the details, the idea of grp_range_torch is to generate range indices for points within each grid using vectorized operation. So that we can sample points within each grid/ pillar and make sure each grid has no more than self.max_pt points later easily.
This is equal to using a for loop to loop thru all points and only pick n points within each grid but more efficiently.
Going back to your case, you have grp_ind output grp_ind
and the output of the unique function unq_inv, which is basically the grid index of each point.
As you can see, unq_inv[1], unq_inv[5], and unq_inv[12] are all 5. This means these 3 points belong to the same grid (grid index 5). Thus grp_ind[0], grp_ind[5] and grp_ind[12] are 1, 2,3, meaning these 3 points are the 1st, 2nd, and 3rd points in the same cell.
Later on, you can use a[grp_ind < 2] to subsample 2 points from each grid.
Hi author, thanks you for your great work:)
I am trying to understand your grp_range_torch(random sampling at ptbev.py) through the toy example. But I couldn't understand what process it was. Can you explain it on this toy example? Or is there an equation in which this is implemented?
Thanks
The text was updated successfully, but these errors were encountered: