Open sorrowyn opened 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.
I think the method you propose is simple and effective. Thank you for getting back to me.
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.
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
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.
@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 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.
It's already October, are you still planning to release the code?
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!
请问何时发布在dino上实现的代码
如何将group_detr与DINO相结合,如何处理损失函数去噪部分和查询部分?你能说一些细节吗,谢谢!
我后来思考了一下,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.
@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?
Congratulations, this work has been accepted by ICCV2023. When to release the code?