PCRNet: Point Cloud Registration Network using PointNet Encoding 论文解读

news2024/9/23 21:22:49

目录

一、导言

二、先导知识

1、Frobenius范数

三、相关工作

1、点云配准工作

2、PointNet

3、基于深度学习的点云配准

四、PCRNet

1、PCRNet

2、Iterative PCRNet

3、损失函数

五、实验 


一、导言

        本论文收录于CVPR2019,本论文提出了一种依赖PointNet网络的点云配准网络。又提出了一种迭代版本的PCRNet,利用对象特性产生更精确的结果,而非迭代版本计算更快。

(1)提出迭代版本的PCRNet网络,来提高精确性

(2)运用EMD作为损失函数,来最小化源点云和模板点云之间的距离

二、先导知识

1、Frobenius范数

        Frobenius范数定义为矩阵中所有元素的平方和的平方根。

        ||A||_F=\sqrt{\sum_{i=1}^m\sum_{j=1}^n|a_{ij}|^2}

三、相关工作

1、点云配准工作

        ICP问题在于显式计算只能做少部分的点,大量的点云会造成数量巨大,另外ICP不可微不容易对齐点对关系。

        关键点方法和局部描述子方法,通常适用于具有独特特征的可识别的点云。

        全局最优方法,如Go-ICP,延长了计算时间。

2、PointNet

        PointNet被证明对于直接使用点云来进行分类、语义分割、目标检测的任务有用。但没有人使用PointNet做点云配准工作,所以本文采用该网络将其过渡到点云配准工作中。

        该论文采用EMD损失来改进PointNet中使用的CE或是BCE等分割检测的损失函数。

3、基于深度学习的点云配准

        判别优化和逆组合判别优化均使用特征向量和学习到的特征,但缺点是存在点的二次复杂度,导致缺乏泛化性。

四、PCRNet

1、PCRNet

        PCRNet采用Siamese网络结构,包含两个共享权重的多层感知机子网络,这两个网络的权重可以共享,用于提取源点云和模板点云的全局特征。每个MLP包含5个隐藏层,大小为64、64、64、128和1024,最后通过最大池化层得到全局特征向量。之后将源点云和目标点云的特征向量拼接起来通过5个全连接层,输出刚体变换参数。

        Siamese网络结构是有两个输入,且MLP的权重可以互相共享的网络。

2、Iterative PCRNet

        迭代PCRNet网络保留每个PCRNet的基本结构,但修改了全连接的层数,只有三层全连接层{1024、512、256},输出大小为7,并且在输出层前加dropout防止过拟合。

        迭代PCRNet对于每一次迭代的误差变换记作T(i),对于后续的迭代中的目标点云要先对目标点云进行一次误差变换T(i-1),再进行第i次的迭代。最终将每一次迭代的变换组合起来,得到源点云和目标点云的最终变换T。

        迭代PCRNet通过降低了每一个PCRNet的隐藏层,但增加了多次迭代,换掉了更大的时间来训练,来维持稳健的配准性能。(一般一般)

3、损失函数

        EMD Loss(Earth Mover Distance):最小化源点云与目标点云的距离,其中\psi作为一个最优的姿态。

五、实验 

1、在没有噪声的情况下,对比了迭代PCRNet、PointNetLK和ICP在不同物体类别上的性能。结果表明,当训练和测试数据来自同一类别时,迭代PCRNet的性能大幅提高。

2、在加入高斯噪声的情况下,评估了迭代PCRNet、PointNetLK和ICP的鲁棒性。结果显示,迭代PCRNet在训练时观察到的噪声水平下表现最佳,而PointNetLK对噪声非常敏感。

3、比较了不同方法在计算速度和精度上的表现。结果表明,迭代PCRNet的精度接近全局最优方法Go-ICP,但计算速度快了3-5个数量级。

4、在真实世界的室内场景数据上,使用迭代PCRNet进行物体替换,并与ICP和基于混合整数规划的方法进行对比,结果表明迭代PCRNet的性能更优。

论文参考:https://arxiv.org/abs/1908.07906v1

代码指北:GitHub - vinits5/learning3d: This is a complete package of recent deep learning methods for 3D point clouds in pytorch (with pretrained models).

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2053839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

快排补充(挖坑法,lomuto前后指针,非递归法)

挖坑法 挖坑法动态示意图 挖坑法方法分析 创建左右指针。⾸先从右向左找出⽐基准⼩的数据,找到后⽴即放⼊左边坑中,当前位置变为新 的"坑",然后从左向右找出⽐基准⼤的数据,找到后⽴即放⼊右边坑中,当前位置…

STM32——CAN通讯基础知识

CAN 协议简介 CAN 是控制器局域网络 (Controller Area Network) 的简称,它是由研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,并最终成为国际标准(ISO11519以及ISO11898),是国际上应用最广泛的现场总线之一。差异点如下: 高速CAN可以达…

关于shortlink项目重构增加了del_time字段自己出现的问题

最近刚做完shortlink项目的重构问题,其中增加del_time作为t_link表的唯一索引要注意几点问题. 1.数据库表中的del_time字段类型为什么,一定要和DO中的类型统一. 2.del_time作为唯一索引不要写死了,不然就无法创建短连接了,这里我是将del_time修改成date类型,然后通过new date…

