3D 语义分割——RPVNet

RPVNet(ICCV2021) 主要贡献:

  1. 设计了一个自适应的 range-point-voxel融合框架,该框架允许不同的视图(views)以更灵活的方式相互增强
  2. 提出了一种利用哈希映射(hash mapping)的高效 RPV 交互机制,并将其总结为一个更通用的形式(formulation)以供将来扩展使用
  3. 进行了大量的实验来评估 RPVNet 的有效性和效率,该方法在 SemanticKITTI 和 nuScenes 数据集上都达到了 SOTA(2021年)

文章目录

  • 前言
  • 网络结构
    • 多视图高效交互学习
    • 门控融合模块 GFM
    • Instance CutMix

前言

点云通常可以以多种形式(视图)表示,譬如 point-based 的集合、voxel-based 的单元格(cells)或 range-based 的图像。其中,point-based 视图能准确地反映相应的三维结构,但这些点是无序的,很难有效地找到其局部邻居(local neighbors);voxel-based 视图是规则(regular)而稀疏的,当体素分辨率增加时,其计算量会立方增长;range-based 视图通常是规则且密集的,但球面投影会使相应的物理维度(physical dimensions)发生变形。此外,voxel-based 视图和 range-based 视图都存在量化损失,尤其是体素在面对大规模场景时。

为了充分利用不同视图在细粒度分割任务中的优势并缓解各自的不足,论文提出了一种新的 range-point-voxel 融合网络,即 RPVNet。该网络设计了一个三视图之间多信息交互的深度融合框架,并提出了一个可根据并发输入自适应地融合三视图特征的门控融合模块(gated fusion module[GFM])。此外,提出的 RPV 相互作用机制是高效的,且论文作者将其总结为一个更一般的公式(general formulation)。通过利用这种有效的交互和相对较低的体素分辨率,论文的方法也被证明是更有效的。最后,RPVNet 在 SemanticKITTI 和 nuScenes 两个大型数据集上评估了所提出的模型,结果表明该模型在这两个数据集上都达到了 SOTA(2021年)。

在效率方面,论文提出的高效 RPV 交互机制采用了 hash mapping ,在 voxel branch 上使用分辨率较低的体素和稀疏卷积;在 point branch 上使用与 PVCNN 相似的 MLPs 结构,从而去除了寻找局部邻居的低效性;使用一个高效的 range branch减少计算量

网络结构

该网络由 voxel、point 和 range 这三个相互作用的分支构成,且 point 分支是一个包含多个 MLPs 的简单结构,而将一个与 Unet 相似的简单网络应用于 voxel 和 range 分支中。这个 Unet 结构首先使用一个 stem从原始输入中提取上下文信息,然后执行四次下采样,最后连接四个上采样阶段以恢复原始点(restore the original points)。RPV 这三个分支的融合分别是在 stem第 4 次下采样第 2 次上采样最后一次上采样之后进行的。其网络结构如下:

3D 语义分割——RPVNet_第1张图片

多视图高效交互学习

✍️原始的点云可以转换为不同视图(如:voxel 和 range-images),所以点可以作为中间载体来在这些视图之间建立连接,即任何形式的点云表示都可以看作是原始点云的一种映射。因此,论文通过建立多视图表示索引多视图特征传播(propagation)来实现高效的多视图交互学习。其中,多视图的统一特征映射和表示可通过索引系统来实现,多视图特征交互和学习可通过特征传播实现。因此,论文提出的 RPVNet 中构建了 range-point-voxel 交互模块。

  • 多视图表示索引:点云 P ∈ R N × ( 3 + C ) P \in \mathbb{R}^{N \times (3+C)} PRN×(3+C) 可通过一些“投影”函数 P \mathcal{P} P 转化为 X ∈ R M × D X \in \mathbb{R}^{M \times D} XRM×D。为了构建 P P P X X X 之间的关系,可在“投影”函数之后使用一个哈希函数 H : R M × D ↦ N M \mathcal{H}: \mathbb{R}^{M \times D} \mapsto \mathbb{N}^{M} H:RM×DNM

