3D点云完美匹配
3D点云完美匹配
The Perfect Match: 3D Point Cloud Matching with Smoothed Densities
地址链接:
代码链接:https://github.com/zgojcic/3DSmoothNet
摘要
提出三维平滑网,一个完整的工作流程来匹配三维点云与siamese深度学习架构和全卷积层使用体素化平滑密度值(SDV)表示。后者按兴趣点计算,并与局部参考坐标系(LRF)对齐,以实现旋转不变性。紧凑、学习、旋转不变的三维点云描述符在3DMatch基准数据集[49]上实现了94.9%的平均召回率,在仅32个输出维度的情况下,其性能超过最新水平20%以上。这种非常低的输出维度允许在标准PC上对每个特征点进行0.1毫秒的近实时对应搜索。SDV、LRF和学习具有完全卷积层的高描述性特征,本文用传感器和场景诊断。在建筑物的RGB-D室内场景上训练的3d smoothnet在室外植被的激光扫描上达到79.0%的平均召回率,比最近的、以学习为基础的竞争对手[49、17、5、4]的性能提高了一倍以上。
贡献
提出了一种新的用于三维点云匹配的紧凑学习局部特征描述子,该描述子计算效率高,性能显著优于现有的所有方法。
一个主要技术创新是平滑密度值(SDV)体素化,是一种新的输入数据表示方法,适用于标准深度学习库的完全卷积层。SDV的增益是两倍。一方面,它减少了稀疏性输入体素网格,在反向传播过程中有更好的梯度流动,同时减少边界效应,以及平滑由于局部参考帧(LRF)估计错误而导致的小的未对准。另一方面,模拟了深层网络通常在第一层学习的平滑,节省了学习高度描述性特征的网络容量。
其次,提出了一个具有完全卷积层的暹罗网络结构,学习一个非常紧凑的、旋转不变的3D局部特征描述。这种方法生成低维、高度描述性的特征,这些特征概括了不同的传感器模式以及从室内到室外的场景。
此外,证明了低维特征描述符(只有16或32个输出维)极大地加快了对应搜索的速度,从而允许实时应用。
工作流程如下(图2和3):
(i)给定两个原始点云。
(ii)计算随机选择的兴趣点周围球面邻域的LRF。
(iii)将邻域转换为其规范表示。
(i v)借助高斯平滑对其进行体素化。
(v)推断每个点的局部特征使用3DSmoothNet的描述符,例如,用作基于RANSAC的健壮点云注册管道的输入。
与手工制作的特征表示不同,SDV体素网格表示为输入提供了几何信息结构,能够利用卷积层来捕获点云的局部几何特征(图5)。
网络架构(图3)受到L2Net[36]的启发,L2Net是一个最先进的学习型局部图像描述符。3DSmoothNet由堆叠的卷积层组成,在一些卷积层中应用2步(而不是最大池)来向下采样输入[33]。除最后一层外,所有卷积层后面都是批量标准化[14]并使用ReLU激活函数[22]。
在3DMatch数据集的点云碎片上训练3dsmouthNet(图3)[49]。这是一个RGB-D数据集,由62个真实的室内场景组成,从办公室和酒店房间到桌面和卫生间。从数据集池[41、32、19、39、3]获得的点云被分成54个场景进行训练,8个场景进行测试。每一个场景被分割成若干部分重叠的片段,其地面真值转换参数为T。
表中总结了与3DMatch数据集的最新实验评估结果的比较。图4所示为1(左)和2个hard数据集。
一般目标是以最低的输出维度(即3dsmouthNet最后一个卷积层中的滤波器数目)实现最高的匹配性能,以减少运行时间并节省内存。首先进行测试,以找到3dsmouthNet描述符匹配性能和效率之间的一个很好的折衷方案。随着输出尺寸的增加,3dsmouthNet的性能很快开始饱和(图6)。当使用超过64个维度时,只有边际改进(如果有的话)。决定只对16维和32维的3DSmoothNet进行进一步的实验。
增大输入比τ2=0.2显著减少RANSAC迭代到≈850,大大加快处理速度。评估了与所有其他测试方法相比,逐渐增加的内联比如何改变3DSmoothNet的性能(图7)。当τ2=0.2时,所有其他方法的平均召回率都低于30%,而(16)(蓝色)和(32)(橙色)的召回率分别高达62%和72%。只要3dsmouthNet替换现有的描述符,任何基于描述符的点云注册管道都可以变得更加高效。
由于内存限制,3DMatch使用边缘等于1.5 m的体素网格。ETH数据集的结果报告在表3中。3DSmoothNet的平均性能最好(右栏),本文平均召回率为79.0%,明显优于平均召回率为48.2%,因为它的输出维度更大。(32人)以超过15%的分数击败亚军(无监督),而所有最先进的方法都显著低于30%。事实上,(32)应用于室外激光扫描仍然优于所有在3DMatch数据集上接受训练和测试的竞争对手(参见表1,表3)。
将3DMatch测试片段上每个兴趣点的方法平均运行时间与Tab4中的[49]进行比较(与Intel Xeon E5-1650、32 GB ram和NVIDIA GeForce GTX1080运行在同一台PC上)。注意,输入准备(input prep.)和[49]的推断是在GPU上处理的,在CPU上以当前状态进行输入准备。
3D点云完美匹配的更多相关文章
- segMatch:基于3D点云分割的回环检测
该论文的地址是:https://arxiv.org/pdf/1609.07720.pdf segmatch是一个提供车辆的回环检测的技术,使用提取和匹配分割的三维激光点云技术.分割的例子可以在下面的图 ...
- 3D点云配准算法简述
蝶恋花·槛菊愁烟兰泣露 槛菊愁烟兰泣露,罗幕轻寒,燕子双飞去. 明月不谙离恨苦,斜光到晓穿朱户. 昨夜西风凋碧树,独上高楼,望尽天涯路. 欲寄彩笺兼尺素.山长水阔知何处? --晏殊 导读: 3D点云 ...
- 3D点云几何拟合
3D点云几何拟合 Supervised Fitting of Geometric Primitives to 3D Point Clouds 论文地址: http://openaccess.thecv ...
- 3D点云深度学*
3D点云深度学* 在自动驾驶中关于三维点云的深度学*方法应用.三维场景语义理解的方法以及对应的关键技术介绍. 1. 数据 但是对于3D点云,数据正在迅速增长.大有从2D向3D发展的趋势,比如在open ...
- 2020厦门大学综述翻译:3D点云深度学习(Remote Sensiong期刊)
目录 摘要 1.引言: 2.点云深度学习的挑战 3.基于结构化网格的学习 3.1 基于体素 3.2 基于多视图 3.3 高维晶格 4.直接在点云上进行的深度学习 4.1 PointNet 4.2 局部 ...
- css3实践之摩天轮式图片轮播+3D正方体+3D标签云(perspective、transform-style、perspective-origin)
本文主要通过摩天轮式图片轮播的例子来讲解与css3 3D有关的一些属性. demo预览: 摩天轮式图片轮播(貌似没兼容360 最好用chrome) 3D正方体(chrome only) 3D标签云(c ...
- ZOJ-3933 Team Formation (二分图最佳完美匹配)
题目大意:n个人,分为两个阵营.现在要组成由若干支队伍,每支队伍由两个人组成并且这两个人必须来自不同的阵营.同时,每个人都有m个厌恶的对象,并且厌恶是相互的.相互厌恶的人不能组成一支队伍.问最多能组成 ...
- UVA 11383 Golden Tiger Claw(最佳二分图完美匹配)
题意:在一个N*N的方格中,各有一个整数w(i,j),现在要求给每行构造row(i),给每列构造col(j),使得任意w(i,j)<=row(i)+col(j),输出row(i)与col(j)之 ...
- UVa 1349 (二分图最小权完美匹配) Optimal Bus Route Design
题意: 给出一个有向带权图,找到若干个圈,使得每个点恰好属于一个圈.而且这些圈所有边的权值之和最小. 分析: 每个点恰好属于一个有向圈 就等价于 每个点都有唯一后继. 所以把每个点i拆成两个点,Xi ...
随机推荐
- Nginx 配置浏览Linux 系统目录并下载文件
准备工作: 安装编译工具及库文件: yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 安装PCRE( ...
- Poj 3522 最长边与最短边差值最小的生成树
题意: 让你求一颗生成树,使得最长边和最短边长度差值最小. 思路: 额!!!感觉这个思路会超时,但是ac了,暂时没什么别的好思路,那么就先说下这个思路,大牛要是有好的思路希望能在 ...
- UVA10827球面上的最大和
题意: 最大子矩阵的加强版,就是给你一个n*n的矩阵,每个格子里面都有数字,然后我们在里面选择一个矩阵,使得矩阵中所有数字的和最大,而且这个题目说这个n*n的矩阵的最右边和最左边是相邻的,最 ...
- ERROR: Symbol file could not be found 寒江孤钓<<windows 内核安全编程>> 学习笔记
手动下载了Symbols,设置好了Symbols File Path,串口连接上了以后,出现ERROR: Symbol file could not be found, 并且会一直不停的出现windb ...
- Spring中@Import注解的使用
Spring中@Import注解的使用 @Import注解算是SpringBoot自动配置原理中一个很重要的注解 认识@Import注解 先看一下源码 @Target(ElementType.TYPE ...
- Java安全之FastJson JdbcRowSetImpl 链分析
Java安全之FastJson JdbcRowSetImpl 链分析 0x00 前言 续上文的Fastjson TemplatesImpl链分析,接着来学习JdbcRowSetImpl 利用链,Jdb ...
- Jenkins 基础篇 - 小试牛刀
现在我们来创建一个简单的 Jenkins 任务,这个任务输出 Java 版本信息和系统信息,通过这个任务我们先了解创建 Jenkins 任务的流程,以及了解一些对任务的基础设置,接下来就是演示任务的整 ...
- PostgreSQL条件表达式
条件表达式在日常工作中很多场景都会用到,比如某个字段为空,取另外一个字段:某个值大于多少,取什么字段,小于多少取什么字段等等.那么下面来简单的学习下PostgreSQL有那些条件表达式. 1.CA ...
- 【Cocos2d-x】屏蔽Emoji并解决由于Emoji导致的崩溃问题
IOS的Emoji表情因为编码问题,在Android手机上无法正常显示,如果当前的cc.Label节点使用的是系统字,在系统字库中找不到对应编码的字符,会导致崩溃. 为了解决这个问题,又要兼顾新老版本 ...
- Spring 注解动态数据源设计实践
Spring 动态数据源 动态数据源是什么?解决了什么问题? 在实际的开发中,同一个项目中使用多个数据源是很常见的场景.比如,一个读写分离的项目存在主数据源与读数据源. 所谓动态数据源,就是通过Spr ...