目标检测论文阅读笔记:LiMoE:Mixture of LiDAR Representation Learners from Automotive Scenes

LiMoE:Mixture of LiDAR Representation Learners from Automotive Scenes

一、问题背景

激光雷达数据是实现现代自动驾驶系统的基石,但是要开发一个优秀且稳定的三维感知模型,依赖于大量人工标注的数据。如果要对激光雷达数据进行人工标注,会耗费大量的人力物力。目前,数据表示学习成为解决该问题的有力方案,但是现在大多数的数据表示学习的研究主要聚焦于稀疏体素,忽略了激光雷达数据多种表示形式的属性之间的互补,该论文就提出了LiMoE框架,以充分挖掘激光雷达不同表示形式之间的互补信息。

二、相关工作

1、激光雷达数据表示

原始点云:\(P_{p}=\left \{ p_{i}|i=1,...,N\right \}\) 表示由N个点组成的激光雷达点云,其中每个点\(p_{i}\in R^{3+L}\) 包含三维坐标 \((x_{i}, y_{i}, z_{i})\)及 L 维特征(例如强度、长度)。

距离图像:一般情况下,一帧激光雷达点云(即激光雷达360°扫描一圈)生成一张距离图像。具体来说,是将每个原始点云利用公式\(\binom{u_{i}^{r}}{v_{i}^{r}}=\binom{\frac{1}{2}\left[1-\arctan \left(y_{i}, x_{i}\right) \pi^{-1}\right] W_{r}}{\left[1-\left(\arcsin \left(z_{i} d_{i}^{-1}\right)+\phi_{\text {down }}\right) \phi^{-1}\right] H_{r}}\)投影到球坐标的二维网格上,在网格上的具体位置为\(\left (  u_{i}^{r},v_{i}^{r}  \right )\) 。每张距离图像\(P_{r} \in R^{H_{r}\times W_{r}\times 3 \times L }\) ,其中 \(H_{r}\)\(W_{r}\)分别表示距离图像的高度和宽度, \(3 \times L\)表示图像中每个像素存储了对应点云的三维坐标和L维特征。如果扫描时,一些点云缺失,映射到距离图像上的像素,该像素值直接为0或无效标记。

稀疏体素:基于体素的方法将原始点云离散化为规则的体素网格\(P_{v}\),其中每个体素代表三维空间内的一个小区域。对于每个原始点云 \(p_{i}\),其位置映射到对应体素网格索引为 \([v_{i}^{x},v_{i}^{y},v_{i}^{z}]=[\left \lfloor x_{i}/s_{x} \right \rfloor, \left \lfloor y_{i}/s_{y}\right \rfloor,\left \lfloor z_{i}/s_{z} \right \rfloor]\),其中 \((s_{x}, s_{y}, s_{z})\)分别是沿 \(x,y,z\)方向的体素尺寸。这种离散化产生稀疏体素网格 \(P_{v} \in R^{M \times C}\),其中 M<N , M 表示非空体素数量, C 表示每个体素存储的特征维度。

2、多表示激光雷达分割

为了从多种激光雷达表示中获取更加全面的信息,近期研究通过融合多种表示来探索其互补优势。AMVNet与RPVNet采用后期融合策略,各表示特征独立处理后在最终阶段融合。GFNet提出更先进的融合方法,通过在不同阶段整合多视角特征实现融合。UniSeg采用分层融合技术,将低级特征与高级语义信息进行整合。相较之下,本研究基于专家混合(MoE)框架,根据任务上下文动态激活多表征中最相关的特征。(MoE框架与后期融合策略的区别在于,后期融合策略的融合权重参数是超参数或全局参数,是固定的,但是MoE框架则可以根据任务上下文和输入样本,每次动态决定融合权重。)

3、图像到激光雷达数据预训练

受图像领域自监督学习成功案例的启发,近期研究探索了三维数据表示学习,但这些方法仅限于小规模场景的单模态学习(即只使用一种类型数据进行自监督学习)。SLidR框架通过对比学习将二维图像知识迁移至三维激光雷达模型,开创了多模态自监督学习(多模态自监督学习中存在知识迁移,但是与普通的知识迁移不同。多模态自监督学习中的知识迁移是将源模态的特征迁移到目标模态,让目标模态学习对齐,从而达到训练目标模态模型的目的;而普通知识迁移,则是将已经训练好的模型参数迁移到目标模型,同时一般是在同一模态内)。后续研究通过类别平衡、混合视角蒸馏、VFM辅助超像素、时空线索等技术扩展了该框架。本研究在此基础上,将图像到激光雷达的预训练扩展至多种激光雷达表示形式,从而捕捉更全面的激光雷达属性。

