NVlabs / FB-BEV

Official PyTorch implementation of FB-BEV & FB-OCC - Forward-backward view transformation for vision-centric autonomous driving perception
Other
640 stars 45 forks source link

Why we need to rot90 and flip the occupancy ground truth in LoadOccupancy? #18

Open zhanghm1995 opened 1 year ago

zhanghm1995 commented 1 year ago

Hi, I want to why we need to apply the below transformations in LoadOccupancy function?

# to BEVDet format
occupancy = occupancy.permute(2, 0, 1)  # to (16, 200, 200)
occupancy = torch.rot90(occupancy, 1, [1, 2])
occupancy = torch.flip(occupancy, [1])
occupancy = occupancy.permute(1, 2, 0)

Although the comment says they are used to transform the occupancy to BEVDet format, they are not exist in the BEVDet codebase.

Can anybody help to understand the purposes of these operations?

Yzichen commented 1 year ago

@zhanghm1995 I have this same question. Do you know the answer yet?

zhanghm1995 commented 11 months ago

@Yzichen Sorry to reply so late. I still cannot understand these operations very well. It seems the built volume is different from the occupancy ground truth. However, the original BEVDet codebase doesn't need to do these operations, it is so weird.

troylhy1991 commented 11 months ago

I guess it's related to align IMU coordinate with LiDAR coordinate.

gaopeng91 commented 3 months ago

Did you try to visualize the result differences after transform?

dninfa commented 2 months ago

Did anyone figure this out?