71 min_cossim = self.min_cos
72 cossim = feats_current @ feats_map.t()
73 best_cossim, match12 = cossim.max(dim=1)
75 w = torch.exp(best_cossim) / torch.sum(torch.exp(cossim), dim=-1)
77 idx0 = torch.arange(len(match12), device=match12.device)
78 good = best_cossim > min_cossim
82 assert len(idx0) == len(idx1) == len(w)
90 input_rgb = frame.IRGB
91 bb = Rect(frame.renders.boundingBox)
94 bb.setWidth(np.maximum(32, bb.getWidth()))
95 bb.setHeight(np.maximum(32, bb.getHeight()))
96 bb.setLeft(np.maximum(0, bb.getLeft()))
97 bb.setTop(np.maximum(0, bb.getTop()))
99 ImageTools.crop(frame.IRGB, bb, crop)
102 representation = self.detect(input_rgb)
105 l = np.maximum(0, np.ceil(bb.getLeft()))
106 t = np.maximum(0, np.ceil(bb.getTop()))
107 representation.keypoints[:, 0] += l
108 representation.keypoints[:, 1] += t
113 obj_indices, env_indices = RBVisualOdometryUtils.computeIndicesObjectAndEnvironment(Matrix(representation.keypoints), frame,