✍️其中, N N N 代表点的数量,3 代表 xyz 三维坐标, C C C 代表点的特征通道, M M M X X X 中元素的个数, D D D X X X 的位置信息维度。此外, P \mathcal{P} P 是一个“多对一”的映射,而 H \mathcal{H} H 则是一个“一对一”的映射。

  • 多视图特征传播:在 X X X 中的元素 j j j 的特征会受到相关原始点云 P P P 的影响,且“投影”函数 P \mathcal{P} P 可以是 non-injection 的,这导致 j j j 经常受到 P P P多个 keys 的共同影响。将 j j j 的所有 keys 定义为 K X ( j ) = { k , H ( P ( k ) ) = H ( j ) } \mathcal{K}_X(j) = \{k, \mathcal{H}(\mathcal{P}(k)) = \mathcal{H}(j) \} KX(j)={k,H(P(k))=H(j)},而 j j j 的特征则由对应的 keys 进行传播。通常情况下,特征从点到其他视图的传播可以表述为 F X ( j ) = Ω ( j , F P ) \mathcal{F}_X(j) = \Omega(j, \mathcal{F}_P) FX(j)=Ω(j,FP),而从其他视图转换到点可表示为 F P ( i ) = Φ ( j , F X ) \mathcal{F}_P(i) = \Phi(j, \mathcal{F}_X) FP(i)=Φ(j,FX)

✍️其中, F X ∈ R M × D \mathcal{F}_X \in \mathbb{R}^{M \times D} FXRM×D F P ∈ R N × ( 3 + C ) \mathcal{F}_P \in \mathbb{R}^{N \times (3 + C)} FPRN×(3+C) 分别为 X X X P P P 的特征, Ω ( ⋅ ) \Omega(\cdot) Ω() 是权重函数(如:averaging,max), i i i P P P 中的点

  • Range-Point-Voxel 交互:point-based 的表示保留了几何细节并捕获到了对小物体(如:行人、自行车)友好的细粒度信息;voxel-based 表示则将点映射到一个规则的三维栅格中并保留有利于提取三维信息的空间结构,但体素的分辨率会引入量化误差;range-based 则将稀疏的点转化为一个结构化的密集图像,且大感受野给大尺度的类别带来了更丰富的语义信息。首先,建立一个 Range-Point-Voxel 的索引系统,该系统包含投影索引(range)和体素化索引(voxel);然后再进一步进行三视图的特征传播,论文使用平均法将特征从点传递给其他两个视图,即在上一步骤中的公式可写为 Ω ( j , F P ) = ∑ u ∈ K X ( j ) F P ( u ) N u m ( K X ( j ) ) \Omega(j, \mathcal{F}_P) = \frac{\sum_{u \in \mathcal{K}_X(j)} \mathcal{F}_P(u)}{Num(\mathcal{K}_X(j))} Ω(j,FP)=Num(KX(j))uKX(j)FP(u),其偏微分可记作 ∂ F X ( j ) ∂ F p ( u ) = 1 N u m ( K X ( j ) ) \frac{\partial \mathcal{F}_X(j)}{\partial \mathcal{F}_p(u)} = \frac{1}{Num(\mathcal{K}_X(j))} Fp(u)FX(j)=Num(KX(j))1。论文中, voxel 视图到 point 视图采用三线性插值方法;而 range 视图到 point 视图则使用双线性插值方法,其公式和偏导数如下:

