如何实现面向三维点云的信息丰富的旋转不变特征

2023-05-16

0a7b3e8b11cfaaf7ce24892886e1e3a9.png

论文题目:SpinNet: Learning a General Surface Descriptor for 3D Point Cloud Registration

作者:Sheng Ao, Qingyong Hu, Bo Yang, Andrew Markham, Yulan Guo

和二维图像匹配类似,三维点云匹配中,实现能够在两个扫描帧之间共享的鲁棒局部特征也是一直以来十分棘手的问题。这项任务的挑战性在于:1)不同的扫描帧通常具有不同的视角,2)原始3D扫描通常是不完整的、具有较多噪声且点密度明显不同的。针对这项任务,已经有许多传统的方法被提出来,例如经典的SHOT,ISS等。但是尽管它们在高质量的3D点云上取得了令人鼓舞的结果,但它们不能推广到高噪声和大规模实际3D点云。最近,基于深度神经网络的点云匹配方法取得了出色的成果。然而,它们有两个主要限制。第一,其中许多方法,如D3Feat和FCGF,依赖于基于核的点卷积或子流形稀疏卷积来提取每个点的特征,导致学得的点局部特征对旋转敏感。因此,当应用于具有强烈旋转变化的新型3D扫描帧时,它们的性能会急剧下降。第二,虽然最近一些方法引入了旋转不变的点描述符,但它们只是将手工特征或外部局部参考坐标系集成到神经网络中,从根本上限制了网络的表示能力。这篇论文则是致力实现用于三维点云匹配的信息丰富的旋转不变特征。该网络明显满足三个重要特性:1)它具有旋转不变性,能从不同旋转角度的3D扫描中学习一致的局部特征;2)它描述性强。本质上,它保留了突出的局部特征,即使在噪声、表面不完整或点密度不同时也能实现;3)它不包括任何手工设计的特征。这个工作将极大的促进三维点云的相关研究,提高对旋转变换的鲁棒性。

1 摘要

从点云配准和重建等下游任务来看,提取鲁棒且普适的3D局部特征至关重要。现有的基于学习的局部描述符要么对旋转变换敏感,要么依赖于经典手工制作的特征,既不具有普适性也不具有代表性。本文引入了一种新的、概念上简单的神经结构,称为SpinNet,以提取旋转不变但足够信息丰富从而实现精确配准的局部特征。首先引入了一个空间点变形器将输入的局部表面映射到一个精心设计的圆柱空间中,从而实现SO(2)等变表示的端到端优化。然后利用强大的基于点和3D圆柱卷积神经网络层的神经特征提取器来实现紧凑且具有代表性的描述符以用于匹配。在室内外数据集上进行的大量实验证明SpinNet显著优于现有的最新技术。更为重要的是,在不同传感器模态的未见场景中具有最佳的泛化能力。

贡献

我们提出了一个新的神经特征学习器用于3D表面匹配。它具有旋转不变性、代表性和在看不见的情况下具有卓越的泛化能力。

通过将转换后的3D表面规则化成圆柱体,我们引入了强大的3D圆柱卷积来学习丰富和通用的特征。

我们进行了大量实验和消融研究,证明了我们方法的显著泛化能力。

2 方法

2.1 问题陈述

给定两个部分重叠的点云和。点云配准的任务是找到最优刚性变换,以及点对应关系来对齐成对的片段,最终恢复完整的场景。点对应关系需要满足:

其中表示旋转矩阵,表示平移向量, 是残差误差。在实践中,由于这个问题的非凸性,同时找到对应关系和估计变换是不可行的。但是,如果可以确定具有一对一对应关系的点子集和,则配准问题可以简化为以下L2距离的最小化问题:

3ea07964f42d2a09a416b634056bc0ba.png

其中是成功匹配到的对应关系数,是一个置换矩阵,其元素满足如果中的第个点对应于中的第个点,则,否则为0。

我们提出了一种新的表面特征学习器SpinNet,它是一个映射函数,其中如果和 确实是正确匹配的,则等于任意刚性变换(如旋转和平移)下的。特别地,我们的特征学习器主要由空间点形变器和神经元特征提取器组成。

2.2 空间点形变器

这个模块旨在将输入的3D表面空间转换为柱形体,在克服旋转变化的同时不丢失局部关键信息。如图2所示,它包括四个组成部分,如下所述。

