LightTools 接收器数据分析:网格、蒙特卡洛噪声与优化收益怎样分开


把接收器网格从 20×20 改成 40×40 后,照度图通常更细,但最小照度可能突然变差。继续调结构又能“优化回来”。如果没有分清采样噪声、网格离散误差和真实光学变化,优化器可能只是找到了一次比较幸运的随机结果。

LightTools 的接收器支持网格化分析和数据导出,追迹采用蒙特卡洛方法。以下推导针对简化的独立采样模型,不假设软件内部所有采样策略都等价于等权随机投点。LightTools 产品技术说明

一、细化网格会消耗每个单元的有效样本数

先用一个可计算模型:N 条相互独立、等权光线中,每条落入某区域的概率为 p,则命中数 H 的期望为 Np,方差为 Np(1-p)。区域功率估计与 H 成正比时,相对标准差约为 sqrt((1-p)/(Np));p 很小时近似 1/sqrt(Np)。这不是对任意光线权重的通用误差公式,而是用来理解样本预算的基准。

假设某 ROI 总共获得一万次有效命中,空间分布均匀。分成 20×20 个单元,平均每格只有 25 次命中,单格相对噪声约为 20%;分成 40×40 后,平均 6.25 次,近似噪声上升到 40%。网格边长减半,样本密度没有自动增加。

若想让 40×40 网格保持原先单格命中量,所需总命中数要提高到四倍。相同估计方式下,随机标准误通常按样本数平方根降低,因此把误差从 2% 压到 1%,代价约为四倍样本,而非两倍。蒙特卡洛估计基础

实际追迹还可能存在权重差异、分裂、重要性采样和相关性。少量高权重路径会使“命中一万条”显得比实际更可靠,所以最终应通过重复追迹或版本提供的诊断评估,而不是永远套用命中数公式。

二、最小值和均匀性比平均值更容易受噪声影响

均匀性常用 Emin/Eavg 或 Emin/Emax,但不同定义不能混用。即使各格的真实照度完全相等,从 1600 个有噪声估计里选最小值,也容易选到负向波动最强的一格。网格数变多,极值偏离真实平均值的机会也在增加。

因此,两份不同网格的 Emin/Eavg 不能不加说明地直接比较。平滑或合并网格会改变极值,又可能掩盖真实热点、暗角和细小结构。比较设计时应固定物理 ROI、网格定义和后处理;若要修改分辨率,就单独开展网格敏感性研究。

对于确实关心局部缺陷的产品,可以预先定义一个物理窗口,例如任意 2×2 mm 区域的平均照度下限,再根据该尺度选择网格。它比“整张图最黑的一个像素”更容易与验收仪器的空间分辨率对应。但窗口平均不能替代针对微小缺陷的检查,两者对应不同需求。

三、先验证数据的坐标和量纲,再计算指标

API 或文本导出之后,建议规范化成自己的数据契约:任务 ID、接收器 ID、数量类型、单位、坐标约定、单元边界、数组行列方向及数值。这里的字段是后处理层设计,不是对 LightTools 原生文件格式的承诺。

有三个低成本检查特别有效。第一,用刻意偏离中心的小光斑确认横纵轴、正方向和矩阵是否转置。第二,确认值表示单元平均密度还是单元总量。第三,利用积分检查:若 Ei 是平均辐照度 W/m²、Ai 为面积 m²,则接收功率应为 ΣEiAi;若是照度 lx,积分得到的是流明,不能与瓦特直接相除。

面积单位尤其容易出错:1 mm²=1e-6 m²,漏掉转换会造成百万倍错误。对于不等面积网格或裁切边界,应使用各自 Ai,而不是所有单元统一乘中心单元面积。曲面接收器还要确认导出对应真实表面积、投影面积还是其他坐标表示。

数值有限、数组尺寸正确只是文件层验收。物理验收还需要看源功率口径、接收器是否重复计入同一路径、模型是否被动以及是否有波长转换。没有明确这些条件,不能只因为某个“效率”超过一就断言软件错误。

四、用重复批次估计变化,而不是只看两张图

假设设计 A 与 B 使用相同模型输入口径,各运行八次,并在每次配对中记录效率差 d=B-A。为便于复算,构造下面一组差值,单位是效率的绝对值:

