FlowNet3D
Liu 2019 · 论文
一句话总结 — 首个针对点云的端到端深度3D场景流网络,以PointNet++为骨干网络,采用新颖的流嵌入层和集合上采样卷积层,为每个点预测一个3D运动向量。
问题
机器人与人机交互需要理解动态环境中点的3D运动——即场景流——但此前大多数方法都是从立体或RGB-D图像中估计场景流,很少有方法直接在点云上工作。LiDAR点云是稀疏、无序且无网格结构的,因此标准CNN(以及图像空间的光流架构)都不适用;此前的点云处理流程使用手工设计的特征,并依赖刚性或对应关系假设。FlowNet3D要解决的问题是:如何从原始点云对中端到端地学习每个点的3D运动。
方法与架构
给定点云 和 ,其中 (无对应关系,且尺寸可能不同),需要为第一帧的每个点预测流 。该网络包含三个模块——点特征学习、点混合、流细化——由三种层构建而成:
- 集合卷积层(PointNet++的集合抽象操作):最远点采样出 个区域中心 ,并用一个对称函数聚合每个半径为 的邻域
其中 是一个MLP,MAX是逐元素最大池化——由此在不规则数据上得到分层且平移不变的几何特征。
- 流嵌入层(新层#1):对于第一帧的每个点 ,硬对应关系很少存在,因此该层从其邻域内所有第二帧的点中聚合”流投票”:
将两个点的特征都送入 (而不是使用固定的特征距离)使网络能够学习如何为候选位移 赋权。之后这些嵌入会通过更多的集合卷积层进行混合以获得空间平滑性(较大的感受野可以解决诸如平移桌面上的点这类模糊情形)。
- 集合上采样卷积层(新层#2):与集合卷积层公式相同,但在指定的目标位置而非采样中心处求值,学习将流嵌入向上传播回全部 个原始点——依据特征关系而非3D插值中的反距离权重来加权邻居。
最终架构为4个集合卷积层、1个流嵌入层、4个集合上采样卷积层(带跳跃连接),以及一个回归 流的线性层。训练使用smooth-流监督,外加对由变形点云预测出的反向流 的循环一致性项:
其中 。推理时,对点云进行多次(10次)随机重采样运行,并对预测的流取平均以降低采样噪声。
实验结果
- FlyingThings3D(20,000个训练对/2,000个测试对,由视差+光流生成点云;指标为3D EPE和准确率):相比基于图像的深度图FlowNet-C、全局ICP基线以及早期/后期/深度混合点云基线,EPE明显更低、准确率显著更高。消融实验表明:最大池化明显优于平均池化;学习到的双特征 优于余弦距离变体(误差降低11.6%);集合上采样卷积优于3D插值(流误差降低20%);重采样和循环一致性带来进一步提升。
- KITTI场景流(150帧LiDAR数据,模型仅在合成数据上训练):相较此前基于RGB-D方法中的最优方法PRSM,相对3D EPE降低了63%,误差也低于全局ICP和分割ICP基线——展示了强大的仿真到真实的泛化能力。加入地面点后,FlowNet3D+ICP在EPE上超过PRSM,在100个真实扫描上微调后效果进一步提升。
- 应用:稠密场景流被用于部分扫描配准(比容易陷入局部最优的ICP更稳健),以及用于运动分割,能够干净地将移动的汽车与地面和静态物体分离。
对SLAM的意义
FlowNet3D开创了基于点云的深度场景流估计,这正是LiDAR SLAM系统检测和处理动态物体的方式——将移动的车辆和行人与建图应依赖的静态结构分离开来。它为无序点集设计的软对应层影响了一大批后续工作(PointPWC-Net、FLOT、FastFlow3D),并在RGB-D一侧与基于图像的场景流方法(如RAFT-3D)互为补充;其配准和运动分割演示预示了SLAM系统正是如此使用场景流的。
相关条目
- FlowNet — 其名称继承自的2D光流先驱方法
- RAFT-3D — 具有刚性运动结构的RGB-D场景流方法
- RAFT — 现代稠密2D对应关系骨干网络
- LiDAR — 产生该方法所处理点云的传感器
- 3D-3D correspondence — 该网络所软化处理的经典匹配问题