示例#1
0
    def extract_backbone_features(self, im: torch.Tensor, dp: torch.Tensor, pos: torch.Tensor, scales, sz: torch.Tensor):
        im_patches, patch_coords_rgb = sample_patch_multiscale(im, pos, scales, sz,
                                                           mode=self.params.get('border_mode', 'replicate'),
                                                           max_scale_change=self.params.get('patch_max_scale_change', None))
        dp_patches, patch_coords_d = sample_patch_multiscale(dp, pos, scales, sz,
                                                           mode=self.params.get('border_mode', 'replicate'),
                                                           max_scale_change=self.params.get('patch_max_scale_change', None))
        with torch.no_grad():
            backbone_feat_rgb = self.net_rgb.extract_backbone(im_patches)
            backbone_feat_d = self.net_d.extract_backbone(dp_patches)

        return backbone_feat_rgb, backbone_feat_d, patch_coords_rgb, patch_coords_d, im_patches, dp_patches
示例#2
0
 def extract_backbone_features(self, im: torch.Tensor, pos: torch.Tensor,
                               scales, sz: torch.Tensor):
     im_patches, patch_coords = sample_patch_multiscale(
         im, pos, scales, sz,
         getattr(self.params, 'border_mode', 'replicate'))
     with torch.no_grad():
         backbone_feat = self.net.extract_backbone(im_patches)
     return backbone_feat, patch_coords
示例#3
0
 def extract_backbone_features(self, im: torch.Tensor, pos: torch.Tensor,
                               scale, sz: torch.Tensor):
     im_patches, patch_coords = sample_patch_multiscale(
         im,
         pos,
         scale.unsqueeze(0),
         sz,
         mode=self.params.get('border_mode', 'replicate'),
         max_scale_change=self.params.get('patch_max_scale_change', None))
     with torch.no_grad():
         backbone_feat = self.net.extract_backbone(im_patches)
     return backbone_feat, patch_coords[0], im_patches[0]