跳到主要内容
Sandbox Physics

光学 062 · 衍射、Fourier 光学与计算成像

光学 Fourier 处理器

两片透镜之间放一块掩模,怎样让图像只剩边缘、变模糊或去掉重复纹理? 第一片透镜把图像的空间频率铺在 Fourier 面上:粗轮廓靠近中心,细节在外圈。在那里放掩模,挡住哪些频率,图像就少了哪些。挡住中心,只剩边缘;挡住外圈,图像变模糊;用周期排列的挡片盖住重复纹理的亮点,纹理就没了。第二片透镜再把像合回来,只是上下颠倒。

在相干 4f 光台上处理图像:有八种无源振幅或相位滤波器,频域掩模可以移动。可以查看接收面上的倒像,让相位物体显出反差,并用匹配相关寻找图案。

交互模型光学 Fourier 处理器
物面至接收距离/编程频域片半径 4f,aH4f,a_H0.500.50
完整场透射率/可见裁剪功率 T,PcropT,P_{\rm crop}50%50\%
物面采样/频域间距 Δx,Δν\Delta x,\Delta\nu0.00π0.00\pi
模型适用区间模型适用\text{模型适用}

物理教程

检验光学 Fourier 处理器的物理过程

背景透镜把相干复振幅按空间频率分开;在后焦面上,位置和频率满足 XF=λfνxX_F=\lambda f\nu_x。放在这里的掩模改的是光场的频谱,不是对相机强度图做 Fourier 变换。

为什么值得理解两片透镜之间放一块掩模,怎样让图像只剩边缘、变模糊或去掉重复纹理?

先抓重点

核心问题
两片透镜之间放一块掩模,怎样让图像只剩边缘、变模糊或去掉重复纹理?
一句话直觉
两只正透镜做了两次正向变换,所以 Uout(x,y)=F−1{HU~in}(−x,−y)U_{\rm out}(x,y)=\mathcal F^{-1}\{H\widetilde U_{\rm in}\}(-x,-y)。负号不能丢:接收面上的像在两个横向上都是倒的。

核心数学模型

前、后焦面的场

U~(νx,νy)=∬U(x,y)e−2πi(νxx+νyy) dx dyUF(X,Y)=e2ikfiλfU~(Xλf,Yλf)\begin{aligned}\widetilde U(\nu_x,\nu_y)&=\iint U(x,y)e^{-2\pi i(\nu_x x+\nu_y y)}\,\mathrm dx\,\mathrm dy\\U_F(X,Y)&=\frac{e^{2ikf}}{i\lambda f}\widetilde U\left(\frac X{\lambda f},\frac Y{\lambda f}\right)\end{aligned}

物面在第一块理想透镜前一个焦距处;滤波片在它后面一个焦距,也正好在第二块透镜前一个焦距;接收器在第二块透镜后一个焦距。公共载波相位不改变强度。

无源掩模与相位

Hlow=P 1∣ν−νc∣≤rνHhigh=P−HlowHphase=Pexp⁡(iϕH1∣ν−νc∣≤rν)P=1∣ν∣≤14 mm−1\begin{aligned}H_{\rm low}&=P\,\mathbf1_{|\boldsymbol\nu-\boldsymbol\nu_c|\le r_\nu}\\H_{\rm high}&=P-H_{\rm low}\\H_{\rm phase}&=P\exp\left(i\phi_H\mathbf1_{|\boldsymbol\nu-\boldsymbol\nu_c|\le r_\nu}\right)\\P&=\mathbf1_{|\boldsymbol\nu|\le14\,\mathrm{mm}^{-1}}\end{aligned}

带通保留半径在设定值一半到全值之间的频率;方向模式是同样半宽的狭缝;对称陷波同时挡住正负两个中心。相位圆片按所选波长编程,不由某个未指定的玻璃厚度推算。载片是频域面上的光阑,理想透镜的孔径仍是无限大。

功率与显示亮度分开

T=∑∣U~H∣2∑∣U~∣2Iout=∣Uout∣2BI=min⁡(1,ln⁡(1+10eGI/Iinc)ln⁡5)\begin{aligned}T&=\frac{\sum|\widetilde U H|^2}{\sum|\widetilde U|^2}\\I_{\rm out}&=|U_{\rm out}|^2\\B_I&=\min\left(1,\frac{\ln(1+10^{e_G}I/I_{\rm inc})}{\ln5}\right)\end{aligned}

