当前位置: 首页 > news >正文

论文解读|PF-Net:用于 3D 点云补全的点分形网络

原创 | 文 BFT机器人

图片

01

背景

从激光雷达等设备中获取的点云往往有所缺失(反光、遮挡等),这给点云的后续处理带来了一定的困难,也凸显出点云补全作为点云预处理方法的重要性。

点云补全(Point Cloud Completion)用于修补有所缺失的点云(Point Cloud),从缺失点云出发估计完整点云,从而获得更高质量的点云。点云有助于用较小的数据量描述三维物体,在三维物体的检测识别领域应用广泛。

02

相关工作

传统的点云补全方法基于一定的物体基础结构的先验信息,如对称性信息或语义类信息等,通过一定的先验信息对缺失点云进行修补。这类方法只能处理一些点云缺失率很低、结构特征十分明显的缺失点云。

在 PointNet 和 PointNet++ 使用深度学习网络实现了点云分割和点云分类之后,点云深度学习逐渐成为热门研究领域。

如 LGAN-AE,PCN, 和 3D-Capsule 等,这些工作以不完整点云作为输入,输出完整点云,造成网络过于关注到物体的整体特征而忽略了缺失区域的几何信息。

另一方面,这些网络会生成偏向于某类物体共性特征的点云,而失去某个物体的个体特征。(这些工作更注重于学习属性或者类别的一般特征,而不是学习某一特定对象的局部细节)容易改变原有物体的特性(位置错误、几何特征丢失、形状扭曲等)。

03

简介

文章提出一种基于深度学习的点云分形网络PF-Net。PF-Net采用了一些自己的思路和方法来改善现有的问题:

1.以不完整点云作为输入,仅输出缺失部分点云,可保留物体点云的空间结构,对物体的局部特性感知更好;

2.提出了更优的点云特征提取器:多分辨率编码器(Multi-Resolution Encoder),多尺度的方法提升了高低层次点云语义信息提取的效率;

3.提出了点云金字塔解码器(Point Pyramid Decoder)用于生成点云,利用多阶段补全损失加粗样式 (Multi-stage completion loss) 监督其中关键点云的生成,从而减少了几何结构瑕疵。

4.利用 GAN*结构的鉴别器(Descriminator)优化网络,改善了同一类别不同物体间的特征会相互影响的现象(Genus-wise Distortions Problem)。

04

PF-Net网络结构

4.1 MRE(多分辨率编码器)


对输入点云做迭代最远点采样(FPS),获得更小尺度且更具有轮廓特征的降采样点云,如图所示。

图片

MLP(CMLP)主要采用MPL(多层感知机)的处理方式。不同的是,分别对最后四层网络(output_dim=128,256,512,1024)的输出做maxpooling。

再将这四层pooling后的输出拼接(concat)形成Latent Vector F (dim=1920x1),如图4。该方式能更充分的利用高层和底层特征。

拼接三个不同尺度点云的CMLP输出,获得Final Latent Map M(dim=1920x3)将M通过多层感知机MLP从(1920x3)变换成(1920x1),获得Final Feature Vector V。

图片

4.2 PPD(点云金字塔解码器)

PPD 的主要思想是监督每一阶段的点云,提升关键点的生成质量,在关键点的基础上不断生成新的点云。

借鉴图像处理中经典的SIFT算法,采用特征金字塔加粗样式的方式,对编码出的特征,进行多尺度的解码,生成不同尺度的点云。

现有方法大都利用最后一个输出层的结果来做预测,导致只保留了全局特征而丢失了局部特征。为了更好地保留细节,网络中设计多层的特征解码,使不同粒度的特征更好地保留。

图片

将上一步获得的Final Feature Vector V通过三个FC(全连接)层,产生三个不同尺度的点云特征。

以此为例,经过一系列操作(linear, reshape, convolution)生成与采样后的Ground Truth点云数相同的生成点云,用于后续Loss部分的构建。

4.3 损失函数(包含GAN鉴别器)

损失函数由两部分组成:Multi-stage Completion Loss 和 Adversarial Loss

图片

1.Multi-stage Completion Loss(Lcom):

该损失衡量输出点云与真值之间的差别。

图片

图片

引入计算两个点云间的距离公式(公式1)其中,S1可以表示生成的点云,S2可以表示Ground Truth,对于S1中的每个点,找到其与S2中距离最近的点,计算欧氏距离后求和取平均,作为距离公式的第一部分;第二部分相似,对于S2中的每个点,找到其与S1中距离 最近的点,计算欧氏距离后求和取平均。

