facebookresearch / 3detr

Code & Models for 3DETR - an End-to-end transformer model for 3D object detection
Apache License 2.0
618 stars 76 forks source link

Question about abnormal gIOU Loss #51

Open LUJUNYIhhh opened 1 year ago

LUJUNYIhhh commented 1 year ago

Hi, i am troubled for the problem of gIOU loss remaining high during training on my own dataset for days. I found it is calculated between outputs["box_corners"] and gt box corners. So I visualized my gt bbox and corner to see whether it is correct. In my visualizion I see the gt center and size is correct, but the corners are not aligned with the 3D bbox. Then I found all the box corners are calculated by function box_parametrization_to_corners or box_parametrization_to_corners_np. However, if I chose the corners calculated by function my_compute_box_3d(), the corners are aligned well. So I guess it is owing to function box_parametrization_to_corners or box_parametrization_to_corners_np. In these two function, the inputs are box center, size and angle. I see the code first rotate the coordinate to image axis, but doesn't return to initial world coordinate. Does this matter in the calculation of gIOU? Because both GT and prediction corners are calculated by these two function. if it isn't the reason, could you help me with the problem why the gIOU loss remains high during training while other classification loss decreases during training? Thanks a lot! gIOU calculation image box corners calculation image gIOU loss remains high while classification loss decreases image