《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou

留个笔记自用

Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clouds

做什么

首先先得理解点云是什么
点云的概念:点云是在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合,在获取物体表面每个采样点的空间坐标后,得到的是点的集合,称之为“点云”(Point Cloud)。
点包含了丰富的信息,包括三维坐标X,Y,Z、颜色、分类值、强度值、时间等等,不一一列举。《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
一般的3D点云都是使用深度传感器扫描得到的,可以简单理解为相比2维点,点云是3D的采样
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou

做了什么

《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
这里提出的方法是用无监督的方法解决点云学习问题,简单来说这里假设网络学习能解决两个问题,第一个是从单个部分推理整个对象,第二个是从全局表示推理详细结构,二者的共同点就是假设一个对象它整体的属性和部分的属性是存在共享的(相比于现有的大部分学习点云的方式都是特征提取自动编码器这种)

怎么做

《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
首先是第一个问题,Local to Global即局部至全局
这里设计的方法也很简单,就是常见的自监督的方法,首先先是将输入进行一个特征提取,分为两种,一种是直接进行全局语义提取的全局特征,还有一种是通过提取到的局部特征映射到一个全局特征,然后衡量一下由局部至全局的特征和直接提取的全局特征之间的差异
所以接下来,首先是要将A全局特征和B全局特征映射到同一个特征空间下,这样才能进行对比。《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
这里定义局部特征为f,就是上面从PointNet++中提取出来的各层特征
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
全局特征为g
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
定义一个prediction network ϕ(MLP)来将二者映射到同一空间下
同维度后,接下来就是需要进行二者的比对,常见的比对方法就是直接计算二者之间的差异值然后最小化,即
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
这里f和g就是上面提的局部特征和全局特征,ϕ就是映射函数,但这里不采用这个方法,因为论文里说这个目标可能导致将所有输入映射到常数值的退化表示,因为它有一个映射函数,所以无论输入如何全部映射至(0,0,0,0)这种,这不是想要的结果
所以重新设置了一个LOSS
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
这里的gk是训练时的batch,batch size是m,也就是不同的点云集合,简单来说,这里利用的就是从训练batch中其他的点云中抽取出来的全局特征,为了保证当前局部转全局的特征A与当前点云直接提取的全局特征B的相似度更高(相比于其他点云)
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
这里的理解就跟上面类似了。M是局部特征的数量
除此之外这里还说整了个跟人脸识别的metric learning类似的学习,将特征放置于一个超球体上,将prediction network的结果norm化也就是scale后再计算相似度
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
这里是借鉴了论文《SphereFace: Deep Hypersphere Embedding for Face Recognition》论文的想法,大致去csdn上看了看别人的解释
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
大致意思就是说这里定义了一个新的softmax loss,在原softmax的基础上增加了一个变量m,产生了角度距离,结果表明这个角度距离可以使得特征具有可判别性
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
而增加了这个角度距离后,对比的空间就换成了超球体
然后是第二个问题,Global to Local即由全局推出局部细节问题
直观地说,由于局部到全局的推理只监督局部表示接近全局表示,因此全局表示的质量是至关重要的,其实意思就是前面的两者对比中,我们必须要保证的是从点云中直接提取的全局特征要靠谱,不然无法监督局部转全局的特征是否合理, 于是们提出了一个辅助的全局到局部的推理任务来监督网络来共同学习有用的表示
于是乎,设计了两个模块来保证效果
首先是Self-Reconstruction即自重建模块,就是一种广泛用于无监督点云表示学习的技术,这里采用了另外一篇论文《 Foldingnet: Point cloud auto-encoder via deep grid deformation》里的baseline结构的decoder将规范的2d grid变形到以全局表示g为条件的点云的3D坐标上
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
这里的LOSS叫Chamfer Loss,D(g)是对全局特征的decoder,也就是x是还原点云的点坐标,p是GT点云的点坐标(这里就是全局),二者进行直接对比
然后是第二个模块,Normal Estimation法向量估计模块
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
这里的做法是将点坐标p和映射后的全局特征直接concat起来,经过一个σ(MLP)来提取特征后计算它的方向与p法向量的方向差异,这里采用的是cos计算角度差异
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou
最终,两个问题的LOSS叠加
《论文阅读》Global-Local Bidirectional Reasoning for Unsupervised Representation Learning of 3D Point Clou

总结

1.很简单的一个自监督的思路,效果看起来别样的好,可能是在超球体这一部分有一些独特性,局部全局的结合模型也已经见怪不怪了