3D点云几何拟合

Supervised Fitting of Geometric Primitives to 3D Point Clouds

论文地址:

http://openaccess.thecvf.com/content_CVPR_2019/papers/Li_Supervised_Fitting_of_Geometric_Primitives_to_3D_Point_Clouds_CVPR_2019_paper.pdf

摘要

将几何基元拟合到三维点云数据可以在底层三维形状的低层数字化三维数据和高层结构信息之间建立一个桥梁。使许多下游应用在三维数据处理。长期以来,基于RANSAC的方法一直是解决此类原始设置问题的金标准,需要对每个输入参数进行仔细的调整,无法很好地适应具有不同形状的大型数据集。引入了有监督原始拟合网络(SPFN),一种端到端的神经网络,可在不受任何用户控制的情况下,在不同的尺度上检测出不同数量的原始体。该方法利用地面真值原始曲面和原始隶属度对网络进行监督。架构不是直接预测原型,而是首先预测每一点的属性,然后使用微分模型估计模块计算原始类型和参数。在一个新的ANSI三维机械部件模型基准上评估了的方法,并证明了与目前最先进的基于ransac的方法和直接神经预测方法相比的显著改进。

主要贡献

•提出SPFN,一种端到端的有监督神经网络,它以点云为输入,检测不同尺度的不同数量的基元。

•可微原始模型估计器解决了一系列线性最小二乘问题,从而使整个管道端到端可训练。

•使用一个新的机械部件CAD模型数据集来演示网络的性能。

最近的三维扫描技术和大规模的三维存储库拓宽了三维几何数据处理的机会。但是,这些存储库中的大多数扫描数据和模型都表示为数字化点云或网格。由于缺乏与形状语义一致的结构信息,三维数据的这种低级表示限制了对它们进行几何操作的能力。例如,当编辑从几何基本体构建的形状时,对每个基本体的类型和参数的了解可以极大地帮助操作生成可信的结果(图1)。为了解决数字化数据中缺乏此类结构信息的问题,本文考虑了将三维点云映射到一些最适合底层形状的几何基元的转换问题。

Supervised Primitive Fitting Network

提出了一种监督基元拟合网络(SPFN),该网络采用点云P∈RN×3表示的输入形状,其中N是点的个数,并预测了一组最适合输入的几何基元。SPFN的输出包含每个原型的类型和参数,以及分配给它的输入点列表。网络支持L=4种类型的基元:平面、球体、圆柱体和圆锥体(图3),将这些类型相应地索引0、1、2、3。本文将使用符号{·}i,:和{·}:,k分别表示矩阵的第i行和第k列。

训练时的SPFN管道如图2所示。使用PointNet++[25]分段体系结构来使用输入点云P。一个小小的改进是,在PointNet++管道的末端添加了三个独立的完全连接层,方便预测计算。

计算了成员矩阵W和ˆW中所有列对的并集上的松弛交集(RIoU)[15]。两个指示向量W和Wˆ的RIoU定义如下:

然后通过匈牙利匹配[16]给出两个矩阵列之间的最佳一对一对应关系(由RIoU确定)。根据这一对应关系,对真值原型进行重新排序,使真值原型k与预测的原型k相匹配。由于小扰动将导致匹配结果变化的输入集的测度为零,因此整个管道几乎处处保持可微。使用外部匈牙利匹配解算器获得最佳匹配指标,将这些指标注入网络,进一步的损失计算和梯度传播。

Evaluation Metrics

评估指标设计如下。对单个形状的每个数量进行描述,并将数字报告为所有测试形状中这些数量的平均值。对于每一个基元度量,先按照执行基元重新排序,以便匹配预测基元和基本真元的索引。

在表1中报告了SPFN和effient RANSAC的结果。由于Ef-fient RANSAC能够提供更高分辨率的点云,使用与SPFN(第1行)相同的8k输入点云和以相同方式采样和扰动的另一64k输入点云(第2行)对其进行测试。即使与高分辨率点云的结果相比,SPFN在所有指标上都优于Ef-fient RANSAC。阈值为0.01的{Sk}和P覆盖率数字都显示了较大的边距,
SPFN fits原型更加精确。

引入每个点来测试有效的RANSAC SPFN预测的属性。首先训练只有Lseg损失的SPFN,然后对预测的隶属度矩阵中的每一段使用effient RANSAC预测单个原型(表1,第4行)。进一步在训练中依次添加Ltype和Lnorm损失,并在effient RANSAC(第5-6行)中使用预测的原始类型ˆt和点法线ˆN。

图5说明了{Sk}覆盖率,对于不同尺度的地面真值原型,覆盖率Q为0.01。有效的RANSAC覆盖率在利用网络分割结果时有所提高,但在规模较小时仍然较低。相反,SPFN在所有尺度上都表现出一致的高覆盖率。

为了测试真实的噪声模式,三维打印了一些测试模型,并使用DAVID SLS2三维扫描仪扫描了输出。注意,在合成噪声上训练的SPFN成功地重建了所有原型,包括小片段(图6)。

