Geo-CNN的三维点云
Geo-CNN的三维点云
Modeling Local Geometric Structure of 3D Point Clouds using Geo-CNN
摘要
深度卷积神经网络(CNNs)的最新进展促使研究人员采用CNNs直接对三维点云中的点进行建模。局部结构的建模已经被证明是卷积结构成功的关键,研究人员在特征提取层次中开发了局部点集的建模。对于局部区域内点间几何结构的显式建模研究却很少。提出GeoCNN,它对每个点及其局部邻域应用一种称为GeoConv的类卷积运算。在提取中心点与相邻点的边缘特征时,捕捉点之间的局部几何关系。将边缘特征提取过程分解为三个正交基,根据边缘向量与基之间的夹角对提取的特征进行聚合。在整个特征提取层次中保持欧几里德空间中的几何结构。GeoConv是一种通用且高效的操作,可轻松集成到多个应用程序的三维点云分析管道中。在ModelNet40和KITTI上评估Geo-CNN,并获得最先进的性能。
创新点
为了解决这些问题,提出了一种新的卷积式操作GeoConv,在特征提取的整个层次中,显式地建模点之间的几何结构。GeoConv应用于每个点及其由半径确定的局部球面邻域。如图1所示,表示两点间几何结构的向量p~q可以分解为三个正交基。通过将边缘特征提取过程分解为三个正交方向,减少点云绝对坐标的方差,鼓励网络沿着每个基独立学习边缘特征;根据边缘向量与基之间的几何关系聚合特征,显式地建立点之间的几何结构模型。这种学习方式在保留几何信息的同时,将复杂的几何结构学习问题分解为简单的几何结构学习问题。最后,为了提取中心点的局部特征,基于p~q范数对局部邻域中所有点的边缘特征进行加权,GeoConv的另一个优点是能够实现特征级的多视图增强。分解聚合方法可以通过操纵角度来重新加权特征,从而在特征层近似点云的旋转。


通过将多层GeoConv与越来越大的邻域进行叠加,构建Geo CNN,通过增加接收域来分层提取特征。通过通道最大值池来聚合所有点的特征,以保持置换不变性。GeoConv是对点的局部几何结构进行建模的通用模块。可以很容易地集成到不同的管道中进行三维点云分析,例如三维形状分类、分割和目标检测。对Geo-CNN的ModelNet40[51]和KITTI[17]进行了评估,并获得了最佳性能状态。
以一组三维点为输入,通过对每个点及其局部邻域应用卷积类运算(GeoConv)来开发局部几何结构。通过增加邻域大小来叠加多个GeoConv层来构建Geo-CNN。逐步扩大卷积的接受域,并抽象出越来越大的局部区域,以分层提取特征并保持沿层次的点的几何结构(如图2的(a)所示)。
B = {(1,0,0),(−1,0,0),(0,1,0), (0,−1,0),(0,0,1),(0,0,−1)}
如图2的(c)所示,六个基将空间分成8个象限,特定象限中的任何矢量都可以由B之外的三个基组成。给定一个相邻点q,定位它所处的象限(将p设为原点来考虑相对坐标系)。将矢量p~q投影到该象限的三个基上,计算p~q与各基之间的夹角(如图2(d)所示)。


表1显示了Geo-CNN和以前的方法之间的比较。Geo CNN在对象分类任务中使用ModelNet401的两个评估指标实现了最新的性能。本文使用最先进的PointNet++[35]实现了类似的性能。


用GeoConv代替v1分割网络中的点网特征提取模块,GeoCNN的截头台性能优于v1和v2截头台。根据[32]发布的代码评估验证集上的截头台v1和v2的性能,它与[32]中报告的性能非常相似。在图4的二维和三维图像上用Geo-CNN可视化截头台的检测结果。
表2显示了KITTI 3D目标检测的评估结果。检测管道的实现基于截锥点网v1,涉及到2D对象检测中的对象建议[36、18、59、26、58]。v1的性能被更复杂体系结构的截头体PointNet v2超越。
如表3所示,直接学习点之间的几何结构或系数以从三维坐标中聚合分解的特征没有帮助。


