当前位置:网站首页>文章解读 -- FlowNet3D:Learning Scene Flow in 3D Point Clouds
文章解读 -- FlowNet3D:Learning Scene Flow in 3D Point Clouds
2022-08-02 08:00:00 【Darchan】
文章解读 – FlowNet3D:Learning Scene Flow in 3D Point Clouds
参考:
1. FlowNet3D: Learning Scene Flow in 3D Point Clouds学习笔记(CVPR2019)
2. FlowNet3D论文阅读
3. FlowNet3D论文学习笔记
4. “FlowNet3D”
一. 摘要
机器人和人机交互技术中的许多应用都受益于动态环境中 3D 运动的理解,广泛称为场景流
。虽然大多数以前的方法都专注于立体视觉和 RGB-D 图像,将这些作为输入,但很少有人尝试直接从点云估计场景流。在这项工作中,我们提出了一种名为 FlowNet3D 的新型深度神经网络,它以端到端
的方式从点云中学习场景流。我们的网络同时学习点云的深层层次特征和表示点云运动的流嵌入(flow embedding),由两个新提出的针对点云的学习层支持。我们根据来自 FlyingThings3D
的具有挑战性的合成数据和来自 KITTI
的真实激光雷达扫描来评估网络。我们仅在合成数据上进行训练,便成功地推广到真实激光雷达数据,优于各种基线算法,并显示出与现有技术相媲美的结果。我们还展示了场景流输出的两个应用(点云配准和运动分割),以展示其潜在的广泛应用。
二. 介绍
我们提出了一个名叫FlowNet3D
的新颖网络,能够端到端的针对一对连续帧点云进行场景流估计。
我们在点云上引入了两个新的学习层:
- 流向量映射层(flow embedding):学习关联两帧点云,给出flow embedding特征
- set up conv层:将特征向量从一组点扩展到另一组点(用于升采样获得整个点云场景流数据)
我们展示了如何使用提出的 FlowNet3D, 使用大规模合成数据集(FlyingThings3D)进行训练,并将其应用在KITTI 的真实点云数据集上。与传统方法相比,在 3D 场景流估计方面取得了很大的改进。
三. 问题描述
动态采样的两组3D点云场景,在两个连续的时间帧:P = {xi|i =1, . . . , n1} (点云 1) 和 Q = {yj|j = 1, . . . , n2}(点云 2),其中 xi, yj ∈ R3 是 点云XYZ 坐标。 注意由于物体运动和视角变化,两个点云不一定有相同数量的点或它们的点之间有任何对应关系。
现在考虑一个采样后的真实点坐标xi 在第二帧移动到位置 x′ i ,则该点的平移运动矢量为 di = x′ i - xi。 我们的目标是,给定点云 P 和 Q,恢复第一帧中的每一个采样点的场景流:D = {di|i = 1, . . . , n1}
。
四. 网络结构
在本节中,我们将介绍 FlowNet3D,这是一种基于点云的端到端场景流估计网络。 该模型具有三个关键模块,分别用来 :
- (1) 点云特征学习
- (2) 点云信息混合
- (3) 点云流上采样
这些模块包含三个关键的深度点云处理层:设置conv层、flow embedding层和设置upconv层。
4.1 层次点云特征学习
set abstraction = sampling + grouping + pointnet
由于点云是一组不规则且无序的点的集合,传统的卷积不适合。 因此我们遵循最近提出的 PointNet++ 架构,它是一个具有平移不变性的分层学习特征的网络。 虽然设置conv 层 进行 3D 的分类和分割,我们发现它的特征学习层对于场景流任务也很有优势。
该层首先对输入点云进行最远距离采样,得到 n’ 个区域(区域中心为 x′ j),然后对每个区域分组(由半径r指定的邻域),最后使用对称函数提取其局部特征。
4.2 点云信息混合
点云,你没法知道前一帧的采样点到了下一帧是哪一个点,甚至由于采集的稀疏性和遮挡等问题,可能下一帧都没有相同语义的点,所以很难去找到真正对应的点。于是作者提出使用软策略
,也就是找一些相似的点,采用投票
方法给出场景流估计。
4.3 点云流上采样
引入set upconv layer对结果进行上采样,将部分点的运动信息转化到整个点云上。
本层将 flow embedding 层中的点上采样回原来输入网络的个数,每个输出代表该点的场景流。
边栏推荐
猜你喜欢
2022-7-31 12点 程序爱生活 恒指底背离中,有1-2周反弹希望
3D激光slam:LeGO-LOAM---地面点提取方法及代码分析
Biotin - LC - Hydrazide | CAS: 109276-34-8 | Biotin - LC - Hydrazide
MySQL之创建表的基本操作
BGP solves routing black hole through MPLS
第3周学习:ResNet+ResNeXt
如何将项目部署到服务器上(全套教程)
Button to control the running water light (timer)
研发过程中的文档管理与工具
HCIP第二天
随机推荐
如何将项目部署到服务器上(全套教程)
flutter解决键盘和输入框不适配问题
Biotin-EDA|CAS:111790-37-5| 乙二胺生物素
Visual Analysis of DeadLock
五款优秀免费的在线抠图工具
原型模式
flutter 参数传一个范型数据
按键控制流水灯(计时器)
用C写小游戏(三子棋)
WebRTC系列-SDP之编码信息收集
小说里的编程 【连载之二十四】元宇宙里月亮弯弯
多版本node的安装与切换详细操作
(Note)阿克西斯ACASIS DT-3608双盘位硬盘阵列盒RAID设置
Mysql各个大版本之间的区别
轴流式水轮机隐私政策
ip地址那点事(二)
redis高阶使用之Redisson分布式锁源码解析
Postgres horizontal table, automatically create partitions, table by time
OneNote 教程,如何在 OneNote 中创建更多空间?
数据表格化打印输出