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的三维点云的更多相关文章

  1. CVPR2020:训练多视图三维点云配准

    CVPR2020:训练多视图三维点云配准 Learning Multiview 3D Point Cloud Registration 源代码和预训练模型:https://github.com/zgo ...

  2. CVPR2020:端到端学习三维点云的局部多视图描述符

    CVPR2020:端到端学习三维点云的局部多视图描述符 End-to-End Learning Local Multi-View Descriptors for 3D Point Clouds 论文地 ...

  3. CVPR2020:三维点云无监督表示学习的全局局部双向推理

    CVPR2020:三维点云无监督表示学习的全局局部双向推理 Global-Local Bidirectional Reasoning for Unsupervised Representation L ...

  4. 第一周:读取XML深度数据并将其重建为三维点云

    本周主要任务:学习PCL点云库,掌握利用PCL对点云处理的方法 任务时间:2014年9月1日-2014年9月7日 任务完成情况:完成了读取单幅xml深度数据,并重建三维点云并显示 任务涉及基本方法: ...

  5. python读取三维点云球坐标数据并动态生成三维图像与着色

    关键步骤: 1.首先通过读取.txt文本数据并进行一系列字符串处理,提取显示所需要的相关数据矩阵 2.然后利用python的matplotlib库来进行动态三维显示 备注:matplotlib在显示2 ...

  6. Dlib三维点云示例

    Dlib三维点云示例 源代码来自Dlib的示例代码http://dlib.net/3d_point_cloud_ex.cpp.html 在windows下需要链接winmm``comctl32``gd ...

  7. Matlab给三维点云添加高斯噪声和随机噪声

    写在前面 在我们进行点云配准一类的模拟实验时,第一步就是对原始点云进行适当的RT变换,并添加一定的噪声,得到测量点云,然后才可以用我们的算法去进行后面的配准操作.在添加噪声这一块,matlab里并没有 ...

  8. 三维点云去噪无监督学习:ICCV2019论文分析

    三维点云去噪无监督学习:ICCV2019论文分析 Total Denoising: Unsupervised Learning of 3D Point Cloud Cleaning 论文链接: htt ...

  9. python处理点云数据并生成三维点云模型

    1.python代码: 1 import numpy as np 2 import matplotlib.pyplot as plt 3 from mpl_toolkits.mplot3d impor ...

随机推荐

  1. 洛谷P1423 小玉在游泳

    题目描述 小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦.已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%.现在小玉想知道,如果 ...

  2. POJ1722二维spfa+优先队列优化

    题意:      给你一个有向图,然后求从起点到终点的最短,但是还有一个限制,就是总花费不能超过k,也就是说每条边上有两个权值,一个是长度,一个是花费,求满足花费的最短长度. 思路:       一开 ...

  3. Windows系统应急响应

    Windows 系统的应急事件,按照处理的方式,可分为下面几种类别: 病毒.木马.蠕虫事件 Web 服务器入侵事件 或 安装的第三方服务入侵事件. 系统入侵事件,如利用 Windows 的漏洞攻击入侵 ...

  4. Windows核心编程 第五章 作业(上)

    第5章 作 业 通常,必须将一组进程当作单个实体来处理.例如,当让 Microsoft Developer Studio为你创建一个应用程序项目时,它会生成 C l . e x e,C l . e x ...

  5. 将大量ASCII码值转换成字符函数CHR()的小技巧

    一.在学习命令执行漏洞的过程中,遇到以下情况: 当服务器上传不了马或者马被过滤的时候,我们可以迂回一下,通过执行写马命令到服务器,在服务器里面写马,该命令是通过ascii编码过的命令,防止被过滤. 1 ...

  6. 【hugo】- hugo 博客 添加鼠标单击特效

    hugo 博客 监听鼠标点击事件,添加动画效果 js下载 链接:https://pan.baidu.com/s/1SZu76WdEXRxLCfqJ2lbbtQ 密码:r056 移入hugo博客中 打开 ...

  7. 在AWS Glue中使用Apache Hudi

    1. Glue与Hudi简介 AWS Glue AWS Glue是Amazon Web Services(AWS)云平台推出的一款无服务器(Serverless)的大数据分析服务.对于不了解该产品的读 ...

  8. Activity,Tasks

    常见的一些Activity的打开方式: //1.拨打电话 // 给移动客服10086拨打电话 Uri uri = Uri.parse("tel:10086"); Intent in ...

  9. 解决docker镜像无法删除的问题

    发现问题 来自守护进程的错误响应:冲突:无法删除050f26b6caca(必须强制) - 映像在多个存储库中被引用 Error response from daemon: conflict: unab ...

  10. 集成Spring Data JPA

    1.Spring Data JPA简介 Spring Data是一个用于简化数据访问,并支持云服务的开源框 使用完成Spring Data JPA对user表的CRUD操作. 2.步骤 1.创建工程勾 ...