这篇论文先举例子解释了为什么卷积无法直接应用在点云数据上。

如图1, 传统的卷积是作用在2维图像数据上。图像中每个像素的顺序是固定的,也就是说数据是结构化存储的。直接使用conv2d就能从这种潜在的空间结构中获取信息。

而点云数据是点集,如果直接使用卷积会出现图中234多种情况

若直接使用卷积,则f2与f3的计算结果是相等的,但是从图中可知,23显示不同,这说明卷积无法获得点的空间信息

而f3与f4的计算结果不等,但是图3与图4是相同的点集,必须得到相同的计算结果才合理,这说明卷积无法适应点集的N!种排列。

在其他论文里,为了适应点云数据的这两种的特点采取的方式有体素化、3DCNN及PointNet提的对称操作(symmetric,这个翻译是我自己译的)
版权声明:本文为CSDN博主「Link2Link」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_15602569/article/details/79560614


卷积神经网络(Conv)能够很好利用原始数据的在空间上的局部相关性(Spatially-local correlation),这也正是卷积神经网络在各种分割或者分类任务中取得成功的关键。正是如此,作者设想是否能效仿卷积神经网络来很好的利用点云(Point Cloud)的空间上的局部相关性,这将在点云分割和分类上取得很大的成功。所以这篇文章的重点就在于怎么利用这种相关性。
版权声明:本文为CSDN博主「JMU-HSF」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42956785/article/details/86586513


首先,根据采样得到的中心点,将全局坐标变为局部坐标,相当于分区。(点的数量如何确定?)

o 利用MLP将每个点变换到高维空间(一维卷积),得到F-sigma

o Concat特征F(输入的每个点的附加特征,比如color或者normal)和F-sigma,得到新的特征F*

o 对每个局部区域中的点使用MLP,得到变换矩阵X。这里可以注意一下,得到变换矩阵X的过程,输入是P'(一组坐标点),输出是变换矩阵X。文中的消除实验表明,X变换的确是有效果的

o 对特征F*使用X进行变换后,在进行传统的卷积(1维)。作者是希望通过X变换,把特征F*变成空间相关,也就是希望矩阵中相邻的在空间中也相邻,这样就可以像图像一样卷积了。

最后的Conv是一维卷积。可以看到X-Conv中所用的都还是一维卷积,不管是MLP还是Conv,作者在论文的脚注部分也提到了,代码中也可以确认这一点。所以,作者用CNN做类比还是不太合适,唯一的共同点是尺寸的点的数量是由多变少,CNN中图像尺寸也是由大到小
o 一个区域的点是怎么变成一个中心点的特征的?在PointNet++中,作者是对每一个局部区域进行Maxpool得到一个一维的向量作为中心点的特征,在pointCNN中并没有使用maxpool。在本文中,最后一步使用了(1,K)的卷积核进行卷积,对每个区域中不同点的特征进行了融合,而在pointnet中,这一步是通过每个点对应维数的最大值,个人觉得,这是两者之间最大的不同,可能也是导致结果差别的主要原因,但这只是猜测,后续还需要进行实验验证。在这一一步中,为了减少参数量,作者使用了深度可分离卷积,

作者:摸鱼家
链接:https://zhuanlan.zhihu.com/p/89752154
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


https://blog.csdn.net/qq_33278989/article/details/80047252

