Neural Harmonic Textures for High-Quality Primitive Based Neural Reconstruction¶
会议: ECCV 2026
论文: ECCV 原文
代码: https://research.nvidia.com/labs/sil/projects/neural-harmonic-textures/
领域: 3D 视觉
关键词: 3D Gaussian Splatting, 神经重建, 谐波基, 延迟着色, 新视角合成
一句话总结¶
本文把可学习特征向量锚定在每个图元(高斯/三角形)外接虚拟四面体的顶点上、在光线与图元的交点处做重心插值,先用 sin/cos 周期函数激活、再沿光线做不透明度加权累积——于是 alpha 混合本身就成了一次谐波分解——最后只用一个轻量 MLP 在图像空间做一次延迟解码;在 MipNeRF360 等三个数据集上以 140+ FPS 超过 3DGS、2DGS、Spherical Voronoi 等基线(MipNeRF360 28.74 PSNR / 25.68 PSNR on Tanks & Temples),并能无缝接入 2DGS 与 Triangle Splatting。
研究背景与动机¶
自 3D Gaussian Splatting 起,基于图元(Lagrangian 视角)的表示在很大程度上取代了连续神经辐射场(Eulerian 视角)。这一转变不仅因为渲染快得多,也来自显式表示的结构性优势:图元能自适应地贴合场景细节,更容易扩展到大规模场景,天然支持运动、形变与编辑,还与前馈重建流程、点图表示一脉相承。但单个图元的表达能力始终是瓶颈。在 3DGS 里,几何与外观被紧耦合在同一个图元内:想表达更高频的空间细节,唯一的手段是不断加密图元,代价是显存膨胀与渲染变慢。方向维度上情况类似——视角相关效果通常用低阶球谐表示,频谱带宽受限,对尖锐高光这类高频现象力不从心;spherical Gaussians、球面 Beta 核、Spherical Voronoi 等替代角度参数化确实提高了方向带宽,但并没有解开"空间支撑与外观建模耦合"这一根本问题。
另一条路线是神经场:它靠位置编码(Fourier features、多分辨率 hash grid)把低维坐标映射到高维特征,再用 MLP 解码,从而在小尺度上获得极高的局部表达能力。近年已有工作试图在两条路线之间搭桥——把图元当作查询一个全局神经场的加速结构(如 Radiance Meshes、NeST)。但这类混合方案继承了全局神经表示的短板:特征是全局锚定的(例如挂在 hash grid 上),不随图元运动或形变而移动,在大场景与高频细节建模上扩展性差,可编辑性也随之丧失。
本文的切入角度是:图元自身就可以充当位置编码。作者把可学习特征挂到包裹每个图元的虚拟支架上,在光线–图元交点处局部插值——特征是 Lagrangian 的,随图元一起运动、形变、被删除,不需要任何全局空间结构。但仅仅这样还不够:此前这类"插值特征 + 神经解码"的做法要么在体渲染之前就逐图元解码,导致每条光线要做几十次 MLP 推断;要么像 3DGS 那样退化成"每个图元只算一次视角相关颜色",而这默认了信号在图元内部不随空间变化,恰好与本文想表达的图元内高频纹理相矛盾。作者借用了傅里叶分析的思想——一个复杂信号可以写成若干谐波分量(不同振幅的周期函数)之和——在沿光线混合之前先对插值特征施加周期激活(sin 与 cos),再把它们按不透明度加权累加。核心 idea:把图元外接支架上的特征插值本身当作局部位置编码,用 sin/cos 周期激活将其变成可叠加的谐波分量,让 alpha 混合过程直接完成"信号合成",从而把神经解码压缩到每像素一次。
方法详解¶
整体框架¶
本文以 3D Gaussian 图元为默认载体、沿用 3DGUT 的公式来叙述方法,核心问题只有一个:如何在不增大图元数量、不引入全局特征网格的前提下,把单个图元的表达能力(尤其是图元内部的空间变化与高频外观)大幅提高,同时保持实时渲染。整体流程是:对每个高斯图元,把它白化到规范空间后定义外接虚拟四面体,四个顶点各挂一个可学习特征向量;光线与图元相交时,取投影高斯沿光线响应最大的点,用重心坐标插值顶点特征,得到该交点的局部特征 \(f_i\);插值特征先经过 sin/cos 周期激活变成谐波分量,再按不透明度与透射率沿光线累加;累加得到的谐波和被拼接上光线方向编码,交给一个浅层 MLP 在图像空间一次性解码出像素颜色。整条链路只在最后一步触及神经网络,前面的光栅化、插值与混合全部发生在现有图元渲染管线内部。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["光线 + 图元集合"] --> B["图元绑定特征嵌入<br/>虚拟四面体顶点特征<br/>交点重心插值"]
B --> C["谐波纹理<br/>sin/cos 周期激活<br/>不透明度加权累积"]
C --> D["神经延迟着色<br/>单次图像空间 MLP 解码"]
D --> E["RGB 像素"]
关键设计¶
1. 图元绑定特征嵌入:让图元自己成为局部位置编码
triplane、体素网格、多分辨率 hash grid 这类空间结构虽然有效,但都是全局定义的规则网格:它们在大场景与高频细节上的可扩展性受限,而且固定于世界空间,一旦场景发生运动、形变或编辑,特征并不会跟着几何走。本文反过来利用图元表示的 Lagrangian 性质与自适应性:各向异性 3D Gaussian 的有界支撑等值面在白化后的规范空间里是一个球,作者就在这个规范空间里定义该球的外接虚拟四面体,并给四个顶点各分配一个 \(N_f\) 维可学习特征向量 \(f^j\)。对每条命中该图元的光线,按 3DGUT 的做法取"投影高斯沿光线响应最大"的位置 \(p^*\),用重心坐标插值四个顶点特征得到该点的局部特征 \(f\)(更详细的推导在补充材料里)。这样得到的等效于一张连续、随位置变化的图元内纹理:顶点特征差异越大,纹理的空间变化越剧烈。相比全局特征网格,它不需要任何额外的空间数据结构,特征随图元一起经历旋转、缩放、移动与删除,因此运动、形变、场景编辑这些操作天然被支持——这正是此前"图元 + 全局神经场"的混合方法丢掉的能力。
2. 谐波纹理:把 alpha 混合变成谐波分量的加权和
把特征逐图元解码成外观再去做体渲染,意味着每条光线要跑几十次 MLP;3DGS 用"每个图元只解码一次视角相关颜色"把复杂度从"光线–图元交点数"降到"图元数",但那是一个"信号在单个图元内部不随空间变化"的近似,恰恰不适用于本文要建模的图元内纹理。作者的做法是推迟解码、并改变混合对象的性质:在沿光线混合之前,对插值特征施加周期函数(sin 与 cos),于是原本的 alpha 累积变成了对一组不同频率分量(谐波)的加权求和,作者称之为谐波纹理。这里有两个角色值得点明:插值函数充当频率调制器——一个图元内顶点特征之间的差异越大,激活后的分量振荡越快,能够表达的空间频率越高;而图元的核加权不透明度充当谐波振幅——越"实"的图元对最终像素里该频率成分的贡献越大(图 4 给出了去掉振幅加权的可视化,以便看清谐波本身)。这一改写之所以关键,是因为它把"表达能力"从神经网络转移到了特征与混合算子里:混合后的信号在图像空间已经是高维、且携带丰富频率结构的隐式表示,剩下的只是一次性把它解码成 RGB。
3. 神经延迟着色:把神经推断从"每条光线几十次"压到"每像素一次"
既然沿光线累积出来的谐波已经足够丰富,解码就可以做得非常省:把累加后的谐波与光线方向(按 Instant-NGP 的做法用二阶球谐 \(\mathrm{SH}_2(\mathbf{d})\in\mathbb{R}^9\) 编码)拼接,交给一个浅层 MLP 直接输出像素颜色 \(c\),不再附加任何其他位置编码。渲染方程写为
其中 \(\mathbf{f}_i=\mathrm{interpolate}(f_i^0,f_i^1,f_i^2,f_i^3;\,p_i^*)\) 是第 \(i\) 个图元在响应最大点插值出的特征,\(\mathcal{G}\) 是光线命中的图元集合,\(\alpha_i\) 与 \(T_i\) 分别是不透明度与累积透射率(定义与式 (2) 的体渲染一致)。⚠️ 原文式 (3) 的排版在缓存文本中损坏,这里按上下文重建了其结构,具体符号与拼接方式以原文为准。
由于 MLP 每像素只求值一次,且可以做得非常小(主实验用 128 宽 × 3 隐层),整个方法既保住了延迟着色带来的效率,又不像全局特征网格那样把负担压给网络。工程实现上,作者在 gsplat 中基于 3DGUT 增加了前向与反向的自定义 CUDA kernel,光栅化时用半精度读取特征向量以降低寄存器压力;MLP 使用 tiny-cuda-nn 的 JIT 编译 cooperative vector MLP,训练与推理都在 FP16 下进行,并借自动缩放损失值(mixed precision training 的标准做法)保证半精度训练稳定。
一个完整示例¶
以主实验的配置走一遍:每个图元挂 64 维特征(四面体四顶点各 16 维)。某条光线穿过场景,依次命中若干个高斯图元;对每个命中的图元,光栅化阶段先求投影高斯响应最大的点 \(p_i^*\),在四面体内做重心插值得到 16 维特征 \(\mathbf{f}_i\),经 sin、cos 激活后拼成 32 维谐波向量;该向量再按 \(T_i\alpha_i\) 加权,沿光线与其他图元的分量累加,得到 32 维的谐波和。光线方向另用 9 维二阶球谐编码,与谐波和拼接后送入 128 宽 3 隐层的 MLP,一次前向就输出这个像素的 RGB。整条光线上无论命中多少图元,神经网络都只被调用一次。⚠️ 这里的维度账(32 + 9)是我按式 (3) 与原文配置推算的,原文公式抽取有损,以原文为准。
损失函数 / 训练策略¶
优化策略整体沿用 3DGS-MCMC:稠密化策略、损失函数与正则项都不变。正则项同时约束图元的不透明度与尺度,
总损失为 \(\mathcal{L} = (1-\lambda)\mathcal{L}_1 + \lambda\,\mathcal{L}_{\text{D-SSIM}}\),\(P\) 为图元数、\(\mathbf{s}_i\) 为第 \(i\) 个图元的尺度向量。针对本方法新增的参数,作者做了三处调整:特征与 MLP 的学习率采用余弦退火调度(类比 3DGS 对图元位置施加的指数调度);对 MLP 权重 \(\theta\) 施加 EMA 滤波 \(\bar{\theta}_t \leftarrow \gamma\,\bar{\theta}_{t-1} + (1-\gamma)\,\theta_t\),以提升抗噪能力、避免过拟合到单帧;最后 3000 次迭代只优化特征与 MLP 权重,关闭全部正则项并冻结其余参数——作者称这一步"颜色精修"在大规模场景上能小幅提升颜色保真度。其余超参见补充材料。
实验关键数据¶
主实验¶
主结果在 MipNeRF360、Tanks & Temples、Deep Blending 三个数据集上评估。需要注意两点评测口径:MipNeRF360 上所有方法直接在官方提供的 JPEG 参考图上训练与评测(不做 gsplat 的默认降采样),以便与既有工作对齐;室内场景用 2M 图元、室外 5M,室内训练 45k 迭代、室外 25k。下表摘录了各类代表方法的关键行。
| 方法(类别) | MipNeRF360 PSNR↑ / SSIM↑ / LPIPS↓ | Tanks & Temples | Deep Blending |
|---|---|---|---|
| Mip-NeRF 360(纯神经场) | 27.60 / 0.788 / 0.275 | 22.22 / 0.754 / 0.290 | 29.40 / 0.899 / 0.306 |
| ZipNeRF(hash 神经场) | 28.55 / 0.829 / 0.218 | 23.64 / 0.836 / 0.179 | – |
| 3DGS-MCMC(图元 + SH) | 27.99 / 0.830 / 0.229 | 24.46 / 0.866 / 0.174 | 29.49 / 0.912 / 0.306 |
| 2DGS(图元 + SH) | 27.22 / 0.804 / 0.275 | 22.85 / 0.827 / 0.244 | 29.56 / 0.904 / 0.325 |
| Spherical Voronoi(图元 + 强角度基) | 28.56 / 0.835 / 0.228 | 24.80 / 0.871 / 0.172 | 30.34 / 0.914 / 0.299 |
| Neural Shell Texture Splatting(图元 + 神经场) | 26.54 / 0.776 / 0.260 | – | – |
| NHT(本文) | 28.74 / 0.834 / 0.216 | 25.68 / 0.882 / 0.141 | 30.94 / 0.919 / 0.302 |
三个数据集上本文方法都超过此前的实时与离线方法:在 MipNeRF360 上比 Spherical Voronoi 高 0.18 dB、比 ZipNeRF 高 0.19 dB(且速度是实时的),在 Tanks & Temples 与 Deep Blending 上的 LPIPS 也全面占优(Deep Blending 的 LPIPS 0.302 略高于 SV 的 0.299,是该数据集上少数的例外)。
由于表 1 中各方法的训练计划、图元数与参数预算并不统一,作者另外做了一组受控实验:所有方法在同一框架(gsplat)内实现,统一 1M 图元上限、30k 迭代、每图元相同的外观参数量(48)、相同的逐场景超参,唯一变量是外观模型。此时 NHT 仍然全面超过常规 SH 与当前的 SOTA 角度基 Spherical Voronoi,且显存更省,只是帧率从 200+ 降到 140(仍是实时)。
| 外观模型(均含 MCMC,1M 图元 / 30k 迭代) | MipNeRF360 PSNR↑ / LPIPS↓ / FPS↑ | Tanks & Temples | Deep Blending |
|---|---|---|---|
| 3DGS + SH | 27.94 / 0.246 / 251 | 24.25 / 0.188 / 294 | 29.98 / 0.317 / 331 |
| 3DGUT + SH | 27.93 / 0.247 / 201 | 23.99 / 0.192 / 245 | 30.21 / 0.318 / 282 |
| 3DGUT + Spherical Voronoi | 28.15 / 0.248 / 202 | 24.18 / 0.187 / 242 | 30.29 / 0.320 / 267 |
| 3DGUT + NHT(本文) | 28.46 / 0.232 / 140 | 24.79 / 0.169 / 226 | 30.88 / 0.311 / 240 |
NHT 在该设置下于 MipNeRF360 上训练到 30k 迭代平均约 14.5 分钟(1M 图元,RTX 5090)。
除辐射场重建外,作者还展示了两个应用。其一是语义场景重建:只需扩大 MLP 的解码头即可拟合任意维度信号,其余层与特征维度不变,模型被迫利用不同维度之间的相关性。任务设定为联合重建 RGB 辐射与 LSEG 的 512 维语义特征。
| 方法 | RGB PSNR↑ / SSIM↑ / LPIPS↓ | 语义 PSNR↑ / 余弦相似度↑ | FPS↑ |
|---|---|---|---|
| Feature 3DGS(176 维特征 + 512×128 CNN,1.5× 图元数,约 3× 显存) | 26.27 / 0.785 / 0.262 | 43.68 / 0.985 | 3.02 |
| NHT(本文,80 维特征 + 128×3 MLP) | 28.16 / 0.824 / 0.228 | 46.90 / 0.993 | 28.11 |
其二是高分辨率 2D 图像拟合:作者为一个 45.7 MP、14-bit HDR RAW 图像(15 张平均)的新数据集做拟合,与 Instant NGP 和支援 HDR 的 JPEG-XL 编码器比较。适配到 2D 时改动两处——使用连通的 2D 三角网格拓扑且完全不做 alpha 混合(纯插值,没有核函数),并把重心插值换成 Clough-Tocher 三次插值以保证跨三角形边的连续性、消除高频接缝伪影。
| 压缩比 | 方法 | PSNRµ↑ | PSNRtm↑ | SSIMtm↑ | LPIPStm↓ |
|---|---|---|---|---|---|
| 10× | JPEG-XL | 45.31 | 44.66 | 0.994 | 0.001 |
| 10× | Instant NGP | 37.63 | 38.91 | 0.949 | 0.061 |
| 10× | NHT(本文) | 37.16 | 39.87 | 0.963 | 0.023 |
| 100× | JPEG-XL | 38.53 | 35.54 | 0.971 | 0.017 |
| 100× | Instant NGP | 35.17 | 36.39 | 0.923 | 0.078 |
| 100× | NHT(本文) | 35.06 | 36.43 | 0.927 | 0.048 |
消融实验¶
正文给出的最有信息量的一组"消融"是把外观模型替换到不同图元类型上,验证方法的图元无关性。适配代价很低:2D 图元只需把外接四面体换成虚拟三角形、或直接把特征锚定到显式三角形几何上,每图元从四个特征向量变成三个。
| 配置(MipNeRF360) | PSNR↑ | SSIM↑ | LPIPS↓ | 说明 |
|---|---|---|---|---|
| 3DGUT-MCMC(SH) | 27.93 | 0.828 | 0.247 | 基线 |
| 3DGUT-MCMC + NHT | 28.46 | 0.830 | 0.232 | +0.53 dB |
| 2DGS(SH) | 27.48 | 0.816 | 0.263 | 基线 |
| 2DGS + NHT | 28.27 | 0.820 | 0.238 | +0.79 dB |
| Triangle Splatting | 27.00 | 0.808 | 0.231 | 基线(作者声明只是 proof-of-concept,未充分调优) |
| Triangle Splatting + NHT | 27.52 | 0.807 | 0.227 | +0.52 dB |
此外,正文还给了图元数量这一维度的分析:从 1K 到 4M 图元,本文方法在整条曲线上都优于 3DGS-MCMC 与 3DGUT-MCMC,且在低图元数区间(≤100k)优势最明显,差距可达 2 dB 以上——达到前作 1M 图元的精度只需要约三分之一的数量;在 bonsai 场景上用 10K 图元的对比中,相对 3DGUT-MCMC 平均提升 +3.7 dB PSNR。
⚠️ 关于更细的消融(训练策略各项贡献、特征编码函数的选择、每图元特征维度、MLP 结构),原文只在正文中给出结论、把数字放在补充材料(Tab. S10 / S11 / S13 / S14):结论是谐波函数作为特征编码优于其他选择,特征维度与 MLP 结构可在质量与速度之间连续取舍。本笔记无法给出这些具体数值。
关键发现¶
- 增益主要来自外观表达力而非几何:受控实验中所有方法共享同样的稠密化与正则,唯一变量是外观模型,NHT 仍稳定领先 0.3–0.6 dB,说明提升不是训练计划差异带来的。
- 低图元数区间收益最大:图元越少,单个图元需要承担的空间变化越多,谐波纹理的价值越突出(≤100k 图元时差距 2 dB 以上);随着图元数增加,曲线逐渐收敛。这正面回应了动机中"高频细节只能靠堆图元"的痛点——它把内存–速度–质量的折中点整体前移。
- 代价是少量帧率:从 200+ FPS 降到 140 FPS(受控设置),仍然实时;作者明确把"比纯 3DGS 稍慢"列为局限。
- 高维信号可以近乎免费地扩展:把解码 head 加宽即可拟合 512 维语义特征,且 RGB 质量几乎不掉(作者认为这说明特征维度之间高度相关或 RGB 任务本身仍有富余带宽),同时显存约为 Feature 3DGS 的三分之一、帧率约 9 倍。
- 在 HDR 图像拟合上感知质量显著优于 Instant NGP:100× 压缩时 LPIPS 从 0.078 降到 0.048(相对改善 38%),但像素误差(PSNRµ)略低于 Instant NGP,且两项都还明显落后于 JPEG-XL。
亮点与洞察¶
- 把"混合"重新解释为"信号合成":傅里叶级数的类比不是修辞——它直接给出了一个可实现的算子顺序(先周期激活、再混合),并顺带解释了频率调制(顶点特征差 → 空间振荡快)与振幅(核加权不透明度)两个角色。这种"用经典信号处理的分解视角改造渲染管线中的一步"的思路,可以迁移到任何"局部特征 + 沿光线累积"的表示上。
- 解耦几何与外观,同时不引入全局结构:图元密度可以跟着几何复杂度走,而不是被高频外观逼着加密——这既是质量的提升,也是内存效率的提升。特征随图元运动这一点,让方法在被广泛使用的编辑/形变/4D 场景中比"图元 + hash grid"的混合方案更自然。
- 延迟着色把神经推断压到每像素一次:累计谐波直接提供高维输入,MLP 不再需要位置编码,也不需要感知损失或引导网络来稳定训练(对比 INPC 类方法需要 NeRF 式渲染引导)。这是一个"表示设计替优化省事"的典型例子。
- 图元无关性:四面体→三角形、四顶点→三顶点的简单替换就能挂到 2DGS / Triangle Splatting 上,说明该机制基本不依赖 3D 高斯的任何特殊性质,可复用性强。
- 工程细节值得一提:特征向量在光栅化时半精度读取以降寄存器压力、cooperative vector MLP、自动 loss scaling 保证 FP16 稳定——这些是让"每图元几十维特征 + 双精度级质量"能在实时管线上跑起来的关键。
局限与展望¶
- 作者承认:方法专注于提高单个图元的表达力,因此在监督非常稀疏的场景下容易过拟合到单帧,新视角合成质量下降;此外神经网络解码器使它比纯 3DGS 略慢(实测 140+ FPS)。
- 我自己的观察:正文把最细粒度的消融(特征编码函数、特征维度、MLP 结构、各训练策略贡献)全部放在补充材料,正文只给结论,读者难以判断"谐波激活"相对其他激活到底领先多少;表 1 的对比跨了不同训练计划与参数预算(虽然表 2 的受控实验部分弥补了这点),"超越离线方法"的结论仍需注意口径。
- HDR 图像拟合一节里,NHT 在像素误差上并没有超过 Instant NGP,感知优势与度量优势不一致;作者解释 JPEG-XL 的优势来自其面向人类感知的先验,这说明该任务上的胜负取决于评价维度。
- 可延伸的方向(部分为作者提出):从更细粒度的谐波分解里自动导出层次细节(LOD);既然特征已经能承载高维信号,可扩展到辐射缓存、神经物理渲染、几何重建;作者还提出在传播导数时未必需要空间衰减的核函数,去掉核函数可能带来大幅性能提升——但这也意味着当前的"不透明度充当振幅"这一解释需要重新设计。
相关工作与启发¶
- vs 3DGS / 2DGS / Triangle Splatting 等纯图元方法:它们用低阶球谐表示视角相关颜色,方向带宽受限、且几何与外观耦合;本文不改几何管线,只替换外观模型,就能在相同图元数下提高质量、并在低图元数区间大幅领先。代价是每图元多存若干维特征与一次全图共享的 MLP 推断。
- vs Spherical Voronoi / Spherical Gaussians / Beta Splatting:这些方法通过更强的角度参数化提高方向带宽,但空间支撑与外观仍然耦合在图元内;本文走的是"空间上的局部位置编码 + 统一神经解码",两者在原理上正交,未来有组合空间。
- vs Radiance Meshes / Neural Shell Texture Splatting / INPC 等混合方法:它们把图元当作查询全局神经场(hash grid)的加速结构,特征全局锚定,运动/形变/编辑时不会跟随,且继承了 Eulerian 编码的大场景扩展性问题;本文把特征挂到图元自身上,是 Lagrangian 的,同时因为谐波混合已经足够丰富,把神经推断削减到每像素一次。
- vs Textured Gaussians / BBSplat 等逐图元纹理方法:它们给每个图元加高表达力的纹理(甚至空间变化的透明度),但优化更难、易过拟合、存储开销大、渲染更慢;本文用"轻量共享 MLP + 局部特征"替代"重图元",把表达力放进低维特征和混合算子中。
- vs Feature 3DGS:同样把高维特征挂到图元上,但 Feature 3DGS 依赖巨大的显式高维特征与 CNN 升维;本文用统一的小 MLP 解码,在语义任务上显存约为其三分之一、帧率约 9 倍,语义与 RGB 指标同时更好。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 把 alpha 混合重新解释为谐波合成、并顺势把神经解码压到每像素一次,是一个简洁而有效的视角转换。
- 实验充分度: ⭐⭐⭐⭐ 三个标准数据集 + 受控对比 + 图元数量曲线 + 两个额外任务,覆盖很广;但细粒度消融全部放在补充材料,正文可见性不足。
- 写作质量: ⭐⭐⭐⭐ 动机链条(耦合 → 全局网格的局限 → 傅里叶类比)讲得很清楚,公式与符号略少,式 (3) 的组织对读者不够友好。
- 价值: ⭐⭐⭐⭐⭐ 方法图元无关、可即插即用,直接推进了实时新视角合成的质量–内存折中曲线,对后续图元表示与延迟着色管线都有参考价值。