Journal

PoissonNet: A Local-Global Approach for Learning on Surfaces

Arman Maesumi, Tanish Makadia, Thibault Groueix, Vladimir G. Kim, Daniel Ritchie, Noam Aigerman

Brown University; Adobe Research; Université de Montréal

一句话总结

PoissonNet 把经典的”局部-全局”网格处理思路搬进神经网络:每个网络块先在梯度域对特征做局部学习变换,再解一个泊松方程把标量特征更新全局传播到整张曲面,从而同时兼顾全频谱表达、全局感受野、三角剖分无关性与高效可扩展。

研究背景

  • 领域现状:在三角网格上做深度学习,主流的”内蕴(intrinsic)”方法借助曲面微分算子(拉普拉斯、梯度、散度等)来变换中间特征场,或用微分算子定义偏微分方程、把方程的解当作变换后的信号。这类方法天然带来三角剖分无关性——同一形状的不同离散化能得到相近输出。
  • 核心痛点:现有内蕴方法在几个关键性质上互相掣肘,很难同时兼得——特征要么被谱截断(只保留低频、丢高频),要么感受野受算子局部性限制不够全局;有的对离散化敏感;有的需要昂贵的每网格预计算(如拉普拉斯特征基分解,动辄数小时、大内存),或推理延迟高、难以扩展到大数据集与大网格。最接近的 DiffusionNet 用的是齐次热方程,长时间扩散会收敛到全局常数、抹掉所有结构,只能借梯度算子事后补回方向性,且为效率退回谱域、损失高频表达。
  • 本文 idea:改用泊松方程作为特征传播的核心机制。泊松方程是图形学里最普适的偏微分方程之一(As-Rigid-As-Possible、泊松曲面重建、图像编辑、神经雅可比场等都用它),它在概念上是梯度算子的”逆”——像一个积分算子,把梯度场重新整合成标量场。作者据此设计一个在梯度域与函数域之间交替的网络:把梯度当作”一等公民”,先在梯度域做局部学习变换,再解泊松方程做全局标量更新。

方法

整体框架:PoissonNet 由若干结构相同的 PoissonNet Block 堆叠而成。每个块对输入的顶点标量特征做两步——先取梯度、在每个三角面的切空间里做局部学习变换(局部步),再用变换后的梯度场解一个全局泊松系统、得到耦合全体顶点的标量更新(全局步),最后用逐点 MLP 融合原特征、泊松解和任务相关的条件特征输出。

flowchart LR
  输入标量特征 --> 取梯度 --> VectorMLP局部变换 --> 泊松求解 --> 全局标量更新 --> 逐点MLP --> 输出标量特征

关键设计:

  1. 梯度域的局部变换(是什么/为什么/怎么做)。把每个面的常值梯度写成复数 \(z = a + bi\)(\(a,b\) 是切平面正交基 \(u_1,u_2\) 下的系数),用可学习的复权重矩阵作用,几何上等价于在每个面上对梯度做旋转+缩放的线性组合。为保证对切空间基选取的等变性(基可任意旋转),非线性只作用在梯度模长上,让方向分量随坐标系一致变换。单面上的变换写作 \(f_i \leftarrow W f_i \odot \dfrac{\sigma(r+b)}{r}\),其中 \(r\) 是 \(W f_i\) 各元素的模长。这样每个块对旋转不变,学习更高效、更鲁棒。

  2. 标量对梯度的调制(Modulation)。在做上面的变换前,先用原始标量信号(平均到面上的 \(s_{\text{face}}\))去调制梯度的相位与幅度:\(f \leftarrow (\sigma(\gamma) + \epsilon)\, f\, e^{i\theta}\),其中缩放 \(\gamma\) 与旋转角 \(\theta\) 由一个小 MLP 逐点给出。这相当于把标量当作内蕴的位置信息,让网络更有区分度地变换梯度特征。消融实验表明加入调制稳定提升性能。

  3. 泊松全局传播(全局步)。把变换后的面梯度场整合回标量,靠解稀疏线性系统 \(L u = \nabla^{T} M f\),其中 \(L\) 是余切拉普拉斯、\(M\) 是质量矩阵、\(\nabla^T\) 是散度算子。解只在相差常数意义下唯一,因此把均值归零居中。散度是坐标无关算子,保证泊松解不依赖切基选择。变分形式 \(u = \min_{s} \int_{\Omega} \lVert \nabla s - f \rVert^2 dA\) 直观说明:泊松解就是”梯度最贴合 \(f\) 的那个标量场”。作者还给出一个视角——逆拉普拉斯 \(L^{-1}\) 隐式定义了格林函数 \(G(i,j)\),充当一张随网格几何自适应的”全局注意力核”,但用稀疏算子实现、无需显式构造二次的注意力矩阵。

  4. 高效实现与可扩展性。泊松方程是椭圆型偏微分方程,离散后得到一个可预先分解、且能在所有网络块间复用的稀疏系统:作者对拉普拉斯 \(L\) 做一次共享的 Cholesky 分解,用 CUDA 稀疏求解器并行解各通道。同时用自研 PyTorch CUDA 扩展在训练时”即时”构造拉普拉斯、梯度、质量矩阵(相比 LibIGL 梯度算子快约 546 倍、拉普拉斯约 13 倍),彻底免去了拉普拉斯特征基那种数小时的 CPU 预计算,使方法能直接上大数据集和带数据增强的非静态网格。

