CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL)
CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL)
PointASNL: Robust Point Clouds Processing Using Nonlocal Neural Networks With Adaptive Sampling
论文地址:
代码地址: https: //github.com/yanx27/PointASNL
摘要
原始点云数据通过从三维传感器获取或重建算法不可避免地包含异常值或噪声。本文提出了一种新的用于点云处理的端到端网络,称为PointASNL,能有效地处理有噪声的点云。该方法的关键部分是自适应采样(AS)模块。首先从最远点采样(FPS)对初始采样点周围的邻域进行加权,然后自适应调整整个点云之外的采样点。AS模块不仅有利于点云的特征学习,而且可以减轻离群点的偏差效应。为了进一步捕获采样点的邻域和长程相关性,在非局部运算的启发下,提出了一个局部非局部(L-NL)模块。这种L-NL模块使学习过程对噪声不敏感。大量的实验验证了方法在点云处理任务中的鲁棒性和优越性,无论合成数据、室内数据和室外数据有无噪声。具体地说,PointASNL在所有数据集上实现了最先进的分类和分割任务的鲁棒性能,并且在考虑噪声的实际室外SemanticKITTI数据集上显著优于以前的方法。
随着3D传感器的普及,对于将获得更多原始3D数据,例如RGB-D数据、激光雷达数据和MEMS数据[44]。将点云视为三维数据的基本代表,理解点云在各种应用中引起了广泛的关注,例如,自动驾驶[29],机器人技术[37],以及地点识别[23]。在这里,点云有两个组件:
与二维图像不同,稀疏性和无序性使健壮的点云处理成为一项具有挑战性的任务。此外,从这些三维传感器获得的原始数据或重建算法不可避免地包含离群值或现实世界中的噪音。在这项工作中,提出了一个新颖的端到端网络健壮的点云处理,名为PointASNL,能有效地处理含有噪声或离群点的点云。建议的PointASNL主要包括两个通用模块:自适应采样(AS)模块和localnonlocal(L-NL)模块。AS模块用于调整采样点的坐标和特征L-NL模块用于捕获邻居和远程数据采样点的相关性。与二维图像的情况不同,传统的卷积操作不能直接作用于非结构化点云数据。因此,目前大多数的方法通常使用采样从原点选择点的方法用于进行局部特征学习的云。其中采样算法,最远点采样(FPS)[25],泊松圆盘抽样(PDS)[11]和甘贝尔子集抽样(GSS)[48]在先前的工作中提出。然而,作为最具代表性的一种,FPS植根于欧几里得距离,这是任务相关的和离群值敏感。PDS是一种预定义的均匀采样方法无法以数据驱动的方式解决上述问题。GSS公司仅从高维嵌入执行采样而忽略了点的空间分布。此外,这些方法的共同关键问题是采样点仅限于原始点的一个子集云。因此,如图1的左侧所示,假设一个离群点被抽样,会影响下游过程不可避免。
为了克服上述问题,建议可微自适应采样(AS)模块用于调整初始采样点的坐标(例如,从FPS)通过数据驱动的方式。这种坐标调整有助于拟合内在几何子流形和进一步的移位更正原始点云之外的点而不使用离群值的影响。因此,AS模块不仅可以受益点特征学习,同时也改进了模型对噪声的鲁棒性。为了进一步提高性能学习过程对噪声不敏感,提出了一种局部非局部的方法NL-L近距离捕获模块(NL)采样点的相关性。潜在的原因是,目前,最吸引人的方法是特征学习就是在每个局部组周围进行查询采样点,然后构造基于学习[30,42,50,14]或定义类似卷积的运算[12,47,8,3,44,34](将表示为局部点电池)。
然而,这样的点局部单元只考虑局部相邻区域的信息交互通过层次结构获取全局上下文,这通常导致自下而上的特征学习。受到启发的通过非本地网络的成功[41],创新性地设计了L-NL模块,其中的关键部件是点非局部单元。尤其是非局部单元允许计算采样点作为整个点云,而不是仅仅在一个有限的邻居内范围。通过学习到的长依赖关系L-NL模块可以提供更精确的信息,使系统具有更强的鲁棒性点云处理。如右侧所示图1,虽然取样点在发动机下部L-NL模块仍然可以学习具有不同噪声分布的其发动机的特征。
主要贡献如下:1)提出了一个稳健点云的端到端模型处理,PointASNL,可以有效缓解影响离群值或噪声;2)与建议的自适应采样(AS)模块,点ASNL可自适应调整初始采样点的坐标,使更适合具有内在几何的特征学习并且对于噪声异常更为稳健;3)进一步设计在所提出的局部非局部(L-NL)模块中加入了一个点非局部单元,增强了点局部的特征学习能力细胞。关于分类和分割的广泛实验任务验证了方法的健壮性。
2.相关工作基于体积和基于投影的方法。
考虑到点云的稀疏性和内存消耗,直接体素化不是很有效点云,然后使用三维卷积进行特征提取学习。各种后续改进方法例如,高效的时空卷积MinkowskiNet[5],计算有效子流形稀疏卷积[7],和基于Oc树的神经网络O-CNN[39]和OctNet[27]。这样的方法大大改进了计算效率,从而导致点云作为输入,无需采样和优越的容量。还有其基于网格的方法使用传统的卷积运算,例如,将三维数据投影到多视图二维图像[32]和晶格空间[31]。然而这些方法的卷积运算缺乏捕捉非局部几何特征。基于点的学习方法。PointNet[24]是先锋直接处理稀疏和非结构化点云,通过使用点态多层感知最大池操作。PointNet++[25]进一步适用k-NN分组后接最大限度地收集区域信息。因为聚集在一起地方特色简单到最大的激活,区域性信息尚未得到充分利用。
最近,很多已经为有效的本地特性聚合做出了努力。PointCNN[20]将相邻点转换为规范点顺序,使传统的卷积可以正常角色。Point2Sequence[21]使用注意力机制收集不同地区的信息。方法[47,44,11,22,30,40]直接使用关系式在社区和地方中心之间学习动态卷积重量,其中ECC[30]和RS-CNN[22]使用特别定义的6-D和10-D向量作为边缘关系,PCCN[40]和PointConv[44]投射了相对位置一个卷积重量的两点。A-CNN网[16]使用环卷积对具有不同与本地中心点和PointWeb的距离[50]进一步连接局部区域中的每个点对以获得更具代表性的区域特色。不过,这些方法只关注局部特征聚合,获取全局特征从局部特征到层
次结构的上下文。另一方面,还有各种各样的作品从局部特征的全局上下文。A-SCN[46]使用一种聚集全局特征的全局注意机制但缺乏当地信息的支持取得良好效果。DGCNN[42]提出了EdgeConv生成边缘特征和在特征空间中搜索邻域的模块。LPD Net[23]进一步扩展了DGCNN空间邻域和特征邻域聚合。然而,特征空间中的邻域并不具有代表性以及空间感受野网络逐渐变得混乱无层次结构。异常值去除和抽样策略。异常值和噪声通常存在于原始点云数据中。以前的健壮用于去除离群值的统计方法[1]受到非平凡的参数调整或需要额外的信息[43]。
提出了各种数据驱动方法[9,26]对于离群值移除,首先丢弃一些离群值,然后然后将噪波点投影到干净的曲面上。然而,这些方法无法固有地合并健壮的点云特征以联合学习的方式去除离群值进行学习。打开另一方面,基于深度学习的点云处理方法通常是采样点,以减少计算量消费。然而,大多数抽样方法都是有限的由噪声敏感度而非数据驱动[25,11],或者不考虑空间分布[48]。所以网络[19]使用了一个无监督的神经网络,比如说自组织地图(SOM),利用点云。然后使用PointNet++[25]对较小的采样“节点”。但是,这样的网不属于在线自适应采样。在局部假设下标签一致性,有些作品使用的几何中心体素网格统一表示采样点[34,30],忽略了点分布影响的差异。不过,这些方法对噪声和无法学习采样点的空间分布同一时间。
3. Our Method
3.1.自适应采样(AS)模块
最远点采样(FPS)广泛应用于许多领域点云框架,因为可以生成一个相对统一的采样点。因此,邻居可以尽可能多的输入点云。尽管如此,FPS主要有两个问题:(1)非常敏感对于离群点,这使得在处理时非常不稳定使用真实的点云数据。(2) 取样点来自FPS必须是原始点云的子集,这使得如果在采集过程中会出现遮挡和丢失错误。
3.2.本地非本地(L-NL)模块
在L-NL模块中,有两个单元:局部点(PL)单元和点非局部(PNL)单元。特别是cell可以是任何吸引人的算法(例如PointNet++[25],PointConv[44]),并且PNL cell创新性地考虑采样点与整点的相关性多尺度云。因此,语境学习通过结合局部和全局信息(见图2(b))。
3.3.PointASNL
在每一层中将两个部分结合起来,可以实现分类和分割任务的体系结构。对于分类,设计了一个三层网络并在两个级别上向下采样输入点。特别地,前两层采样512和124个点。第三个层将前两层的全局特征与最大池,其中新功能完全由分别连接层、dropout和softmax层。批处理规范化层和ReLU函数是用于每层。此外,跳过连接[10]是用于前两层。对于分段(参见图4),每个编码器层与分类中的设置类似,但网络有更深的结构(1024-256-64-16)。在解码器部分,使用3-最近插值[25]获得上采样特征也可以使用L-NL块进行更好的特征学习。此外,跳过连接被用来传递特征在编码器和解码器。
4. Experiment
在各种任务上评估PointASNL,包括合成数据集,大型室内外场景分割数据集。在所有的实验中,实现了在一个GTX 1080Ti GPU上使用Tensorflow的型号。
CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL)的更多相关文章
- 非局部模块(Non Local module)
Efficient Coarse-to-Fine Non-Local Module for the Detection of Small Objects 何恺明提出了非局部神经网络(Non-local ...
- 论文解读丨基于局部特征保留的图卷积神经网络架构(LPD-GCN)
摘要:本文提出一种基于局部特征保留的图卷积网络架构,与最新的对比算法相比,该方法在多个数据集上的图分类性能得到大幅度提升,泛化性能也得到了改善. 本文分享自华为云社区<论文解读:基于局部特征保留 ...
- 陕西中际现代:基于自适应算法的PLC滴灌控制系统
基于自适应算法的PLC滴灌控制系统 陕西中际现代包装科技有限公司滴灌部 1.介绍 水资源正在成为一种珍贵的资源.城镇的市民使用成千上万立方的水来浇灌花园和绿地.他们依赖于使用固定灌溉计划的控制器.而这 ...
- 【转】浅析C语言的非局部跳转:setjmp和longjmp
转自 http://www.cnblogs.com/lienhua34/archive/2012/04/22/2464859.html C语言中有一个goto语句,其可以结合标号实现函数内部的任意跳转 ...
- 腾讯优图&港科大提出一种基于深度学习的非光流 HDR 成像方法
目前最好的高动态范围(HDR)成像方法通常是先利用光流将输入图像对齐,随后再合成 HDR 图像.然而由于输入图像存在遮挡和较大运动,这种方法生成的图像仍然有很多缺陷.最近,腾讯优图和香港科技大学的研究 ...
- NLM非局部均值算法相关
NLM原文: 基于图像分割的非局部均值去噪算法 基于图像分割的非局部均值去噪算法_百度文库 https://wenku.baidu.com/view/6a51abdfcd22bcd126fff705c ...
- 二十、Linux 进程与信号---非局部跳转
20.1 setjmp 和 longjmp 函数 20.1.1 函数介绍 #include <setjmp.h> int setjmp(jmp_buf env); 函数功能:设置非局部跳转 ...
- 【RAY TRACING THE REST OF YOUR LIFE 超详解】 光线追踪 3-4 基于重要性采样的材质初探
Preface 我们今天来把第三本书从开局到现在讲的一大堆理论运用到我们的框架中,那么今天我们首先将原始的材质改为基于重要性采样原理的材质 这一篇是代码工程中进行MC理论应用的初步尝试篇 Read ...
- Socket-IO 系列(三)基于 NIO 的同步非阻塞式编程
Socket-IO 系列(三)基于 NIO 的同步非阻塞式编程 缓冲区(Buffer) 用于存储数据 通道(Channel) 用于传输数据 多路复用器(Selector) 用于轮询 Channel 状 ...
随机推荐
- 【Feign/Ribbon】记录一次生产上的SpringCloudFeign的重试问题
在上周在的微供有数项目中(数据产品),需要对接企业微信中第三方应用,在使用Feign的去调用微服务的用户模块用微信的code获取access_token以及用户工厂信息时出现Feign重试超时报错的情 ...
- Windows中的权限设置、文件压缩、文件加密、磁盘配额和卷影副本
目录 权限设置 文件夹的NTFS权限 文件的NTFS权限 NTFS权限的应用规则 文件压缩 文件加密 磁盘配额 卷影副本 权限设置的应用 遇到的一个权限问题的小bug 权限问题的实际应用 权限设置 ...
- hdu4771 水搜索(状态压缩+bfs)
题意: 给你一个n*m的地图,问你从起点出发,吧所有的宝藏都捡完用的最少时间. 思路:k <= 4,水题,直接开一个数组mark[now][x][y];now代表的是当前检宝藏的二进制 ...
- LAMP环境搭建一个Discuz论坛
LAMP是Linux+Apache+Mysql/MariaDB+Perl/PHP/Python的简称.一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有 ...
- Python中python-nmap模块的使用
目录 python-nmap的安装 python-nmap模块的使用 portScanner()类 环境: python 2.7.13 Windows和Linux默认都是不安装python-nmap ...
- (CV学习笔记)看图说话(Image Captioning)-2
实现load_img_as_np_array def load_img_as_np_array(path, target_size): """从给定文件[加载]图像,[缩 ...
- php单列模式和工厂模式
一.单例模式又称为职责模式,它用来在程序中创建一个单一功能的访问点,通俗地说就是实例化出来的对象是唯一的.所有的单例模式至少拥有以下三种公共元素: 1. 它们必须拥有一个构造函数,并且必须被标记为pr ...
- 『动善时』JMeter基础 — 14、使用JMeter发送Post请求
目录 1.Post请求参数类型说明 2.用于演示的项目说明 3.发送Post请求示例 (1)测试计划内包含的元件 (2)请求参数类型为x-www-form-urlencoded 4.请求参数form- ...
- 关于ajax的数据传输类型,字符串传输
- ES6学习-4 解构赋值(1)数组的解构赋值
解构赋值是ES6很大的一个提升,为我们带来了很多方便,但用不好,会使程序的可读性变差,所以用时要注意,尽量保持程序的易读性. 数组解构赋值 在JS没有支持解构赋值之前,我们声明几个变量并赋值通常都是像 ...