标题:Improving 3D Object Detection with Channel-wise Transformer
iccv2021
浙江大学 阿里达摩院 著名的CT3d
文章是在点上进行transformer,前面的文章曾说过在巨大的点云上进行tranformer计算量是巨大的 所以这篇文章玩了点小聪明 利用transformer设计refinement net
文章基于利用原始点的特征足够来进行box refinement的假设来进行行文
老规矩 上图
可以看到trans主要是用在了编码和解码的阶段
首先作者利用单阶段网络输出的proposals 对它们进行一个尺寸的扩大 具体操作就是将proposal扩展成一个大的圆柱体 圆柱体半径为proposal的对角线 而高度不限制尺寸 在这样的一个圆柱体里 我们随机选择256个point进行transformer
transformer的结构没啥创新 主要是作者将位置编码与feature进行了一个较为深度的融合 而不是之前工作的pe的简单的相加。
随后进行256个点的叠加 得到NXD的特征维度
下面是全文的重点 :
decode环节
与传统的解码器采用m个query embedding不同 我们这里只用一个 因为我们只需要还原一个proposal
标准编码:
向量qK 的每个值都可以看作是单个点的全局聚合(即每个密钥嵌入),后续的softmax函数根据归一化向量中的概率为每个点赋解码值。 因此,译码权向量的值是简单的全局聚合,缺乏局部的信道建模,这是了解点云三维表面结构所必需的,因为不同的信道在点云中通常表现出很强的几何关系。
channel 编码
而softmax计算的译码权值与每个通道相关联,忽略了每个点的全局聚合。 因此,我们可以得出结论,标准译码方案集中于全局聚合,而通道加权方案集中于信道局部聚合。 为了结合它们的特点,我们提出了一种扩展的通道加权方案,如下所示。
所以我们提出将两种方案进行一个结合 主要是对于 前一个模块输出的结果 进行repeatD次 然后与Kh相乘 结果softmax后进行线性映射
结果便得以与point进行相乘了
最后我们对各个维度进行reweight处理 输出1XN的feature 结果便于value进行加权 得到我们最终的输出
将最终的输出送入到两个不同的ffn中进行检测iou和 regression。
实验:
ablation做了不同前置单阶段检测器的影响:
pe模块的优越性
及不同解码 方式的好坏
其实也没有很大的提升。。。
主要原因我觉得是对于proposal来说 全局特征已经很足够了