MCPcopy Create free account
hub / github.com/InternRobotics/G2VLM / compute_ranking

Function compute_ranking

data/frame_sampling_utils.py:108–130  ·  view source on GitHub ↗
(extrinsics, lambda_t=1.0, normalize=True, batched=True)

Source from the content-addressed store, hash-verified

106 dists[i_start:i_end, j_start:j_end] = rot_diff[i_start:i_end, j_start:j_end] + lambda_t * trans_diff
107 return dists
108def compute_ranking(extrinsics, lambda_t=1.0, normalize=True, batched=True):
109
110 if normalize:
111 extrinsics = np.copy(extrinsics)
112 camera_center = np.copy(extrinsics[:, :3, 3])
113 camera_center_scale = np.linalg.norm(camera_center, axis=1)
114 avg_scale = np.mean(camera_center_scale)
115 extrinsics[:, :3, 3] = extrinsics[:, :3, 3] / avg_scale
116
117
118 if batched:
119 if len(extrinsics) > 6000:
120 dists = extrinsic_distance_batch_chunked(extrinsics, lambda_t=lambda_t)
121 else:
122 dists = extrinsic_distance_batch(extrinsics, lambda_t=lambda_t)
123 else:
124 N = extrinsics.shape[0]
125 dists = np.zeros((N, N))
126 for i in range(N):
127 for j in range(N):
128 dists[i,j] = extrinsic_distance(extrinsics[i], extrinsics[j], lambda_t=lambda_t)
129 ranking = np.argsort(dists, axis=1)
130 return ranking, dists

Callers 2

get_pose_rank_idsMethod · 0.70
get_pose_rank_idsFunction · 0.70

Calls 4

normMethod · 0.80
extrinsic_distance_batchFunction · 0.70
extrinsic_distanceFunction · 0.70

Tested by

no test coverage detected