泡泡点云时空,带你精读点云领域顶级会议文章
标题:FlowNet3D:Learning Scene Flow in 3D Point Clouds
作者:Xingyu Liu Charles R. Qi Leonidas J. Guibas
来源:arxiv
编译:周志
审核:徐二帅,吕佳俊
欢迎个人转发朋友圈;其他机构或自媒体如需转载,后台留言申请授权
摘要
机器人或人机交互的应用,都可以从理解动态环境中点的三维运动中获益,这种运动被广泛称为场景流。以往的方法大多以立体像对和RGB-D图像作为输入,很少直接从点云中估计场景流。在本文中,我们提出了一种新型的深度神经网络FlowNet3D,它以端到端的方式从点云中学习场景流。我们的网络同时学习点云的深层次特征和表示点运动的流嵌入,支持两个新提出的点集学习层。我们通过来自FlyingThings3D的合成数据和来自KITTI的真实激光雷达扫描数据评估了网络。仅在合成数据的基础上,我们的网络成功地推广到实际扫描中,优于各种基线,并显示出与现有技术相比具有竞争力的结果。我们还将场景流应用到两个应用程序(扫描配准和运动分割),展示出了其潜在的广泛使用价值。
主要贡献
提出一种名为FlowNet3D的新架构,它可以从一对连续的点云上以端到端的方式估计场景流。
在点云上引入两个新的学习层:一个flow embedding层,学习关联两组点云;一个set upconv层,学习将特征从一组点传播到另一组点。
展示如何将提出的FlowNet3D架构应用到KITTI的真实激光雷达扫描中,与传统方法相比,我们在三维场景流估计方面取得了很大的提升成果。
网络架构
FlowNet3D是一个点云端到端的场景流估计网络。该模型具有(1)点特征学习、(2)点混合和(3)流改进三个关键模块。这些模块分别对应三个关键的深度点云处理层:set conv层、flow embedding层和set upconv层。
图1 点云端到端的场景流估计。我们的模型直接使用两个连续帧中的原始点云,并输出第一帧中所有点的稠密场景流(平移向量)。
图2 用于点云处理的三个可训练层。左:set conv层,学习深层点云特征。中间:flow embedding层,学习两组点云之间的几何关系来推断运动。右:set upconv层,以可学习的方式向上采样和传播点特征。
图3 FlowNet3D架构。给定两帧点云,该网络学习预测场景流作为第一帧每个点的平移运动矢量。
FlowNet3D架构由四个set conv层、一个flow embedding层和四个set upconv层(对应于四个set conv层)和一个输出预测场景流的最终线性流回归层组成。
实验
1、FlyingThings3D上的评估与设计验证
表2表示了在FlyingThings3D数据集上的场景流估计结果。指标是场景流的终点误差(EPE)、ACC(<0.05或5%、<0.1或10%)。
表3表示了FlowNet3D的几种设计选择的效果。比较前两行,我们可知最大值池化比平均值池化更具明显优势,这可能是因为最大值池化在选择对应点时更具有选择性,并且受噪声的影响更小。从第2行到第4行,我们将我们的设计与使用特征距离函数、余弦距离及其非标准化版本(点积)的替代方法进行比较,我们的方法获得了最好的性能,与使用余弦距离相比,误差减少了11.6%。由第4行和第5行可知,我们新提出的set upconv层显著降低了20%的错误流。最后,我们发现在推断(倒数第2行)和使用循环一致性正则化(with=0:3)进行训练时,多次重新采样(10次)进一步提高了性能。最后一行表示FlowNet3D的最终配置。
2、推广到KITTI中真实激光扫描
我们使用KITTI场景流数据集[18,17],它是为基于RGB立体图像方法的评估而设计的。为了评估基于点云的方法,我们使用了它的地面真实标注,并跟踪与该帧关联的原始点云。由于没有为测试集(以及训练集的一部分)提供点云,所以我们在训练集的150帧图像中提取了可用点云进行评估。此外,为了与之前的方法[8]保持公平的比较,我们首先在去除地面点的激光雷达扫描上评估我们的模型,如表4所示。然后,我们用包括地面点在内的完整激光雷达扫描数据得出另一组结果,如表5所示。
在表4中,我们将FlowNet3D与现有技术进行了比较,后者针对2D光流以及点云上的两个ICP基线进行了优化。与基于二维图像的方法相比[5,17,31],我们的方法在场景流估计方面显示出了很大的优势—实现了明显较低的三维终点误差(相对于[31]减少63%)和三维离群比。我们的方法也优于依赖全局场景刚性和分割正确性的两种ICP基线。此外,我们得出结论,尽管我们的模型只在合成数据上训练,但却能很好地推广到真实的激光雷达点云中。
在表5中,我们呈现了使用带有地面点云的完整激光雷达扫描的结果。我们还使用100帧图像对我们在激光雷达扫描上的FlowNet3D模型进行微调,并使用其余50帧进行测试。我们看到,包括地面点在内的所有方法都受到了负面影响。但我们的方法仍然优于ICP基线。采用分割地面点的ICP估计流加上其余点的网络估计流(FlowNet3D+ICP),也可以在EPE上打败现有技术(PRSM)。由于地面点流估计方法与基于图像输入的方法相比更加友好,因此PRSM在离群比方面更好。通过在激光雷达扫描上微调FlowNet3D,我们的模型甚至获得了更好的结果(最后一列)。
3、应用程序
三维扫描配准
点云配准算法(如ICP)通常依赖于找到两个点集之间的对应关系。然而,由于扫描的偏差,往往没有直接对应关系。我们的模型通过预测移动后的点云1的场景流与原始点云1找到自然的对应关系,因此可以用来估计它们之间的刚体运动。
如图6所示,在局部扫描中,当ICP处在局部最小值时,基于场景流的配准比ICP方法更具鲁棒性。
运动分割
在激光雷达点云中估计的场景流也可以用于场景的运动分割—根据场景的运动将场景分割成不同的对象或区域。在图7中,我们展示了在KITTI场景中运动分割的结果,我们根据它们的坐标和估计的场景流向量对激光雷达点进行聚类。我们可以看到,不同移动的汽车、场地和静态对象被清晰地分割开来。
Abstract
Many applications in robotics and human-computer interaction can benefit from understanding 3D motion of points in a dynamic environment, widely noted as scene flow. While most previous methods focus on stereo and RGB-D images as input, few try to estimate scene flow directly from point clouds. In this work, we propose a novel deep neural network named FlowNet3D that learns scene flow from point clouds in an end-to-end fashion. Our network simultaneously learns deep hierarchical features of point clouds and flow embeddings that represent point motions, supported by two newly proposed learning layers for point sets. We evaluate the network on both challenging synthetic data from FlyingThings3D and real Lidar scans from KITTI. Trained on synthetic data only, our network successfully generalizes to real scans, outperforming various baselines and showing competitive results to the prior art. We also demonstrate two applications of our scene flow output (scan registration and motion segmentation) to show its potential wide use cases.
如果你对本文感兴趣,想要下载完整文章进行阅读,可以关注【泡泡机器人SLAM】公众号。
欢迎来到泡泡论坛,这里有大牛为你解答关于SLAM的任何疑惑。
有想问的问题,或者想刷帖回答问题,泡泡论坛欢迎你!
泡泡网站:www.paopaorobot.org
泡泡论坛:http://paopaorobot.org/forums/
泡泡机器人SLAM的原创内容均由泡泡机器人的成员花费大量心血制作而成,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!
商业合作及转载请联系liufuqiang_robot@hotmail.com