4、专家混合

专家混合模型(MoE)框架由多个子模型构成,共同提升模型能力。该框架根据输入动态选择激活专家子集(在该研究中,每种激光雷达表示预训练Backbone处理其对应的表现形式,即原始点云Backbone处理原始点云,距离图像Backbone处理距离图像),从而增强处理多样化任务的可扩展性和灵活性。该方法在大规模语言模型(LLMs)中已取得广泛成功。近期,专家混合框架被应用于视觉任务,包括图像分类、目标检测和分割。然而在三维感知领域,MoE仍处于探索初期。本研究将MoE扩展至三维数据表示,实现多激光雷达表示的动态融合,从而提升场景理解能力。

三、框架简单介绍

LiMoE框架,是将MoE(专家混合)范式引入到了激光雷达数据表示学习,协同整合距离图像(Range Image)、稀疏体素(Sparse voxel)和原始点云(Point Cloud),该框架包含三个阶段:1)图像到激光雷达预训练:将已经训练好的图像Backone的特征先验知识,迁移到激光雷达不同表示形式的Backbone(每个表示形式各有一个Backbone,各不相同);2)对比混合学习:利用专家混合模型自适应激活各表示Backbone所输出的特征中的相关属性,并将混合特征蒸馏至统一的3D学生网络;3)语义混合监督:在有一个正确标签语义分割数据集的前提下,利用监督学习,以提高3D学生网络在下游语义分割的性能。

四、框架详细介绍

1、图像到激光雷达预训练

图像到激光雷达预训练旨在将图像知识迁移至激光雷达数据,即使在缺乏大量激光雷达标签的情况下,也能促进有效三维表示的学习。先前研究主要聚焦于稀疏体素表示,因其能高效处理大规模激光雷达数据。而本论文则是要将图像知识迁移到稀疏体素、原始点云和距离图像三种表示的Backbone上。SLidR框架通过对比学习将二维图像知识迁移至三维激光雷达模型,由此引入了多模态自监督学习。后续研究通过类别平衡、混合视角蒸馏、VFM辅助超像素、时空线索等技术扩展了该框架。该研究在此基础上,将图像到激光雷达的预训练扩展至多种激光雷达表示形式,从而捕捉更全面的激光雷达属性。

由于激光雷达的一帧是进行360°扫描,因此为了与激光雷达的一帧点云进行匹配,一般需要多张同步图像。现给定一组V张同步图像 \(I=\{I_{i}|i=1,...,V\}\)和它们所对应的一帧激光雷达点云 \(P_{i}=\left \{ p_{i}|i=1,...,N\right \}\) ,每个激光雷达点 \(p_{i}\)都可以通过公式 \(\left[u_{i}, v_{i}\right]^{\mathrm{T}}=\left(1 / z_{i}\right) \times \Gamma_{K} \times \Gamma_{l \rightarrow c} \times\left[x_{i}, y_{i}, z_{i}\right]^{\mathrm{T}}\)投影到对应图像平面 \((u_{i}, v_{i})\)。其中 \(\Gamma_{K}\) 表示相机内参矩阵,\(\Gamma_{l \rightarrow c}\) 表示激光雷达到相机坐标系的变换矩阵。

1.1 超像素和超点的生成

由于一帧激光雷达点云中的点云数量与其同步图像中的像素数量相差较大,如果直接进行匹配会导致效果不佳,甚至出现误差,因此需要利用超像素和超点来进行匹配。利用无监督的SLIC算法或视觉基础模型(VFMs)来为每幅图像生成超像素 \(\Psi = \{ \psi_{i}|i=1,...,S \}\),之后超像素通过公式 \(\left[u_{i}, v_{i}\right]^{\mathrm{T}}=\left(1 / z_{i}\right) \times \Gamma_{K} \times \Gamma_{l \rightarrow c} \times\left[x_{i}, y_{i}, z_{i}\right]^{\mathrm{T}}\)投影到点云得到超点 \(\Omega  = \{ \omega_{i}|i=1,...,S \}\)

1.2 对比目标

