点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者:不知道叫什么好 | 来源:知乎
https://zhuanlan.zhihu.com/p/139396088
本文仅做学术分享,如有侵权,请联系删除。
点云数据里面,一般会有一些噪点,理论上,这些噪点可能会对具体应用的性能产生影响。本文主要介绍CVPR 2020的一篇处理噪点的论文。文章主要对所有采样点的位置、feature进行调整,减弱噪点的影响,论文将这步称为:Adaptive Sampling(AS);并进一步使用Local-NonLocal(L-NL)来对feature进行增强。
论文地址:https://arxiv.org/pdf/2003.00492.pdf
代码地址:https://github.com/yanx27/PointASNL
1. 噪点在学习点云的feature时,一般使用encoder + decoder的网络结构。在encoder的downsampling过程中,一般使用FPS采样算法来采样。
如上图左图所示,对于一个飞机点云,红圈、蓝圈、绿圈、黄五角星,均表示噪点。当使用FPS进行下采样后,黄色五角星所在的点被采中。直觉上,这个点如果不处理,会对网络性能有所影响。
针对这个问题,论文提出了一个Adaptive Sampling(AS)模块,来实现调整噪点的操作,从而降低噪点对网络性能的影响。
2. Adaptive Sampling(AS)模块首先定义如下符号方便后续描述:
· :表示从某个层用FPS下采样后得到的点集,其中可能包含噪点。
· :表示下采样得到的点集的feature集合。
· :表示下采样得到的点集里面的某个点的坐标和feature。
AS模块首先从上一层的点集合中使用FPS下采样得到 、
。后续的操作流程如下:
2.1 用KNN找邻居点集
用KNN算法,给每个下采样得到的点找K个邻居点。假设点 的邻居点集合为:
,对应的邻居点的feature集合为:
。
2.2 Self-attention增强邻居点feature
主要思路是:对于点 的第
个邻居点,分别计算出它与
的其它邻居点的相关性,然后用softmax计算出一组权重,最后使用权重对
的所有邻居点的feature进行加权求和,得出点
的第
个邻居点的新的feature。直觉上,经过这步处理后,每个邻居点的feature会包含邻域范围内的所有点的一些信息。
具体操作流程如下:
·邻居点坐标normalization:所有邻居点的坐标,减去第一个邻居点的坐标,转成相对于第一个点的相对坐标。
·重新构建邻居点的feature:每个邻居点的相对坐标,与邻居点的feature,拼到一起,得到每个邻居点的新feature。
·用self-attention模式,分别计算出邻居点集的3个feature矩阵:query、key、value。
·用query和key矩阵相乘,并用softmax,得到邻居点之间的attention矩阵。对attention进行scale。
·用attention和value矩阵相乘,得到所有邻居点feature。
以上过程即为论文中的如下公式:
2.3 调整采样点
主要思路是:用增强后的邻居点的feature,通过网络学出以下两个信息:
·邻居点集的feature的每个channel的attention权重向量,然后分别在每个channel上,用对应channel上的attention权重向量,加权求和,得到采样点 调整后的feature。
·邻居点集的坐标的attention权重向量,然后用该attention权重向量,对所有邻居点的坐标加权求和,得到采样点 调整后的坐标。
具体操作流程如下:
·Self-attention后的feature,经过一个多层MLP网络,得出一个新的weight矩阵,该矩阵的维度是:【batch,point_number,neighbor_number,channel+1】。这里额外增加的一个channel是为了后面计算邻居点集的坐标的权重矩阵。
·在以上的neighbor_number维度上,用softmax,计算出邻居点集的每个channel、坐标的权重矩阵。
·用channel维度上的权重矩阵,对邻居点集的feature在每个channel上进行加权求和,得到点 调整后的feature。
·用坐标的权重矩阵,对邻居点集的坐标进行加权求和,得到点 调整后的坐标。
总结:Adaptive Sampling在邻域内,先用Self-Attention进行feature增强,然后用另一种attention在邻域内进行feature、坐标的加权求和,得出所有采样点的feature、坐标。论文认为,这样即可对采样点中包含的噪点进行处理。
3. Local-NonLocal(L-NL)模块该模块通过使用局部、全局信息,进一步对采样所得点的feature进行增强。
3.1 Local
对于每个采样点,Local主要是在每个点的局部邻域范围内,对其邻居点的feature进行融合,计算出一个新的feature。这部分使用了PointConv的思想(连续空间下的卷积操作),将每个邻居点的相对坐标映射为一组卷积操作的系数矩阵,然后用每个邻居点的系数矩阵对其feature进行变换,最后用一个Aggregation操作,将邻居点的feature融合为得到中心点 的local feature。对应的公式为:
其中 是一个MLP网络,将邻居点相对坐标映射为卷积操作的系数矩阵。
(个人认为,这部分代码实现,与文章不符。欢迎读者讨论)
3.2 NonLocal
NonLocal本质上是使用Self-Attention,对每个采样所得点,在整个点云范围内进行feature融合,为每个采样点计算出一个包含全局信息的feature。流程图如下:
其中:
·Query Points:用FPS在前一层点云中采样,并用Adaptive Sampling调整后所得的点云feature;
·Key Points:前一层点云的feature。
3.3 feature融合
除了Local、NonLocal两个分支外,代码中其实还有一个skip connection的分支。对于每个采样所得点,该分支直接对采样点的邻居点的feature执行max_pool,最后通过一个1d convolution给每个采样点计算出来一个新的feature。
最后将local、nonlocal、skip-connection三个分支的feature加到一起,再用一个1d convolution对feature的channel进行变换,得到每个采样点的feature。
4. 网络结构以segmentation为例:
·每个下采样操作,相当于FPS -> Adaptive Sampling -> Local-Nonlocal
·每个上采样操作,相当于Up-Sampling -> Local-Nonlocal
总体结果如下图所示:
读完文章、代码,会发现:
·本文的核心是Adaptive Sampling、Local-NonLocal
·Adaptive Sampling的核心是Self-Attention、Attention
·Local-NonLocal的核心是Self-Attention、PointConv
对Self-Attention、PointConv有疑惑的读者,请参考:
·Non-local Neural Networks (CVPR 2018)文章地址:https://zhuanlan.zhihu.com/p/129925437
·PointConv: 3D点云卷积 (CVPR 2019)
文章地址:https://zhuanlan.zhihu.com/p/99863795
总体上,这篇文章演示了如何融合local、global范围内的feature,进行feature增强。比较特别的是,作者从“噪点“这个角度作为文章的出发点,如此一来,就有别于其它点云feature融合的文章了。
从代码的角度看,源码“融合“了多篇文章的代码:PointNet++, PointConv, KPConv, ... 如果之前看过相关源码,理解本文应该不会太难。
推荐阅读:
-
专辑|相机标定
-
专辑|3D点云
-
专辑|SLAM
-
专辑|深度学习与自动驾驶
-
专辑|结构光
-
专辑|事件相机
-
专辑|OpenCV学习
-
专辑|学习资源汇总
-
专辑|招聘与项目对接
-
专辑|读书笔记
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近1000+星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题