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
136 stars 8 forks source link

误检极高 #45

Open sevenandseven opened 4 weeks ago

sevenandseven commented 4 weeks ago

Question

你好,我用您的代码在我自己的小目标的数据集上进行了测试,目前出现的两个问题,一个是小目标分误检率极高,另一个是针对细长型的小目标几乎检测不出来,请问这两个问题怎么解决?

补充信息

你好,我用您的代码在我自己的小目标的数据集上进行了测试,目前出现的两个问题,一个是小目标分误检率极高,另一个是针对细长型的小目标几乎检测不出来,请问这两个问题怎么解决?并且有支持onnx导出成engine的开源计划吗?

xiuqhou commented 3 weeks ago

请问在你自己使用的小目标数据集,其他方法也有误检率极高和检测不出来的问题吗?小目标一直是目标检测的难点,我可以给出几个建议:

  1. 将训练和推理时采用的image_size增大,增加模型配置中的这几个参数:num_queries、level_filter_ratio、layer_filter_ratio,让更多的query参与预测,可能会提高对小目标的检测效果。
  2. 采用更强的数据增强,在transforms/presets.py中你可以定义更复杂的数据增强,然后在configs/train_config.py中使用。
  3. DETR论文中有提到它更适合检测大目标,对于小目标不存在优势,所以更优先推荐YOLO等基于卷积的方法。如果您只想用DETR方法,可以尝试我另一个仓库的Relation-DETR,实验发现它对于小目标的检测效果是比Salience-DETR和其他已有DETR要好的,当然速度和显存消耗也要更大。

ONNX导出engine应该只需要用trtexec转换一下.onnx文件就可以了,不需要增加什么额外的支持代码,如果导出过程存在问题可以在issue进行反馈,我有时间会进行修复。

sevenandseven commented 3 weeks ago

请问在你自己使用的小目标数据集,其他方法也有误检率极高和检测不出来的问题吗?小目标一直是目标检测的难点,我可以给出几个建议:

  1. 将训练和推理时采用的image_size增大,增加模型配置中的这几个参数:num_queries、level_filter_ratio、layer_filter_ratio,让更多的query参与预测,可能会提高对小目标的检测效果。
  2. 采用更强的数据增强,在transforms/presets.py中你可以定义更复杂的数据增强,然后在configs/train_config.py中使用。
  3. DETR论文中有提到它更适合检测大目标,对于小目标不存在优势,所以更优先推荐YOLO等基于卷积的方法。如果您只想用DETR方法,可以尝试我另一个仓库的Relation-DETR,实验发现它对于小目标的检测效果是比Salience-DETR和其他已有DETR要好的,当然速度和显存消耗也要更大。

ONNX导出engine应该只需要用trtexec转换一下.onnx文件就可以了,不需要增加什么额外的支持代码,如果导出过程存在问题可以在issue进行反馈,我有时间会进行修复。

好的,感谢您的回复。