Closed zzj403 closed 2 years ago
This is a legacy issue. As indicated by the flag self.legacy
, if it is set to True, we will take this version for implementation (the original release of PointPillars). In contrast, we will use the correct implementation when it is set to False. This problem is also fixed in the mentioned repo, but it can not bring any performance gain (even affect it), so we just keep it for reference.
This is a legacy issue. As indicated by the flag
self.legacy
, if it is set to True, we will take this version for implementation (the original release of PointPillars). In contrast, we will use the correct implementation when it is set to False. This problem is also fixed in the mentioned repo, but it can not bring any performance gain (even affect it), so we just keep it for reference.
Thanks, I understand this now. Does this mean that the first 2 columns of features (absolute x and y) are not useful in Pointpillars (even affect it)? This sounds wired.
Maybe. In my view, these features are not much important in voxel-based approaches for 3D object detection in large-scale scenes. What matters much more is the distribution of voxels (with non-empty features). Maybe these 2-dim noisy features can be compensated by other features.
Describe the issue
The feature extracted here
f_center = features[:, :, :2]
without.clone()
will cause the first 2 columns in originalfeatures
be replaced byf_center
in the subsequent processing. This violates the original paper's meaning(refer to https://openaccess.thecvf.com/content_CVPR_2019/papers/Lang_PointPillars_Fast_Encoders_for_Object_Detection_From_Point_Clouds_CVPR_2019_paper.pdf). in https://github.com/open-mmlab/mmdetection3d/blob/dfcdef394086fee3a0a2a5490ed465ec13ec6cec/mmdet3d/models/voxel_encoders/pillar_encoder.py#L125-L128However, if I fix this bug by replace this line with
f_center = features[:, :, :2].clone()
, the predictions go wrong. If I leave this BUG, the predictions are good.Checklist
Reproduction
When does this issue happen? Any times you use PointPillars, this will happen. For example, when I demo PointPillars.
What config dir you run? The config is :
And the checkpoint is:
Did you make any modifications on the code or config? Did you understand what you have modified? Yeah. I added
.clone()
, and the prediction messed up. Yes, I understood.Environment