基于参考坐标系进行对齐

给定局部表面中的特定点,我们首先从其半径为的邻域点集中估计一个朝向观察方向的参考轴。然后使用旋转矩阵将与Z轴对齐。与可能存在歧义和不稳定的外部局部参考坐标系相比,我们估计出来的在旋转变化方面更加鲁棒和稳定。随后,将邻域点集转换为。为了实现平移不变性,我们进一步将标准化到中心点,即。因此,获得的局部块已经与z轴对齐,剩下的旋转自由度完全留给XY平面。

球形体素化

这是本文的核心,在设计网络时需要引入一些几何知识先验实现一些归一化,来加速训练、实现泛化:

为了进一步消除XY平面上的旋转不变性,我们利用旋转鲁棒的球形表示。特别地,将块视为球体,并沿径向距离,仰角和方位角均匀地将其分成个体素。每个体素的中心点被表示为,其中, , 。然后,我们明确确定了每个体素中心点的一组邻域点。具体来说,我们使用半径查询找到以固定半径为基础的邻域点,其中0cdf238ef7f0cbeabe1e0beb79949ec6.jpeg。最后,我们随机采样并保留每个体素的个点,旨在实现并行计算的高效性。这个球形体素化步骤对于接下来的空间点变换至关重要。

欢迎关注微信公众号「3D视觉工坊」,加群/文章投稿/课程主讲,请加微信:dddvisiona,添加时请备注:加群/投稿/主讲申请

在XY平面上的变换

为了使每个球形体素在XY平面上具有旋转不变性,我们将每个体素主动绕Z轴旋转,将其中心与YZ平面对齐,其中旋转矩阵定义如下:

f76fc923919d402e6b3dbaacb232aea8.png

这种操作消除了每个体素在XY平面上的一个旋转自由度,而不会丢失每个体素的任何局部几何信息。值得注意的是,现有的方法通常使用手工特征来实现旋转不变性,导致丰富的局部信息被丢失。独特的是,我们的简单策略可以保留这些信息。

圆柱体建模

一旦每个体素的局部几何被转换,进一步保留跨多个体素的较大空间结构就变得至关重要。这要求将所有体素的相对位置在整个框架中表示出来。为此,我们将球形体素重新组合成一个圆柱体。这有利于所提出的三维圆柱卷积网络,它保证了输入局部表面的等变性,并保留了多个体素的拓扑模式。具体来说,给定经过转换的球形体素,每个都有一组相邻点,我们将它们逻辑上投影到一个圆柱体积,表示为,如图2所示。

总之,对于给定的输入表面块,我们的空间点变换器将其Z轴明确地与参考轴对齐,并主动地对XY平面上的球形体素模式进行转换,并通过圆柱体建模进一步保留了拓扑表面结构。显然,该模块使所有表面几何保持完整,以供后续的神经特征提取器学习。

2d28153a11b30230c74435d5047454cc.png

2.3 神经特征提取器

此模块旨在使用强大的神经网络层从每个圆柱体素内的转换点中学习特征。如图3所示,它包含两个组件,具体讨论如下。

基于点的网络层

对于每个圆柱体素内的点,我们使用共享的MLP(多层感知器)和最大池化函数学习每个体素的初始特征。形式上,基于点的网络层定义为:

a30df167ff92f4819a0b2d68a240c8de.png

其中是D维的学习特征,请注意,MLP权重在所有球形体素之间共享。最终,我们得到一组3D圆柱特征图。

三维圆柱卷积层

为了进一步学习多个体素之间的空间结构,我们提出了一种高效的3D圆柱卷积网络(3DCCN)。特别是,给定位于第层中第个圆柱特征图上位置的一个体素,我们的3DCCN定义如下:

dc46a08ab421f5c4966625047c3f933f.png

其中是径向维度上的卷积核大小,和分别是卷积核的高度和宽度,是可学习的参数。

与现有的卷积操作非常不同,我们提出的3DCCN在以下两个方面是新颖的。第一,由于圆柱特征图在整个圆柱体上是360度连续的,因此我们的3DCCN被设计为绕这些特征图进行卷积操作,即通过周期性边界从−180度到180度。因此,我们的3DCCN中不需要显式填充,但是在特征图边界处的3D CNN是必需的。第二, 与现有的3D流形稀疏卷积或核心点卷积相比,围绕360度体积的连续卷积使得所获取的特征图具有等变性,从而实现了最终的旋转不变性。在堆叠多个这些3DCCN层并进行最大池化之后,原始的圆柱特征图被压缩成了一个紧凑且具有代表性的特征向量。