评估了特征级多视图增强的效果。一种将多视图信息融合到网络学习过程中的简单方法,训练时随机旋转输入点云作为数据增强。在GeoConv中提出的分解-聚集方法,使我们能够在特征层近似三维多视图增强。表5显示了ModelNet40数据集上输入级多视图增强和特征级近似的性能。观察到输入级多视图数据增强导致基线法和Geo-CNN的性能下降。一个可能的原因是,输入级数据的增加会导致不同视图之间的差异很大,而这种差异不能用单一的紧凑模型来正确地学习。另一种可能的解决方案是学习具有不同视图的单独模型,然后将其聚合。多网络模型的复杂性,其灵活性和可扩展性较差。
Geo-CNN的三维点云的更多相关文章
- CVPR2020:训练多视图三维点云配准
CVPR2020:训练多视图三维点云配准 Learning Multiview 3D Point Cloud Registration 源代码和预训练模型:https://github.com/zgo ...
- CVPR2020:端到端学习三维点云的局部多视图描述符
CVPR2020:端到端学习三维点云的局部多视图描述符 End-to-End Learning Local Multi-View Descriptors for 3D Point Clouds 论文地 ...
- CVPR2020:三维点云无监督表示学习的全局局部双向推理
CVPR2020:三维点云无监督表示学习的全局局部双向推理 Global-Local Bidirectional Reasoning for Unsupervised Representation L ...
- 第一周:读取XML深度数据并将其重建为三维点云
本周主要任务:学习PCL点云库,掌握利用PCL对点云处理的方法 任务时间:2014年9月1日-2014年9月7日 任务完成情况:完成了读取单幅xml深度数据,并重建三维点云并显示 任务涉及基本方法: ...
- python读取三维点云球坐标数据并动态生成三维图像与着色
关键步骤: 1.首先通过读取.txt文本数据并进行一系列字符串处理,提取显示所需要的相关数据矩阵 2.然后利用python的matplotlib库来进行动态三维显示 备注:matplotlib在显示2 ...
- Dlib三维点云示例
Dlib三维点云示例 源代码来自Dlib的示例代码http://dlib.net/3d_point_cloud_ex.cpp.html 在windows下需要链接winmm``comctl32``gd ...
- Matlab给三维点云添加高斯噪声和随机噪声
写在前面 在我们进行点云配准一类的模拟实验时,第一步就是对原始点云进行适当的RT变换,并添加一定的噪声,得到测量点云,然后才可以用我们的算法去进行后面的配准操作.在添加噪声这一块,matlab里并没有 ...
- 三维点云去噪无监督学习:ICCV2019论文分析
三维点云去噪无监督学习:ICCV2019论文分析 Total Denoising: Unsupervised Learning of 3D Point Cloud Cleaning 论文链接: htt ...
- python处理点云数据并生成三维点云模型
1.python代码: 1 import numpy as np 2 import matplotlib.pyplot as plt 3 from mpl_toolkits.mplot3d impor ...
随机推荐
- thinkphp5 ztree树形菜单
教程:http://makaidong.com/zjfjava/4074_5873678.html 下载:https://github.com/zTree/zTree_v3
- ThinkPHP5 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php
1.首先修改Apache的httpd.conf文件. 确认httpd.conf配置文件中加载了mod_rewrite.so 模块,加载的方法是去掉mod_rewrite.so前面的注释#号 讲http ...
- Windows核心编程 第27章 硬件输入模型和局部输入状态
第27章 硬件输入模型和局部输入状态 这章说的是按键和鼠标事件是如何进入系统并发送给适当的窗口过程的.微软设计输入模型的一个主要目标就是为了保证一个线程的动作不要对其他线程的动作产生不好的影响. 27 ...
- HackingLab脚本关
目录 1:key又又找不到了 2:快速口算 3:这个题目是空的 5:逗比验证码第一期 6:逗比验证码第二期 7:逗比的验证码第三期(SESSION) 8:微笑一下就能过关了 9:逗比的手机验证码 10 ...
- Python中根据库包名学习使用该库包
目录 Python库包模块 import 语句 from-import 语句 搜索路径 PYTHONPATH 变量 命名空间和作用域 查看模块中所有变量和函数,以及查看具体函数的用法 globals( ...
- Windows核心编程 第十二章 纤程
第1 2章 纤 程 M i c r o s o f t公司给Wi n d o w s添加了一种纤程,以便能够非常容易地将现有的 U N I X服务器应用程序移植到Wi n d o w s中.U N I ...
- Win64 驱动内核编程-13.回调监控模块加载
回调监控模块加载 模块加载包括用户层模块(.DLL)和内核模块(.SYS)的加载.传统方法要监控这两者加在必须 HOOK 好几个函数,比如 NtCreateSection 和 NtLoadDriver ...
- JAVA的安装
1.从JAVA官网 下载 注意选择自己需要的版本 2.百度云盘 链接:https://pan.baidu.com/s/1deOFGN1xB0mgz6s2mTRXdA 提取码:ke97 安装JAVA J ...
- ppt技巧--线条
声明:本文所有截图来源于网易云课堂--<和秋叶一起学PPT>,只做个人复习之用,特此声明! 线条的五种用途:
- 【Tavern】1.tavern测试框架介绍
目录 1. Tavern 和 Postman 2. 安装Python 3. 安装Tavern 4. 第一个测试用例 1. Tavern 和 Postman Tavern是一个用Python实现的接口自 ...