前言:,本公众号将持续点云深度学习最近的相关文章,这个系列从CVPR2017的PointNet开始,主要总结顶会的相关文章,不会全文翻译,只总结重要的点。
PointNet
(PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation)
(作为第一个直接处理点云的深度学习框架,相关介绍太多了,不再赘述)
输入是包含n个点的三维点云(nx3) , 原始数据通过一个3D 空间变换矩阵预测网络 T-Net(3),估计出3x3的变换矩阵T(3) 并作用在原始数据上,实现数据的对齐。对齐后的数据会以点为单位,通过一个共享参数的双层感知机模型进行特征提取 。每个点提取出64维的特征,再通过特征空间变换矩阵预测网络 T-Net(64) 预测64x64的变换矩阵,作用到特征上,实现对特征的对齐。然后继续利用三层感知机(64,128,1024)进行以特征点为单位的特征提取,直到把特征的维度变为1024,继而在特征空间的维度上进行Max Pooling,提取出点云的全局特征向量
PointNet++
(PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space)
文章要解决的两个问题
怎么划分这个点云集合
采用Farthest Point Sampling(FPS)算法,原理: 先随机选一个点,然后呢选择离这个点距离最远的点加入起点,然后继续迭代,直到选出需要的个数为止。(Sampling layer)采用Ball query分组算法,原理: 给定中心点,把给定半径内的点都包括进来,同时给定邻居点个数。相比KNN,Ball query保证了一个固定的区域尺寸,所以比KNN更加geralizable across space,更适合于需要局部特征的任务。(Grouping layer)
怎么组合点云集的局部特征
local region中的坐标首先被转换到相对于中点的坐标系中,使用相对坐标系,我们可以捕获到局部区域中点到点的关系。使用PointNet作为局部特征学习器作为一个基础的结构部件,PointNet要在局部点集中抽取特征,或者把特征组合成更高层表示,所以PointNet++递归地使用PointNet在一个嵌套划分的输入点云集合上。(PointNet layer) 但是存在采样不均匀密度的问题。在低密度的地方可能会丢失局部信息,所以还需要增大尺度,所以提出了 density adaptive PointNet layers。主要采用以下两种方式解决
Multi-scale grouping (MSG):每个尺度使用PointNet,然后将多尺度特征融合到一起。但是计算量比较大。
Multi-resolution grouping (MRG):MRG特征由两个向量组成,左边的使用区域抽象层汇总每个子区域的特征,右边的使用PointNet直接处理所有原始点数据。当局部区域密度低时,左边的特征不如右边的可靠,因为它包含更加稀疏的点,并且更多收到了采样的影响。
另一方面,当时局部区域密度高时,左边的向量提供了更精细的细节信息,因为它具有在较低层次递归地检查更高分辨率的能力。
整体框架
set abstraction: 主要分为上面提到的Sampling layer、Grouping layer 和PointNet layer通过多个set abstraction,最后进行分类和分割:
分类:将提取出的特征使用PointNet进行全局特征提取
分割:NL-1是集合抽象层的输入,NL是集合抽象层的输出。NL是采样得到的,NL-1肯定大于等于NL。在特征传播层,将点特征从NL传递到NL-1。根据NL的点插值得到NL-1,采用邻近的3点反距离加权插值。将插值得到的特征和之前跳跃连接的特征融合,在使用PointNet提取特征
总结
给一片点云,PointNet++会先对点云进行采样(sampling)和划分区域(grouping),在各个小区域内用基础的PointNet网络进行特征提取(MSG、MRG),不断迭代。对于分类问题,直接用PointNet提取全局特征,采用全连接得到每个类别评分。对于分割问题,将高维的点反距离插值得到与低维相同的点数,再特征融合,再使用PointNet提取特征
参考链接
https://blog.csdn.net/sunfei05/article/details/80451808
https://blog.csdn.net/qq_15332903/article/details/80261951
https://www.cnblogs.com/lainey/p/8625141.html
THE END AND
中秋节快乐
注意
以上内容如有错误或者需要补充的,请留言!同时欢迎大家关注微信公众号,积极分享投稿,做到大家一起分享,拒绝只做个伸手党!或者加入3D视觉微信群或QQ交流群,一起交流分享! 投稿或联系群主邮箱:dianyunpcl@163.com
另外现有点云深度学习论文共读小组开放报名,由博士组长带领组员定期交流分享!有意者可私信群主。且招募其他点云方向的小组组长。有意者请报名。
原创不易,转载请联系群主,注明出处