百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

CVPR2020|更高质量的点云补全:上海交通大学团队提出点云分形网络

bigegpt 2024-08-22 10:25 2 浏览

机器之心发布

作者:黄梓田、余一宽、徐嘉文、倪枫、乐心怡

近日,计算机视觉顶会 CVPR 2020 接收论文结果公布,从 6656 篇有效投稿中录取了 1470 篇论文,录取率约为 22%。本文介绍了上海交通大学被此顶会接收的一篇论文《PF-Net: Point Fractal Network for 3D Point Cloud Completion》。



  • 论文地址:https://arxiv.org/pdf/2003.00410.pdf
  • 代码地址:https://github.com/zztianzz/PF-Net-Point-Fractal-Network.git


点云补全(Point Cloud Completion)用于修补有所缺失的点云(Point Cloud),从缺失点云出发估计完整点云,从而获得更高质量的点云。点云有助于用较小的数据量描述三维物体,在三维物体的检测识别领域应用广泛。在 PointNet[1] 和 PointNet++[2] 使用深度学习网络实现了点云分割和点云分类之后,点云深度学习逐渐成为热门研究领域。但是,从激光雷达等设备中获取的点云往往有所缺失,这给点云的后续处理带来了一定的困难,也凸显出点云补全作为点云预处理方法的重要性。


传统的点云补完方法基于一定的物体基础结构的先验信息,如对称性信息或语义类信息等,通过一定的先验信息对缺失点云进行修补。这类方法只能处理一些点云缺失率很低、结构特征十分明显的缺失点云。近年来,一些工作也尝试使用深度学习来实现点云补全,如 LGAN-AE[3],PCN[4], 和 3D-Capsule[5] 等,这些工作以不完整点云作为输入,输出完整点云,造成网络过于关注到物体的整体特征而忽略了缺失区域的几何信息。另一方面,这些网络会生成偏向于某类物体共性特征的点云,而失去某个物体的个体特征。


我们提出点云分形网络(PF-Net:Point Fractal Network),采用了类似分形几何的思想,同样以不完整点云作为输入,但是仅输出缺失部分点云,并且较好地保留了某个物体的个体特征。下图 1 中给出了不同点云修补网络的修复效果对比。


图 1:点云补全效果对比,从上往下(输入; LGAN-AE 输出 [3] , PCN 输出 [4]; 3D-Capsule 输出 [5] ; 我们的 PF-Net 输出; 真实输出)


可以看到,PF-Net 的修补对比其他网络具有以下优势:(1)保留了输入点云独特的几何特性;(2)细节特征更加丰富且柔和;(3)生成点云整体的质量更高


PF-Net 网络之所以可以大幅改善生成点云的效果,与 PF-Net 网络的特征密不可分。该网络的主要特征包括:(1)以不完整点云作为输入,仅输出缺失部分点云,可以更多保留物体点云的空间结构,对物体的局部特性感知更好;(2)提出了更优的点云特征提取器:多分辨率编码器(Multi-Resolution Encoder),多尺度的方法提升了高低层次点云语义信息提取的效率;(3)提出了金字塔解码器(Point Pyramid Decoder)用于生成点云,利用多阶段补全损失 (Multi-stage completion loss) 监督其中关键点云的生成,从而减少了几何结构瑕疵。(4)利用 GAN 结构的鉴别器(Descriminator)优化网络,改善了同一类别不同物体间的特征会相互影响的现象(Genus-wise Distortions Problem)。


图 2:PF-Net 整体网络结构。


网络的整体网络结果如图 2 所示。PF-Net 网络以多分辨率编码器(MRE)作为特征提取网络,使用联合 MLP(CMLP)替代 MLP 成为单个点云的特征提取器,从而能最大程度保留原始点云的局部特征;利用特征向量通过点云金字塔解码器(PPD)输出点云,PPD 的主要思想是监督每一阶段的点云,提升关键点的生成质量,在关键点的基础上不断生成新的点云。


下图 3 展示了多层次拟合关键点在不同深度的效果。对比未使用 PPD 结构和损失函数的网络,下表 1 的结果显示了 PPD 结构在 PF-Net 中的重要作用。


表 1:PF-Net(vanilla)为未使用鉴别器优化的 PF-Net,MR-CMLP 为未使用 PPD 结构的 PF-Net(vanilla)。


图 3:基于金字塔解码器的多层次提取可视化效果。


我们主要在 ShapeNet 数据集展开实验,以生成点云和原始点云的相对 Chamfer Distance 指标量为量化指标,下标中「/」左侧为生成点云指向原始点云,「/」右侧为原始点云指向生成点云,可以看到 PF-Net 在 ShapeNet 数据集中的 13 类物体上,在大部分对比中 PF-Net 都是占优的,达到了 SOTA。


表 2:利用 Chamer distance 为指标的量化指标对比。


PF-Net 网络在不同缺失比例和缺失多个位置的情况下补全效果也十分不错。如下图 4 和图 5 所示。


图 4:25%,50%,和 75% 的损失比例下的补全结果。


图 5:在飞机机头、机尾、机翼等不同位置、多个位置的补全结果。


总体来说,PF-Net 实现了缺失点云数据下的精细补全,在不同缺失率和多个缺失位置的情况下的补全效果均较好,可以作为点云预处理方法,提高点云分割、点云识别的准确率。然而,目前点云领域并没有类似于 Imagenet 这样庞大的高质量真实数据集,在一定程度上制约了更复杂的点云处理算法的发展。点云数据可以简洁有效地描述三维物体,我们呼吁更多的人关注点云深度学习,共同建设点云深度学习的美好生态。


