feat: Enhance play notebook with new data structures and visualization utilities
- Added new TypedDict classes for camera parameters, including Resolution, Intrinsic, and Extrinsic. - Updated dataset reading logic to accommodate new camera parameters structure. - Introduced functions for reading datasets by port and visualizing whole body keypoints. - Improved the affinity matrix calculation logic in the camera module. - Updated dependencies in pyproject.toml to include Plotly and SciPy for enhanced functionality.
This commit is contained in:
@ -350,7 +350,7 @@ def calculate_affinity_matrix_by_epipolar_constraint(
|
||||
else:
|
||||
camera_wise_split = classify_by_camera(detections)
|
||||
num_entries = sum(len(entries) for entries in camera_wise_split.values())
|
||||
affinity_matrix = jnp.zeros((num_entries, num_entries), dtype=jnp.float32)
|
||||
affinity_matrix = jnp.ones((num_entries, num_entries), dtype=jnp.float32) * -jnp.inf
|
||||
affinity_matrix_mask = jnp.zeros((num_entries, num_entries), dtype=jnp.bool_)
|
||||
|
||||
acc = 0
|
||||
@ -361,7 +361,7 @@ def calculate_affinity_matrix_by_epipolar_constraint(
|
||||
sorted_detections: list[Detection] = []
|
||||
for camera_id, entries in camera_wise_split.items():
|
||||
for i, _ in enumerate(entries):
|
||||
camera_id_index_map[camera_id].add(acc + i)
|
||||
camera_id_index_map[camera_id].add(acc)
|
||||
sorted_detections.append(entries[i])
|
||||
acc += 1
|
||||
camera_id_index_map_inverse[camera_id] = (
|
||||
@ -374,6 +374,8 @@ def calculate_affinity_matrix_by_epipolar_constraint(
|
||||
for i, det in enumerate(sorted_detections):
|
||||
other_indices = camera_id_index_map_inverse[det.camera.id]
|
||||
for j in other_indices:
|
||||
if i == j:
|
||||
continue
|
||||
if affinity_matrix_mask[i, j] or affinity_matrix_mask[j, i]:
|
||||
continue
|
||||
a = compute_affinity_epipolar_constraint_with_pairs(
|
||||
|
||||
Reference in New Issue
Block a user