def subsample(self, proposals, targets): positive_proposals = keep_only_positive_boxes(proposals) positive_proposals = self.prepare_targets(positive_proposals, targets) self.positive_proposals = positive_proposals all_num_positive_proposals = 0 for positive_proposals_per_image in positive_proposals: all_num_positive_proposals += len(positive_proposals_per_image) if all_num_positive_proposals == 0: positive_proposals = [proposals[0][:1]] return positive_proposals
def resample(self, proposals, targets): # get all positive proposals (for single image on per GPU) positive_proposals = keep_only_positive_boxes(proposals) # resample for getting targets or matching new IoU positive_proposals = self.prepare_targets(positive_proposals, targets) self.positive_proposals = positive_proposals all_num_positive_proposals = 0 for positive_proposals_per_image in positive_proposals: all_num_positive_proposals += len(positive_proposals_per_image) if all_num_positive_proposals == 0: positive_proposals = [proposals[0][:1]] return positive_proposals
def resample(self, proposals, targets): # get all positive proposals (for single image on per GPU) positive_proposals = keep_only_positive_boxes(proposals) # resample for getting targets or matching new IoU positive_proposals = self.prepare_targets(positive_proposals, targets) # apply across-sample strategy (for a batch of images on per GPU) positive_proposals = across_sample( positive_proposals, roi_size_per_img=self.roi_size_per_img, across_sample=self.across_sample ) self.positive_proposals = positive_proposals all_num_positive_proposals = 0 for positive_proposals_per_image in positive_proposals: all_num_positive_proposals += len(positive_proposals_per_image) if all_num_positive_proposals == 0: positive_proposals = [proposals[0][:1]] return positive_proposals