Closed wxde closed 1 year ago
Hi, the explanation here (https://github.com/Pointcept/Pointcept#testing) might be helpful.
Thank you for your reply. the explanation is helpful.
Hi @Gofinge, In the prediction stage, a certain point is repeatedly predicted, so the final prediction result is the last prediction of the modified point. If voting on the repeated prediction result is more accurate?
In Pointcept, we also adopt TTA, resulting in voting point prediction with various augmentation. As discussed in https://github.com/Pointcept/Pointcept#testing, my experience is that TTA won't significantly push the upper bound of testing results (although recent papers might claim that TTA boosts the performance), but it can make the testing results more stable and easier to achieve the upper bound (compared with w/o TTA, w/ fragment test).
Thank you for your explanation. '''idx_select = np.cumsum(np.insert(count, 0, 0)[0:-1]) + i % count idx_part = idx_sort[idx_select] data_part = dict(index=idx_part) ''' The code in test of voxelize module, many values in idx_part between part and part are the same. Recently, the point final prediction result is the last prediction of part. Therefore, although TTA is not used during the testing phase, can we still improve the prediction accuracy by voting?
The testing strategy is a common practice in indoor perception, and I did not explore too much about the influence. Maybe you can verify the difference by introducing a mask to prevent voting during the testing strategy.
OK, Thank you very much!
The work is so wonderful, and i am interested. i have a little question to learn from you. 1、If I understand correctly, what I am confused about the input data is the overall sense in training step, while the input data of part sense was used to predict for testing. What is the reason and will this affect performance? 2、Voxelizing the point cloud, what is the difference between train and test mode. why should to set data_part_list?
Looking forward to your reply