HuangJunJie2017 / BEVDet

Code base of the BEVDet series .
Apache License 2.0
1.45k stars 265 forks source link

What's the difference between 'ann_infos' and 'ann_info' ????? #295

Open finninmunich opened 1 year ago

finninmunich commented 1 year ago

This question is driving me crazy. I noticed that we have both 'ann_infos' and 'ann_info' that can be loaded as gt_bbox_3d. I thought that maybe one is under ego coordiantes and the other is under global/camera coordinates. But after I studied the source code of creating/loading data, I think both gt_bbox_3d is located in ego coordinates. So what's the point of creating 'ann_infos'????? Also, I check the dimension of them under same frame, the number of bboxing is different. How can this happened?

finninmunich commented 1 year ago

A more carefully investigation of codes found out that ‘ann_info' is in lidar coordinates --> by the default loading method of mmdet way to load nuScene data. While 'ann_infos' is in ego coordiantes --> the author use nuscene.get to load data in global coordinates and transfer it to ego coordinates by ['ego2global]

HaoZhang16613 commented 1 year ago

@finninmunich For the 2.0 branch, in my understanding, the gt box is converted to the ego coordinate system, and w,l are swapped in order. I used to think that the center of gt box was changed from (0.5,0.5,0.5) to (0.5,0.5,0) during training. Now I find that the convert_to in get_ann_info seems to have no effect, and the center of gt box is still (0.5,0.5,0.5). Therefore, the predicted box is defined in the ego coordinate system with the center point (0.5,0.5,0.5)??

Another strange problem is that when testing, the center of the predicted box is changed to (0.5,0.5,0) in get_bbox??

I wonder if my understanding is correct, if so, then the center of the pred box does not match the center of the gt box? Is that right?

ZitengXue commented 4 months ago

Hi, I'm also bother with this issue. Is there any way to use the default loading method instead of the author's?