实验结果

在人形角色 source-to-target 重摆姿(reposing)实验上(用 SMPL-X + MOYO 瑜伽动捕数据集,姿态如”椒盐卷饼”般极端扭曲,需要全局理解关节链),PoissonNet 用 NJF 变形头与各 backbone 做公平对比。它在测试损失、收敛速度、预计算与吞吐上全面占优,且能保留手、脸等高频细节并泛化到分布外角色;DiffusionNet 丢高频、扭曲肢体,DeltaConv 因 KNN 算子在近乎接触的部位不可靠而无法收敛。

方法 预计算 训练吞吐 总耗时 reposing 表现
PoissonNet(本文) <1 分钟 9058 batch/hr 22.1hr 收敛最快、测试损失最低
DiffusionNet(谱) +9hr / +80GB 显存 11438 batch/hr 26.5hr 丢高频、细节扭曲
DeltaConv <1 分钟 9015 batch/hr 22.2hr 未能收敛到有意义结果

其余实验以文字补充:语义分割上,3 块 PoissonNet(65 万参数)在 SMPL-X 27 类身体部位分割达 97.03% 测试精度,优于 DiffusionNet 的 96.12%(后者还额外需 16 小时预计算与 160GB 显存),DeltaConv 仅 88.2% 且难以区分左右对称部位;在 Maron 等人的人体数据集上达到 SOTA。分类上,SHREC11 基准(每类仅 10 个训练样本)取得 100% 精度,超过 DiffusionNet(99.5%)、DeltaConv(99.6%) 等。全频谱分析中,用约 65 万参数(原序列 2% 的压缩比)拟合 30 万面的皱纸球动画,能保留大部分高频褶皱,而 DiffusionNet 明显过平滑。此外网络对网格损坏、简化、细分、破洞与部分曲面等离散化变化保持稳定预测,并能学习多尺度的热核签名(HKS)等局部信号。

亮点与局限

  • 亮点:
    • 首个同时满足”全频谱传播 + 全局感受野 + 三角剖分无关 + 可扩展”四大性质的内蕴学习架构,把泊松方程首次用作网格特征学习(而非仅末端积分步)。
    • 用泊松(非齐次)而非热方程(齐次)传播,避免长时间扩散退化为全局常数,天然携带方向性、无需谱基。
    • 一次 Cholesky 分解跨全网络块复用 + 即时 CUDA 构造算子,几乎零预计算、可上大网格大数据集;泊松的自然边界条件还让它对破洞更鲁棒。
  • 局限:
    • 不适合多连通分量的网格——内蕴泊松方程会在各分量上独立作用(这是内蕴微分算子类方法的共性缺陷),而现实模型多为多分量。
    • 极差的离散化(如细长 sliver 三角形)可能导致数值不稳定、扭曲泊松解。
    • 虽比同类方法省算力,但在超大网格上仍达不到实时。
    • 每个块虽有全局支撑,但感受野随距离衰减(顶点间耦合随距离减弱)。

延伸思考

作者把泊松解类比为”固定几何权重的全局注意力”,这为把经典偏微分方程算子与注意力机制统一看待提供了有趣视角:既然 \(L^{-1}\) 给出随几何自适应的稀疏”注意力核”,那是否能推广到别的偏微分方程来塑造不同的传播模式?作者也把波动方程等更一般的信号传播算子列为未来方向,用以缓解感受野随距离衰减的问题。多连通分量的原理性处理(避免临时的 KNN 拼接)是值得攻关的开放问题。此外,该架构与 NJF 变形头的组合已在文本/图像驱动的生成式变形、时序序列、人脸绑定等场景中被验证有效,PoissonNet 作为更强的 backbone 有望进一步提升这些下游任务的细节保真与泛化能力。