注:论文前三作者均为上海交通大学机动学院硕士研究生,四作倪枫供职于科技企业,本文通讯作者为上海交通大学讲师乐心怡。


参考文献:

[1] Charles R Qi, Hao Su, Kaichun Mo, and Leonidas J Guibas. Pointnet: Deep learning on point sets for 3D classification and segmentation. CVPR, 2017.

[2] Charles R Qi, Li Yi, Hao Su, and Leonidas J Guibas. Pointnet++: Deep hierarchical feature learning on point sets in a metric space. NeurIPS, 2017.

[3] Panos Achlioptas, Olga Diamanti, Ioannis Mitliagkas, and Leonidas J Guibas. Learning representations and generative models for 3D point clouds. ICML, 2018.

[4] Wentao Yuan, Tejas Khot, David Held, Christoph Mertz, and Martial Hebert. PCN: Point completion network. 3DV, 2018.

[5] Yongheng Zhao, Tolga Birdal, Haowen Deng, and Federico Tombari. 3D point capsule networks. CVPR, 2018.

相关推荐

悠悠万事,吃饭为大(悠悠万事吃饭为大,什么意思)

新媒体编辑:杜岷赵蕾初审:程秀娟审核:汤小俊审签:周星...

高铁扒门事件升级版!婚宴上‘冲喜’老人团:我们抢的是社会资源

凌晨两点改方案时,突然收到婚庆团队发来的视频——胶东某酒店宴会厅,三个穿大红棉袄的中年妇女跟敢死队似的往前冲,眼瞅着就要扑到新娘的高额钻石项链上。要不是门口小伙及时阻拦,这婚礼造型团队熬了三个月的方案...

微服务架构实战:商家管理后台与sso设计,SSO客户端设计

SSO客户端设计下面通过模块merchant-security对SSO客户端安全认证部分的实现进行封装,以便各个接入SSO的客户端应用进行引用。安全认证的项目管理配置SSO客户端安全认证的项目管理使...

还在为 Spring Boot 配置类加载机制困惑?一文为你彻底解惑

在当今微服务架构盛行、项目复杂度不断攀升的开发环境下,SpringBoot作为Java后端开发的主流框架,无疑是我们手中的得力武器。然而,当我们在享受其自动配置带来的便捷时,是否曾被配置类加载...

Seata源码—6.Seata AT模式的数据源代理二

大纲1.Seata的Resource资源接口源码2.Seata数据源连接池代理的实现源码3.Client向Server发起注册RM的源码4.Client向Server注册RM时的交互源码5.数据源连接...

30分钟了解K8S(30分钟了解微积分)

微服务演进方向o面向分布式设计(Distribution):容器、微服务、API驱动的开发;o面向配置设计(Configuration):一个镜像,多个环境配置;o面向韧性设计(Resista...

SpringBoot条件化配置(@Conditional)全面解析与实战指南

一、条件化配置基础概念1.1什么是条件化配置条件化配置是Spring框架提供的一种基于特定条件来决定是否注册Bean或加载配置的机制。在SpringBoot中,这一机制通过@Conditional...

一招解决所有依赖冲突(克服依赖)

背景介绍最近遇到了这样一个问题,我们有一个jar包common-tool,作为基础工具包,被各个项目在引用。突然某一天发现日志很多报错。一看是NoSuchMethodError,意思是Dis...

你读过Mybatis的源码?说说它用到了几种设计模式

学习设计模式时,很多人都有类似的困扰——明明概念背得滚瓜烂熟,一到写代码就完全想不起来怎么用。就像学了一堆游泳技巧,却从没下过水实践,很难真正掌握。其实理解一个知识点,就像看立体模型,单角度观察总...

golang对接阿里云私有Bucket上传图片、授权访问图片

1、为什么要设置私有bucket公共读写:互联网上任何用户都可以对该Bucket内的文件进行访问,并且向该Bucket写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可...

spring中的资源的加载(spring加载原理)

最近在网上看到有人问@ContextConfiguration("classpath:/bean.xml")中除了classpath这种还有其他的写法么,看他的意思是想从本地文件...

Android资源使用(android资源文件)

Android资源管理机制在Android的开发中,需要使用到各式各样的资源,这些资源往往是一些静态资源,比如位图,颜色,布局定义,用户界面使用到的字符串,动画等。这些资源统统放在项目的res/独立子...

如何深度理解mybatis?(如何深度理解康乐服务质量管理的5个维度)

深度自定义mybatis回顾mybatis的操作的核心步骤编写核心类SqlSessionFacotryBuild进行解析配置文件深度分析解析SqlSessionFacotryBuild干的核心工作编写...

@Autowired与@Resource原理知识点详解

springIOCAOP的不多做赘述了,说下IOC:SpringIOC解决的是对象管理和对象依赖的问题,IOC容器可以理解为一个对象工厂,我们都把该对象交给工厂,工厂管理这些对象的创建以及依赖关系...

java的redis连接工具篇(java redis client)

在Java里,有不少用于连接Redis的工具,下面为你介绍一些主流的工具及其特点:JedisJedis是Redis官方推荐的Java连接工具,它提供了全面的Redis命令支持,且...