we1pingyu / DSHNet

[WACV 2021] Towards Resolving the Challenge of Long-tail Distribution in UAV Images for Object Detection.
Apache License 2.0
51 stars 9 forks source link

用Retinanet时,默认self.sampling = False? #7

Open volareneo opened 3 years ago

volareneo commented 3 years ago

作者老哥您好,感谢您的分享!

  1. 我在复现的RetinaNet-DSHNet过程中发现,self.sampling默认为False,因为tail_retina_head.py中继承的事Anchorhead类,当cls_loss使用FocalLoss时,self.sampling会被设置为False,此时就会使用PseudoSampler而不是您设计的采样方法。请问实验也是基于PseudoSampler跑出来的吗?

  2. 另外在Retinanet中采样,我发现您代码中在不满足512*0.25=128个正样本时,直接用负样本补足;仅在满足128个正样本时才去判断是否属于尾部类(或头部类)。裁剪图片送入训练的情况下,一般都是正样本不足128的,这样会出现尾部和头部采样的正样本完全相同,这样是否有意义呢?为什么不在正样本小于128时筛选是否属于尾部类呀?感觉您文章没有描述这一点,请您赐教谢谢!

HuXinzhi1004 commented 2 years ago

作者老哥您好,感谢您的分享!

  1. 我在复现的RetinaNet-DSHNet过程中发现,self.sampling默认为False,因为tail_retina_head.py中继承的事Anchorhead类,当cls_loss使用FocalLoss时,self.sampling会被设置为False,此时就会使用PseudoSampler而不是您设计的采样方法。请问实验也是基于PseudoSampler跑出来的吗?
  2. 另外在Retinanet中采样,我发现您代码中在不满足512*0.25=128个正样本时,直接用负样本补足;仅在满足128个正样本时才去判断是否属于尾部类(或头部类)。裁剪图片送入训练的情况下,一般都是正样本不足128的,这样会出现尾部和头部采样的正样本完全相同,这样是否有意义呢?为什么不在正样本小于128时筛选是否属于尾部类呀?感觉您文章没有描述这一点,请您赐教谢谢!

你好,我也有同样的问题,请问你获得解答了吗?