Atten4Vis / GroupDETR

[ICCV 2023] Group DETR: Fast DETR Training with Group-Wise One-to-Many Assignment
37 stars 3 forks source link

When to release the code? #1

Open sorrowyn opened 11 months ago

sorrowyn commented 11 months ago

Congratulations, this work has been accepted by ICCV2023. When to release the code?

sorrowyn commented 11 months ago

https://github.com/IDEA-Research/detrex/blob/main/projects/group_detr/modeling/group_detr_transformer.py

attn4det commented 11 months ago

Thanks for your interest in our Group DETR. We plan to release the code and models before October.

As Group DETR is simple, there are already some implementations such as in the detrex codebase and the ConditionalDETR codebase.

Feel free to let us know if you have further questions.

sorrowyn commented 11 months ago

I think the method you propose is simple and effective. Thank you for getting back to me.

rayleizhu commented 11 months ago

I tried to reproduce GroupDETR results with detrex, and below is what I got, which shows significantly lower results than the paper report (Table 1). The experiment log can be found here.

image

What's the problem here? How can I reproduce the results reported in the paper?

Related issue: https://github.com/IDEA-Research/detrex/issues/287#issue-1823552309

attn4det commented 11 months ago

Hi @rayleizhu ,

Thanks for your interest in Group DETR.

Currently, you can try the implementation in the ConditionalDETR repo. It could give similar results as the ones reported in the paper.

HITerStudy commented 10 months ago

@attn4det how to combine the group_detr with DINO, how to process the dn and mix-selection part? Can you tell some details, thanks!

attn4det commented 9 months ago

@attn4det how to combine the group_detr with DINO, how to process the dn and mix-selection part? Can you tell some details, thanks!

Sorry for the late reply. To make the object queries in multiple groups similar to each other, we construct multiple pairs of classification and regression prediction heads in the first stage, each pair of which provides initialization for the object queries in the corresponding group. Moreover, we also add the dn part in each group as done in DINO.

JunrQ commented 8 months ago

It's already October, are you still planning to release the code?

Mollylulu commented 7 months ago

Thanks for your work. When can we expect the code release? It was mentioned to be released before last month, but it's still pending. Thanks!

flyingbird9 commented 6 months ago

请问何时发布在dino上实现的代码

flyingbird9 commented 6 months ago

如何将group_detr与DINO相结合,如何处理损失函数去噪部分和查询部分?你能说一些细节吗,谢谢!

rayleizhu commented 6 months ago

我后来思考了一下,detrex中当时的实现把groupdetr复杂化了。实际上实现起来相当简单,只需要在gt加噪声之前,将feature map和gt同时expand/repeat,然后reshape到batch size维度就可以了,大概几行代码就可以搞定。

核心流程大致如下:

feat_map = encoder(input_images)

feat_map = feat_map.unsqueeze(1).expand(-1, num_groups, -1, -1, -1).flatten(0, 1)
target = target.unsqueeze(1).expand(-1, num_groups, -1) .flatten(0, 1)

dndetr_steps() # add noise, forward, matching, etc.
dt-3t commented 3 months ago

@attn4det how to combine the group_detr with DINO, how to process the dn and mix-selection part? Can you tell some details, thanks!

Sorry for the late reply. To make the object queries in multiple groups similar to each other, we construct multiple pairs of classification and regression prediction heads in the first stage, each pair of which provides initialization for the object queries in the corresponding group. Moreover, we also add the dn part in each group as done in DINO.

If only one prediction and regression head is used without multiple groups (as in the original DINO), what would happen?