1 vin.modules.pooling
vin.modules.pooling
Pose-conditioned pooling modules for VIN scene fields.
This module owns candidate-query attention over shared voxel-grid tokens.
1.1 Classes
| Name | Description |
|---|---|
| PoseConditionedGlobalPool | Attend over a coarse voxel field with candidate pose queries. |
1.1.1 PoseConditionedGlobalPool
vin.modules.pooling.PoseConditionedGlobalPool(
field_dim,
pose_dim,
pool_size,
num_heads,
pos_grid_encoder,
)Attend over a coarse voxel field with candidate pose queries.
The module summarizes a projected voxel field into one descriptor per candidate pose. It down-samples the field into tokens, encodes each token’s normalized position grid, and uses candidate pose embeddings as attention queries over voxel content.
Positional embeddings are added only to keys. Values stay pure field-content projections, so attention weights depend on position while the returned descriptors remain content summaries conditioned by pose.
Each candidate query attends to the same voxel-token set independently; queries never attend to one another. Permuting the N_q pose rows thus permutes the N_q outputs. The normalized position encoder makes the block reference-frame-aware, but does not enforce SE(3) equivariance or a graph-isomorphism invariant.
1.1.1.1 Methods
| Name | Description |
|---|---|
| forward | Return pose-conditioned global field descriptors. |
1.1.1.1.1 forward
vin.modules.pooling.PoseConditionedGlobalPool.forward(
field,
pose_enc,
*,
pos_grid,
)Return pose-conditioned global field descriptors.
1.1.1.1.1.1 Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| field | Tensor | Tensor["B C D H W"] projected voxel field. |
required |
| pose_enc | Tensor | Tensor["B N_q E", float32] candidate pose embeddings. |
required |
| pos_grid | Tensor | Tensor["B 3 D H W"] normalized voxel positions. |
required |
1.1.1.1.1.2 Returns
| Name | Type | Description |
|---|---|---|
| Tensor | Tensor["B N_q C", float32] global features for each candidate. |