1
2
0.0010, 0.0012, 0.0008, 0.0011,
0.0009, 0.0013, 0.0007, 0.0010

均值为 0.0010,即提升 0.10 个百分点。样本标准差为 0.0002,均值标准误约为 0.00007071。若配对差值之间独立且其均值的 t 区间近似适用,自由度七时使用 t=2.365,可得约 [0.000833,0.001167] 的 95% 区间。NIST 均值置信区间

1
2
3
4
5
6
7
8
9
10
from math import sqrt
from statistics import mean, stdev

differences = [0.0010, 0.0012, 0.0008, 0.0011,
0.0009, 0.0013, 0.0007, 0.0010]
assert len(differences) == 8 # 本例 t 临界值只针对自由度 7
estimate = mean(differences)
standard_error = stdev(differences) / sqrt(len(differences))
half_width = 2.365 * standard_error
print(estimate, estimate - half_width, estimate + half_width)

如果业务只要求至少提高 0.05 个百分点,这组构造数据给出了较充分的统计依据;若要求提高 0.15 个百分点,则尚不满足。区间不跨零只能说明在假设下存在统计差异,不能自动说明制造、成本和性能上的收益足够大。

配对也不是把两次文件随便排在同一行。应预先定义配对策略;如果版本支持共同随机数,可让 A/B 共享适当的随机条件以减少差值波动,但这不是“种子相同就必然更准”。要确认路径与采样机制没有破坏期望的对应关系;无法控制时,应如实采用独立重复并记录方式。

五、优化用的样本与验收用的样本分开

从一百个候选里挑最好的一次结果,会引入选择偏差。即使每个候选的估计都无偏,“取最大值”本身也会偏向正向噪声。优化阶段可以用较低样本数筛选,最终候选应使用独立的新追迹批次和固定验收规则复核。

如果同时考察效率、均匀性、最大照度和多个视场,就不应对每项随手做一个 95% 区间,再声称整体也有 95% 把握。可以预先设主指标、把其他指标作为硬约束,或采用适合多重比较的统计方案。不要在看到结果后反复更换 ROI 和阈值,却把最终结论当作预先设定的检验。

六、把收敛检查拆成三个方向

采样收敛检查保持网格不变,增加光线数并做独立重复;网格收敛检查固定同一物理口径,观察空间离散带来的指标变化;模型收敛则检查几何细节、散射模型、材料和追迹终止阈值。只有第一类噪声会因为单纯增加随机样本而稳定降低。

可以先用粗网格定位问题,再将局部 ROI 细化,同时提高该处有效样本预算。报告中同时列出总接收量、ROI 指标、重复次数、波动区间和未建模因素。这样,自动化程序交给优化器的是有定义、有单位、有不确定度的数值,而不是一张视觉上平滑的云图。

如果最终用相机或照度计验收,还需要把仪器像元或探头面积、响应函数、曝光及饱和条件带入比较。仿真中的单格极小值,与探头在有限区域内积分的读数未必是同一观测量;先把模拟数据按仪器尺度聚合,再比较残差,通常比直接对照两张伪彩图更有意义。

本文的数值例子为构造数据,Python 代码仅验证统计计算;没有执行真实 LightTools 追迹。不同版本的接收器数据键、随机控制方式和导出格式需通过实际适配层确认。

参考资料


 本篇
LightTools 接收器数据分析:网格、蒙特卡洛噪声与优化收益怎样分开 LightTools 接收器数据分析:网格、蒙特卡洛噪声与优化收益怎样分开
网格更细、云图更平滑,并不自动意味着照明设计更准确。通过命中数、能量积分、独立重复与配对差值算例,建立 LightTools 接收器数据后处理和优化结果验收的方法。
下一篇 
LightTools 二次开发:把参数扫描做成可恢复、可追踪的仿真任务 LightTools 二次开发:把参数扫描做成可恢复、可追踪的仿真任务
批量仿真的难点不只是循环修改参数。本文从会话绑定、数据键失效、仿真完成判据、任务身份和失败恢复出发,设计一个隔离版本差异的 LightTools 自动化执行框架。
  目录