你好,感谢您的工作! 对于代码中有基础翻转想请教一下。 1、semantic_mask 的翻转是否是因为采样方式变化。在bevformer源码中bev H方向的采样是从 0.5 ~ H-0.5,我看您代码中改成了H-0.5~0.5,如此修改之后 采样点应该和物理空间对应,即bevgriad[0][0]处 对应物理坐标系下 x最小&y最大处。 2、[在get_reference_points采样2d点的时候为什么也改为H-0.5~0.5](https://github.com/woodfrog/maptracker/blob/b8e15bacae350ddb22f22ed1de5580dfd2d3578e/plugin/models/backbones/bevformer/encoder.py#L86)?ref 2d应该是用于bevformer里的selfattention,是bevgrid的2d index索引,ref 2d 第一对值就是应该对应bevgrid的(0,0)位置,这个反转不会导致采样错乱吗? 3、[采样点投影到历史bev下为什要对y进行取反](https://github.com/woodfrog/maptracker/blob/b8e15bacae350ddb22f22ed1de5580dfd2d3578e/plugin/models/mapers/MapTracker.py#L335)?这段代码里的self.plane已经是和问题1中的采样方式相同,因此已经和物理空间下对齐,为什么在做归一化的时候要对y坐标取反,这样的话在后面grid_sample的时候不是也错乱了吗? 期待您的回复!
Activity
woodfrog commentedon Jul 20, 2025
你好。
bevformer的部分是直接用的streammapnet里的: https://github.com/yuantianyuan01/StreamMapNet/blob/main/plugin/models/backbones/bevformer/encoder.py。 应该和data pipeline里vector hdmap预处理的方式有关系?
第三个点那儿的细节我不太记得了,但是我都画出来看过确保是align的,不然这个history buffer里信息都错了的话肯定就没用了