def get_boundary(self, score_maps, img_metas, rescale): """Compute text boundaries via post processing. Args: score_maps (Tensor): The text score map. img_metas (dict): The image meta info. rescale (bool): Rescale boundaries to the original image resolution if true, and keep the score_maps resolution if false. Returns: dict: A dict where boundary results are stored in ``boundary_result``. """ assert check_argument.is_type_list(img_metas, dict) assert isinstance(rescale, bool) score_maps = score_maps.squeeze() boundaries = decode(decoding_type=self.decoding_type, preds=score_maps, text_repr_type=self.text_repr_type) if rescale: boundaries = self.resize_boundary( boundaries, 1.0 / self.downsample_ratio / img_metas[0]['scale_factor']) results = dict(boundary_result=boundaries, filename=img_metas[0]['filename']) return results
def get_boundary(self, edges, scores, text_comps, img_metas, rescale): """Compute text boundaries via post processing. Args: edges (ndarray): The edge array of shape N * 2, each row is a pair of text component indices that makes up an edge in graph. scores (ndarray): The edge score array. text_comps (ndarray): The text components. img_metas (list[dict]): The image meta infos. rescale (bool): Rescale boundaries to the original image resolution. Returns: results (dict): The result dict. """ assert check_argument.is_type_list(img_metas, dict) assert isinstance(rescale, bool) boundaries = [] if edges is not None: boundaries = decode(decoding_type='drrg', edges=edges, scores=scores, text_comps=text_comps, link_thr=self.link_thr) if rescale: boundaries = self.resize_boundary( boundaries, 1.0 / self.downsample_ratio / img_metas[0]['scale_factor']) results = dict(boundary_result=boundaries) return results
def _get_boundary_single(self, score_map, scale): assert len(score_map) == 2 assert score_map[1].shape[1] == 4 * self.fourier_degree + 2 return decode(decoding_type=self.decoding_type, preds=score_map, fourier_degree=self.fourier_degree, num_reconstr_points=self.num_reconstr_points, scale=scale, alpha=self.alpha, beta=self.beta, text_repr_type='poly', score_thr=self.score_thr, nms_thr=self.nms_thr)