NeurCross: A Neural Approach to Computing Cross Fields for Quad Mesh Generation
Shandong University
一句话总结
NeurCross 把神经 SDF 与 cross field 放进同一个自监督优化框架里联合训练,用 SDF 的 Hessian 隐式编码主曲率方向来引导 cross field,从而在奇异点分布、抗噪性和主曲率/尖锐特征对齐上同时超越现有四边形网格生成方法。
研究背景
四边形网格(quadrangulation)是 CAD/CAE 数值仿真里的基础环节,广泛用于有限元分析、等几何分析、角色动画与物理仿真。高质量四边形化通常要同时满足四个要求:与主曲率方向对齐、奇异点少且位置合理、精确贴合尖锐特征边、以及对噪声和微小几何起伏鲁棒。
现有主流做法是”两阶段”流水线:先算一个规则的 cross field 表示表面各处四边形单元的朝向,再据此抽取贴合该场的四边形网格。这里的核心矛盾在于:cross field 既要平滑,又要对齐预先计算好的主曲率方向,而主曲率方向对微小扰动极其敏感,在近似球面或平面区域往往定义不清。结果就是像 QuadWild 这类方法会因为过度追求 cross field 平滑而牺牲主曲率对齐,而想精确控制主曲率对推断场的影响又非常困难。
NeurCross 的切入点是:引入一个可优化的神经 SDF 作为输入形状的”代理曲面”。这个代理曲面比原始三角网格拥有更规则的主曲率方向,可以用来引导 cross field;同时它是可调的,能自然吸收微小的表面起伏和噪声。
方法
NeurCross 由两个围绕 SDF 的核心模块组成:表面拟合模块(SIREN 结构的 MLP,拟合神经 SDF)和朝向预测模块(U-Net + ResNet 结构,预测每个三角面片的旋转角)。两者通过一个总损失联合优化。
flowchart TD
A[输入三角网格] --> B[采样三角形质心得到点集 P<br/>每点带法向 n]
B --> C[SDF 拟合模块<br/>SIREN, 4x256]
C --> D[神经 SDF f x]
D --> E[Hessian 矩阵 H_p<br/>隐式编码主曲率方向]
B --> F[朝向预测模块<br/>U-Net + ResNet]
F --> G[每面片旋转角 theta_p]
G --> H["cross 对 alpha_p, beta_p<br/>由局部坐标系 mu, nu 旋转得到"]
E --> I[联合损失 L]
H --> I
D --> I
I -->|同时优化 SDF 与 cross field, 10000 步| C
I --> F
H --> J[global-seamless 参数化 libigl]
J --> K[libQEx 抽取四边形网格]
关键设计一:SDF 的 Hessian 隐式编码主曲率。微分几何里 shape operator 的特征向量对应主方向。作者利用一个事实——对基曲面上一点 \(p\),SDF 的 Hessian 矩阵 \(H_p\) 有一个特征值为 0,对应特征向量正是法向 \(n_p\),而另外两个特征向量对应两个主曲率方向。于是先约束 SDF 与预定义法向对齐:
\[H_p \cdot n_p = 0\]
\[L_{AN} = \frac{1}{\vert P\vert } \int_P \left\vert H_p \cdot n_p \right\vert \, dp\]
关键设计二:隐式主方向对齐,绕开显式曲率提取。每个面片有局部坐标系 \((\mu_p, \nu_p)\),cross 由旋转角参数化:
\[\alpha_p = \mu_p \cos\theta_p + \nu_p \sin\theta_p, \quad \beta_p = \nu_p \cos\theta_p - \mu_p \sin\theta_p\]
要让 \(\alpha_p, \beta_p\) 成为 \(H_p\) 的特征向量,只需强制 \(H_p\alpha_p\) 与 \(\alpha_p\) 共线(\(\beta_p\) 同理):
\[H_p \alpha_p \times \alpha_p = 0, \quad H_p \beta_p \times \beta_p = 0\]
\[L_{AP}^{(1)} = \frac{1}{\vert P\vert } \int_P \left( \left\| H_p \alpha_p \times \alpha_p \right\| + \left\| H_p \beta_p \times \beta_p \right\| \right) dp\]
这样就不必显式提取主曲率方向——那一步在近平面/近球面区域正是不稳定的根源。
关键设计三:cross field 平滑项。作者证明两组正交单位向量 \((\alpha_1,\beta_1)\) 与 \((\alpha_2,\beta_2)\) 对齐(即差 \(k\pi/2\))当且仅当下式取最小值:
\[\left\vert \alpha_1 \cdot \alpha_2 \right\vert + \left\vert \alpha_1 \cdot \beta_2 \right\vert + \left\vert \beta_1 \cdot \alpha_2 \right\vert + \left\vert \beta_1 \cdot \beta_2 \right\vert \]
对每点 \(p\) 的三个邻居(先用预计算的二面角旋转矩阵 \(R_i\) 对齐到同一切空间)求和构成平滑损失:
\[L_S = \frac{1}{3\vert P\vert } \int_P \sum_{i=1}^{3} \left( \left\vert \alpha_p \cdot R_i \alpha_{q_i} \right\vert + \left\vert \alpha_p \cdot R_i \beta_{q_i} \right\vert + \left\vert \beta_p \cdot R_i \alpha_{q_i} \right\vert + \left\vert \beta_p \cdot R_i \beta_{q_i} \right\vert - 2 \right) dp\]
关键设计四:尖锐特征对齐。用测地距离 \(d_g(p, FL)\)(实现中近似为直线距离)构造随距离衰减的权重,特征线附近强制对齐、远处逐渐让位于主曲率:
\[D_p = 1 - \exp\left(-\rho_{feature}\, d_g(p, FL)\right)\]
\[L_{AP} = \frac{1}{\vert P\vert } \int_P D_p \left( \left\| H_p \alpha_p \times \alpha_p \right\| + \left\| H_p \beta_p \times \beta_p \right\| \right) dp\]
总损失把 SDF 项(Eikonal、Dirichlet、singular Hessian/法向对齐,带退火因子 \(\tau\))与 cross field 项(主方向对齐 \(L_{AP}\)、平滑 \(L_S\))统一起来:
\[L = \lambda_E L_E + \lambda_{DM} L_{DM} + \lambda_{DNM} L_{DNM} + \tau \lambda_{AN} L_{AN} + \lambda_{AP} L_{AP} + \lambda_S L_S\]
关键设计五:联合优化而非两阶段。作者强调 SDF 是”代理曲面”而非固定输入。如果先把 SDF 完全拟合好再固定,其曲率线可能过于复杂,导致 cross field 被迫对齐不规则曲率线、产生大量奇异点。联合优化让 cross field 的平滑项反过来影响 SDF 的最优形状,在近似精度与场平滑间取得平衡。
实现上:SIREN 为 4 个隐层各 256 单元;U-Net 用 7 个 ResNet 块(bottleneck 数 3/4/6/3/3/4/6);输入归一化到 \([-0.5,0.5]^3\);Adam 学习率 \(5\times10^{-5}\),训练 10000 步。权重设为 \(\lambda_E=50, \lambda_{DM}=7000, \lambda_{DNM}=600, \lambda_{AN}=3, \lambda_{AP}=10, \lambda_S=30\)。最后用 libigl 的 global-seamless 参数化对齐 cross field,再用 libQEx 抽取四边形网格。
实验结果
评测指标:面积畸变 Area(×10000)、角度畸变 Angle、奇异点数 # of Sings、Chamfer 距离 CD(×10000,L1 范数)、Jacobian Ratio JR(0 退化到 1 完美平行四边形,越大越好)。硬件为 RTX 3090 + AMD EPYC 7642。数据集为 ShapeNet 与 Thingi10K,输入统一缩放到 \([-0.5,0.5]^3\)。对比方法:Instant Meshes(IM)、QuadriFlow、QuadWild、MIQ。
ShapeNet 数据集(平均 6000 顶点 / 12000 面):
| 方法 | Area ↓ | Angle ↓ | # of Sings ↓ | CD ↓ | JR ↑ |
|---|---|---|---|---|---|
| IM | 1.57 | 11.78 | 200.52 | 8.97 | 0.70 |
| QuadriFlow | 2.28 | 13.24 | 91.58 | 50.18 | 0.65 |
| QuadWild | 1.52 | 11.05 | 93.04 | 10.34 | 0.73 |
| MIQ | 5.23 | 12.89 | 82.12 | 8.25 | 0.58 |
| NeurCross (Ours) | 1.48 | 9.85 | 85.32 | 8.03 | 0.78 |
Thingi10K 数据集(平均 10000 顶点 / 20000 面,测 1000 个随机三角网格):
| 方法 | Area ↓ | Angle ↓ | # of Sings ↓ | CD ↓ | JR ↑ |
|---|---|---|---|---|---|
| IM | 1.45 | 10.57 | 397.18 | 9.83 | 0.75 |
| QuadriFlow | 1.58 | 12.39 | 78.32 | 26.89 | 0.72 |
| QuadWild | 1.40 | 10.16 | 85.11 | 28.12 | 0.77 |
| MIQ | 1.38 | 9.85 | 66.54 | 8.57 | 0.67 |
| NeurCross (Ours) | 1.33 | 9.68 | 68.96 | 8.22 | 0.81 |
NeurCross 在 Area、Angle、CD、JR 上几乎全面领先;奇异点数略多于 MIQ,但作者解释 MIQ 之所以奇异点少是因为它产出了畸变四边形、并过度平滑掉了 cross field 方向剧变的区域,缺乏整体一致性。
消融实验(去掉主方向对齐 \(L_{AP}\)、去掉平滑 \(L_S\)、或两者都去):
| 数据集 | 配置 | Area ↓ | Angle ↓ | # of Sings ↓ | CD ↓ | JR ↑ |
|---|---|---|---|---|---|---|
| ShapeNet | w/o \(L_{AP}\) | 1.59 | 11.96 | 89.96 | 8.05 | 0.75 |
| ShapeNet | w/o \(L_S\) | 1.96 | 15.12 | 113.28 | 8.09 | 0.71 |
| ShapeNet | w/o 两者 | 2.25 | 20.73 | 238.71 | 8.15 | 0.55 |
| ShapeNet | Ours | 1.48 | 9.85 | 85.32 | 8.03 | 0.78 |
| Thingi10K | w/o \(L_{AP}\) | 1.48 | 11.89 | 73.79 | 8.25 | 0.79 |
| Thingi10K | w/o \(L_S\) | 1.87 | 15.03 | 105.37 | 8.29 | 0.73 |
| Thingi10K | w/o 两者 | 2.21 | 20.67 | 225.18 | 8.31 | 0.58 |
| Thingi10K | Ours | 1.33 | 9.68 | 68.96 | 8.22 | 0.81 |
结论清晰:缺 \(L_{AP}\) 只保留局部相关性、缺乏整体一致性;缺 \(L_S\) 会产生大量奇异点;两者都缺则两种缺陷叠加。
此外还与 IGM、Dielen 等(监督学习)、Power Fields、PolyVectors、Quad Remesher 等做了定性对比,并展示了抗噪性(2% 高斯噪声下 MIQ 甚至无法产出有效结果,而 NeurCross 借 SDF 平滑掉噪声)、保真度(25000 顶点/50000 面下逼近误差最低)、以及高亏格、薄壳、非可定向环等复杂模型上的稳定表现。
亮点与局限
亮点:
- 首个用于学习 cross field 的自监督神经网络,无需标注数据,摆脱了 Dielen 等监督方法只能在 FAUST 这类特定数据集上表现好的局限。
- 用 SDF 的 shape operator 隐式对齐主曲率方向,彻底绕开了显式提取主曲率这一在近平面/近球面区域天然不稳定的步骤,天然解决了方向歧义。
- 联合优化把 SDF 当作可调代理曲面,而不是固定输入,使 cross field 的平滑需求能反哺 SDF 形状,在逼近精度与场平滑间取得更优平衡;同时 Hessian 的内在平滑性带来了对噪声和微小起伏的鲁棒性。
- 支持尖锐特征线约束,且在特征与主曲率冲突时优先保特征,对 CAD 模型友好。
局限:
- 自监督逐模型优化耗时大。50000 面的输入每次迭代 68.34 ms,默认 10000 步,单个模型优化成本高(简单规则形状可少迭代收敛,复杂形状需更多迭代)。
- 依赖 libigl global-seamless 参数化,无法处理非流形网格(ShapeNet 需先用 DualOctreeGNN 修复为流形);特征对齐抽取用 LPM 时在自由曲面 patch 交界处会引入奇异点甚至畸形四边形。
- 奇异点数略高于 MIQ(尽管作者论证其位置更合理)。
延伸思考
这项工作最值得玩味的地方是把”表示”本身变成了优化变量——传统流水线里输入形状是不可动的硬约束,主曲率完全由它决定;NeurCross 却允许一个神经 SDF 在忠于输入的前提下微调自己,用可调代理曲面来吸收几何的”病态”部分。这种”让中间表示自适应下游目标”的思路,在其它对输入噪声敏感的几何处理任务(如各向异性重网格、法向场估计、特征线提取)里可能同样有效。
作者在展望里提到一个很实际的方向:用 NeurCross 大量生成高质量四边形网格作为训练数据,去喂 MeshGPT 这类生成模型,从而把”逐模型优化十分钟”变成”前向推理秒级出网格”。这实际上点出了当前方法的商业化痛点——self-supervised per-shape optimization 精度高但慢,要落地交互式工具,要么加速优化,要么用它当离线数据引擎去蒸馏一个快速前馈模型。后者可能是更现实的路径。