1 vin.encoders.pointnext
vin.encoders.pointnext
Optional PointNeXt-S encoder for semidense VIN point clouds.
This module owns PointNeXtSEncoder, which adapts OpenPoints PointNeXt-S to the VIN encoder interface. It is only constructed when a model config enables the semidense point encoder, so importing aria_nbv.vin.encoders does not build an OpenPoints model or load a checkpoint.
1.1 Classes
| Name | Description |
|---|---|
| PointNeXtSEncoder | Adapt OpenPoints PointNeXt-S to a VIN semidense point-cloud embedding. |
| PointNeXtSEncoderConfig | Config-as-factory wrapper for PointNeXtSEncoder. |
1.1.1 PointNeXtSEncoder
vin.encoders.pointnext.PointNeXtSEncoder(config)Adapt OpenPoints PointNeXt-S to a VIN semidense point-cloud embedding.
1.1.1.1 Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| config | PointNeXtSEncoderConfig | Config-as-factory object containing OpenPoints config/checkpoint paths, output projection dimension, and freezing behavior. | required |
1.1.1.2 Notes
The wrapped OpenPoints model is loaded lazily at module construction, not at package import time. Active scorer configs must explicitly own whether this optional path participates in a model.
The adapter makes no stronger symmetry claim than the configured OpenPoints model. Its final spatial mean is order-insensitive, but that alone does not establish graph-isomorphism or rigid-motion invariance for the upstream PointNeXt computation.
1.1.1.3 Methods
| Name | Description |
|---|---|
| train | Switch training mode while keeping frozen OpenPoints weights in eval mode. |
| forward | Encode point clouds into a compact semidense embedding. |
1.1.1.3.1 train
vin.encoders.pointnext.PointNeXtSEncoder.train(mode=True)Switch training mode while keeping frozen OpenPoints weights in eval mode.
1.1.1.3.2 forward
vin.encoders.pointnext.PointNeXtSEncoder.forward(points)Encode point clouds into a compact semidense embedding.
1.1.1.3.2.1 Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| points | Tensor | Tensor["B N 3", float32] or Tensor["B N C", float32] semidense points in the rig frame. When C > 3, the first three channels are XYZ and the remaining channels are treated as per-point features. |
required |
1.1.1.3.2.2 Returns
| Name | Type | Description |
|---|---|---|
| Tensor | Tensor["B out_dim", float32] semidense embeddings. |
1.1.2 PointNeXtSEncoderConfig
vin.encoders.pointnext.PointNeXtSEncoderConfig()Config-as-factory wrapper for PointNeXtSEncoder.
Paths are resolved against aria_nbv.configs.path_config.PathConfig so model configs can store repository-relative external checkpoint references. The target module expects CUDA tensors because OpenPoints PointNeXt-S uses CUDA-only kernels in the configured runtime.
1.1.2.1 Attributes
| Name | Description |
|---|---|
| target_type | Factory target for aria_nbv.configs.base.BaseConfig.setup_target. |
| cfg_path | Path to the PointNeXt YAML config, relative to PathConfig.external_dir. |
| checkpoint_path | Optional pretrained checkpoint (PointNeXt/OpenPoints format). |
| out_dim | Output embedding dimension produced for the semidense point cloud. |
| max_points | Subsample semidense points to this count before encoding. |
| freeze | Whether to freeze PointNeXt-S weights during training. |
| strict_load | Whether to enforce strict checkpoint loading. |