3D点云分割与检测(后续更新)

基础

  • 点云图(LiDAR生成):具有无序性、密度不均匀性
  • 3D分割:指回答每个3D数据单元属于哪个类别/实例(语义分割、实例分割),是精细划分,输出为类别标签/实例ID
  • 3D检测:定位 “物体整体”+ 判断类别 + 区分实例,输出3D包围盒+类别+实例ID
  • 知识蒸馏:具有教师模型和学生模型,学生模型接受硬标签和教师模型预测的软标签进行训练。学生模型可以是教师模型的删减版,也可以是对齐维度的不同模型。目的是补充由轻量化带来的要素丢失
  • 3D点云信息处理两种主流:稀疏化/局部3D信息处理;转为2D信息(如BEV或者球表面)处理。
  • 3D目标检测两种设计途径:两阶段(粗筛+精修);单阶段(为主流方向)
  • 硬标签:真实数据,仅告诉什么是正确的
  • 软标签:预测概率,连续值。转递教师模型的推理能力。
  • 学生模型对教师模型的学习:对预测结果的学习;对教师模型的中间特征进行学习(更有用)
  • 训练阶段:教师模型进行一次或多次确定后就不会再进行训练,学生模型多次训练多次蒸馏
  • 推理阶段:只运行学生模型,这也是知识蒸馏的目的

解决密度不均匀的问题:

  • 增加对密度不均匀示例的学习(形状感知数据增强)
  • 聚焦“密度不敏感”的参数进行目标识别(ODIoU中心和朝向约束)
  • 监督信号补充(体素、超体素层次的输出和结构关联的学习)
  • 多模态补充(将多视角图像数据与点云数据统一到BEV上)
  • 关注密度充足的有效区域(注意力权重重分配;难度感知采样;TOP-N采样构建局部图;软掩码高斯分布权重掩码;质量筛选可靠实例)

学生模型做哪些优化实现推理阶段的加速:

  • 从 “推理流程” 移除训练专属模块(数据增强仅用于训练阶段,推理预测阶段仅使用初始点云图;EMA;动态图卷积)
  • 减少卷积层数,卷积核数量,每次减少都需要在验证集上测试(通道剪枝)
  • 体素化、稀疏卷积、超体素(减少点级计算,由于体素已经提供了全局信息,只用计算局部边缘的点)
  • 损失计算只在训练时进行
  • 多线程并行
  • 连续数组 + 直接索引替代哈希表等动态结构,分配固定内存
  • 移除冗余点、体素、属性(重加权,软掩码)
  • “快速均值计算” 并非直接减少算术运算次数,而是通过优化内存访问(增量式更新,来一个数就进行一次更新)或批量并行计算(分组统计,类似线段树合并)
  • 将方向一致性的计算移动到训练阶段,简化推理阶段
  • 非对称3D卷积相较于各维度一致的卷积计算量少(nxnxn->1x1xn,1xnx1,nx1x1)
  • 采用轻量级图像骨干网络

教师模型和学生模型的统一:

  • 传统共享相同的网络拓扑
  • 预测结果在特征维度、输出格式上统一(统一到BEV平面)
  • 根据损失更新学生模型参数(每轮训练后EMA平滑更新教师模型;教师模型参数不发生变化)

学生模型的参数调整(计算损失):

  • 交叉熵:预测分布与真实分布的错误程度,是监督学习损失
  • KL散度:衡量两个概率分布的差异,两个完全相同时为0,用于计算蒸馏损失
  • L2损失:衡量两个向量或矩阵的绝对距离,是最直观的数值差异度量方法
  • L1损失:绝对值差
  • smooth-L1损失:当误差小时为L2;误差大时为L1;角度差采用sin映射到01区间
  • 余弦相似度:计算向量的方向相似性(不受向量长度影响),构建亲和力矩阵(相关性)
  • LoU:交并比损失,对稀疏目标友好
  • InfoNCE 损失:近似MI(互信息)的下界,不要求维度独立,可以捕捉维度间的复杂依赖(KL散度默认独立)

公开数据集

KITTI / nuScenes / SemanticKITTI / nuScenes-lidarseg / ScanNet / S3DIS


评价指标

mIoU(分割),mAP(检测),模型大小 / 推理速度(效率)


决策原因

