【点云系列】LPD-Net: 3D Point Cloud Learning for Large-Scale Place Recognition and Environment Analysis

本文主要是介绍【点云系列】LPD-Net: 3D Point Cloud Learning for Large-Scale Place Recognition and Environment Analysis,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 简介
  • 2. 动机
  • 3. 方法
    • 整体网络架构
    • Adaptive Local Feature Extraction模块:
    • Feature Transformation:
    • 基于图的聚合模块:
  • 4. 实验
    • 实验效果:
    • 消融实验
  • 5. 参考

1. 简介

一句话介绍:相比较PointNetVLAD,包含了传统局部特征编码+基于学习的局部编码。
会议:ICCV 2019
论文:https://openaccess.thecvf.com/content_ICCV_2019/papers/Liu_LPD-Net_3D_Point_Cloud_Learning_for_Large-Scale_Place_Recognition_and_ICCV_2019_paper.pdf
代码:https://github.com/Suoivy/LPD-net

2. 动机

针对局部特征提取,采用 自适应局部特征提取模块+ 基于图的邻居聚合模块

直接基于原始3D点云提取具有区分性和泛化性的全局特征。

3. 方法

整体网络架构

包括三个部分:

  1. 特征提取模块。其实就是加了 Local Feature Extraction部分进行了拼接。
  2. 基于图的邻居聚合模块。 基于DGCNN,动态图的构建。
  3. NetVLAD特征编码模块,与PointNetVLAD当中的NetVLAD一样。
    在这里插入图片描述

Adaptive Local Feature Extraction模块:

考虑到对于每个点的局部3D结构,会计算其最近的k个邻近点的影响。因此使用3D位置协方差矩阵来作为局部结构张量。

不失一般性的,假设这个对称的正定协方差矩阵有3个特征值:
λ 1 i ≥ λ 2 i ≥ λ 3 i ≥ 0 \lambda^i_1 \geq \lambda^i_2 \geq \lambda^i_3 \geq 0 λ1iλ2iλ3i0
那么根据[24],可以通过香浓熵理论的某个方面来描述局部结构的不确定性:
在这里插入图片描述
其中, L i = λ 1 i − λ 2 i λ 1 i L_i = \frac{\lambda^i_1 - \lambda^i_2}{\lambda^i_1} Li=λ1iλ1iλ2i, P i = λ 2 i − λ 3 i λ 1 i P_i =\frac{\lambda^i_2 - \lambda^i_3}{\lambda^i_1} Pi=λ1iλ2iλ3i, S i = λ 3 i λ 1 i S_i=\frac{\lambda^i_3}{\lambda^i_1} Si=λ1iλ3i 分别代表 每个点对应局部邻域的共线,共面,散射特征,这些特征分别描述了点 i i i的 1维、2维、和3维的局部结构。