之后对每一种激光雷达表示形式,采用自己的Backbone \(F_{i} (i \in \{ r,v,p\})\),对输入的数据 \(P_{i}(i \in \{ r,v,p\})\)进行特征提取;图像采用自己的Backbone \(F_{c}\)进行特征提取。激光雷达表示形式与图像所提取出来的特征,之后经过线性投影头 \(H_{i}\)\(H_{c}\),将各自的特征对齐并生成D维特征嵌入。之后通过超像素和超点将对应的图像像素与原始点云/稀疏体素/距离图像像素进行分组匹配。具体而言,对于原始点云,直接利用超点进行分组匹配;对于稀疏体素,利用超点离散化到对应的体素,将对应的体素进行分组匹配;对于距离图像,利用超点投影到对应距离图像像素,将对应的距离图像像素进行分组匹配。最后,采用对比损失 \(L_{con}=\frac{1}{S}\sum_{i=1}^{S}log\frac{e^{\left \langle k_{i},q_{i} \right \rangle/\tau  } }{ {\textstyle \sum_{j\ne i}^{}e^{\left \langle k_{i},q_{i} \right \rangle /\tau}} }\) 以确保每个超级点嵌入与其对应的超级像素嵌入密切相关。

2、CML:对比混合学习

在利用图像到激光雷达预训练的方法为每一种激光雷达表示独立地训练了三个3D Backbone。这三个3D Backbone作为CML方法服务的基础。每种3D Backbone在接受各自的激光雷达表示数据之后,得到三个对应特征 \(H_{i}(i \in \{ r,v,p\})\),具体为:

\[E_{r}=H_{r}(F_{r}(P_{r}))\in R^{H_{r} \times W^{r} \times D} \]

\[E_{v}=H_{v}(F_{v}(P_{v}))\in R^{M \times D} \]

\[E_{p}=H_{p}(F_{p}(P_{p}))\in R^{N \times D} \]

为了能够从每个点云点的不同表示中动态地选择和整合相关的特征,后续该研究引入了MoE层。为了能够使用MoE层,从不同表示的特征中整合出一个混合特征,需要将三个表示的特征 \(E_{i}(i \in \{ r,v,p\})\)进行对齐,即将距离图像和稀疏体素投影到点云空间。最终形成了对齐特征集 \(\widehat{E_{r}},\widehat{E_{v}},\widehat{E_{p}}\),它们均呈现 \(R^{N \times D}\)形式,以确保这三种表示在特征空间保持一致。

将对齐特征集 \(\widehat{E_{r}},\widehat{E_{v}},\widehat{E_{p}}\)作为MoE层的输入,首先将它们进行拼接,之后应用MLP层以减少通道维度,具体公式: \(E=MLP([\widehat E_{r},\widehat E_{v}, \widehat E_{p}])\)。之后将经过处理的特征 \(E\)正式输入到 \(MoE\)层。 \(MoE\)层包含两个关键模块:门控模块(动态选择每个点的激活表示)和噪声模块(引起扰动以防止过拟合),具体公式: \(G=E \cdot Z_{g}+\chi \cdot \sigma(E \cdot Z_{n})\)。其中, \(Z_{g} \in R^{D \times 3}\)\(Z_{n} \in R^{D \times3}\)分别是门控模块和噪声模块的可训练权重。变量 \(\chi\)代表一种随机噪声分布,该分布在噪声模块中应用以在选择过程中引入特征变异性。函数 \(\sigma\)表示 Softplus 激活函数,确保扰动保持正值且平滑。运算符 \([\cdot,\cdot]\)表示特征拼接。随后对门控值 \(G\)应用 Softmax 函数,得到选择分数 \(\widehat G \in R^{N \times 3}\)。分数随后拆分为 \(\alpha\)\(\beta\)\(\gamma\),分别对应每个激光雷达表示,表明每种表示的重要性。最终输出特征通过加权求和各表示层的特征来获得: \(E_{moe}=\alpha \widehat E_{r}+\beta \widehat E_{v}+\gamma \widehat E_{p}\)。这些特征捕捉了各种表示的动态贡献,使模型能够自适应地为激光雷达点云中的每个点优先处理最相关的特征。这种选择性特征融合使网络能够根据上下文发挥各种表示的优势,从而提升其捕捉场景细节属性的能力。

在得到专家混合特征 \(E_{moe}\)后,为了将三种激光雷达数据表示的Backbone知识蒸馏到学生网络,需要准备三个学生3D Backbone,分别对应三种表示形式(原始点云、距离图像和稀疏体素)。随后利用学生Backbone提取出对应的学生特征 \(E_{l}^{s}=H_{l}^{s}(F_{l}^{s}(P_{l}))(l \in \{r,v,p\})\),随后基于超级点对 \(E_{moe}\)\(E_{l}^{s}\)进行分组,生成超级点嵌入 \(K^{moe}\)\(K^{l}\),最后通过对比损失进行训练,损失公式:

