更多内容更新于个人博客 twn29004.top
论文总结
本文实现了一种大场景下的点云语义分割网络,并在SemanticKITTI数据集上实现了1st的结果。其主要通过一种融合的方法来实现。不同于以往的使用基于点,基于体素和基于深度图(Range Image)的方法.但是这些方法都有一定的缺点。之前融合的方法也仅是融合其中的两类。本文提出了一种融合三类数据的网络。网络的主要结构如下:
网络主要分为三个分支,使用了经典的Encoder和Decoder的结构。三个分支分别是基于体素的,基于点云的和基于深度图的。分别使用对应的网络提取各个分支的特征,然后作者使用了点这个分支来作为中间节点,来融合不同来源的数据。不同特征进行融合的算法如下图所示:
将其他特征映射到基于点的表示的话,可以使用最近邻插值或者三线性插值或者双线性插值的方法。以基于深度图到基于点的表示为例:通过计算该点在深度图上的周围的四个
![image-20211116134822778](https://cdn.jsdelivr.net/gh/twn2333/my_imgs@latest//img/202111161348473.png)
其中, F R ( u ) F_R(u) FR(u)表示下标为 u u u的深度图的特征。 ϕ ( u , j ) \phi(u,j) ϕ(u,j)表示的是对应的线性权重的计算方法。 δ ( j ) \delta(j) δ(j)表示的是 j j j周围的四个邻居。
在讲其他表示的特征投影到点上之后,作者提出了一个GFM(Gated Fusion Module)来对这些点表示的特征进行融合。GFM的结构如图2中的蓝色部分所示,然后就得到了一个基于点的融合后的特征,然后讲融合后的特征在转换到其他表示的形式下。
从点到其他两种表达形式的话,作者使用的是平均的方法。以体素为例子,将属于一个体素的所有点的特征进行平均,然后将平均后的特征作为这个体素的特征。具体做法图下图所示:
![image-20211116142351294](https://cdn.jsdelivr.net/gh/twn2333/my_imgs@latest//img/202111161423649.png)
消融实验部分
Table4 表示了不同的视角对于实验结果的影响。R表示深度图,P表示点,V表示体素以及不同分辨率的体素。
Table5 展示了不同融合方法的性能差异。其中Addition表示将特征进行相加,Concatnation表示进行拼接,Gated Fusion表示使用了作者设计的网络来进行融合。
Table6 展示了集成模型与本文模型的性能差异
Table7 展示了不同分支对于模型性能的影响。
d
=
a
2
+
b
2
d = \sqrt{a^2 + b^2}
d=a2+b2
d
d
d是欧式距离
print("hello world")
#include<iostream>
using namespace std;
int main() {
s = "hello, world";
cout<<s<<endl;
return 0;
}
namespace std;
int main() {
s = “hello, world”;
cout<<s<<endl;
return 0;
}