3D点云几何拟合的更多相关文章

  1. 2020厦门大学综述翻译:3D点云深度学习(Remote Sensiong期刊)

    目录 摘要 1.引言: 2.点云深度学习的挑战 3.基于结构化网格的学习 3.1 基于体素 3.2 基于多视图 3.3 高维晶格 4.直接在点云上进行的深度学习 4.1 PointNet 4.2 局部 ...

  2. segMatch:基于3D点云分割的回环检测

    该论文的地址是:https://arxiv.org/pdf/1609.07720.pdf segmatch是一个提供车辆的回环检测的技术,使用提取和匹配分割的三维激光点云技术.分割的例子可以在下面的图 ...

  3. 3D点云配准算法简述

    ​蝶恋花·槛菊愁烟兰泣露 槛菊愁烟兰泣露,罗幕轻寒,燕子双飞去. 明月不谙离恨苦,斜光到晓穿朱户. 昨夜西风凋碧树,独上高楼,望尽天涯路. 欲寄彩笺兼尺素.山长水阔知何处? --晏殊 导读: 3D点云 ...

  4. 3D点云完美匹配

    3D点云完美匹配 The Perfect Match: 3D Point Cloud Matching with Smoothed Densities 地址链接: http://openaccess. ...

  5. 3D点云深度学*

    3D点云深度学* 在自动驾驶中关于三维点云的深度学*方法应用.三维场景语义理解的方法以及对应的关键技术介绍. 1. 数据 但是对于3D点云,数据正在迅速增长.大有从2D向3D发展的趋势,比如在open ...

  6. 3D点云点云分割、目标检测、分类

    3D点云点云分割.目标检测.分类 原标题Deep Learning for 3D Point Clouds: A Survey 作者Yulan Guo, Hanyun Wang, Qingyong H ...

  7. 3D点云重建原理及Pytorch实现

    3D点云重建原理及Pytorch实现 Pytorch: Learning Efficient Point Cloud Generation for Dense 3D Object Reconstruc ...

  8. 2020国防科大综述:3D点云深度学习——综述(3D点云分割部分)

    目录 摘要 1.引言: 2.背景 2.1 数据集 2.2评价指标 3.3D点云分割 3.1 3D语义分割 3.1.1 基于投影的方法 多视图表示 球形表示 3.1.2 基于离散的方法 稠密离散表示 稀 ...

  9. 2020国防科大综述:3D点云深度学习—综述(点云形状识别部分)

    目录 摘要 1.引言: 2.背景 2.1 数据集 2.2评价指标 3.3D形状分类 3.1基于多视图的方法 3.2基于体素的方法 3.3基于点的方法 3.3.1 点对多层感知机方法 3.3.2基于卷积 ...

随机推荐

  1. POJ1456贪心(set或者并查集区间合并)

    题意:       给你n商品,每个商品有自己的价值还有保质期,一天最多只能卖出去一个商品,问最大收益是多少? 思路:       比较好想的贪心,思路是这样,每一次我们肯定拿价值最大的,至于在那天拿 ...

  2. IOS Widget(4-1):创建可配置小组件(静态配置数据)

    引言   经过前面几篇文章阅读,已经掌握开发一款小组件的基本技能了,接下来开始掌握一些相对高级一点的技能.本文创建一个可配置小组件,通过修改时间类型,让Text空间显示不同格式的时间. 本文大纲 添加 ...

  3. 每天一道面试题LeetCode 01 -- 两数之和

    Two Sum 两数之和 Given an array of integers, find two numbers such that they add up to a specific target ...

  4. properties和yml进行对比

    properties和yml进行对比 概念 springboot支持两种格式的配置文件,一种是yml,一种是properties,默认的文件名是application.properties或者appl ...

  5. RESTful中的PUT和PATCH实践

    先放上后台的在线API文档:SkyBlog Swagger API 在UserApi中,有这样三个接口1. PUT /users/{id} 更新用户信息2. PATCH /users/role/{id ...

  6. Django(6)自定义路由转换器

    自定义路径转换器 有时候上面的内置的url转换器并不能满足我们的需求,因此django给我们提供了一个接口可以让我们自己定义自己的url转换器 django内置的路径转换器源码解析 在我们自定义路由转 ...

  7. 【敏杰开发】Beta阶段项目展示

    [敏杰开发]Beta阶段项目展示 项目相关地址汇总 线上地址:http://roadmap.imcoming.top 前端仓库:https://github.com/MinJieDev/Roadmap ...

  8. yiled

    def fib(max): n,a,b = 0,0,1 while n < max: print("hallo") yield b #把函数执行过程冻结在这一步,并且把b的值 ...

  9. [bug] @Test注解无法使用

    参考 https://blog.csdn.net/lixiangxiang666/article/details/83745901

  10. HAProxy与LVS综合----搭建LNMP源码编译结合HAProxy或LVS负载均衡

    实战一:实现LNMP与Keepalived.HAProxy做反向代理 框架图: 实现原理: 1.当A用户访问网站时,此时需要经过防火墙,防火墙将用户访问的IP地址处理后,如果允许访问,则就访问到HAr ...