266e2afdf681d3da7fee3711fd67d00e.png

2.3 端到端应用细节

空间点形变器直接与神经元特征提取器相连,随后采用现有的对比损失进行端到端优化。广泛适用的批内最难样本抽样也被即时采用,以最大化最近的正负样本块之间的距离。我们基于PyTorch框架实现了SpinNet。使用默认参数的Adam优化器。初始学习率设置为0.001,并且每5个epoch衰减率为0.5。我们训练网络20个epoch,然后使用在验证集上表现最佳的模型进行测试。为了公平比较,我们在所有实验中保持相同的设置。所有实验在Intel Xeon CPU @2.30GHZ和NVIDIA RTX2080Ti GPU的平台上进行。

本文仅做学术分享,如有侵权,请联系删文。

点击进入—>3D视觉工坊—三维点云—技术交流群

4b575cd921046ebdaf90947eed58a6d3.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何实现面向三维点云的信息丰富的旋转不变特征 的相关文章

  • 0、清华大学开源软件镜像站linux系统镜像下载地址

    https mirrors tuna tsinghua edu cn
  • 使用SSH公钥(id_dsa.pub)实现免密码登录

    使用SSH公钥 id dsa pub 实现免密码登录 博客分类 xff1a linux shell ssh 免密码 公钥 首先 xff0c 在本地机器上产生公钥 xff1a Java代码 root 64 localhost ssh ssh
  • 6.1、startx命令怎么不能进入图形界面

    命令行界面输入startx命令怎么不能进入图形界面 复制链接 发表于 2010 1 29 12 55 来自 51CTO网页 只看他 楼主 我在虚拟机 xff08 vmware xff09 上新安装的red hat linux 9 0在命令行
  • 7.1、mysql mha 主从自动切换 高可用

    是这个博主写的 xff0c 但是找不到地址了 写了他的另一个MHA地址 感谢原创的贡献 mysql mha 主从自动切换 高可用 mha xff08 Master High Availability xff09 目前在MySQL多服务器 x
  • 7.3、mysql主主循环备份数据库

    绿色部分是我根据需要自己写的 mysql 主主互备 双机热备的概念简单说一下 xff0c 就是要保持两个数据库的状态自动同步 对任何一个数据库的操作都自动应用到另外一个数据库 xff0c 始终保持两个数据库数据一致 这样做的好处多 1 可以
  • 7.4、Slave_SQL_Running: No mysql同步故障解决方法

    Slave SQL Running No mysql同步故障解决方法 2010 02 21 16 31 30 标签 xff1a mysql 数据库 同步 双机 休闲 原创作品 xff0c 允许转载 xff0c 转载时请务必以超链接形式标明文
  • 7.5、mysql破解密码

    找不到原创了 xff0c 百度了一下 xff0c 这个比较像 感谢原创的贡献 vi etc my cnf 在配置文件中加入 s kip grant tables mysqld safe skip grant tables amp 最佳答案
  • Scrum实践系列之三--敏捷教练的修炼之路

    敏捷教练与项目经理 在被奉为 项目管理圣经 的PMBOK中 xff0c 对项目经理在各阶段的职责有着清晰的界定 xff0c 比如项目经理制定规则 安排进度 监控执行中的各项风险并实时汇报状态 xff0c 等等 然而在敏捷的世界里 xff0c
  • 知识图谱_概述:课程PPT+个人理解

    2019 05 08 一 概念 xff08 是什么 xff09 1 知识 xff1a 有不同的解释 xff0c 可以是 不变的真理 经验 背景 解释 交工的信息 xff08 1 xff09 分类 陈述性知识 gt 描述客观事物的性状和关系等
  • chatgpt

    transformer GitHub Topics GitHub
  • Apollo:source cyber/setup.bash的作用

    source cyber setup bash 是在使用Apollo开发过程中 xff0c 用于加载Apollo软件的配置以及环境变量的脚本 Apollo是一款自动驾驶开发平台 xff0c cyber是其中的一个核心模块 xff0c 提供了
  • 什么样的人当不好程序员?

    什么样的人当不好程序员 xff1f 2016 01 21 程序员之家 来源 xff1a 36Kr 译文 xff1a http 36kr com p 5042433 html 原文 xff1a https goo gl jLfUFq 软件蚕食
  • java基础语法(顺便回顾cpp语法并比较与java的异同)

    变量 标识符 关键字与数据类型 1 标识符命名风格约定 xff1a 不能以数字开头 xff0c 也不能有 等符号 可以有 和 但不用作开头 方法名 变量名首单词小写 xff0c 其余单词首字母大写 如anyVariableName 类名 接
  • 刷leetcode,锻炼编程能力(c++)

    力扣20 xff0c 有效的括号 xff0c 栈 span class token macro property span class token directive keyword include span span class toke
  • 华为笔试题库之困难--难度

    题记 xff1a 若立志投身算法研究 xff0c 可精研理论算法 xff1a 动态规划 递归 深度搜索等 xff1b 若以解决问题为目的 xff0c 主要为了工作内容 xff0c 当尝试快而简单的方法 xff0c 这该是学习的本意 1 素数
  • C++ - opencv应用实例之矩形框检测

    C opencv应用实例之矩形框检测 现阶段下 目标检测在实际应用场景中的表现颇为重要 工业质检 移动机器人视觉伺服 作业 交通监控 安防领域等均需要通过目标检测来实现对目标的定位 测量或者统计 辅助控制等 目前目标检测主要分为两个方向的发
  • cpp-5 : Depends: gcc-5-base (= 5.3.1-14ubuntu2) but 5.4.0-6ubuntu1~16.04.11 is to be installed

    在5 4 0 6ubuntu1 16 04 11 cpp 5 amd64 Xenial 16 04 Ubuntu上下载对应的版本 xff0c 国 内源的版本都是5 4 0 6ubuntu1 16 04 12 xff0c 最后一位是12 xf
  • Questasim SystemC 指令sccom

    QuestaSim sccom 10 6c 1 compiler 2017 09 Sep 15 2017 Usage sccom options CPP compiler options lt CPP files gt General Op
  • MacOS 安装curl和wget

    目录 1 什么是curl和wget1 1 curl1 2 wget1 3 curl和wget的区别 2 安装curl2 1 利用wget安装curl2 2 直接下载curl源码编译安装 推荐 3 安装wget3 1 利用Homebrew安装
  • linux tty core 源码分析__tty_read,__tty_write,__tty_poll,

    转载 xff1a http blog csdn net sirzjp article details 6134489 前面分析了open操作 xff0c 现在分析读操作tty read tty read直接调用线路规程中的读操作从tty g

