An Investigation of Methods for Determining Depth from Focus

文章阅读
作者: MingXiao

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\)



Comments