StreamPETR icon indicating copy to clipboard operation
StreamPETR copied to clipboard

[ICCV 2023] StreamPETR: Exploring Object-Centric Temporal Modeling for Efficient Multi-View 3D Object Detection

Results 24 StreamPETR issues
Sort by recently updated
recently updated
newest added

您好,请问为什么是以Object-Centric的目标检测方法呢,文中将其与BEV时序以及perspective时序进行了比较,不过没有琢磨明白什么叫做以Object-Centric的目标检测呢?盼复,谢谢

[https://github.com/exiawsh/StreamPETR/blob/main/projects/mmdet3d_plugin/models/utils/positional_encoding.py#L25]([https://github.com/exiawsh/StreamPETR/blob/main/projects/mmdet3d_plugin/models/utils/positional_encoding.py#L25](https://github.com/exiawsh/StreamPETR/issues/url)) Is there any special design to transpose 'x' & 'y' dimentions ? ``` def pos2posemb3d(pos, num_pos_feats=128, temperature=10000): scale = 2 * math.pi dim_t = torch.arange(num_pos_feats//2, dtype=torch.float32, device=pos.device) dim_t =...

在推理过程中prev_exists始终是None,我理解应该表示前一帧始终不存在, x = data['prev_exists'] self.memory_timestamp = memory_refresh(self.memory_timestamp[:, :self.memory_len], x) self.memory_reference_point = memory_refresh(self.memory_reference_point[:, :self.memory_len], x) self.memory_embedding = memory_refresh(self.memory_embedding[:, :self.memory_len], x) self.memory_egopose = memory_refresh(self.memory_egopose[:, :self.memory_len], x) self.memory_velo = memory_refresh(self.memory_velo[:, :self.memory_len], x) 经过以上代码获取到的memory都是零矩阵,所以请问是否如我理解的这样推理时不使用历史帧?

您好,我看StreamPETRHead中的GIoULoss权重为0。请问不使用IoULoss是出于什么考虑呢?

Hello, I would like to ask for your help to change the current code to the code trained only with the current frame, where should I modify the current configuration?...

warnings.warn( /local/mnt2/workspace/vaisb/miniconda3/envs/vaisb_PyTorch_13/lib/python3.8/site-packages/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory warn(f"Failed to load image Python extension: {e}") Traceback (most recent...

老师您好,我发现projects/configs/StreamPETR/stream_petr_vov_flash_800_bs2_seq_24e.py文件里用的是MultiHeadAttention,如下图所示: ![1](https://github.com/exiawsh/StreamPETR/assets/81944388/ceea60d4-c531-4c3e-a288-69d219339e9d) 但是projects/mmdet3d_plugin/models/utils/petr_transformer.py里面没有MultiHeadAttention,只有PETRMultiheadAttention,如下图: ![2](https://github.com/exiawsh/StreamPETR/assets/81944388/0f7a77c3-7203-4744-aed8-2a7c90e55454) 但是代码仍然可以正常跑起来,但是在debug的时候,只能进入PETRMultiheadFlashAttention,没有进入MultiheadAttention(我debug几次,没有看到),如图: ![3](https://github.com/exiawsh/StreamPETR/assets/81944388/3cc30ee6-9911-41f9-a152-252c1e2cc567) 于是我将projects/mmdet3d_plugin/models/utils/petr_transformer.py中的PETRTemporalTransformer进行实例化:我将projects/configs/StreamPETR/stream_petr_vov_flash_800_bs2_seq_24e.py中关于PETRTemporalTransformer的信息粘贴到了projects/mmdet3d_plugin/models/utils/petr_transformer.py中的class PETRTemporalTransformer(BaseModule)模块的结尾,如图: ![5](https://github.com/exiawsh/StreamPETR/assets/81944388/a5e67a30-82c6-46ba-a36a-e78ba7b8ca48) ![6](https://github.com/exiawsh/StreamPETR/assets/81944388/89b64dd8-4d28-449f-9e2c-b5c6a5335927) 仍然可以打印MultiheadAttention如图: ![4](https://github.com/exiawsh/StreamPETR/assets/81944388/382b2293-bdbd-461f-bac3-1ed5f791ff36) 请问:1、 MultiHeadAttention和PETRMultiheadFlashAttention是同一个东西吗 2、 MultiHeadAttention和PETRMultiheadAttention在网络中分别起到什么作用 盼复!!!感谢老师

![屏幕截图 2024-10-12 111415](https://github.com/user-attachments/assets/2d9e3083-0dfa-4e46-89b7-ad63c878e5c3) 您好,我在看论文的时候发现Propagation Transformer的交叉注意力中使用了两个图像特征,分别是来自t-1时刻和t时刻的图像特征,但是我在阅读源码的时候并没有发现t-1时刻的特征从哪里来的(或者是t时刻的特征),在Transformer中只是用了一个6层的解码器,并没有使用两个6层的解码器。请问是我哪里理解错了吗

Hi @exiawsh. Thanks for your great work. I am trying to train the model using the default config repdetr3d_eva02_800_bs2_seq_24e.py. This uses streaming training. How can I set the number of...