opr.models.registration package

Module for Registration models.

opr.models.registration.geotransformer

GeoTransformer model for registration.

Paper: https://arxiv.org/abs/2202.06688

Code is adopted from original repository: https://github.com/qinzheng93/GeoTransformer, MIT License

class opr.models.registration.geotransformer.GeoTransformer(model: DictConfig, backbone: DictConfig, geotransformer: DictConfig, coarse_matching: DictConfig, fine_matching: DictConfig)[source]

Bases: Module

GeoTransformer model for registration.

forward(query_pc: Tensor, db_pc: Tensor, gt_transform: Tensor | None = None) Dict[str, Any][source]

Define the computation performed at every call.

Should be overridden by all subclasses.

Note

Although the recipe for forward pass needs to be defined within this function, one should call the Module instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.

class opr.models.registration.geotransformer.KPConvFPN(input_dim: int, output_dim: int, init_dim: int, kernel_size: int, init_radius: float, init_sigma: float, group_norm: int)[source]

Bases: Module

Feature Pyramid Network with KPConv backbone.

forward(feats: Tensor, data_dict: Dict[str, List]) List[Tensor][source]

Define the computation performed at every call.

Should be overridden by all subclasses.

Note

Although the recipe for forward pass needs to be defined within this function, one should call the Module instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.

opr.models.registration.hregnet

Implementation of HRegNet point cloud registration model.

class opr.models.registration.hregnet.HRegNet(*args: Any, **kwargs: Any)[source]

Bases: HRegNet

HRegNet: A Hierarchical Network for Large-scale Outdoor LiDAR Point Cloud Registration.

Paper: https://arxiv.org/abs/2107.11992 Code is adopted from the original repository: https://github.com/ispc-lab/HRegNet, MIT License

extract_features(pc: Tensor) Dict[str, Tensor][source]
forward(query_pc: Tensor, db_pc: Tensor | None = None, db_pc_feats: Dict[str, Tensor] | None = None) Dict[str, Any][source]