3D点云数据与几何基元拟合,可以得到3D点云数据中潜在的几何信息,从而将低层次的点数据转换为高层次的结构化信息,这为下游应用程序处理3D数据提供了基础。长期以来,基于RANASC的方法已是基元拟合问题的标准方法,但是这类方法需要细致地调整一些输入参数,因此无法很好地扩展应用到具多种形状的大型数据集中。本文提出了一个有监督的基元拟合网络(SPFN)和一个端到端的神经网络,该网络能够在无用户控制的情况下,鲁棒地检测不同尺度、不同数量的基元。该网络用真实基元表面和输入点的隶属关系来进行监督。该网络没有直接预测基元,而是先预测每点属性,再用一个差分模型来估计基元的类型和参数。我们在ANSI 3D机械零件模型的新基准上评估本方法,证明了无论是和基于RANSAC的SOTA方法相比,还是和神经网络直接预测的方法相比,本方法效果都有显著提升。

提出一种端到端的有监督神经网络SPFN(Supervised Primitive Fitting Network),该网络以一个点云作为输入并且检测不同尺度、不同数量的基元。

差分基元模型估计器解决了一系列线性最小二乘法问题,使得整个模块能够实现端到端训练。

本方法在新颖的机械零件CAD模型数据集中有优越性。

SPFN使用PointNet++作为分割架构,在PointNet的末端添加了三个独立的全连接层,其目的是预测每个点的属性:点对基元的隶属度矩阵 W'∈[0; 1]^N×K,法向量N'∈R^N×3,每个点对应的基元类型T'∈[0; 1]^N×L。基元的类型分别为平面,球体,圆柱体,圆锥体四种类型。在PointNet++末端使用softmax激活函数,获取在矩阵W和矩阵的行中的隶属概率,并且归一化法向量中的每一行。其次,在模型估计步骤中,根据点属性估计输出的基元参数。最后,通过PointNet++反向传播任何一种基元损失,从而实现端到端训练。损失定义为五个损失项之和,分别包括分割损失、点的法向量角度损失、每点基元类型损失、拟合残差损失、轴线角损失。

Primitives Recordering

文中为隶属度矩阵W'和W中所有的列对计算了松弛交并比(RIoU),两个指标向量的RIoU定义如下:

然后,通过匈牙利匹配的方法给出两个矩阵的列之间的最佳一对一对应关系(由RIoU确定)。再根据这种对应关系对真实基元进行重新排序,以使真实基元k与预测的基元k匹配。

Model Estimation

共提出了4种基元,平面,球,圆柱,圆锥

平面:A = (a, d)

球:A = (c, r)

圆柱:A = (a, c, r)

圆锥:A = (a, c, θ)

Loss Function

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

Supervised Fitting of Geometric Primitives to 3D Point Clouds阅读笔记相关推荐

  1. Distantly Supervised NER with Partial Annotation Learning and Reinforcement Learning阅读笔记

    论文地址:Distantly Supervised NER with Partial Annotation Learning and Reinforcement Learning (aclanthol ...

  2. Shap·E: Generating Conditional 3D Implicit Functions 阅读笔记

    Shape·E是一个从图像或者文本生成3D模型的生成模型. Shape·E生成的是隐函数的参数.隐函数指的是Nerf(Neural Radiance Fields)和STF(Signed Distan ...

  3. 《A sparse annotation strategy based on attention-guided active learning for 3D medic》--阅读笔记-Arxiv

    之前读过,但是没做笔记,就直接拉的其它作者的笔记了.感谢 https://blog.csdn.net/sinat_35779431/article/details/99682540 文章链接:http ...

  4. 【3D目标跟踪】Tracklet Proposal Network for Multi-Object Tracking on Point Clouds阅读笔记(2021)

    1.为什么要做这个研究(理论走向和目前缺陷) ? TBD是现在做目标跟踪的主流方法,这也导致检测结果很影响跟踪的好坏,能否利用由粗到精的思想(faster rcnn)先获得多个粗的轨迹,然后再细化(去 ...

  5. Two-Stream RNN/CNN for Action Recognition in 3D Videos-阅读笔记

    在youtube上看到这篇论文的视频,做的效果还不错,简单阅读一下: - 视频链接:https://www.youtube.com/watch?v=G0PXKCEgIoA. - 论文链接:https: ...

  6. cuDNN: efficient Primitives for Deep Learning 论文阅读笔记

    这篇论文主要讨论如何针对CNN做一些GPU矩阵计算的优化.传统CNN计算主要开销是在convolutions, activation function, pooling. 首先,我们看convolut ...

  7. 【点云系列】综述: Deep Learning for 3D Point Clouds: A Survey

    文章目录 起因 题目 摘要 1 简介 2 背景 2.1 数据集 2.2 衡量指标 3 3D形状分类 3.1基于多视角的方法 3.2基于体素的方法 3.3 基于点的方法 3.3.1逐点MLP网络 3.3 ...

  8. Deep Learning for 3D Point Clouds: A Survey - 3D点云的深度学习:一项调查 (IEEE TPAMI 2020)

    Deep Learning for 3D Point Clouds: A Survey - 3D点云的深度学习:一项调查(IEEE TPAMI 2020) 摘要 1. 引言 2. 背景 2.1 数据集 ...

  9. 文章解读 -- FlowNet3D:Learning Scene Flow in 3D Point Clouds

    文章解读 – FlowNet3D:Learning Scene Flow in 3D Point Clouds 参考: 1. FlowNet3D: Learning Scene Flow in 3D ...

最新文章

  1. Jittor框架API
  2. 逆生长!小鼠「逆龄疗法」登Nature子刊,有望用于人类
  3. Android老版本项目导入到新版SDK提示错误
  4. python 基础之第四天
  5. QLable显示图片 和 QLabel自适应 QLabel 文字居中
  6. 不仅教技能,还帮找人脉,运营研究社获1050万元Pre-A轮融资
  7. x86架构linux内核引导过程分析,SylixOS---x86引导过程分析
  8. 一次短信验证码攻击的应急响应
  9. jdk 取整数_JDK 15中的确切绝对整数
  10. PocketSphinx语音识别系统的编译、安装和使用
  11. 树莓派添加RTC时钟模块的方法
  12. 两种单例模式总结--(饿汉式、懒汉式)(java代码)
  13. python 读取.sgy地震文件到三维ndarray矩阵,(全网仅此一份)
  14. 如何EDI标准文件转换为自定义XML?
  15. win10 将中文名修改成英文名
  16. python计算英文字符数
  17. 第一章 大数据发展数据与鲲鹏大数据
  18. 重磅福利!ICCV 2019全部论文合集共1075篇!会议信息全收录!
  19. 阿里巴巴高级技术专家 至简 聊工程师思维(配音版)
  20. error C4996: ‘strcpy‘: This function or variable may be unsafe. Consider using strcpy_s instead.

热门文章

  1. VMware虚拟机安装macOS系统
  2. 弘扬中华传统文化 讲好中国故事
  3. java求一批数据的最大值、最小值、以及掐头去尾之后的平均值。
  4. catia利用宏批量改名的方法_catia怎么批量改名-catia利用宏批量改名的方法 - 河东软件园...
  5. CSS 列表样式 (ul)
  6. 关闭 Gatekeeper
  7. CNN结构演变总结(二)轻量化模型
  8. 软件学院“SIdea”软件创意大赛
  9. DM8 数据库连接Alibaba druid 提示:dbType not support
  10. graphpad7.04多组比较p值_手把手教你用Graphpad做单因素方差分析