在PDD解码器中,生成了三个不同尺度的点云,将三个对应的值取不同权重相加,作为总体损失的一部分(公式2)

2.Adversarial Loss(Ladv):

该损失优化MRE和PPD,使输出看起来更加真实。

GAN鉴别器:GAN鉴别器是一个分类器,其结构与CMLP类似:对一个多层MLP[64−64−128−256]的最后三层的输出进行maxpool得到feature vector f_i, i= 1, 2, 3.将f_i连接得到F,F通过全连接层 [256,128,16,1]以及Sigmoid函数得带最终的预测值。

假设GAN 鉴别器的输出为D(), 其输入为残缺部分点云的预测值y’或对应真值y。

3.Joint Loss

将以上两部分的Loss以不同权重相加,获得完整的Loss Function。

图片

05

实验分析

实验结果显示PF-Net大部分对比中都是占优的,达到了 SOTA:

图片

可以看出PF-Net细腻地输出与GroudTruth最接近。

从上图的桌子、椅子中可以看出,PF-Net 没有学习桌子椅子这些类别的一般(共性)特征,可以输出个体差异,比如特殊的缺角的桌子和背靠5根的椅子。

图片

1.Pred→GT error误差用于衡量预测与真实情况之间的差异。

2.GT→Pred error表示真值表面被预测的点云覆盖的程度。

3.PF-Net(vanilla)是指没有GAN鉴别器模块的版本。

图片

对GAN鉴别器(Discriminator)的分析:

鉴别器的功能是区分预测形状与缺失区域的真实轮廓,并优化网络以生成更“真实”的配置。上图两个表明,Discriminator可以帮助最小化Pred→GT error。如上所述,Pred→GT衡量的是预测与实际情况之间的差异。因此,Discriminator使PF-Net生成与地面实况更相似的点云。

鲁棒性测试


作者以三个分别损失了25%,50%和75%的不完整点云作为输入。注意,三个输入的Pred→GT误差和GT→Pred误差基本上是相同的,这意味着当处理具有不同缺失程度的不完整输入时,我们的网络具有很强的鲁棒性。实验结果如表所示。

图片

图片

实验证明PF-Net可以准确地“识别”不同类型的飞机,即使在大规模不完整的情况下,也可以保留原始点云的几何细节。

图片

注意第二个两个机翼都缺失的情况下仍然可以补全。

作者 | 江诚

排版 | 居居手

更多精彩内容请关注公众号:BFT机器人
(公众号后台回复“优惠活动”查看BFT机器人年终钜惠福利内容)

本文为原创文章,版权归BFT机器人所有,如需转载请与我们联系。若您对该文章内容有任何疑问,请与我们联系,将及时回应。

http://www.lryc.cn/news/98842.html

相关文章:

  • 网络安全(零基础)自学
  • Spring Security 身份验证的基本类/架构
  • 市值超300亿美金,SaaS独角兽Veeva如何讲好中国故事?
  • 编译内联导致内存泄漏的问题定位修复
  • 基于WebSocket实现的后台服务
  • Go语言中的结构体详解
  • pytest自动化测试指定执行测试用例
  • 英伟达 H100 vs. 苹果M2,大模型训练,哪款性价比更高?
  • var、let和const的区别
  • (css)AI智能问答页面布局
  • 【Pytorch学习】pytorch中的isinstance() 函数
  • (树) 剑指 Offer 07. 重建二叉树 ——【Leetcode每日一题】
  • Gitlab 合并分支与请求合并
  • 【Matter】基于Ubuntu 22.04 编译chip-tool工具
  • 将 MongoDB 的 List<Document> 转换为对象列表
  • 【Linux下6818开发板(ARM)】SecureCRT串口和交叉编译工具(巨细版!)
  • 应届生如何快速找Java开发工程师,先学会这17个基础问题
  • 数学建模学习(5):数学建模各类题型及解题方案
  • 【学习笔记】视频检测方法调研
  • idea terminal npm指令无效
  • 低代码开发平台源码
  • 【UE5 多人联机教程】04-加入游戏
  • 自然语言处理从入门到应用——LangChain:模型(Models)-[大型语言模型(LLMs):缓存LLM的调用结果]
  • Python 算法基础篇之图的遍历算法:深度优先搜索和广度优先搜索
  • 文本缩略 文本超出显示省略号 控制超出省略的行数
  • 云原生架构
  • Java 生成随机数据
  • 基于OpenCV的红绿灯识别
  • JavaScript快速入门:ComPDFKit PDF SDK 快速构建 Web端 PDF阅读器
  • Flutter 网络请求