def _generate_proposals(self, box): """ Generates proposals by adding noise to the input box args: box - input box returns: torch.Tensor - Array of shape (num_proposals, 4) containing proposals torch.Tensor - Array of shape (num_proposals,) containing IoU overlap of each proposal with the input box. The IoU is mapped to [-1, 1] """ # Generate proposals num_proposals = self.proposal_params['boxes_per_frame'] proposal_method = self.proposal_params.get('proposal_method', 'default') if proposal_method == 'default': proposals = torch.zeros((num_proposals, 4)) gt_iou = torch.zeros(num_proposals) for i in range(num_proposals): proposals[i, :], gt_iou[i] = prutils.perturb_box( box, min_iou=self.proposal_params['min_iou'], sigma_factor=self.proposal_params['sigma_factor']) elif proposal_method == 'gmm': proposals, _, _ = prutils.sample_box_gmm( box, self.proposal_params['proposal_sigma'], num_samples=num_proposals) gt_iou = prutils.iou(box.view(1, 4), proposals.view(-1, 4)) # Map to [-1, 1] gt_iou = gt_iou * 2 - 1 return proposals, gt_iou
def _generate_proposals(self, box): """ """ # Generate proposals proposals, proposal_density, gt_density = prutils.sample_box_gmm(box, self.proposal_params['proposal_sigma'], self.proposal_params['gt_sigma'], self.proposal_params['boxes_per_frame']) iou = prutils.iou_gen(proposals, box.view(1, 4)) return proposals, proposal_density, gt_density, iou
def _generate_proposals(self, box): """ """ # Generate proposals proposals, proposal_density, gt_density = prutils.sample_box_gmm( box, self.proposal_params['proposal_sigma'], gt_sigma=self.proposal_params['gt_sigma'], num_samples=self.proposal_params['boxes_per_frame'], add_mean_box=self.proposal_params.get('add_mean_box', False)) return proposals, proposal_density, gt_density
def _generate_proposals(self, box): """ Generate proposal sample boxes from a GMM proposal distribution and compute their ground-truth density. This is used for ML and KL based regression learning of the bounding box regressor. args: box - input bounding box """ # Generate proposals proposals, proposal_density, gt_density = prutils.sample_box_gmm(box, self.proposal_params['proposal_sigma'], gt_sigma=self.proposal_params['gt_sigma'], num_samples=self.proposal_params['boxes_per_frame'], add_mean_box=self.proposal_params.get('add_mean_box', False)) return proposals, proposal_density, gt_density