随机推荐

  • D触发器二分频电路

    D触发器二分频电路 有时真的要感慨一下自己电路学的够烂的 xff0c 啥都不会 xff0c 做示波器要学习分频电路 xff0c 学呗 将D触发器的Q非端接到数据输入端D即可实现二分频 xff0c 说白了就是CLK时钟信号的一个周期Q端电平反
  • 自动驾驶系列(十)编写电动车ROS节点(刹车)

    一 硬件控制协议 对于不同的设备 xff0c 底层的通讯方式都不一致 xff0c 因此需要根据具体硬件具体分析 本系统 采用了1个CAN盒子控制转向 xff0c 1路DA控制油门 xff0c 另外一路DA控制刹车 1 xff0c 转向协议
  • 【Mapreduce】利用单表关联在父子关系中求解爷孙关系

    首先是有如下数据 xff0c 设定左边是右边的儿子 xff0c 右边是左边的父母 Tom Lucy Tom Jack Jone Lucy Jone Jack Lucy Mary Lucy Ben Jack Alice Jack Jesse
  • 【C++】Split

    如果要将类似 aa ss ff 的字符串按空格分割成一个个字符 xff0c Java C PHP或者python等其它语言写多的人 xff0c 就会认为split一个理应存在的方法 xff0c 实际上C 43 43 中并没有这个方法 xff
  • TX2模组镜像备份与刷机

    1 环境搭建 1 1 下载驱动包和根文件系统 进入https developer nvidia com embedded linux tegra r3251下载两个文件 xff0c L4T Driver Package BSP 和Sampl
  • STM32——Keil5的编译警告和错误订正

    这是第一次写博客 xff0c 这里都是我在修改stm32代码遇到的一些警告和错误的改正 xff0c 其中有很多解决方法都是在网上找的 xff0c 也有一些还没解决的 xff0c 望指点 513 D HARDWARE 1U src Uart
  • stm32堆栈的认知

    flash和SRAM的区别 flash可以像硬盘一样存数据 xff0c 也可以直接像RAM运行 xff0c 一般在里面放bootload xff0c 程序执行代码 1 stm32中的堆栈 单片机是一种集成电路芯片 xff0c 集成cpu r
  • Liunx使用apt安装本地deb软件包

    平常都是用 dpkg i 来安装本地deb软件包 但是 dpkg 不会自动安装依赖包 xff0c 因此安装很容易出现依赖相关的错误 之后需要通过运行 sudo apt get install f 来安装依赖 可以直接通过 apt apt g
  • NeRFLiX,NeRF新高度!

    作者丨小张Tt 来源丨计算机视觉工坊 论文题目 xff1a NeRFLiX High Quality Neural View Synthesis by Learning a Degradation Driven Inter viewpoin
  • 研究生,真的“太多”了?

    来源丨软科 2023年毕业季已经临近 xff0c 据人力资源和社会保障部的数据显示 xff0c 今年我国高校毕业生人数将达到1158万 xff0c 继去年之后 xff0c 国内高校毕业生数量再次破千万 在毕业生人数创新高的同时 xff0c
  • 迟来的2023秋招总结

    作者丨藤和艾莉欧 64 知乎 来源丨https zhuanlan zhihu com p 622571550 编辑丨3D视觉工坊 点击进入 gt 3D视觉工坊学习交流群 首先 现在是2023年四月中旬 xff0c 毕业的事情暂时告一段落 x
  • 6位数字密码滚动破解

    gt File Name password c gt Author sea gt Mail 623535724 64 qq com gt Created Time 2017年07月20日 星期四 16时00分14秒 include lt s
  • 最新|事件相机SLAM综述

    Arxiv链接 https arxiv org abs 2304 09793 Github 链接 https github com kun150kun ESLAM survey 视觉SLAM vSLAM 是指移动机器人通过相机感知外部世界并
  • 还在为投稿发愁吗?ICCVIT 2023,一个计算机、视觉与智能技术国际会议

    ChatGPT热潮带来的行业革新大行其道 xff0c 相关区块链 信息安全 视觉 机器学习 产业必将带来诸多变革 本文为大家梳理了近期可投的4则EI检索的国际会议 xff0c 均可推荐发表SCI xff0c 还有超多IEEE Fellow主
  • ikd树:激光雷达SLAM中高效的点云数据结构

    点击上方 3D视觉工坊 选择 星标 干货第一时间送达 作者丨小飞飞 来源丨计算机视觉工坊 作者机构 HKU 项目主页 https github com hku mars ikd Tree git k d树是一种常用的多维数据结构 它可以用于
  • 招聘|三维点云算法总监

  • 杂谈光场相机的不足、优势、应用和展望(中)

    来源丨光场视觉 文章的上篇 xff0c 主要是简单回顾了光场相机的起源历史 极大地推动了它发展的Lytro公司的发展轨迹 xff0c 并简要分析了这个相机在To C端市场表现疲软的三大技术性原因 也正如前文指出的那样 xff0c 光场相机因
  • 企业招聘SLAM工程师,今年普遍要求这2种特质

    VIO即视觉惯性里程计 xff0c 是融合相机和IMU数据实现SLAM的算法 VIO不仅能够弥补纯视觉SLAM本身无法克服的缺陷 xff0c 例如尺度问题 累计误差等缺陷 xff0c 是一种低成本 高性能的导航方案 目前 xff0c VIO
  • 颜宁首谈回国科研工作是否受影响:时间被挤压得厉害,但....

    本文来源 xff1a 南都记者 韦娟明 每日经济新闻 xff0c 编辑 xff1a 募格学术 据南都记者报道 xff0c 5月5日 xff0c 深圳医学科学院 xff08 筹 xff09 创始院长 深圳湾实验室主任颜宁 xff0c 发文谈现
  • 如何实现面向三维点云的信息丰富的旋转不变特征

    论文题目 xff1a SpinNet Learning a General Surface Descriptor for 3D Point Cloud Registration 作者 xff1a Sheng Ao Qingyong Hu B