Megvii-BaseDetection / BEVStereo

Official code for BEVStereo
MIT License
260 stars 14 forks source link

NMS not working! #7

Closed YoushaaMurhij closed 2 years ago

YoushaaMurhij commented 2 years ago

Thanks for publishing your code. I have a question about the post-processing part here. It seems that nms is not working. choosing circle or rotate nms would give around 498 3D boxes. Is it a bug or am I missing something? I also noticed that the model scores are quite high ~0.5.

Thanks, Youshaa

yinchimaoliang commented 2 years ago

Hi! Have you set the right hyper parameter like https://github.com/Megvii-BaseDetection/BEVStereo/blob/master/exps/bev_stereo_lss_r50_256x704_128x128_24e_2key.py#L183 ? And if you get the detection score right, it should be right.

YoushaaMurhij commented 2 years ago

I using the same thresholds. But, still getting ~500 boxes.

YoushaaMurhij commented 2 years ago

Hi @yinchimaoliang, I am using these parameters:

test_cfg = dict(
    post_center_limit_range=[-61.2, -61.2, -10.0, 61.2, 61.2, 10.0],
    max_pool_nms=False,
    thresh_scale=[0.7, 0.9, 0.8, 0.8, 0.8, 0.9],
    score_threshold=0.7,
    out_size_factor=4,
    voxel_size=[0.2, 0.2, 8],
    nms_type='circle',
    pre_max_size=1000,
    post_max_size=30,
)

post_max_size was set to 83 which leads to get (83 * num_tasks) boxes = 498. even after reducing the number, I am getting 30 * 6 random boxes during inference. I am using this config Could you please guide me to get normal results ?

yinchimaoliang commented 2 years ago

Hi! @YoushaaMurhij If you use the ckpt I provided and inference it without changing the exp, can you get the right result?

YoushaaMurhij commented 2 years ago

Thanks for your reply! I figured out what the problem was. Pytorch lighting was not loading the exp weights and instead the pretrained ones are loaded. I loaded the weight using Pytorch and got reasonable results. Can you please tell me in which coordinates system the results are predicted?

Thanks

yinchimaoliang commented 2 years ago

Hi! In our model, only ego coordinate system is used, when applying evaluation, the results are transformed to global coordinate system.

YoushaaMurhij commented 2 years ago

I got it. Thanks for your response. Closing this issue!