chaytonmin / Occupancy-MAE

Official implementation of our TIV'23 paper: Occupancy-MAE: Self-supervised Pre-training Large-scale LiDAR Point Clouds with Masked Occupancy Autoencoders
Apache License 2.0
251 stars 18 forks source link

The reproduced results on the nuScenes dataset #22

Closed Korace0v0 closed 1 year ago

Korace0v0 commented 1 year ago

Hi, I seem to find two other mistakes in this repo. Is this repo an very early version of this work? I will list them below.

  1. random.shuffle() will cause error when used in tensor.
  2. shuffle_id_list_select_50[:int((select_ratio+0.2)*len(shuffle_id_list_select_50))] seems not to follow the strategy mentioned in paper.

And I tested the result in nuscenes. It seems that the positive predictions become worse than the random initialization as the training epoch increases. I used the voxel-mae instead of voxel-mae-res in nuscenes because voxel-mae was released recently. Did I make a mistake this way? And I don't find the cfg file, voxel_mae_nuscenes.yaml. Therefore I used voxel_mae_res_nuscenes.yaml as the cfg file while changing the backbone3d to Voxel_MAE.

I was wondering if there was some cfg changing to help the net make better prediction for voxel occupation. Can you tell me the accuracy of the positive prediction or can you offer me the new cfg_file for nuscenes?

Thanks for your help again.

FrontierBreaker commented 1 year ago

same question, +1

chaytonmin commented 1 year ago

voxel_mae_res_nuscenes.yaml

We use voxel_mae_res_nuscenes.yaml to pre-train on nuScenes. random.shuffle() is just used to generate the random index. shuffle_id_list_select_50[:int((select_ratio+0.2)*len(shuffle_id_list_select_50))] masking ratio will increase 0.2 with decreasing distance.

chaytonmin commented 1 year ago

same question, +1

As is stated in paper, the performance of Voxel-MAE on nuScenes is not very good. Because LiDAR in nuScenes is sparse (32 beams).

Korace0v0 commented 1 year ago

Thanks for your reply!

About random.shuffle(), it will not cause error when used for producing the random index, but the shuffled index result is incorrect. You can have a look at this site : https://blog.csdn.net/answer3664/article/details/106613927

About the ratio , if the mask ratio is 0.5, will the ratio list be [0.5, 0.7 0.7] according to the program ?

chaytonmin commented 1 year ago

Thanks for your reply!

About random.shuffle(), it will not cause error when used for producing the random index, but the shuffled index result is incorrect. You can have a look at this site : https://blog.csdn.net/answer3664/article/details/106613927

About the ratio , if the mask ratio is 0.5, will the ratio list be [0.5, 0.7 0.7] according to the program ?

Thanks for pointing out the error by random.shuffle.

You can change the code to set any masking ratios.

Korace0v0 commented 1 year ago

Thank you very much!