论文:fastpillars.pdf https://arxiv.org/abs/2302.02367
作者:东南大学,美团
代码:https://github.com/StiphyJay/FastPillars (暂未开源)
讲解:https://mp.weixin.qq.com/s/ocNH2QBoD2AeK-rLFK6wEQ
PointPillars简单地利用max-pooling操作来聚合所有在支柱中使用点特征,这会大量减少本地细粒度信息,尤其会降低性能对于小物体。基于特征金字塔网络(FPN [22]), PointPillars直接融合多尺度特征跨距为1×、2×、4×,但各层之间缺乏足够的特征交互作用。
Fastpillars提出了一种简单但有效的Max-and-Attention pillar encoding(MAPE)模块。MAPE几乎无需额外的耗时(仅4ms)就能提高每个pillar特征的表示能力,能够提升小目标的检测精度;设计了一个紧凑的全卷积主干网络CRVNet,它具有竞争性的特征学习能力和推理速度,而不需要稀疏卷积。

模块介绍
Pillar encoder: 我们提出一个简单的但是有效的最大和注意力柱编码(MAPE)模块,自动学习局部几何模式几乎没有额外的延迟(4毫秒)。MAPE模块将重要的局部特征整合在每个支柱中,大大提高了小物体的准确性。

feature extraction:为增强模型的表示能力,减少计算量为了降低机载部署的延迟,我们设计了一种紧凑高效的骨干网,称为CRVNet(跨阶段-父系repvgg风格网络)。我们画我们从CSP (cross-stage-Patrial)结构和重新参数化的RepVGG网络中得到启发,并提出一个紧凑的网络,同时保持强大的特征提取能力.

特征融合块,通过分层融合不同层次和接受域的特征来丰富语义特征
回归模块,我们采用了一种高效的基于中心的头向分别对目标的分数、维度、位置、旋转和盒交比联合(IOU)信息进行回归。添加了一个IoU分支来预测预测框和地面真实框之间的3D IoU。
训练参数
-  优化器:one-cycel 
-  Learning rete: 0.0001 40%个epch开始衰减 
-  激活函数:leaky relu 
-  检测范围:[-54,-54,-5,54,54,3] 
-  Voxel size: [0.15, 0.15, 1] 
数据增强
-  Flip: 随即沿X、Y轴翻转 
-  旋转:随即绕Z旋转,[- 45, 45] 
-  平移translated:[-0.5m,0.5m] (沿哪个维度???) 
-  缩放:全局缩放[0.95,1.05] 
-  copy-paste 
代码复现
#MAPE模块
#====================by:liangyanyu=========================
if self.mape:
    x_mape_max = self.maxpooling(x.permute(0, 2, 1))
    x_mape_max = x_mape_max.permute(0,2,1)
    x_attention = self.attention(x)
    x_attention = torch.sum((x * x_attention) / torch.clamp(torch.sum(x_attention, dim=1, keepdim=True), min=1e-6), dim=1,keepdim=True) # [2,20,64] / [2,1, 64]==>[2,20,64] ==> [2,1,64]
    x_out = (x_mape_max + x_attention) / 2
    if self.last_vfe:
        return x_out
    else:
        x_repeat = x_out.repeat(1, 20, 1)
        x_concatenated = torch.cat([x, x_repeat],dim=2)
        return x_concatenated
#=========================================================


















