3. 鬼像形成机理:光学表面反射模型、菲涅尔反射定律、非序列光线追迹原理
各位工程师朋友,咱们今天聊点实在的。鬼像这东西,说白了就是光线在镜头里“不听话”,多蹦跶了几次,最后跑到不该去的地方。要搞懂它,得先摸清光是怎么在镜片表面“弹来弹去”的。
我个人习惯把鬼像的形成拆成三个层次来看:表面怎么反射、反射多少能量、光线怎么乱窜。这三个层次搞明白了,鬼像的底裤也就扒干净了。
3.1 光学表面反射模型
先问个问题:光线打到镜片上,会发生什么?
大部分能量透过去了,这是咱们想要的。但总有一小部分会被反射回来。这个反射,就是鬼像的“种子”。
我见过不少新手,觉得反射就是镜片表面像镜子一样“咣”一下弹回来。其实没那么简单。真实的光学表面,反射是发生在两个介质的分界面上。比如空气和玻璃之间。
这里有个关键点:反射不光发生在第一面。光线穿过第一面,到了第二面(玻璃和空气的界面),同样会反射。这个反射光再往回走,碰到第一面,又可能被反射……你看,这就开始“套娃”了。
核心概念:鬼像的源头,就是这些“非预期”的多次反射。每一次反射,都会产生一个次级光路。这些次级光路如果最终汇聚到像面,就形成了鬼像。
我在项目中遇到过一种情况:一个看似简单的双胶合透镜,因为胶合层折射率匹配得不够完美,在胶合界面产生了微弱的反射。结果呢?在像面上出现了一个淡淡的、几乎无法对焦的亮斑。排查了好久才找到原因。
3.2 菲涅尔反射定律
好,现在我们知道表面会反射。那反射多少?这就轮到菲涅尔上场了。
菲涅尔反射定律,说白了就是一套公式,告诉你反射光的能量跟入射角、偏振态、以及两边介质的折射率有什么关系。
公式我就不抄了,咱们说人话:
- 垂直入射时:反射率 R = ((n1 - n2) / (n1 + n2))²。比如空气(n=1)到普通玻璃(n=1.5),反射率大约是4%。也就是说,每个空气-玻璃界面,大约有4%的光被反射回去。
- 斜入射时:反射率会随角度变化。而且S偏振和P偏振的反射率不一样。在布儒斯特角附近,P偏振的反射率会降到0。
- 折射率差越大,反射越强:这就是为什么高折射率镜片更容易产生鬼像。
我的经验: 做鬼像分析时,别只看垂直入射的4%。很多鬼像问题恰恰发生在小角度斜入射的情况下。这时候反射率可能比4%高得多。我曾经有个项目,就是忽略了边缘视场的大角度入射,结果鬼像在画面边缘特别明显。
你想想看,一个镜头有10个镜片,那就是20个空气-玻璃界面。每个界面反射4%,光线来回折腾几次,能量虽然衰减了,但架不住光路多啊。这些“幽灵光线”汇聚起来,就够你喝一壶的了。
3.3 非序列光线追迹原理
好了,现在我们知道光线会反射,也知道反射多少能量。那怎么模拟这些光线在镜头里乱窜呢?
传统的序列追迹,光线是按你指定的顺序,一个面一个面地走。这适合设计主光路。但鬼像光路是随机的,你不知道光线会先打到哪个面,再弹到哪个面。
这时候就需要非序列光线追迹了。
非序列追迹,说白了就是“放养”光线。你从光源发出一大堆光线,让它们在镜头里自由飞行。软件会计算每条光线跟每个光学表面的交点,然后根据菲涅尔定律,决定多少能量透射、多少能量反射。反射光继续飞,碰到下一个面再分……直到光线能量耗尽或者跑出系统。
这个过程,就像往一个满是镜子的房间里扔乒乓球。球会到处弹,你永远不知道它最终会从哪个角落飞出来。
注意: 非序列追迹的计算量非常大。一条光线可能分裂成几十上百条子光线。所以实际分析时,需要合理设置光线数量和追迹深度。我一般先追个几万条看看趋势,找到疑似鬼像路径后,再针对性地加密光线。
下面这张图,是我自己总结的鬼像形成与分析的逻辑框架,你可以对照着看:
非序列追迹的结果,通常是一个“鬼像路径列表”。里面会告诉你:哪两个面之间发生了多次反射,最终在像面上的位置在哪里,能量有多强。
我记得有一次分析一个变焦镜头,序列追迹怎么看都正常。但用非序列一跑,发现有一组光线在某个镜片组内部来回反射了4次,最后在像面中心形成了一个非常锐利的鬼像。这个鬼像的位置刚好跟主像重合,导致图像对比度下降。如果不做非序列分析,这个问题根本发现不了。
嗯,这里要注意:非序列追迹不是万能的。它依赖于你设置的光线采样数量和分裂阈值。设置得太少,可能漏掉重要的鬼像路径;设置得太多,计算时间又受不了。我个人的做法是:先用低光线数(比如5万条)快速扫描,找到潜在的“热点”路径,然后针对这些路径,单独提高光线数(比如500万条)做精细分析。
最后总结一下这三者的关系:
| 概念 | 作用 | 我的理解 |
|---|---|---|
| 表面反射模型 | 定义“在哪里反射” | 每个空气-玻璃界面都是潜在的反射源 |
| 菲涅尔反射定律 | 定义“反射多少能量” | 决定了鬼像的亮度,跟角度和折射率强相关 |
| 非序列光线追迹 | 模拟“光线怎么乱窜” | 把前两者结合起来,找出所有可能的鬼像路径 |