由 Parseval 定理,用完整采样的接收面光场算出的透射率与上式相同;看到的五毫米裁剪区并不包含全部功率。输入、滤波后和对照三幅图共用一种固定的显示映射,频域诊断另用一种固定的对数映射。所有原始探针读数都是线性的。

相位变成反差,能量并未增加

Uweak≃1+iφH(0)=iUcontrast≃i+iφIcontrast≃1+2φ\begin{aligned}U_{\rm weak}&\simeq1+i\varphi\\H(0)&=i\\U_{\rm contrast}&\simeq i+i\varphi\\I_{\rm contrast}&\simeq1+2\varphi\end{aligned}

这个弱相位例子假设背景均匀,圆片只作用于零级。数值模型用的是实际的有限照明和有限圆片,所以晕圈和背景泄漏都还在。模拟图像完整计算,不用这条线性公式代替。

无源匹配相关

Hmatch=PG~∗max⁡∣G~∣Ucorr(x,y)∝∬U(ξ,η)G∗(ξ+x,η+y) dξ dη\begin{aligned}H_{\rm match}&=P\frac{\widetilde G^*}{\max|\widetilde G|}\\U_{\rm corr}(x,y)&\propto\iint U(\xi,\eta)G^*(\xi+x,\eta+y)\,\mathrm d\xi\,\mathrm d\eta\end{aligned}

模板是一个平滑的开口圆环符号。相关运算用同一份 FFT 数据和无源的归一化复透射率。两个相同的符号在反号位移处各产生一个峰。圆盘会给出一个宽的误响应,甚至更亮:未经局部归一化的正模板相关不能当分类器用。这里是理想的复数掩模,不是实际制作的全息片,也不是经过认证的识别系统。

采样与实际比例

Lnum=16 mm,N=512Δx=Lnum/NΔν=1/LnumaH=λfrν\begin{aligned}L_{\rm num}&=16\,\mathrm{mm},\quad N=512\\\Delta x&=L_{\rm num}/N\\\Delta\nu&=1/L_{\rm num}\\a_H&=\lambda f r_\nu\end{aligned}

输入照明在四毫米方形边界处渐降到零。补零能减少循环回卷,但离散输出仍是周期的;硬边掩模对频域格点落在哪里很敏感。样本是点强度,不是按面积积分的相机像素。改变波长或焦距时,掩模会重新编程以保持频率坐标不变,所以它的实际尺寸会变。光台的轴向比例和横向细节比例不同。

常见难点

一张强度照片不包含完整光场

容易误解对输入照片做 Fourier 变换,就能复现任意物体的光学处理。

正确理解透镜作用的是复振幅。透明的相位物体,输入强度几乎均匀,加上相位圆片后结构却能显现。模拟知道编程设定的复透射率,并不是从照片里找回丢失的相位。

动手实验

  1. 01

    场景 1:模糊与边缘

    在分辨率靶上比较开放载片、低通和高通。接收的像是倒的;高通让边缘突出,但损失了大部分功率。

    你会看到: 低通让细节变柔和。去掉频谱中心后,边缘相对背景更亮,但能量并没有增加。
  2. 02

    场景 2:抹去一对条纹峰

    在条纹预设里点击一对频谱峰,移动或加宽对称陷波。去掉条纹的同时,与它们重叠的物体信息也一起丢了。

    你会看到: 水平的频域狭缝保留沿水平方向的变化,也就是物面上的竖直条纹。转动狭缝,所选的频率方向也跟着转。
  3. 03

    场景 3:不可见相位变反差

    比较相位细胞在开放载片和四分之一波圆片下的样子。把圆片相位反过来,再对两个符号试试匹配相关。

    你会看到: 相位滤波不改变载片内的总功率,只是把亮度重新分配。相关峰标出的是反号位移,不是恢复出来的物体像素。
反馈这个页面有错误、看不明白,或者缺了什么?告诉我们
反馈类型

提交时会附带本页地址、Lab ID、网站语言和设备类型。请不要填写个人信息。反馈最多保存 12 个月。隐私政策