Bootstrap

【基于深度学习方法的激光雷达点云配准系列之GeoTransformer】——粗配准

在模型部分有了初步了解之后, 接下来我们对后续的粗配准、精配准等部分依次进行解读. 本篇主要来看粗配准部分, 代码是在GeoTransformer/experiments/geotransformer.kitti.stage5.gse.k3.max.oacl.stage2.sinkhorn/下面的model.py. 这里再次结合个人理解以及model.py中类GeoTransformer的forward函数, 大概梳理了一下前向传播的WorkFlow, 大家可以参考理解. 每个步骤以单独的颜色表示, 箭头代表输入输出.
在这里插入图片描述

1.coarse_matching

1.1 概要

类GeoTransformer中的coarse_matching实际上是一个SuperPointMatching类的实例(参见下文摘出的代码), 它的超参主要是cfg中的coarse_matching.num_correspondences和coarse_matching.dual_normalization.
这个类中是没有可学习的网络参数的.

        self.coarse_matching = SuperPointMatching(
            cfg.coarse_matching.num_correspondences, cfg.coarse_matching.dual_normalization
        )

在论文中提到, dual_normalization操作, 是特意设计来抑制掉一些不准确匹配,以提高配准性能的, 因此默认是True.
在这里插入图片描述

1.2 功能

对transformer模块提取的ref 特征和 src特征,首先应用mask、移除掉一些空的patch, 然后对计算pair_wise距离, 将该距离转化为matching_scores得分, 输出topk——即前num_correspondences个对应的src点和ref点的索引。

1.3 超参

num_correspondences

1.4 input

        ref_feats:  参考点云中superpoints的特征.
        src_feats:  待配准点云中superpoints的特征.
        ref_masks:  参考点云中superpoints的mask.
        src_masks:  待配准点云中superpoints的mask.

1.5 output

        ref_node_corr_indices:  参考点云中,被选中为corresponding superpoints的 indices.
        src_node_corr_indices:  待配准点云中,被选中为corresponding superpoints的 indices.
        node_corr_scores: corresponding superpoints的score . 对应点的匹配得分
    def forward(self, ref_feats, src_feats, ref_masks=None, src_masks=None):
        r"""Extract superpoint correspondences.

        Args:
            ref_feats (Tensor): features of the superpoints in reference point cloud.
            src_feats (Tensor): features of the superpoints in source point cloud.
            ref_masks (BoolTensor=None): masks of the superpoints in reference point cloud (False if empty).
            src_masks (BoolTensor=None): masks of the superpoints in source point cloud (False if empty).

        Returns:
            ref_corr_indices (LongTensor): indices of the corresponding superpoints in reference point cloud.
            src_corr_indices (LongTensor): indices of the corresponding superpoints in so
;