文章目录[隐藏]
更多内容更新于个人博客 twn29004.top
论文总结
本文实现了一种大场景下的点云语义分割网络,并在SemanticKITTI数据集上实现了1st的结果。其主要通过一种融合的方法来实现。不同于以往的使用基于点,基于体素和基于深度图(Range Image)的方法.但是这些方法都有一定的缺点。之前融合的方法也仅是融合其中的两类。本文提出了一种融合三类数据的网络。网络的主要结构如下:
网络主要分为三个分支,使用了经典的Encoder和Decoder的结构。三个分支分别是基于体素的,基于点云的和基于深度图的。分别使用对应的网络提取各个分支的特征,然后作者使用了点这个分支来作为中间节点,来融合不同来源的数据。不同特征进行融合的算法如下图所示:
将其他特征映射到基于点的表示的话,可以使用最近邻插值或者三线性插值或者双线性插值的方法。以基于深度图到基于点的表示为例:通过计算该点在深度图上的周围的四个
其中,
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中的蓝色部分所示,然后就得到了一个基于点的融合后的特征,然后讲融合后的特征在转换到其他表示的形式下。
从点到其他两种表达形式的话,作者使用的是平均的方法。以体素为例子,将属于一个体素的所有点的特征进行平均,然后将平均后的特征作为这个体素的特征。具体做法图下图所示:
消融实验部分
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;
}
版权声明:本文为CSDN博主「twn29004」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41621517/article/details/121879239
暂无评论