点云的无序性_PointConv: 3D点云卷积 (CVPR 2019)

5214b81be1771b783e8e9bb2d6f5243f.png

如何在点云上执行卷积?点云中点的无序性,以及每个点的位置的随机性,使得在图片上表现出色的卷积操作,不好直接运用到点云上。这篇文章通过学习一个“连续”的卷积核,实现了对点云执行卷积操作。文章、代码地址:

PointConv: Deep Convolutional Networks on 3D Point Clouds​openaccess.thecvf.com https://github.com/DylanWusee/pointconv​github.com

1. 卷积概念回顾、论文核心思想

在《信号与系统》里面,卷积的含义是:系统在t时刻的输出,不仅与系统在t时刻的输入有关,还与它在t时刻之前的输入有关,并且不同时刻的输入,有不同的权重。所以,卷积本质上做的事情是:不同时刻的输入的加权求和。权重是一个关于时间t的连续函数

把以上概念映射到2D图片卷积上:对于2D图片来说,某个位置的输出,不仅与该位置的输入有关,还与此位置周边位置的输入有关,不同位置的输入,具有不同的权重。卷积所做的事情,同样是一个加权求和。由于位置坐标是固定的有限个值,所以,权重是一个关于位置的离散函数。现有的convolution操作实现了这个操作,只是并没有显式的将权重作为一个关于位置的函数,而是直接给每个位置设置一个权重系数。

把以上概念映射到3D点云卷积上:对于3D点云来说,某个位置的输出,不仅与该位置的输入有关,还与此位置点的K个最近的邻居点有关。位置具有随机性,取值空间在3D空间中是连续的。按照卷积的原理,不同位置的权重不同,所以,权重应该是一个关于3D坐标的连续函数。如果能得到这个“连续”的权重函数,就可以解决3D点云上的卷积问题。这大概就是这篇论文的核心思想。

2. 具体实现

5d1f1b4ab5b9c37a2025f296c1568adb.png
PointConv

2.1 权重函数

论文主要通过一个MLP网络来学习出连续的权重函数。以上图中Compute Weight标记的模块,即为学习出权重函数的MLP。主要由两个共享的

层组成。

2.2 密度模块

该模块主要目的是处理点云采样不均的情况。由于卷积本质上是一个加权求和的操纵,如果某些位置的采样点比较密集,而某些位置的采样点比较稀疏,直观感受来看,最终的计算结果主要受到采样密集的位置的点的影响。为了处理这个问题,论文先离线计算出每个点的Density,然后使用一个MLP网络学习出inverse density,来对输入

进行调整(re-weight)。

3. 优化

从内存消耗和运行效率的角度出来,论文对以上网络结构进行了优化,最终结果为:

70db63cb890cb4924d16eed0ce0c032b.png
Efficient PointConv

4. 总结

之前的一些文章通过人工构建一些规则的形状(3D grid、Ball、Shell),先将连续的3D空间离散化,然后模拟2D图片卷积的逻辑来处理3D点云。相对于位置,权重是离散的。

这篇论文从卷积的定义出发,使用MLP学习出不同位置的不同权重,实现了权重的连续性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值