4. 深度学习基础
点云语义分割的现代方法几乎都建立在深度学习之上。要理解 PointNet、PointNet++、RandLA-Net、KPConv 等网络为何这样设计,必须先掌握神经网络的基本计算单元、卷积与池化的作用、反向传播如何驱动参数更新,以及点云任务中损失函数为何与二维图像不同。本章从计算图视角出发,把这些基础概念串联成一条可操作的认知链路。
一、神经网络基础:从线性变换到非线性表达
单个神经元完成的是“加权求和 + 偏置 + 激活”三步操作。若输入特征为 x,权重为 W,偏置为 b,则输出为 y = f(Wx + b),其中 f 是非线性激活函数。没有非线性,多层网络等价于一次线性变换,无法拟合复杂的三维几何边界。常用激活函数包括 ReLU、LeakyReLU、GELU,点云网络中 ReLU 因计算简单、梯度稳定而最常见。
多层感知机(MLP)由若干全连接层堆叠而成。在点云任务中,MLP 常被逐点共享使用:对每个点独立地做相同的特征变换,从而把原始坐标或颜色映射到高维嵌入空间。这种“共享权重”思想是点云网络能够处理无序点集的关键前提之一。
二、卷积与池化:局部感受野与空间聚合
卷积在图像中通过滑动窗口提取局部模式,其三大特性是局部连接、权重共享和平移等变性。对于规则网格,卷积核可以整齐地覆盖邻域;但点云是无序、不规则、稀疏的,无法直接套用二维卷积。因此点云领域发展出两类替代方案:一类是 PointNet 式的逐点 MLP + 对称函数,另一类是 PointNet++、KPConv 式的局部邻域卷积或连续卷积核。
池化用于降维和聚合信息。最大池化(max pooling)在点云中尤为重要,因为它对输入顺序不敏感,能够把一组点的特征压缩成一个全局或局部描述子。PointNet 正是用最大池化实现全局特征提取,使网络对点的排列顺序保持不变。
三、反向传播:链式法则驱动的参数更新
前向传播得到预测后,损失函数衡量预测与真值的差距。反向传播利用链式法则,从损失出发逐层计算每个参数对损失的偏导数,即梯度。以单层为例,若 z = Wx + b,a = ReLU(z),则反向时先得到 da,再经激活函数导数得到 dz,最后得到 dW = dz · x^T 与 db = dz。优化器(SGD、Adam、AdamW)根据梯度更新权重:W ← W - lr · dW。
点云网络的反向传播有两个特殊点:其一,最大池化只把梯度回传给取得最大值的那个点,其余点梯度为零,这使网络自动关注显著点;其二,共享 MLP 的梯度是所有点梯度的累加,因此 batch 内点数越多,梯度估计越稳定,但显存占用也越高。
# 伪代码:一次训练迭代
for points, labels in dataloader:
logits = model(points) # 前向:N×C
loss = criterion(logits, labels) # 损失计算
optimizer.zero_grad() # 清空历史梯度
loss.backward() # 反向传播,累积梯度
optimizer.step() # 更新共享 MLP 权重
四、点云任务中的损失函数
点云语义分割通常面临类别极不平衡:地面、墙面点数量远多于行人、交通标志。若只用交叉熵,网络会偏向多数类。因此实践中常组合多种损失:交叉熵提供稳定分类梯度,Dice Loss 关注前景重叠度,Focal Loss 降低易分样本权重,边界损失则强化类别交界处的分割精度。
| 损失函数 | 核心形式 | 适用场景 | 注意事项 |
|---|---|---|---|
| 交叉熵 | -Σ y log(p) | 多分类基线 | 类别不平衡时需加权 |
| 加权交叉熵 | -Σ w·y log(p) | 小目标、稀有类 | 权重需按频率调参 |
| Dice Loss | 1 - 2|A∩B|/(|A|+|B|) | 前景分割、边界敏感 | 训练初期不稳定 |
| Focal Loss | -Σ (1-p)^γ log(p) | 难例挖掘 | γ 过大易过拟合 |
| 边界损失 | 边界点距离惩罚 | 精细分割 | 需额外边界标注 |
五、案例:城市道路点云中的类别不平衡处理
假设一份车载激光点云中,道路点占 72%,建筑点占 18%,植被点占 8%,行人与车辆合计不足 2%。若直接使用交叉熵,模型可能把行人误判为道路。实践中可采用“加权交叉熵 + Dice”组合:对行人类别设置较高权重,同时用 Dice 约束前景区域完整性。训练日志中应重点观察每类 IoU,而不是只看总体准确率。
六、复盘:从基础到点云网络设计
理解本章内容后,再看 PointNet 的对称函数、PointNet++ 的层次化邻域、RandLA-Net 的随机采样与局部特征聚合,就能明白它们分别解决了置换不变性、局部结构提取和大规模点云效率问题。损失函数的选择则直接决定网络是否关注稀有类别和边界区域。建议在复现任意点云分割网络时,先固定损失函数与评估指标,再调整网络结构,这样才能把“基础”真正转化为可复用的工程能力。