CPGNet: point+rv+bev 融合

发布时间 2023-11-22 20:56:38作者: 容_易
ICRA22-Cascade Point-Grid Fusion Network for Real-Time LiDAR Semantic Segmentation
  1. 亮点

multi view融合:point+rv+bev
端到端轻量网络,做到了实时性,在semanticKITTI上单帧43ms(2080Ti)
  1. 动机

lidar点云分割分为几种处理方式:
  • point-based
提取原始点的信息没有损耗,但是基于点的局部特征提取过于低效,自动驾驶中不常用
  • Voxel-based
相对点的方法,用稀疏的voxel堆积3d结构,更为高效,也由于结构规则化带来了性能提升;但在模型部署到移动设备上时,仍然难以做到实时
  • 2d projection-based
投影到2d上(range view等)的一些方法,优点在速度快,但不可避免地会存在投影带来的信息损失,所以一些方法用了多个视角(rv bev)融合的方式。在这篇文章之前,有的multi-view方法例如MPF 、AMVNet都是单独在一个视角分支上做2d分割,然后采用后融合的方式,结合两个视角的结果(投回3d点上做融合)。
  1. 网络结构

  • PG fusion block:
  1. P2G:点特征投影到rv和bev grid
对于多个点对应一个grid的情况,用maxpooling处理同一个grid中的点特征
  1. 2d FCN分割网络
用了Resnet中的9层作为轻量backbone,最高的通道数128.
另外用了一些小结构,包括双边降采样block,decoder不同分辨率之间的注意力特征融合来提升性能,
用attention feature pyramid fusion的原因是分割既需要高level的语义特征,又需要局部的细节,对深层和浅层特征图直接concat是不合适的,所以设计了自适应选择融合的方法
 
  1. G2P:2d grid特征转成点特征
四邻域grid中双边线性插值,
  1. Point Fusion:三支特征融合
只用concat和两层mlp。
不同于MPF和AMVNet的后融合方式,CPGNet选择在网络中间融合,形成端到端的架构。这样的好处在易于部署,并能减小训练和评测之间的gap(理解是把学习的参数全部放在模型里,性能不依赖后处理过程)
 
  • 损失函数
transformation consistency loss
原型test time augmentation (TTA)即在测试阶段对输入做数据增广,与原数据分别做一次推理,两份推理结果进行综合(mean, max, gmean, etc)输出。
文中借鉴了这一思路,损失函数包括原数据输出和增广数据输出的结果的分割loss,增加了原数据输出和增广数据输出的一致性loss
  1. 实验结果

  • 消融实验
baseline:后融合MPF
  1. Point Fusion与后融合相比,耗时短效果提升
  2. Point 特征作用明显
  3. 两个Point Fusion令耗时翻倍,后面作者用了tensorRT里量化的策略,加快了速度
  1. 其他结论

  • RangeNet++提出的后处理加速KNN,几乎是range-based方法中不可或缺的
  • 统计了每个点至少都落在了一个view里