1 vin.types.backbone
vin.types.backbone
EVL backbone exchange containers for VIN scorer inputs.
This module owns the typed payloads shared by EVL adapters, offline stores, VIN models, and target-selection code. The aggregate aria_nbv.vin.types package re-exports these names for compatibility, but this file is the canonical definition owner.
1.1 Classes
| Name | Description |
|---|---|
| EvlBackboneOutput | Actor-visible EVL evidence exchanged with VIN scorers and caches. |
1.1.1 EvlBackboneOutput
vin.types.backbone.EvlBackboneOutput(
t_world_voxel,
voxel_extent,
voxel_feat=None,
occ_feat=None,
obb_feat=None,
occ_pr=None,
occ_input=None,
free_input=None,
free_input_provenance=None,
counts=None,
counts_m=None,
voxel_select_t=None,
cent_pr=None,
bbox_pr=None,
clas_pr=None,
cent_pr_nms=None,
obbs_pr_nms=None,
obb_pred=None,
obb_pred_viz=None,
obb_pred_sem_id_to_name=None,
obb_pred_probs_full=None,
obb_pred_probs_full_viz=None,
pts_world=None,
feat2d_upsampled=dict(),
token2d=dict(),
)Actor-visible EVL evidence exchanged with VIN scorers and caches.
The tensors are local to the EVL model configuration and checkpoint that produced them; they are learned evidence, not ground truth. This container does not embed source, config, or checkpoint hashes. Any durable offline payload must therefore pair it with provenance metadata that identifies the EVL source, resolved configuration, and checkpoint content.
1.1.1.1 Attributes
| Name | Type | Description |
|---|---|---|
| t_world_voxel | PoseTW |
PoseTW["B 12"] world←voxel pose for the voxel grid. |
| voxel_extent | Tensor |
Tensor["6", float32] voxel grid extent in voxel frame [x_min,x_max,y_min,y_max,z_min,z_max] (meters). |
| voxel_feat | Tensor | None |
Optional Tensor["B F D H W", float32] raw voxel features from the 3D backbone. |
| occ_feat | Tensor | None |
Optional Tensor["B C D H W", float32] neck features for occupancy. |
| obb_feat | Tensor | None |
Optional Tensor["B C D H W", float32] neck features for OBB detection. |
| occ_pr | Tensor | None |
Optional Tensor["B 1 D H W", float32] EVL occupancy probability. |
| occ_input | Tensor | None |
Optional Tensor["B 1 D H W", float32] voxelized occupied evidence from input points. |
| free_input | Tensor | None |
Optional Tensor["B 1 D H W", float32] voxelized free-space evidence. |
| free_input_provenance | FreeInputProvenance | None |
Native EVL output or the explicit derived construction. |
| counts | Tensor | None |
Optional Tensor["B D H W", int64] per-voxel observation counts. |
| counts_m | Tensor | None |
Optional Tensor["B D H W", int64] masked/debug variant of counts. |
| voxel_select_t | Tensor | None |
Optional Tensor["B 1", int64] frame index anchoring the voxel grid. |
| cent_pr | Tensor | None |
Optional Tensor["B 1 D H W", float32] centerness probabilities. |
| bbox_pr | Tensor | None |
Optional Tensor["B 7 D H W", float32] bounding box regressions. |
| clas_pr | Tensor | None |
Optional Tensor["B K D H W", float32] class probabilities. |
| cent_pr_nms | Tensor | None |
Optional Tensor["B 1 D H W", float32] centerness after NMS. |
| obbs_pr_nms | ObbTW | None |
Optional ObbTW["B M 34"] OBB predictions after NMS (voxel frame). |
| obb_pred | ObbTW | None |
Optional ObbTW["B M 34"] OBB predictions in snippet coordinates. |
| obb_pred_viz | ObbTW | None |
Optional ObbTW["B M 34"] visualization OBB predictions in snippet coordinates. |
| obb_pred_sem_id_to_name | dict[int, str] | None | Optional sparse semantic id to class-name map aligned with EVL taxonomy. |
| obb_pred_probs_full | list[Tensor] | None |
Optional list of per-OBB class probability tensors. |
| obb_pred_probs_full_viz | list[Tensor] | None |
Optional list of per-OBB class probability tensors for visualization. |
| pts_world | Tensor | None |
Optional Tensor["B (D·H·W) 3", float32] world-space voxel centers. |
| feat2d_upsampled | dict[str, Tensor] |
Per-stream 2D feature maps keyed by stream name. |
| token2d | dict[str, Tensor] |
Per-stream 2D tokens keyed by stream name. |
1.1.1.2 Methods
| Name | Description |
|---|---|
| to_serializable | Serialize this backbone output into a cache-friendly CPU payload. |
| from_serializable | Reconstruct one backbone output from a serialized payload. |
| to | Move all tensors to the specified device. |
1.1.1.2.1 to_serializable
vin.types.backbone.EvlBackboneOutput.to_serializable(include_fields=None)Serialize this backbone output into a cache-friendly CPU payload.
1.1.1.2.1.1 Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| include_fields | set[str] | None | Optional dataclass field names to include. When omitted, all fields are serialized. | None |
1.1.1.2.1.2 Returns
| Name | Type | Description |
|---|---|---|
| dict[str, Any] | CPU-only payload suitable for immutable offline-store records. |
1.1.1.2.2 from_serializable
vin.types.backbone.EvlBackboneOutput.from_serializable(
payload,
*,
device,
include_fields=None,
)Reconstruct one backbone output from a serialized payload.
1.1.1.2.2.1 Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| payload | dict[str, Any] | Serialized payload produced by to_serializable. |
required |
| device | torch.device | Destination device for tensors and wrappers. | required |
| include_fields | set[str] | None | Optional subset of fields to decode. | None |
1.1.1.2.2.2 Returns
| Name | Type | Description |
|---|---|---|
| 'EvlBackboneOutput' | Reconstructed backbone output. |
1.1.1.2.3 to
vin.types.backbone.EvlBackboneOutput.to(device)Move all tensors to the specified device.