Python数分实战

学习视频:【课程3.0】Python基础与分析实战_哔哩哔哩_bilibili 由于学习过python进行数据分析,所以就简单记录一下,最主要学习的还是视频最后的两个项目,进行实战 之前想不明白明明有很智能的软件做数据分析,为什么还要…

XXX【5】观察者模式

文件分割案例: 用户输入文件路径filePath和分割数量number,初始化出一个FileSplitter实例对象,然后调用split方法文件分割。 假如:我要加一个进度条的设计 抽象不能依赖于实现细节:在第6行的m_progressBar是一个进度通…

【深度解析】WRF-LES与PALM微尺度气象大涡模拟

查看原文>>>【深度解析】WRF-LES与PALM微尺度气象大涡模拟 针对微尺度气象的复杂性,大涡模拟(LES)提供了一种无可比拟的解决方案。微尺度气象学涉及对小范围内的大气过程进行精确模拟,这些过程往往与天气模式、地形影响和…

vimplus出现的错误,如何解决??

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

C++面向对象编程(上)

类与对象属于面向对象的程序设计思想(Object Oriented Programming),简称OOP。 面向对象基础理论 面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物,是一种软件开发的方法 面向对象四大特性 1.抽象 忽…

数据库(五):多表设计和多表查询

项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在各种联系,基本上分为三种:一对一、多对一、一对多…

如何在寂静中用电脑找回失踪的手机?远程控制了解一下

经过一番努力,我终于成功地将孩子哄睡了。夜深人静,好不容易有了一点自己的时间,就想刷手机放松放松,顺便看看有没有重要信息。但刚才专心哄孩子去了,一时就忘记哄孩子之前,顺手把手机放哪里去了。 但找过手…

进程相关知识

进程和程序的区别 程序 程序是静态的,是存储在硬盘、SSD等存储介质中的一个文件,通常由源代码(如 .c 文件)编译生成的二进制可执行文件(如 a.out)。程序包含了指令和数据,但在未被执行时&#…

【计算机操作系统】基本分页存储管理

文章目录 基本分页存储管理分页存储的概念重要的数据结构——页表页表项大小计算地址转换实现 基本地址变换机构具有快表的地址变换机构快表(TLB)的概念引入快表后的地址变换局部性原理 两级页表单级页表 vs 两级页表 基本分页存储管理 非连续分配&#…

使用Python编写AI程序,让机器变得更智能

人工智能(AI)是当今科技领域最热门的话题之一。随着Python编程语言的逐渐流行,它已经成为许多人工智能编程的首选语言。本文将介绍如何使用Python编写AI程序,让机器变得更智能。 首先,Python提供了大量的AI库和工具&a…

Easysearch 性能测试方法概要

(公众号用的是QQ音乐,可以随时听) INFINI Easysearch INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 衍生自基于开源协议Apache 2.0 的Elasticsearch 7.10 版本&#xff0…

4-1-2 直流电机(电机专项教程)

4-1-2 直流电机(电机专项教程) 4-1-2 直流电机主要参数尺寸参数额定电压额定电流空载转速 如何控制直流电机有刷直流电机转向控制H桥电路控制转向 如何控制电机转速PWM控制电机转速 4-1-2 直流电机 之前学习了有刷直流电机的基本结构个工作原理&#xff…

[数据集][图像分类]电力场景电力线固定处连接处腐蚀有鸟巢分类数据集1279张3类别

数据集类型:图像分类用,不可用于目标检测无标注文件 数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):1279 分类类别数:3 类别名称:["corrosion","nes…

SparkSQL遵循ANSI标准

ANSI简介 ANSI Compliance通常指的是遵循美国国家标准学会(American National Standards Institute, ANSI)制定的标准。在计算机科学和技术领域,这通常涉及到数据库管理系统(DBMS)对于SQL语言的支持程度。 ANSI为SQL…

FreeRTOS 快速入门(二)之内存管理

目录 一、概述二、FreeRTOS 中管理内存的 5 种方法1、Heap_12、Heap_23、Heap_34、Heap_44.1 内存申请4.2 内存释放 5、Heap_5 三、Heap 相关的函数1、pvPortMalloc/vPortFree2、xPortGetFreeHeapSize3、xPortGetMinimumEverFreeHeapSize4、malloc 失败的钩子函数 一、概述 在…

CDGA|数据治理,就像在厨房里炒一盘好菜

数据治理,就像在厨房里炒一盘好菜,是一门既讲究技巧又注重细节的艺术。在这个信息爆炸的时代,数据如同食材,是支撑企业决策、优化运营、驱动创新的基石。而数据治理,则是将这些纷繁复杂的数据“食材”精心挑选、清洗、…

使用NPS搭建socks5隧道 | 内网穿透

在看春秋云镜靶场的WP时碰到用NPS来做代理的,这里刚好看到这篇文章:https://www.cnblogs.com/cute-puli/p/15508251.html,学习一下。 GUI界面管理更加方便。 实验环境 网络拓扑: kali: VMnet1(公网&…