\[\mathcal{L}_{\mathrm{CML}}=\frac{1}{S} \sum_{i=1}^{S} \log \frac{e^{\left\langle\mathbf{k}_{i}^{l}, \mathbf{k}_{i}^{\mathrm{moe}}\right\rangle / \tau}}{\sum_{j \neq i} e^{\left\langle\mathbf{k}_{i}^{l}, \mathbf{k}_{j}^{\mathrm{moe}}\right\rangle / \tau}} \]

对比损失机制促使 \(E_{l}^{s}\)\(E^{moe}\)保持一致,使单一的3D学生Backbon能够有效捕捉来自所有不同表示的有效结构。注意:在蒸馏阶段,是利用 \(E^{moe}\)与单个激光雷达数据表示的3D学生Backbone生成的 \(E_{l}^{s}\)进行对比训练的,但是会与每种表示的3D学生Backbone生成的 \(E_{l}^{s}\)都进行对比训练,最后对每种激光雷达数据表示都蒸馏出来一个3D学生Backbone,这三个蒸馏出来的3D学生Backbone后面会用于语义分割、目标检测等下游任务(该论文是以语义分割为例子的)。

3、SMS:语义混合监督

注意:这一部分是在前面所蒸馏出来的三种3D学生Backbone的基础上,进一步引入 \(MoE\)层来增强下游任务性能的。在该论文是使用语义分割来作为示例说明,但其实也可以延伸到其他下游任务,比如目标检测等。

这一部分是在前面所蒸馏出来的三种3D学生Backbone的基础上,进一步引入 MoE 层来增强语义分割这一下游任务性能的。由于前面蒸馏出来的三种3D学生Backbone只是特征提取模块,需要在其基础上加入Neck(特征融合)、Head(任务头,这里特指语义分割任务头)组成3D学生网络以进行语义分割任务。每种3D学生网络独立处理所对应的点云形式(比如,原始点云3D学生网络处理原始点云;距离图像3D学生网络处理距离图像),为每种表示生成语义逻辑值:

\[Y_{r}=\widetilde{H_{r}^{s}}(F_{r}^{s}(P_{r})) \in R^{H_{r} \times W_{r} \times C} \]

\[Y_{v}=\widetilde{H_{v}^{s}}(F_{v}^{s}(P_{v})) \in R^{M \times C} \]

\[Y_{p}=\widetilde{H_{p}^{s}}(F_{p}^{s}(P_{p})) \in R^{N \times C} \]

其中 C 是语义类别的数量。 \(\widetilde{H_{r}^{s}},\widetilde{H_{v}^{s}}\)\(\widetilde{H_{p}^{s}}\)是线性头部,将3D学生Backbone特征投影为每种表示的语义逻辑值 \(Y_{i}(i \in \{r,v,p\})\)。为使不同表示间的语义逻辑值保持一致,我们将它们投影至点云空间,得到 \(\widehat Y_{r},\widehat Y_{v}\)\(\widehat Y_{p}\),每个结果均为 \(R^{N \times C}\)形式。

随后将对齐的语义逻辑值集\(\widehat Y_{r},\widehat Y_{v},\widehat Y_{p}\)作为 MoE 层的输入,首先将它们进行拼接,之后应用MLP层以减少通道维度,具体公式: \(Y=MLP([\widehat Y_{r},\widehat Y_{v}, \widehat Y_{p}])\)。之后经过处理的特征 E 正式输入到 MoE 层。 MoE 层包含两个关键模块:门控模块(动态选择每个点的激活表示)和噪声模块(引起扰动以防止过拟合),具体公式: \(G_{d}=Y \cdot Z_{g}+\zeta \cdot \chi \cdot \sigma(Y \cdot Z_{n})\)。其中,在训练时\(\zeta=1\),在推理时 \(\zeta = 0\)。变量 \(\chi\)代表一种随机噪声分布,该分布在噪声模块中应用以在选择过程中引入特征变异性。函数 \(\sigma\)表示 Softplus 激活函数,确保扰动保持正值且平滑。运算符 \([\cdot,\cdot]\)表示特征拼接。随后对门控值 \(G_{d}\)应用 Softmax函数,得到选择分数 \(\widehat G \in R^{N \times 3}\)。分数随后拆分为 \(\alpha_{d}\)\(\beta_{d}\)\(\gamma_{d}\),分别对应每个激光雷达表示,表明每种表示的重要性。最终的语义逻辑值通过各表示层逻辑值的加权求和获得: \(Y_{moe}=\alpha_{d} \widehat Y_{r}+\beta_{d} \widehat Y_{v}+\gamma_{d} \widehat Y_{p}\)

