1 VinOracleBatch

data_handling.VinOracleBatch(
    efm_snippet_view,
    candidate_poses_world_cam,
    reference_pose_world_rig,
    rri,
    pm_dist_before,
    pm_dist_after,
    pm_acc_before,
    pm_comp_before,
    pm_acc_after,
    pm_comp_after,
    scene_id,
    snippet_id,
    p3d_cameras,
    candidate_count=None,
    backbone_out=None,
    gt_obbs=None,
    detected_obbs=None,
    trajectory=None,
)

Single-snippet VIN training batch produced from an oracle label run.

1.1 Attributes

Name Type Description
efm_snippet_view EfmSnippetView | VinSnippetView | None EFM snippet view or minimal VIN snippet (None when loading from cache).
candidate_poses_world_cam PoseTW PoseTW["N 12"] or PoseTW["B N 12"] candidate poses as world←camera.
reference_pose_world_rig PoseTW PoseTW["12"] or PoseTW["B 12"] reference pose as world←rig_reference.
rri Tensor Tensor["N", float32] or Tensor["B N", float32] oracle RRI per candidate.
pm_dist_before Tensor Tensor["N", float32] or Tensor["B N", float32] Chamfer distance before (broadcasted).
pm_dist_after Tensor Tensor["N", float32] or Tensor["B N", float32] Chamfer distance after (per-candidate).
pm_acc_before Tensor Tensor["N", float32] or Tensor["B N", float32] accuracy distance before.
pm_comp_before Tensor Tensor["N", float32] or Tensor["B N", float32] completeness distance before.
pm_acc_after Tensor Tensor["N", float32] or Tensor["B N", float32] accuracy distance after.
pm_comp_after Tensor Tensor["N", float32] or Tensor["B N", float32] completeness distance after.
p3d_cameras PerspectiveCameras PyTorch3D cameras used for depth rendering/unprojection (same ordering as candidates).
candidate_count Tensor | None Number of valid candidates (scalar or batched vector). When absent, runtime code falls back to the full candidate width.
scene_id str | list[str] ASE scene id for diagnostics (string or list when batched).
snippet_id str | list[str] Snippet id (tar key/url stem) for diagnostics (string or list when batched).
backbone_out EvlBackboneOutput | None Optional cached EVL backbone outputs.

1.2 Methods

Name Description
resolved_candidate_count Return the valid candidate count as a scalar or batched vector.
candidate_valid_mask Return a prefix mask that marks valid candidates.
shape_summary Summarize tensor shapes for diagnostics/logging.
shuffle_candidates Return a copy with candidate ordering randomly permuted.
from_label Build a VIN oracle batch from an online label batch.
collate Collate cached VIN batches by padding candidate sets to a shared length.

1.2.1 resolved_candidate_count

data_handling.VinOracleBatch.resolved_candidate_count(device=None)

Return the valid candidate count as a scalar or batched vector.

1.2.2 candidate_valid_mask

data_handling.VinOracleBatch.candidate_valid_mask(device=None)

Return a prefix mask that marks valid candidates.

1.2.3 shape_summary

data_handling.VinOracleBatch.shape_summary()

Summarize tensor shapes for diagnostics/logging.

1.2.4 shuffle_candidates

data_handling.VinOracleBatch.shuffle_candidates(generator=None)

Return a copy with candidate ordering randomly permuted.

The permutation is applied consistently across candidate-specific fields: poses, oracle RRI targets, per-metric distances, and the corresponding PyTorch3D cameras. Non-candidate fields (snippet view, backbone outputs) are preserved.

1.2.5 from_label

data_handling.VinOracleBatch.from_label(label_batch, *, efm_keep_keys)

Build a VIN oracle batch from an online label batch.

1.2.6 collate

data_handling.VinOracleBatch.collate(samples)

Collate cached VIN batches by padding candidate sets to a shared length.