xiuqhou / Salience-DETR

[CVPR 2024] Official implementation of the paper "Salience DETR: Enhancing Detection Transformer with Hierarchical Salience Filtering Refinement"
https://arxiv.org/abs/2403.16131
Apache License 2.0
105 stars 7 forks source link

为什么不使用foreground_score来获取top K的初始reference_points,而是使用enc_outputs_class? #22

Closed wsjsei closed 1 month ago

wsjsei commented 1 month ago

Question

感谢作者开源这个精彩工作的代码!但是根据我对论文的理解,有一个关于筛选初始reference_points(enc_outputs_coord)的疑问,烦请拨冗解答,感谢!

根据论文的描述,通过Salience-guided supervision的训练获取的foreground_score(salience_score)具有较强的分辨前后景query的能力——但是看代码在salience_transformer.py的实现,进入decoder的初始reference_points仍然是根据encoder_class_head预测出的enc_outputs_class来选择reference_points的,为什么不根据foreground_score的大小来选择top k的reference_points呢?

期待您的解答。

补充信息

No response

xiuqhou commented 1 month ago

我们用salience_score主要是为了筛选Encoder中的query,用enc_outputs_class去选择reference_points就只是简单地沿用其他DETR的做法。

我们当时没太关注topk的过程😅所以就没有想到用salience_score去选择top_k的reference_points,不过我觉得这是一个很好的idea,您可以去尝试一下👍