pointcnn的更多相关文章

  1. PointCNN 论文翻译解析

    1. 前言 卷积神经网络在二维图像的应用已经较为成熟了,但 CNN 在三维空间上,尤其是点云这种无序集的应用现在研究得尤其少.山东大学近日公布的一项研究提出的 PointCNN 可以让 CNN 在点云 ...

  2. 论文笔记:(NIPS2018)PointCNN: Convolution On X-Transformed Points

    目录 摘要 一.2D卷积应用在点云上存在的问题 二.解决的方法 2.1 idea 2.2 X-conv算子 2.3 分层卷积 三.实验 3.1分类和分割 3.2消融实验.可视化和模型复杂度 总结 仍存 ...

  3. 3D点云的深度学习

    使用卷积神经网络(CNN)架构的深度学习(DL)现在是解决图像分类任务的标准解决方法.但是将此用于处理3D数据时,问题变得更加复杂.首先,可以使用各种结构来表示3D数据,所述结构包括: 1  体素网格 ...

  4. 转载:点云上实时三维目标检测的欧拉区域方案 ----Complex-YOLO

    感觉是机器翻译,好多地方不通顺,凑合看看 原文名称:Complex-YOLO: An Euler-Region-Proposal for  Real-time 3D Object Detection ...

  5. CVPR2020:4D点云语义分割网络(SpSequenceNet)

    CVPR2020:4D点云语义分割网络(SpSequenceNet) SpSequenceNet: Semantic Segmentation Network on 4D Point Clouds 论 ...

  6. CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL)

    CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL) PointASNL: Robust Point Clouds Processing Using Nonlocal N ...

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

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

  8. 论文笔记:(2021CVPR)PAConv: Position Adaptive Convolution with Dynamic Kernel Assembling on Point Clouds

    目录 摘要 1.引言 2.相关工作 将点云映射到常规二维或三维栅格(体素) 基于MLPs的点表示学习 基于点卷积的点表示学习 动态卷积和条件卷积 3.方法 3.1 回顾 3.2 动态内核组装 Weig ...

  9. 论文笔记:(2019)GAPNet: Graph Attention based Point Neural Network for Exploiting Local Feature of Point Cloud

    目录 摘要 一.引言 二.相关工作 基于体素网格的特征学习 直接从非结构化点云中学习特征 从多视图模型中学习特征 几何深度学习的学习特征 三.GAPNet架构 3.1 GAPLayer 局部结构表示 ...

随机推荐

  1. WPF Datagrid 动态生成列 并绑定数据

    原文:WPF Datagrid 动态生成列 并绑定数据 说的是这里 因为列头是动态加载的 (后台for循环 一会能看到代码) 数据来源于左侧列 左侧列数据源 当然num1 属于临时的dome使用  可 ...

  2. CF1244F Chips

    题目链接 problem 有一个长度为\(n\)个点连成的环.每个点为黑色或白色.当一个点和与他相邻的两个点颜色不同时.该点的颜色就会改变. 问改变\(K\)次后每个点的颜色. solution 发现 ...

  3. AFO!

    \(update:2019-12-13\) 成绩已经出了,我的OI生涯也算是正式结束了.虽然成绩并不满意,但好在也是收获了一个省一(虽然我不一定用).总的来说,作为正式选手不到两年半的OI之路走得并不 ...

  4. Python程序中的进程操作-进程间通信(multiprocess.Queue)

    目录 一.进程间通信 二.队列 2.1 概念介绍--multiprocess.Queue 2.1.1 方法介绍 2.1.2 其他方法(了解) 三.代码实例--multiprocess.Queue 3. ...

  5. ReactNative: ReactNative初始项目的结构

    一.介绍 初学RN,一切皆新.在上篇中成功地创建并运行了一个React-Native项目,这个demo的基本结构都是系统已经创建好的,开发者在此结构下完成自己的开发即可.分别用Xcode和WebSto ...

  6. 使用Kafka建立可靠的高性能分布式消息传递基础结构

    在优锐课学习中了解到,我们可以看到实施资源适配器以将Kafka与企业Java解决方案集成.码了很多专业的相关知识, 分享给大家参考学习. 由于世界已经变得移动化,因此应用程序现在必须实时提供数据. 不 ...

  7. jTessBoxEditor训练识别库

    1.背景 前文已经简要介绍tesseract ocr引擎的安装及基本使用,其中提到使用-l eng参数来限定语言库,可以提高识别准确率及识别效率. 本文将针对某个网站的验证码进行样本训练,形成自己的语 ...

  8. 如何将两个/多个PDF文件合并成一个?

    原文链接:https://docsmall.com/blog/how-to-merge-pdf 工作中我们总会遇到将PDF合并的问题,比如: 多次扫描的PDF文件,需要合并到一个 PDF文件需要追加一 ...

  9. CRF 详细推导、验证实例

    逐帧softmax CRF主要用于序列标注问题,可以简单理解为是给序列中的每一帧都进行分类,既然是分类,很自然想到将这个序列用CNN或者RNN进行编码后,接一个全连接层用softmax激活,如下图所示 ...

  10. 【转】理解ASP.NET Core验证模型(Claim, ClaimsIdentity, ClaimsPrincipal)不得不读的英文博文

    这篇英文博文是 Andrew Lock 写的 Introduction to Authentication with ASP.NET Core . 以下是简单的阅读笔记: -------------- ...