refinedet.pytorch icon indicating copy to clipboard operation
refinedet.pytorch copied to clipboard

arm filter redundant anchors in training phase?

Open zhao34731 opened this issue 3 years ago • 1 comments

Hello coder, I'm learning RefineDet architecture these days. After comparing different implements below

  1. https://github.com/luuuyi/RefineDet.PyTorch
  2. https://github.com/lzx1413/PytorchSSD
  3. yours I found there is a different when training the model. That's do we need to filter redundant anchors using ARM when training model. In the first implement. The author use below in RefineDetMultiBoxLoss function if self.use_ARM: P = F.softmax(arm_conf_data, 2) arm_conf_tmp = P[:,:,1] object_score_index = arm_conf_tmp <= self.theta pos = conf_t > 0 pos[object_score_index.data] = 0 They filter the positive anchors using arm_conf However, In the second Implement, the author lzx1413 wrote below if arm_data and filter_object: arm_conf_data = arm_conf.data[:,:,1] pos = conf_t > 0 object_score_index = arm_conf_data <= self.object_score pos[object_score_index] = 0 but in training code: refinedet_train_test.py odm_loss_l, odm_loss_c = odm_criterion((odm_loc,odm_conf),priors,targets,(arm_loc,arm_conf),False) The filter_object is disabled. However in the original paper, the author zhangshifeng write image I wonder whether It's a big difference to enable or disable this filter object ? Thanks!

zhao34731 avatar Apr 05 '21 10:04 zhao34731