《Towards Efficient 3D Object Detection with Knowledge Distillation》

  1. 宽度压缩优于深度压缩:3D 检测器骨干网络较浅(如 CP-Pillar 仅 19 层),深度压缩易导致精度骤降,而宽度压缩(减少通道数)能在降计算的同时保精度;
  2. 架构适配不同压缩策略:柱式架构(CP-Pillar)适合输入压缩(因 BEV 特征分辨率冗余大),体素式架构(CP-Voxel)适合宽度压缩(因空间冗余少);
  3. PFE 模块需少剪枝:柱 / 体素特征编码(PFE)模块对精度影响最大,冗余度最低,压缩时需保留其复杂度。
  • 关键位置 Logit KD(Pivotal Position Logit KD)传统 Logit KD 模仿教师所有输出,导致冗余计算。该方法仅在教师高置信(如置信度 > 0.3)、Top-rank(如 Top 500)或高斯中心区域(围绕目标中心的软掩码)的位置进行蒸馏,聚焦目标核心或易错区域,减少冗余监督。实验显示,该方法比传统 GID-L 提升 1.6%~1.9% mAPH。

  • 教师引导初始化(Teacher Guided Initialization, TGI)替代协同性差的 Feature KD:将预训练教师的权重通过参数重映射(如 FNA 方法,选取教师前 v 个通道赋值给学生)初始化学生模型,让学生直接继承教师的特征提取能力。优势:避免特征优化方向冲突,且与 Logit/Label KD 协同性优异,单独使用性能接近 Feature KD。

最终改进 KD 流程:关键位置 Logit KD + Label KD + TGI,三者协同提升精度。


论文整理

PointDistiller: Structured Knowledge Distillation Towards Efficient and Compact 3D Detection

here

  • 局部几何统一,重加权学习。学生与教师共享相同网络结构(Pillar Feature Net→Backbone→Detection Head),仅减少各层特征通道数(如 Backbone 的卷积层通道数按比例缩减),保持网络深度和模块(如动态图卷积)不变。
Point Transformer V3: Simpler, Faster, Stronger

here

  • 尺度准则:模型性能跟规模有关,而非过度精细优化。即使模型简单,当规模扩大后性能显著提高
  • 去除耗时长的KNN和RPE。采用序列化将无序点云进行排序,排序采用空间曲线填充,Z-order/Hilbert 及其翻转变体(保留局部信息);采用xCPE,增强的条件位置编码,即在注意力层之前加入一个稀疏卷积层和残差连接,弥补序列化精度
  • 先排序再注意力,将排序后的点切成固定大小的patch(不够相邻借),不需要复杂的邻居掩码,因为patch本身就是邻居集合,每个patch是非重叠的
  • 考虑patch交互,膨胀(固定间隔选成一组,增强远距离学习),滑窗偏移,每个注意力层用不同的排序生成patch(顺序或随机)
  • 模块结构(每层),舍弃批归一化(BN),全使用层归一化(LN)。采用前归一化,每层都归一化更简洁稳定,适合<100层的深度
  • 但进行池化时保留BN,进行下采样(扩大感受野,上采样恢复)
  • 模型设计基于U-net,编码[2,2,6,2](前期点数多,层数少避免过早进入计算瓶颈;中期,点数减少后增加层数进行推理;深层避免过拟合层数少),解码[1,1,1,1]结构精简(目的是整合),感受野每层翻倍最后16倍
  • 消融实验,序列化模式与块交互策略,位置编码方式对比,块大小(patch size)
  • 评估任务,室内室外数据集,语义分割(是什么),实例分割(是哪个),模拟小数据集(随机选取部分训练数据)和标注成本高(遮盖部分标注)的情况
  • 评估指标,mIoU,mAP(所有类别的AP平均值,AP = PR曲线下的面积),mACC,Params, 训练和推理时的耗时和显存消耗
An End-to-End Robust Point Cloud Semantic Segmentation Network with Single-Step Conditional Diffusion Models

here

  • 扩散模型

前向扩散:

符合马尔可夫链,下一个状态只与当前状态决定

采用高斯分布,多次高斯扩散仍为高斯分布

推导:

x_1=\sqrt{\alpha _1}x_0+\sqrt{1-\alpha _1}\varepsilon _1\\ x_2=\sqrt{\alpha _2}x_1+\sqrt{1-\alpha _2}\varepsilon _2\\ \Rightarrow x_2=\sqrt{\alpha _1\alpha _2}x_0+\sqrt{\alpha _2(1-\alpha _1)}\varepsilon _1+\sqrt{1-\alpha _2}\varepsilon _2\\ \because \ a\varepsilon _1+b\varepsilon _2,\varepsilon _1,\varepsilon _2\epsilon \left ( \mu=0,\sigma ^{2}=I\right )\Rightarrow \sqrt{a^2+b^2}\varepsilon,\varepsilon \epsilon \left ( \mu=0,\sigma ^{2}=I\right )\\ \therefore x_2=\sqrt{\alpha _1\alpha _2}x_0+\sqrt{\alpha _2(1-\alpha _1)+(1-\alpha _2)}\varepsilon \\ \alpha_1\alpha _2:= \bar{\alpha _2}\Rightarrow x_2=\sqrt{\bar{\alpha _2}}x_0+\sqrt{1-\bar{\alpha _2}}\varepsilon

