Exploring Spatial Context for 3D Semantic Segmentation of Point Clouds[ICCV2017]

Exploring Spatial Context for 3D Semantic Segmentation of Point Clouds[ICCV2017]论文连接
\qquadPointNet将输入的点细分为一个个块(个人理解为训练模型时的一个个Batch)并且独立的处理这些Block。在本文中,作者在PointNet的基础上提出了两种扩展模型,增大了模型在3D场景中的感受野,从而使模型可以处理更大尺度的空间场景。
Exploring Spatial Context for 3D Semantic Segmentation of Point Clouds[ICCV2017]Exploring Spatial Context for 3D Semantic Segmentation of Point Clouds[ICCV2017]
\qquad将点块转换为multi-scale blocks和grid blocks,以获得input-level的上下文。然后,将PointNet提取的块级特征依次输入到合并单元(CU)或周期性合并单元(RCU)中,获得输出级上下文。
Exploring Spatial Context for 3D Semantic Segmentation of Point Clouds[ICCV2017]
\qquadCU用于从输入点云学习global的特征,并与点的特征连接。
Exploring Spatial Context for 3D Semantic Segmentation of Point Clouds[ICCV2017]
\qquad网络的输入是三个多尺度的Blocks,每一个Block都含有N个D维的点(不一定是3维的,除了坐标信息外还有可能包括标准化后的坐标以及点的RGB信息等)。通过一个类似PointNet的机制学习每一个Scale下的block的特征(MLP->max-pooling)。然后将块特征(1 x 384)和输入特征进行连接,将连接后的特征作为一系列CU的输入,网络最后接一个MLP输出每一个点在所有类别上的得分(N x M)。
\qquad 一开始,每个点只能得到它们各自的特征,连接了块特征后,每个点还得到了其相邻点的特征,通过一系列CU后,这种共享特征得到了反复的加强。
Exploring Spatial Context for 3D Semantic Segmentation of Point Clouds[ICCV2017]
\qquadRCU将来自空间邻近块的块特征序列作为输入,并返回更新后的块特征序列。RCU是通过GRU实现的。GRU具有学习远程依赖性的能力,范围可以是时间上的也可以是空间上的,GRU在看到块特征的全部输入序列后才会返回更新的块特征,GRU在其内部存储器中保留有关场景的信息,并根据新的观察结果进行更新,通过这种机制来整合和共享所有输入的信息。
Exploring Spatial Context for 3D Semantic Segmentation of Point Clouds[ICCV2017]
\qquadGB-RCU网络的输入是4个来自相邻格网的blocks,每个blocks中都包含由N个D维的点。它通过一个共享权重的MLP和 max-pooling学习4个块的特征(4 x 1 x 64,区别于MS-CU),所有的块特征通过一个RCU共享各自的空间上下文,然后RCU返回更新后的块特征。更新后的块特征(1 x 64)和原始块特征(1 x 64)一起附加到输入特征(N x 64)。最后接一个MLP用于计算每一个点在各个类别上的得分(N x M)。
\qquad这篇文章里RNN主要用于学习临近点或block的上下文信息。