随后将对齐的语义逻辑值集\(\widehat Y_{r},\widehat Y_{v},\widehat Y_{p}\)作为 MoE 层的输入,首先将它们进行拼接,之后应用MLP层以减少通道维度,具体公式: \(Y=MLP([\widehat Y_{r},\widehat Y_{v}, \widehat Y_{p}])\)。之后将经过处理的特征 E 正式输入到 MoE 层。 MoE 层包含两个关键模块:门控模块(动态选择每个点的激活表示)和噪声模块(引起扰动以防止过拟合),具体公式: \(G_{d}=Y \cdot Z_{g}+\zeta \cdot \chi \cdot \sigma(Y \cdot Z_{n})\)。其中,在训练时\(\zeta=1\),在推理时 \(\zeta = 0\)。变量 \(\chi\)代表一种随机噪声分布,该分布在噪声模块中应用以在选择过程中引入特征变异性。函数 \(\sigma\)表示 Softplus 激活函数,确保扰动保持正值且平滑。运算符 \([\cdot,\cdot]\)表示特征拼接。随后对门控值 \(G_{d}\)应用 函数,得到选择分数 \(\widehat G \in R^{N \times 3}\)。分数随后拆分为 \(\alpha_{d}\)\(\beta_{d}\)\(\gamma_{d}\),分别对应每个激光雷达表示,表明每种表示的重要性。最终的语义逻辑值通过各表示层逻辑值的加权求和获得: \(Y_{moe}=\alpha_{d} \widehat Y_{r}+\beta_{d} \widehat Y_{v}+\gamma_{d} \widehat Y_{p}\)

在得到各个表示层的预测语义逻辑值 \(Y_{r}, Y_{v}, Y_{p}\)以及最终的 MoE 层的混合预测语义逻辑值 \(Y_{moe}\),需要利用监督训练,来优化三种表示的3D学生网络。令 \(\chi \in R^{N}\)表示点云 \(P_{p}=\left \{ p_{i}|i=1,...,N\right \}\) 的真实语义标签。对于每种表示形式,真实标签可按如下方式投影:范围图像对应 \(\chi_{r} \in R^{H_{r} \times W_{r}}\),稀疏体素对应 \(\chi_{v} \in R^{M}\),原始点对应 \(\chi_{p} \in R^{M}\)。每种表示形式均通过监督损失独立微调,通过监督损失将预测的语义逻辑值与对应的投影语义标签进行对齐,以独立优化对应的表示形式的3D学生网络。此外,我们在输出端应用基于 MoE 的监督损失,通过从每种表示中选择最相关的特征来进一步优化模型。因此,总体损失函数为:

\[L_{SMS}=L_{d}(\chi ,Y_{moe})+\sum_{l \in \{r,v,p\}}^{}L_{l}(\chi_{l},Y_{l})  \]

其中每个 \(L_{l}(l \in \{r,v,p\})\)都是交叉熵、Lovasz-Softmax 和边界损失的加权组合,共同促进所有表示法下分割性能的全面优化。

通过利用总体损失函数 \(L_{SMS}\)进行监督损失,对每种表示的3D学生网络进行进一步的优化,以强化其语义分割下游任务的性能。这种方式也可以扩展到目标检测等下游任务环节。

4、细节

所有实验均基于 MMDetection3D 代码库进行。针对每种激光雷达表示形式,我们分别选用 FRNet (距离表示)、 MinkUNet (体素表示)和 SPVCNN (点云表示)作为Backbone。其中 FRNet 输入单位为距离图像,MinkUNet 输入单位为稀疏体素, SPVCNN 输入单位为原始点云。针对图像到激光雷达的预训练,我们采用 SLidR 和 SuperFlow 范式,即沿用 SLidR 和 SuperFlow 的 Image-to-LiDAR 预训练思路,但不是只对稀疏体素做迁移,而是把图像知识同时迁移到 Range、Voxel、Point 三种表示形式,实现更全面的跨模态知识对齐。
预训练阶段学习率设为0.01,第二阶段CML训练阶段学习率为0.001。第三阶段采用独立学习率方案:主干网络0.001,其余部分0.01。所有阶段均采用AdamW优化器与OneCycle调度器。

5、实验

具体详见:

2501.04004

posted @ 2025-11-07 20:01  其柒  阅读(5)  评论(0)    收藏  举报