USIP evaluation及可视化(Google Colab+jupyter notebook实现)

本文介绍了如何在Google Colab上使用预训练的USIP模型进行点云关键点提取的评价过程。通过修改源码,实现了在本地Jupyter Notebook中的可视化展示。USIP是一种无监督的点云特征点提取方法,通过FPN网络进行特征学习。文章详细讲述了数据准备、源码修改、环境配置和结果可视化等步骤。
摘要由CSDN通过智能技术生成

最近学习了jiaxin老师的USIP论文,该论文提出一种使用无监督方法提取特征点的网络。论文中设计了特征点提取网络detector、和特征描述网络descriptor。

我的尝试

小编尝试利用其训练好的detector做了一下evaluation。由于网络需使用GPU,所以小编尝试在google colab上运行得到关键点,并通过修改代码保存其输入的原点云,在本地使用jupyter notebook进行可视化。

USIP实验简介

USIP实验中训练了3个网络,分别针对outdoor Lidars, RGB-D scans and object models三种测试场景,对应使用的数据集分别是Oxford 、RGB-D reconstruction dataset和ModelNet40 。

由于oxford数据集大小超出了我google drive的容量,我选择利用作者提供的针对modelnet数据集训练好的模型,进行关键点提取.

USIP简介

(已经学习过USIP论文的可以跳过。)
这是USIP detector的整体框架。思路很简单:输入点云两份,一个是原点云,一个是经过旋转平移变换的点云,通过FPN网络得到关键点Q和每个关键点的不确定程度Σ,通过最小化两个Loss: LC和LP来训练网络。其中,LC使得两个输入点云提取的关键点尽可能一致,LP使得关键点与原点云的距离尽可能接近。在这里插入图片描述
其FPN网络的具体实现,根据下面的示意图,分为几个步骤:
在这里插入图片描述

  1. 结点初始化:X是原点云,S是使用FPS随机sample的结点,共M个结点。

  2. Point_to_node clustering:对点云中的每一个点,选择其最近的结点,得到M个“聚类”,每个聚类点数不同,但所有点都有归属。(如图1处,每个矩形里面是一个“类”)

  3. 局部中心化1:每个聚类中的点坐标减去结点坐标。

  4. 提特征1:M个聚类分别通过PointNet,得到M个Local Feature G(M×C1)

  5. KNN:注意和第1步不同,在特征空间分别对M个向量求KNN(M×K×C1)

  6. 局部中心化2:对每个向量,其K个近邻分别与其相减

  7. 提特征2:M个聚类分别通过PointNet,得到M个Local Feature H(M×C2)

  8. 估计关键点坐标和不确定程度:通过MLP降维后得到关键点坐标矩阵Q(M×3)和不确定程度向量Σ(M×1)

  9. 去中心化:估计的关键点坐标加上对应的node坐标

值得注意的是,结点数M即为提取的关键点数,该参数与第5步KNN层的参数K都会影响关键点提取的感受野。

USIP evaluation

1.数据准备

USIP的源码GitHub地址:

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值