F P ( i ) = Φ ( δ ( j ) , F R ) = ∑ u ∈ δ ( j ) ϕ ( u , j ) F R ( u ) ϕ ( u , j ) = ( 1 − ⌊ j x − u x ⌋ ) ( 1 − ⌊ j y − u y ⌋ ) ∂ F P ( i ) ∂ F R ( u ) = ∑ u ∈ δ ( j ) ϕ ( u , j ) \begin{aligned} \mathcal{F}_P(i) &= \Phi(\delta(j), \mathcal{F}_R) = \sum_{u \in \delta(j)} \phi(u, j)\mathcal{F}_R(u) \\ \phi(u, j) &= (1- \lfloor j_x - u_x \rfloor)(1 - \lfloor j_y - u_y \rfloor) \\ \frac{\partial \mathcal{F}_P(i)}{\partial \mathcal{F}_R(u)} &= \sum_{u \in \delta(j)} \phi(u, j) \\ \end{aligned} FP(i)ϕ(u,j)FR(u)FP(i)=Φ(δ(j),FR)=uδ(j)ϕ(u,j)FR(u)=(1jxux⌋)(1jyuy⌋)=uδ(j)ϕ(u,j)

✍️其中, ϕ ( ⋅ ) \phi(\cdot) ϕ() 用来计算双线性插值的权重, δ ( j ) \delta(j) δ(j) 表示 j j j 的四个邻居网格, F R \mathcal{F}_R FR 指代 range 视图特征

门控融合模块 GFM

给定来自不同视图分支的 L L L 个特征向量 X i ∈ R N i × C i X_i \in \mathbb{R}^{N_i \times C_i} XiRNi×Ci N i N_i Ni 是点的数量而 C i C_i Ci 为第 i i i 个特征向量的通道,多视图特征融合的主要任务是在大量无用信息的干扰下聚合有用信息。聚合多个特征通常采用相加(Addition)或拼接(Concatenation)的方法,但这两者都会受到众多非信息(non-informative)特征的影响。即这两种融合策略都忽略了每个特征向量的有用性(usefulness),在融合过程中将大量无用特征与有用特征结合起来。因此,在成熟的门控机制的启发下(可通过度量每个特征的重要性来自适应地聚合信息),论文将门控机制与加法融合机制结合起来对信息流进行过滤。

3D 语义分割——RPVNet_第2张图片

  • V2P&R2P:通过获取点的 2 个哈希值,从而在 voxel 视图和 range 视图中获取相应的体素和像素
  • Fusion:将前面获取到对应点的体素和像素的特征通过门控融合模块自适应地融合起来
  • P2V&P2R:通过哈希表将融合的特征投影回各自的视图中

门控融合可以写成如下公式:
X ~ = ∑ i L s p l i t [ s o f t m a x ( ∑ i L G i ) ] i ⋅ X i \tilde{X} = \sum_{i}^L split[softmax(\sum_{i}^{L}G_i)]_i \cdot X_i X~=iLsplit[softmax(iLGi)]iXi
✍️其中,“ ⋅ \cdot ” 指逐元素相乘, G i ∈ [ 0 , 1 ] N × L G_i \in [0, 1]^{N \times L} Gi[0,1]N×L 是第 i i i 个表示(representation)的门向量( gate vector),每个门向量的通道数为 L L L

Instance CutMix

虽然一些针对室内点云的数据增强方法已经被证明是有效的,但是对于室外场景的研究却相对较少。在过去基于混合(mix-based)的方法的启发下,论文提出了实例混合来解决激光雷达语义分割中的不平衡类问题。

根据经验,如果允许这种出现频率较少的对象在场景中重复出现,神经网络就可以更准确地预测出现频率较低的对象。基于这一发现,论文从训练集的每一帧中提取稀有类对象实例(如:自行车、车辆)到一个迷你样本库中。在训练过程中,样本平均地从小样本池中按类别随机抽取,然后对这些样本进行随机缩放和旋转。为了确保与现实的紧密贴合,论文将这些对象随机放置在地面类点之上。最后,将这些新的稀有物体“粘贴”到当前的训练场景中,用于模拟环境中的各种物体。

论文地址:https://arxiv.org/pdf/2103.12978.pdf

代码地址:暂无

你可能感兴趣的:(深度学习,人工智能,深度学习,计算机视觉)