作者:千百度
点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
概要
论文: Fully Convolutional Geometric Features
标签: ICCV 2019; feature, match, registration
作者: Christopher Choy,Jaesik Park, Vladlen Koltun
机构: Stanford University, POSTECH, Intel Labs
论文、代码地址:在公众号「3D视觉工坊」,后台回复「ICCV2019」,即可直接下载。
从点云中提取几何特征是配准、重建、跟踪等应用的第一步。SOTA的方法往往需要计算底层特征作为输入或者提取基于patch的有限感受野的特征。在本论文中,作者提出了FCGF(Fully-Convolutional Geometric Features),它通过全卷积网络一次计算得到点云特征;作者还提出了新的度量学习损失,可以显著提升性能。FCGF是紧凑的,同时捕获了广泛的空间上下文,并可扩展到大型场景。论文中在室内数据集和室外数据集均进行了验证,FCGF在不需要预处理时达到了SOTA精度,同时比其它精确的办法快600倍,而且结构是紧凑的(32维)。
一、论文的出发点和贡献
在许多点云配准、跟踪和场景流估计(scene flow estimation)任务中,寻找几何点对应(geometric correspondences)关系是一个关键的步骤。因此,大量的工作集中在设计具有区分性的3D特征,进而建立对应关系。
早期的3D特征描述主要依赖于人工设计的特征描述子,如SHOT、FPH和FPFH等,这些局部描述子可以区分局部几何特征。最近,注意力逐渐转向了基于深度学习的三维特征,比如PPF-FoldNet(ECCV 2018),PPFNet(CVPR 2018)和3DFeat-Net(ECCV 2018)等。之前的这些工作中存在一些问题:
- 提取小的3D patch,将其映射到低维空间。这不仅限制了感受野,而且计算效率也很低,因为即使对于重叠的三维区域,网络的中间表示也都是单独计算的。
- 使用昂贵的底层几何特征作为输入降低了特征计算的速度。
- 只对一些interest points提取特征,导致分辨率(点的数量)下降,因此降低了后续的配准精度。
全卷积网络是高效的,因为它们在具有重叠感受野的神经元之间共享中间激活(intermediate activations)。此外,全卷积网络中不是直接操作小的patch,因此神经元具有更大的感受野。而且,全卷积网络产生密集的输出,这非常适用于详细描述场景的任务。
尽管全卷积网络具有这些优点,但由于三维数据的特点,全卷积网络并没有广泛应用到三维几何特征的提取。卷积网络用于3D数据时,标准输入是一个四维的数据(x, y, z, f): 三个空间维度(x, y, z)和一个特征维度f。但大多数三维体素都是空的,导致这种表示占用内存较大。
在论文中,作者采用一种稀疏tensor来表示3D数据,采用Minkowski卷积代替传统卷积,提出了ResUNet用于提取输入点云中每个点的特征,另外提出了新的loss用于全卷积度量学习。该网络不需要数据预处理(提取简单特征),也不需要patch的输入,而且能够产生具有SOTA区分性的高分辨率特征。作者在3DMatch数据集和KITTI数据集中验证了FCGF(Fully Convolutional Geometric Features)的表示能力和提取特征的速度,实验结果如Figure 1。
二、论文的方法
论文中的数据表示和卷积操作主要基于MinkowskiEngine,这里不详细介绍,更多信息请查看MinkowskiEngine主页。
2.1 点云数据的稀疏表示
MinkowskiEngine把点云表示成两部分: 坐标矩阵和特征矩阵F。
2.2 稀疏点云数据的卷积
2.3 网络模型的架构
论文中的模型架构ResUNet是一种U-Net类的网络架构,在编码和解码部分均包括残差结构,在解码和编码之间通过skip连接来增强特征的表达能力,如Figure 2所示。
- 残差结构: Res = [(Conv + Bn + ReLU) + (Conv + Bn)], Output = ReLU(input + Res(input)),其中的Conv, Bn, ReLU操作均为稀疏数据的卷积,即Minkowski下的卷积操作。
- 编码: 包括N(Figure2中N=3)个(Conv + Bn + Res)结构,kernel size一般设置为3,第一个Conv中的stride=1,其他Conv的stride一般设置为2。
- 解码: 包括N(数量同编码部分)个(transposed Conv + Bn + Res)结构,除了第一个transposed Conv结构外,其他transposed Conv结构的输入均是encoder和decoder进行concat后的tensor。同时,最后一个transposed Conv中的kernel size为1,stride为1,其它的transposed Conv中的kernel size均为3,stride均为2。
- 特征提取层: Conv(kernel size=1, stride=1),其后无Bn和ReLU结构。
- 官方代码: https://github.com/chrischoy/FCGF/blob/master/model/resunet.py
ResUNet架构中的MinkowskiEngine下的Conv, Bn, ReLU, transposed Conv换成常规的2D图像下面的对应操作,就是一个很普通的网络架构,关于MinkowskiEngine的一些基础知识和代码实践欢迎参https://zhuanlan.zhihu.com/p/304117161。
2.4 损失函数
·Loss实现和采样策略的源码: https://github.com/chrischoy/FCGF/blob/master/lib/trainer.py
2.5 训练
优化器是SGD,初始学习率0.1,指数衰减学习率(γ=0.99)。Batch size设置为4,训练100个epoches。在训练时对数据采用随机scale(0.8 - 1.2)和随机旋转(0-360°)的增强。
三、论文的实验
3.1 数据集
- 3DMatch(内容较多,请查阅https://github.com/zhulf0804/3D-PointCloud/tree/master/3DMatch)
- KITTI
3.2 评估指标
3.3 实验结果
主要介绍3DMatch数据集上的实验结果。
- 精度和速度
作者在3DMatch测试集中比较了FCGF与传统方法和深度学习方法的性能,如Table 1所示,第1列是方法名称,第2列是FMR值(及其标准差),第3列是在旋转的3DMatch数据集中的FMR值(及其标准差),第4列表示特征描述子的维度和提取特征的时间。从表中可以看到,FCGF提取特征的速度快,特征简洁(只有32维),在3DMatch数据集和旋转增强的3DMatch数据集均有最高的FMR。
在3DMatch测试集中Registration recall的比较如Table 5所示,FCGF在7个场景和平均情况下均达到了最高的Registration recall。
- Ablation Study
作者测试了不同loss下的性能,实验结果如Table3所示。由表格可以看到,对于contrastive Loss,normalized feature比非normalized feature要好,hardest-contrastive loss比常规(随机的)contrastive loss结果要好,同时可以观察到hardest-contrastive loss是所有loss中结果是最好的。对于triplet loss,normalized feature比非normalized feature要差,这个结论和contrastive loss中是相反的;hardest-triplet loss要比常规(随机的)triplet-loss结果要好,但其容易导致collapse。综合对比,hardest-contrastive loss在3DMatch数据集中是最好的。
- 可视化
FCGF特征的t-SNE显示如Figure 5所示。
四、总结
1.论文基于MinkowskiEngine实现了点云的全卷积网络,点云和卷积等采用稀疏表示,优化了显存。
2.作者提出了hardest-contrastive loss和hardest-triplet loss,利用点云数据中的correspondences实现了特征的有效学习,并通过哈希的方式加快了生成二元组和三元组的速度。
3.不足: 基于MinkowskiEngine的神经网络在量化点云时会丢掉部分点云信息。
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2
在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。
下载3
在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。
重磅!3DCVer-学术论文写作投稿 交流群已成立扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。▲长按加微信群或投稿▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款 圈里有高质量教程资料、可答疑解惑、助你高效解决问题觉得有用,麻烦给个赞和在看~