归纳:

x_t=\sqrt{\bar{\alpha _t}}x_0+\sqrt{1-\bar{\alpha _t}}\varepsilon

反向去噪:

符合马尔可夫链,下一个状态只与当前状态决定

DDPM

x_tx_{t-1}

该概率密度函数,利用贝叶斯定理得

q(x_{t-1}|x_t,x_0)=\frac{q(x_{t}|x_{t-1},x_0)q(x_{t-1}|x_0))}{q(x_{t}|x_0)}

因为马尔可夫链,q(x_{t}|x_{t-1},x_0)=q(x_{t}|x_{t-1})

转为对数概率

\log q(x_{t-1} \mid x_t, x_0) \propto \log q(x_t \mid x_{t-1}) + \log q(x_{t-1} \mid x_0) - \log q(x_t \mid x_0)\\ \beta _t:= \sqrt{1-\alpha _t} \\ \log q(x_t \mid x_{t-1}) \propto -\frac{(x_t - \sqrt{\alpha_t} x_{t-1})^2}{2\beta_t}\\ \log q(x_{t-1} \mid x_0) \propto -\frac{(x_{t-1} - \sqrt{\bar{\alpha}_{t-1}} x_0)^2}{2(1 - \bar{\alpha}_{t-1})}\\ \log q(x_t \mid x_0) \propto -\frac{(x_t - \sqrt{\bar{\alpha}_t} x_0)^2}{2(1 - \bar{\alpha}_t)}\\ \Rightarrow \log q(x_{t-1} \mid x_t, x_0) \propto - \frac{(x_t - \sqrt{\alpha_t} x_{t-1})^2}{2\beta_t} - \frac{(x_{t-1} - \sqrt{\bar{\alpha}_{t-1}} x_0)^2}{2(1 - \bar{\alpha}_{t-1})} + \frac{(x_t - \sqrt{\bar{\alpha}_t} x_0)^2}{2(1 - \bar{\alpha}_t)}

转为x_{t-1}的二次函数

求得x_{t-1}^2的系数-\frac{1}{2} \cdot \frac{1 - \bar{\alpha}_{t-1}}{1 - \bar{\alpha}_t} \cdot \frac{1}{\beta_t}x_{t-1}的系数\frac{\sqrt{\alpha_t} \, x_t}{\beta_t} + \frac{\sqrt{\bar{\alpha}_{t-1}} \, x_0}{1 - \bar{\alpha}_{t-1}}

\therefore \mu_t(x_t, x_0) = \frac{\sqrt{\alpha_t}(1 - \bar{\alpha}_{t-1})}{1 - \bar{\alpha}_t} \, x_t + \frac{\sqrt{\bar{\alpha}_{t-1}} \, \beta_t}{1 - \bar{\alpha}_t} \, x_0\\ \therefore \sigma_t^2 = \frac{1 - \bar{\alpha}_{t-1}}{1 - \bar{\alpha}_t} \, \beta_t\\ \because x_0 = \frac{x_t - \sqrt{1 - \bar{\alpha}_t} \, \varepsilon}{\sqrt{\bar{\alpha}_t}}\\\therefore \mu _t(x_t,x_0)=\mu _t(x_t,\varepsilon )\\ \therefore x_{t-1}=\mu _t+\sigma _t\varepsilon

 所以反向去噪时有固定的方差和与模型预测有关的均值,但去噪时只能一步一步推

