FlowNet3D: Learning Scene Flow in 3D Point Clouds学习笔记(CVPR2019)
文章目录
1 摘要
动态环境中点的三维运动信息被称为场景流。文章提出了一种新的深度神经网络FlowNet3D用于从点云获得场景流。网络同时学习点云的深度层次特征(deep hierarchical features)和代表点的运动的flow embeddings特征。论文使用FlyingThings3D数据集和KITTI的激光雷达扫描数据进行实验。
2 概述
输入到网络的是从一个动态的三维场景中采样的两组点(连续的两帧)。
难点:由于对象运动和视点的变化,这两点云不一定具有相同数量的点,其点之间没有确切的对应关系。
经过网络处理,输出描述第一帧中所有点移动情况的向量。
文章的主要贡献:
- 提出新型网络结构——FlowNet3D,用于在两帧连续的点云中估计场景流
- 在点云上引入两个新的学习层:
- flow embedding layer:用于关联两个点云,给出flow embedding特征
- set upconv layer:将特征向量从一组点扩展到另一组点(用于升采样获得整个点云场景流数据)
- 在KITTI数据集上使用FlowNet3D网络,与传统方法相比,在三维场景流估计任务中取得了显著的进步。
3 网络结构
point feature learning
使用了PointNet++结构中的一层, feature learning layer
该层对输入点云进行降采样,使用最远点采样算法采样出 n ′ n' n′个区域(区域中心为采样点,标记为 x ’ j x’_j x’j),然后对于每个区域(采样点的邻域,由半径r指定),它用以下函数提取其局部特征:
point mixture
基本思路:t帧和t+1帧两帧之间没有确切对应关系,可以在t+1帧中找到多个柔和对应的点,并做出“加权”决策获得t帧的场景流信息。
Flow Embedding Layers使用点的(几何)特征的相似性和空间关系,以产生flow embedding。
输入是两帧点云 p i p_i pi和 q i q_i qi,它们分别包括点的坐标和每个点的特征向量(由feature learning layer得到),输出是 p i p_i pi内所有点的坐标和每个点的flow embedding
工作过程:
-
对于t帧中的点 p i p_i pi,在t+1帧中定位其邻域中的点 q j q_j qj
-
使用一个神经网络来聚合来自所有 q j q_j qj的流
h代表神经网络,MAX是一个最大值池化层(element-wise max pooling)
flow refinement
引入set upconv layer对结果进行升采样,将部分点的运动信息转化到整个点云上
输入:源点集(包括点的坐标和特征,特征中含有flow embedding信息)、目标点集(一组点的坐标)
输出:对于目标点集中的每个点,给出包含flow embedding的特征向量
本层的描述可借用等式1
但是采样算法不是最远点采样,而是使用加权的方法聚合多个点的特征
Network Architecture
four set conv layers, one flow embedding layer and four set up conv layers and a final linear flow regression layer
4 训练与预测
Training loss with cycleconsistency regularization.
smooth L1 loss & cycle-consistency regularization.
Inference with random re-sampling
下采样会在预测结果中引入噪声
策略:重采样,多次运行,平均场景流
5 实验
5.1 在 FlyingThings3D数据集上的实验
评估指标
使用三维终点误差(EPE)和估计精度(ACC)作为评估指标。
EPE:计算预测向量和真实向量之间的 L 2 L_2 L2距离
ACC:超出指定终点区域的流向量被认为是误判
对比实验
FlowNet-C:
- 输入: depth images or RGB-D images
- 很难正确预测场景流,因为杂物和强遮挡
ICP:
- a single rigid transform for the entire scene:针对整个场景的单次刚体变换
- 对于场景中的单个移动物体无能为力
EM-baseline:在一开始就混合两个点云,使用一个特殊向量标记区分两个点云
LM-baseline:先计算两个点云的全局特征,然后连接这一特征作为混合点云的方式
DM-baseline:采用插值的方式传播点的特征
Result
Ablation studies
- 最大值池化比平均池化有显著的优势,可能原因是受噪声影响较小
- 尝试了使用feature distance functions,效果有提升
- 发现多次重采样和cycle-consistency regularization (with λ = 0*.*3)对网络性能有提升
5.2 Generalization to Real Lidar Scans in KITTI
使用了多种模型,在两种情况下进行试验
对比组
-
LDOF+depth:使用 variational model(变分模型)获得光流,并将深度作为一个额外的特征维度。
-
OSF:假设物体为刚体,在 superpixels上使用discrete-continuous CRF
-
PRSM: energy minimization on rigidly moving segments,对多个属性进行联合估算
-
ICP(global):对整个场景进行单次刚体运动估计
-
ICP(segmentation):分块进行刚体运动估计
result
去除地面
未去除地面
可以发现地面对所有方法的检测精度都有影响,在这种情况下PRSM的离群值比更加领先(因为其输入为图片),FlowNet3D的EPE更优。针对激光雷达对模型进行微调,FlowNet3D的性能甚至得到了提升(最后一列)
与二维的光流法相比较,论文的方法在场景流估计方面显示出很大的优势,三维终点误差和三维离群值比显著较低
综上所述,FlowNet3D可以准确地估计动态物体的流量,如移动的车辆和行人。
6 应用
- 3D Scan Registration
- Motion Segmentation