Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于_format_bbox函数中并未将bbox中心点移回中心位置的困惑 #371

Open
kingofstu opened this issue Nov 28, 2024 · 3 comments

Comments

@kingofstu
Copy link

作者您好,在bevdet-dev2.1中,self.pts_bbox_head.get_bboxes函数里,即centerpoint_head.get_bboxes中,将bboxes的中心移到了底面中心,可以理解这是为了送入LiDARInstance3DBoxes类:
for i in range(num_samples):
for k in rets[0][i].keys():
if k == 'bboxes':
bboxes = torch.cat([ret[i][k] for ret in rets])
bboxes[:, 2] = bboxes[:, 2] - bboxes[:, 5] * 0.5 # 移至底面中心
bboxes = img_metas[i]['box_type_3d'](
bboxes, self.bbox_coder.code_size)
但是在dataset.evaluate时,_format_bbox函数中,并没有将bboxes中心点移回重心的位置就送入了NuScenesBox类,这有合理的解释吗?我看’1.0.0rc4‘的mmdetection3d官方的nuscenes_dataset.py中的_format_bbox函数是要移回重心位置的,所以感到疑惑。

@kingofstu kingofstu changed the title 关于_format_bbox函数中并为将bbox中心点移回中心位置的困惑 关于_format_bbox函数中并未将bbox中心点移回中心位置的困惑 Nov 28, 2024
@jbwang1997
Copy link

jbwang1997 commented Dec 10, 2024

我的理解是在 CenterHead 中模型直接学习 lidar_boxes的 gravity center 。代码见此处。 不确定是否正确,欢迎讨论。

@kingofstu
Copy link
Author

我的理解是在 CenterHead 中模型直接学习 lidar_boxes的 gravity center 。代码见此处。 不确定是否正确,欢迎讨论。

您好,是的,在训练作损失时确实是使用gravity center;但在作评估之前,会调用centerhead的get _bboxes函数,这里为了送入LiDARInstance3DBoxes类,会将box中心移至box底面中心。
代码见此处。欢迎继续讨论。

@jbwang1997
Copy link

这确实还挺奇怪的,mmdet3d 模型后处理完的 box 的 center 好像是底面中心点.我同时看了一下 nuscenes 的 metric 说明, 发现所有的 metric 都是在 2D 平面上去完成的.z 轴上的差异好像对最终的 metric 没影响.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants