ASSANet:AnAnisotropicSeparableSetAbstractionforEfficientPointCloudRepresentationLearning 这篇报告主要介绍NeurIPS2021Spotlight论文ASSANet。在ASSANet中,我们深入研究了PointNet〔1〕这个经典的网络结构,并开发出更快、更准确的模型变体。 我们首先提出了一种新颖的可分离集抽象(SeparableSetAbstraction)模块,它将PointNet中使用的普通SA模块分解为两个独立的学习阶段:(1)学习通道相关性和(2)学习空间相关性。SeparableSA模块以比普通版本快得多的速度,达到了相当的精度。 然后,我们在我们的可分离SA模块中引入了一个新的各向异性操作,并提出了一个各向异性可分离集抽象模块(ASSA),该模块大大提高了网络的精度。我们将PointNet中的SA模块替换为ASSA模块,并将修改后的网络命名为ASSANet。 对点云分类、语义分割和部分分割的大量实验表明,ASSANet优于PointNet和其他方法,实现了更高的精度和更快的速度。 例如,ASSANet在S3DISArea5上的性能比PointNet高7。4mIoU,同时在单个NVIDIA2080TiGPU上保持1。6倍的推理速度。加深后的ASSANet达到66。8mIoU,性能优于KPConv,同时速度提高了54倍以上。 我们提出了一种基于各向异性的、可分离且高效的点云特征学习网络ASSANet。本次研究的动机是,高效的点云处理网络需求越来越大:嵌入式激光雷达传感器的新型移动设备创造了对高效点云学习算法的需求。 但是当前SOTA的方法往往是牺牲速度来换取准确率。而我们的方法在达到与之前知名方法相同准确率的时候,具备更快的推理速度,甚至比PointNet快了接近两倍。 本期AITIMEPhD直播间,我们邀请到阿卜杜拉国王科技大学(KAUST)计算机科学专业的博士生钱国成,为我们带来报告分享《ASSANet:让PointNet更快更强》。 钱国成: 阿卜杜拉国王科技大学(KAUST)计算机科学专业的在读博士生。导师是BernardGhanem。钱国成于2018年获得西安交通大学的学士学位。研究方向:点云理解,高效神经网络设计。 1hrMethodology ASSANet是基于PointNet设计的,之所以选择PointNet,因为这是一种经典的网络结构且被应用到如点云分割等多个领域。其本身性能和速度具有较好平衡。我们本次工作的目的便是研究如何使得PointNet变得更快更强。 Background PointNet是由SA模块组合起来的,SA指的是Setabstraction,即将点云当作一个集合set,然后将点云的这些点进行下采样以及特征学习。 这个模块主要由三个部分组成:subsampling下采样,grouping找邻居,localaggregation做卷积并聚合(MLPsandreduction)。 本文中,我们将PointNet中的SA模块称为vanillaSA。值得注意的是,PointNet原文中提出了多种变体结构,我们的工作是基于PointNetmultigrouping,本文将其简称为PointNet。 LatencyAnalysis 研究PointNet,我们需要首先对其速度进行分析。根据上述对其组成模块的理解,我们发现其latency速度主要受到三个因素影响。 pointsubsampling点云的下采样 grouping(neighborhoodquerying)邻居的query actualcomputation(mainlyMLPs)MLP的计算 我们发现MLP的计算依然是限制速度的瓶颈(特别是当点云规模较小的时候),于是我们开始研究对PointNetMLP部分进行优化。 首先我们分析, (1)为什么vanillaSA速度较慢?这是因为MLP是作用在邻居特征上,但是邻居特征比点云特征多了k倍,说明其中是有相当多的重复数据计算的。若想缓解这种速度问题,最简单的方法就是直接在PointfeatureX上进行MLP,而不是在邻居feature上做重复计算。 (2)为什么PointNet的准确率不高?因为PointNet的所有计算都是各向同性的,这包括MLP对每个邻居的feature计算用相同的MLP,以及聚合操作(reductionlayer)对每一个邻居的计算相同,这会限制网络的表征能力。 根据上述分析,我们逐渐对PointNet中的VanillaSA模块进行改进: (1)我们提出了PreConvSA:直接对点云的特征而不是邻居的特征进行MLP计算。具体表现为将VanillaSA中的MLP模块前移至subsamplinggrouping之前。这样,模型的FLOPs可以减少k倍。 (2)我们进一步提出SeparableSA:把MLP分成两部分,一部分是在grouping之前去做,另一部分是在grouping之后去做。需要注意的是,这两部分MLP都是在Pointfeature上计算,而不是在邻居feature上计算,因此大大减少了计算量。然后,我们在这两部分MLP的输出上增加了一个残差连接。随着网络深度的增大,残差连接可以提升网络精度。 (3)我们提出了各向异性的聚合模块(ASSA)。PreConvSA,SeparableSA只是让网络变得更快了,为了进一步提升网络的精度,我们需要解决之前提到的vanillaSA的各向同性问题。 具体做法如下:在对邻居特征直接进行各向同性的reduction之前,我们将邻居特征乘以领居与中心点的在x,y,z方向的相对距离,从而实现对邻居特征不同程度的缩放。 我们分别用x,y,z三个方向的相对距离缩放邻居特征,并将三个缩放的邻居特征级联在一起,并最后对缩放后的邻居特征进行avgpooling。 值得注意的是,我们提出的各向异性聚合模块是基于PosPool〔2〕提出的,区别在于(1)我们没有对特征进行分组缩放;(2)我们用ballquery的半径归一化了缩放比例。实验证明,我们提出的ASSA聚合模块性能优于PosPool。 在PointNet中,我们把vanillaSA替换成我们最终提出的ASSA。结果如下图所示,在有4096个点输入的时候,我们的速度会提升4倍;在有15000个点输入的时候,速度可以提升1。6倍。 Network:ASSANetASSANet(L) ASSANet:我们将PointNet中的普通SA模块替换为我们的ASSA模块,并新增stemaggregation层(相当于图像识别领域常用的stemlayer),即在点云下采样之前多增加一层localaggregation。修改后的网络结构被称为ASSANet。 ASSANet(L):我们考虑了两种模型扩展策略,一种是加宽(增大初始特征数量C);另一种是加深(增大每一个SAmodule中聚合层的数量D)。我们将扩展后的ASSANet(C128,D3)称为ASSANet(L)。 2hrExperiment ASSANet在多个benchmark上都比PointNet速度更快精度更高,并同时取得接近SOTA的结果。Ablationstudy也揭示了我们提出的ASSA模块的优越性。 Featurepatternvisualization 为了帮助理解ASSA的作用,我们可视化了特征。如上图所示,在做ASSAmodule之前只有部分区域被激活。而在做了一层ASSA之后,图中的飞机机翼和尾翼,台灯的灯泡和底座,都被同时捕捉到了。这说明了ASSA模块能够帮助模型捕捉几何信息。 参考文献: 〔1〕Qi,C。R。,Yi,L。,Su,H。,Guibas,L。J。(2017)。Pointnet:Deephierarchicalfeaturelearningonpointsetsinametricspace。Advancesinneuralinformationprocessingsystems,30。 〔2〕Liu,Ze,HanHu,YueCao,ZhengZhang,andXinTong。Acloserlookatlocalaggregationoperatorsinpointcloudanalysis。InEuropeanConferenceonComputerVision,pp。326342。Springer,Cham,2020。 论文链接: https:arxiv。orgabs2110。10538 代码开源: https:github。comguochengqianASSANet