`

DDIM

将随机高斯采样变为确定性采样,假设x_{t-1}的分布为单点分布,丢去随机噪声项

此时反向去噪不再是马尔可夫链

\therefore x_{t-1}=\sqrt{\bar{\alpha _{t-1}}}x_0+\sqrt{1-\bar{\alpha _{t-1}}}\varepsilon\\

此时每个可以一步得到,因为在DDPM中,已知任意xt和固定预测噪声,可以求出唯一的x0,再由x0求出下一时间步的x_{t-1}

所以可以跳步进行(即时间步指的时间并不连续)

DDIM可以直接适配DDPM无需重训练

  • 训练模型

同时进行预测噪声和语义分割两任务的训练

预测噪声:随机抽取一个时间t,并随机正态高斯分布,结合前向扩散的公式计算出加噪后的结果,作为预测噪声的输入(时间步作为特征输入学习时间步与噪声强度的关联)

语义分割:将原始点云进行输入

骨干网络:两任务的输入输入到同一骨干网络,进行特征共享。

  1. 底层特征的通用性点云的底层特征(如三维坐标的局部邻域分布、点之间的距离关系)对两个任务都是有用的:

    • 对扩散任务:这些特征能帮助模型理解 “噪声如何扰动点云的几何结构”,从而更准确地预测噪声;
    • 对分割任务:这些特征是语义分类的基础(如 “桌子” 的点云有平坦的桌面和支撑腿的几何特征)。共享底层特征提取模块,能让模型一次性学习这些通用特征,避免重复计算,同时保证两个任务对基础几何信息的理解一致。
  2. 高层特征的协同优化骨干网络的高层特征更抽象(如 “物体部件”“语义关联”),这些特征会同时受到两个任务损失的监督:

    • 扩散任务的损失(预测噪声的准确性)会约束高层特征必须包含 “噪声模式与点云结构的关系”(例如,噪声对不同语义类别的点扰动模式可能不同);
    • 分割任务的损失(分类准确性)会约束高层特征必须包含 “语义类别与点云结构的关系”。这种协同监督会迫使高层特征同时编码两种信息,最终让扩散任务学到的 “抗噪声能力” 和分割任务学到的 “语义理解能力” 相互增强 —— 例如,扩散任务能更好地利用语义信息预测噪声(知道 “桌子” 的点噪声扰动应符合其几何特性),分割任务也能利用扩散学到的抗噪声特征在噪声干扰下更稳健地分类。
  3. 任务关联的显式建模条件输入的扩散过程本质是对 “点云数据分布” 的学习(通过加噪 - 去噪过程建模数据的概率分布),而分割任务是对 “数据分布中语义标签的条件分布” 的学习。共享特征让模型能将 “数据分布” 与 “语义分布” 关联起来 —— 例如,模型会学到 “属于同一类别的点在扩散过程中具有相似的噪声响应”,从而通过扩散任务的分布建模辅助分割任务的类别判断。

虽然每次forward只进行了一个点云的一种时间步的计算,但考虑到样本数量(N)和训练批次(E),训练模型会分析N*E个,远大于时间步数量,可以保证学习内容的丰富和效率。

  • 推理模型

由于训练时学习到了噪声与原始点云特征,噪声与语义之间的关系,通过反向去噪可以进一步优化输入,并利用训练完的骨干网络进行预测


补充

ResNet
  • 学习残差F(x)=H(x)-x,进行跳跃连接,F(x)+x保留新提取的特征,又没丢失原始信息

        反向传播时的梯度计算:y=F(x)+x\\ \frac{\partial L}{\partial x}=\frac{\partial L}{\partial y}\cdot \frac{\partial y}{\partial x}\\ \frac{\partial y}{\partial x}=\frac{\partial F(x)}{\partial x}+1\\ \frac{\partial L}{\partial x}=\frac{\partial L}{\partial y}\cdot \frac{\partial F(x)}{\partial x}+\frac{\partial L}{\partial y}\cdot 1

        其中\frac{\partial L}{\partial y}\cdot 1与之前的F(x)无关即可深到浅直接传递

  • 1x1卷积核可以在保持其余维度的情况下对通道数进行修改(即升维和降维)

全连接层
  • 减少特征位置对分类的影响,忽略空间结构特征
  • 若神经网络处理到全连接层的输入为m\times n\times k,则全连接层中的一个神经元值为该输入经过一个m\times n\times k的卷积核后的输出
  • 输出1\times N个神经元则需要N个权重不同的m\times n\times k的卷积核
  • 每个神经元表示图像中的部分特征

高斯分布
  • 高斯分布具有线性叠加性,两个高斯分布相加认为高斯分布

a\varepsilon _1+b\varepsilon _2,\varepsilon _1,\varepsilon _2\epsilon \left ( \mu=0,\sigma ^{2}=I\right )可以合并为\mu =0,\sigma ^{2}=a^2I+b^2I的高斯分布

由于每个高斯分布的均值和方差唯一,所以上式等于\sqrt{a^2+b^2}\varepsilon,\varepsilon \epsilon \left ( \mu=0,\sigma ^{2}=I\right )

  • 高斯分布的对数密度函数(舍弃常数项)

    log\ f(x) \propto -\frac{(x-\mu )^2}{2\sigma ^2}=-\frac{1}{2\sigma^2 }x^2+\frac{\mu }{\sigma ^2}x-\frac{\mu ^2}{2\sigma ^2}\\ because \ \ \ \ \ Ax^2+Bx+C \\ So \ \ \ \ A=\frac{1}{2\sigma^2 },B=\frac{\mu }{\sigma ^2},\mu =-\frac{B}{2A},\sigma^2=-\frac{1}{2A}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值