An Investigation of Methods for Determining Depth from Focus
IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE
主要研究了 Defocus Operator Model,通过估计退化函数求出成像模糊的半径,然后反推出深度
透镜成像模型

其中\(D_o\)是物体距离透镜的距离,\(D_i\)是成像平面距离透镜的距离,\(R\)是像模糊的光斑大小,\(D_{fi}\)是像会聚的位置(最清晰的点)
设透镜的焦距为\(F\),直径为\(L\),那么
\[
\frac{L}{2R} = \frac{D_{fi}}{\delta}
\]
代入透镜成像公式\(\frac{1}{v}+\frac{1}{u}=\frac{1}{F}\),得到
\[
R = \frac{L}{2}(1-\frac{D_i}{F} + \frac{D_i}{D_o})
\]
\[ D_o = \frac{LFD_i}{2RF+D_i-F} \]
退化函数模型
关于\(R\),存在系统的归一化离焦算子
\[
h(x,y) = \frac{1}{\pi R^2},\,\,\,x^2+y^2\leq R^2
\]
假设完全清晰的图像为\(s(x,y)\),经过模糊的图像为\(i(x,y)\),选取两个模糊的图像,有
\[
i_1(x,y) = s(x,y) * h_1(x,y) +\eta_1\\
i_2(x,y) = s(x,y) * h_2(x,y)+\eta_2
\]
其中\(\eta\)是噪声
对其进行傅里叶变换并写为极坐标的形式,有
\[
H(\rho) = 2\pi \int_0^\infty rh(r)J_0(2\pi r\rho)dr = 2\frac{J_1(2\pi R\rho)}{2\pi R\rho}
\]
利用了\(\frac{d}{dz}zJ_1(z)=zJ_0(z)\)
得到
\[
I_1 = S \cdot H_1\\
I_2 = S \cdot H_2
\]
设
\[
i_1(x,y) * h_3 (x,y) = i_2(x,y)
\]
那么得到(忽略一切噪声的理想情况下)
\[
H_3 = \frac{R_1J_1(2\pi R_2\rho)}{R_2J_1(2\pi R_1\rho)} = I_1^{-1}I_2
\]
寻找\(H_3\)的交叉零点,对于\(J_1\),有
\[
2\pi R_2\rho_0 = 3.83
\]
如何确定\(\rho\)?用二次函数拟合\(H_3\),得到
\[
H_3 = a\rho^2+b =0 \Rightarrow \rho_0 = \sqrt{-\frac{b}{a}}
\]
得到\(R_2 = \frac{3.83}{2\pi \rho_0}\)
对于数字图像,设像素密度为\(P\)(个/mm),数字半径和模拟半径的关系为\(R = R_P /P\),数字频率和模拟频率的关系为\(\rho_P = \rho / P\)
转换为DFT就是\(\rho_P = \frac{1}{N} k\),其中\(N\)为图像像素个数,\(k\in [0,1,\ldots,N-1]\)
那么
\[
R_2 = \frac{3.83N}{2\pi k P}\\
k = \sqrt{-\frac{b}{a}}
\]
由此解出深度\(D_o\)