由于点云当中点的分布是均匀的,我们通过最小化 E i E_i Ei每个点的临近点来确定出最优的邻居点:
在这里插入图片描述
适合描述大场景下的局部特征可以描述为以下四类:

  1. 基于特征值的3D特征( F 3 D F_{3D} F3D
  2. 来自于3D点云到水平面的映射特征( F 2 D F_{2D} F2D
  3. 法向量( F V F_V FV)
  4. 基于直方图统计Z-axis satistics( F z F_z Fz

根据[24]证明到
F 3 D F_{3D} F3D F V F_V FV以及 F z F_z Fz对于大场景3D场景分析问题非常有效;
F 2 D F_{2D} F2D F Z F_Z FZ对于自动驾驶类人物当中的大场景定位问题非常有效;

本文当中,考虑到特征的冗余性与可区分性,为每个点选取了一下10个局部特征来描述局部分布和结构信息:

  • F 3 D F_{3D} F3D特征:
    曲率变化 C i = λ 3 i ∑ j = 1 3 λ j i C_i=\frac{\lambda^i_3}{\sum^3_{j=1} \lambda^i_j} Ci=j=13λjiλ3i
    Omni方差 O i = ∏ j = 1 3 λ j i 3 ∑ j = 1 3 λ j i O_i=\frac{\sqrt[3]{\prod^3_{j=1}\lambda^i_j}}{\sum^3_{j=1}\lambda^i_j} Oi=j=13λji3j=13λji
    共线 L i = λ 1 i − λ 2 i λ 1 i L_i = \frac{\lambda^i_1 - \lambda^i_2}{\lambda^i_1} Li=λ1iλ1iλ2i
    特征值熵 A i = − ∑ j = 1 3 ( λ j i l n λ j i ) A_i=-\sum^3_{j=1}(\lambda^i_j ln\lambda^i_j ) Ai=j=13(λjilnλji)
    局部点的密度 D i = k o p t i 4 3 ∏ j = 1 3 λ j i D_i=\frac{k^i_{opt}}{\frac{4}{3} \prod^3_{j=1} \lambda^i_j} Di=34j=13λjikopti

  • F 2 D F_{2D} F2D特征
    2D散射特征: S i , 2 D = λ 2 D , 1 i + λ 2 D , 2 i S_{i,2D}=\lambda^i_{2D,1}+\lambda^i_{2D,2} Si,2D=λ2D,1i+λ2D,2i
    2D线性特征: L i , 2 D = λ 2 D , 2 i λ 2 D , 1 i L_{i,2D}= \frac{\lambda^i_{2D,2}}{\lambda^i_{2D,1}} Li,2D=λ2D,1iλ2D,2i,这里的 λ 2 D , 1 i \lambda^i_{2D,1} λ2D,1i λ 2 D , 2 i \lambda^i_{2D,2} λ2D,2i表示2D协方差矩阵对应的特征值

  • F V F_V FV特征
    法向量 V i V_i Vi的垂直分量

  • F Z F_Z FZ特征
    最大高度残差: △ Z i , m a x \triangle Z_{i,max} Zi,max
    高度变量: σ Z i , v a r \sigma Z_{i,var} σZi,var

Feature Transformation:

包括三种结构来体现局部特征间的关联性:如图3所示

  1. FN-原始结构: 两路输出分别是特征 f F f_F fF与使用KNN在 f F f_F fF上操作的其近邻关系 F R F_R FR
  2. FN-串联结构:两路输出分别是:经过Transform Net[11]的特征 f F T f_{FT} fFT与其KNN最近邻 f R T f_{RT} fRT
  3. FN-并行结构:两路输出分别是: 特征 f F f_F fF与其近邻关系 f R T f_{RT} fRT(与FN-串联结构中的同)。

消融实验验证了,FN-并行结构是最好的。
在这里插入图片描述

基于图的聚合模块:

与物体级别的点云不同,3D大场景中总是包括几类局部结构:面、角、边等,且具有相似的局部结构。因此采用基于图神经网络来聚合关联性,如下图4所示。
在这里插入图片描述
特征聚合: 特征空间笛卡尔坐标空间。如下图5所示:
特征空间

  • 对每个点 i i i通过多次KNN迭代,构建动态图 G i , d G_{i,d} Gi,d,可以简单看成DGCNN。
  • 其中边的定义为 e i j m = p i − p j m , m = 1 , 2 , . . . k . e^m_{ij}=p_i - p^m_j,m=1,2,... k. eijm=pipjmm=1,2,...k.
  • MLP:更新边关联性
  • 最大池化:聚合k个边属性到一个特征点上 p i p_i pi
  • 由于基于图特征的学习,因此 两个点的特征+笛卡尔空间的距离可以聚合起来 捕获相似的语义信息,说的什么意思呢,就是基于图的局部结构可以表达局部语义信息。
    在这里插入图片描述

聚合结构如图6所示,3种模式:

  • 平行拼接: 特征+ 关联性
  • 平行最大池化拼接: max(特征+关联性
  • 串联拼接: 关联性由聚合后的特征获取

实验表明,串联拼接效果最好。
在这里插入图片描述

4. 实验

实验效果:

效果比之前的缺失好很多
在这里插入图片描述
确实耗时
在这里插入图片描述

消融实验

看上去adaptive的k确实是最好的
在这里插入图片描述

这个消融实验是为了说明选取不同框架的效果,可以看到用 串联模式FN-SF是最佳的。
而特征关联性则是并联效果比较好。
在这里插入图片描述
在这里插入图片描述

5. 参考

暂无

这篇关于【点云系列】LPD-Net: 3D Point Cloud Learning for Large-Scale Place Recognition and Environment Analysis的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/187160

相关文章

Spring Cloud GateWay搭建全过程

《SpringCloudGateWay搭建全过程》:本文主要介绍SpringCloudGateWay搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Spring Cloud GateWay搭建1.搭建注册中心1.1添加依赖1.2 配置文件及启动类1.3 测

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

Python使用Matplotlib绘制3D曲面图详解

《Python使用Matplotlib绘制3D曲面图详解》:本文主要介绍Python使用Matplotlib绘制3D曲面图,在Python中,使用Matplotlib库绘制3D曲面图可以通过mpl... 目录准备工作绘制简单的 3D 曲面图绘制 3D 曲面图添加线框和透明度控制图形视角Matplotlib

SpringCloud负载均衡spring-cloud-starter-loadbalancer解读

《SpringCloud负载均衡spring-cloud-starter-loadbalancer解读》:本文主要介绍SpringCloud负载均衡spring-cloud-starter-loa... 目录简述主要特点使用负载均衡算法1. 轮询负载均衡策略(Round Robin)2. 随机负载均衡策略(

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring Cloud之注册中心Nacos的使用详解

《SpringCloud之注册中心Nacos的使用详解》本文介绍SpringCloudAlibaba中的Nacos组件,对比了Nacos与Eureka的区别,展示了如何在项目中引入SpringClo... 目录Naacos服务注册/服务发现引⼊Spring Cloud Alibaba依赖引入Naco编程s依

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服