1 vin.encoders.pose

vin.encoders.pose

Pose encoder modules for VIN candidate views.

This module owns the active candidate-pose encoder interface and the R6D plus learnable Fourier feature implementation used by VIN-Core (v3).

1.1 Classes

Name Description
PoseEncoder Base interface for encoders of poses already in a reference frame.
PoseEncodingOutput Pose-encoding outputs for a pose expressed in a reference frame.
R6dLffPoseEncoder Encode reference-frame translation and rotation-6D through LFF.
R6dLffPoseEncoderConfig Configure reference-frame R6D plus LFF pose encoding.

1.1.1 PoseEncoder

vin.encoders.pose.PoseEncoder()

Base interface for encoders of poses already in a reference frame.

1.1.1.1 Attributes

Name Description
pose_encoder_lff Optional LFF submodule for diagnostics (None for SH-only encoders).
out_dim Return the final pose-embedding feature width.

1.1.1.2 Methods

Name Description
encode Encode a pose expressed in the reference frame.
forward Encode a reference-frame pose through PyTorch’s module call interface.
1.1.1.2.1 encode
vin.encoders.pose.PoseEncoder.encode(pose_rig)

Encode a pose expressed in the reference frame.

1.1.1.2.2 forward
vin.encoders.pose.PoseEncoder.forward(pose_rig)

Encode a reference-frame pose through PyTorch’s module call interface.

1.1.1.2.2.1 Parameters
Name Type Description Default
pose_rig PoseTW PoseTW with floating storage shape ... 12; the caller selects the reference frame and translations are metres. required
1.1.1.2.2.2 Returns
Name Type Description
PoseEncodingOutput The same differentiable PoseEncodingOutput as :meth:encode,
PoseEncodingOutput preserving leading pose axes. Calling the module also runs registered
PoseEncodingOutput hooks; no extra parameters or transformation are introduced here.

1.1.2 PoseEncodingOutput

vin.encoders.pose.PoseEncodingOutput(
    center_m,
    pose_vec,
    pose_enc,
    center_dir=None,
    forward_dir=None,
    radius_m=None,
    view_alignment=None,
)

Pose-encoding outputs for a pose expressed in a reference frame.

1.1.2.1 Attributes

Name Type Description
center_m Tensor Tensor["... 3", float32] translation in the reference frame.
pose_vec Tensor Tensor["... D", float32] pose vector fed into the encoder.
pose_enc Tensor Tensor["... E", float32] encoded pose embedding.
center_dir Tensor | None Optional Tensor["... 3", float32] unit direction to center.
forward_dir Tensor | None Optional Tensor["... 3", float32] forward direction in ref frame.
radius_m Tensor | None Optional Tensor["... 1", float32] radius \|\|t\|\|.
view_alignment Tensor | None Optional Tensor["... 1", float32] dot <f, -u>.

1.1.3 R6dLffPoseEncoder

vin.encoders.pose.R6dLffPoseEncoder(config)

Encode reference-frame translation and rotation-6D through LFF.

The representation is continuous for common rotations but is not an SE(3)-equivariant map: translation coordinates and rotation-matrix columns are interpreted in the caller-supplied reference rig frame.

1.1.3.1 Attributes

Name Description
pose_encoder_lff Registered shared Fourier encoder; follows module mode, device and checkpoint lifecycle.
out_dim Return the configured LFF pose-embedding width.

1.1.3.2 Methods

Name Description
encode Encode poses in the reference rig frame.
1.1.3.2.1 encode
vin.encoders.pose.R6dLffPoseEncoder.encode(pose_rig)

Encode poses in the reference rig frame.

1.1.3.2.1.1 Parameters
Name Type Description Default
pose_rig PoseTW PoseTW["... 12"] pose in reference rig frame. required
1.1.3.2.1.2 Returns
Name Type Description
PoseEncodingOutput PoseEncodingOutput containing translation, pose vector, and embedding.

1.1.4 R6dLffPoseEncoderConfig

vin.encoders.pose.R6dLffPoseEncoderConfig()

Configure reference-frame R6D plus LFF pose encoding.

1.1.4.1 Attributes

Name Description
target_type Factory target for aria_nbv.configs.base.BaseConfig.setup_target.
out_dim Return the complete pose-embedding width seen by consumers.
kind Discriminator for pose-encoder selection.
pose_encoder_lff LFF encoder for [t, r6d] pose vectors (input_dim=9).
pose_scale_init Initial per-group scale for translation and rotation (t, r6d).
pose_scale_learnable Whether pose scaling parameters are learned.
pose_scale_eps Numerical epsilon for pose scaling.
Back to top