前几天在知乎看到有人在探讨摄影时关于景深的问题,顺手找了下发现搜索引擎里好像几乎没有给出景深与光圈、对焦距离之间的具体关系的文章,都只是「光圈越大景深越小、调焦越近则景深越小」的泛泛之谈。正好五一闲着没事就写一篇有关景深的文章,当作复习几何光学吧。以下内容大部分凭记忆写出,少部分参照了《工程光学》、维基百科。有不少概念是光学中的专业知识,可以不必深究,核心内容保管通俗易懂。
继续阅读前先明确几点概念:
1、不考虑几何像差的引入,我们可以把任何摄影镜头(不管其结构多么复杂,用了多么稀有的玻璃)等效为一个有厚度的对称球面透镜;
2、为简化起见,把摄影中的成像过程视为理想成像,即点物成点像,高斯面上对应点之间均满足共轭关系;
3、不管是人眼还是胶片、 CMOS、CCD 等感光元件,其分辨率都是有限的,即使感光元件分辨率无限大,相机照出来的照片也是给人眼看的。因此当一块圆形光斑足够小时,人眼就将它视为「点」。
还要说明的是,焦距和对焦距离是两个不同的概念。焦距是一个镜头的基本属性,一般在8mm到1000mm之间;而对焦距离是通过镜组的微调来改变的,一般镜头上都会标上一个最近对焦距离,从这个距离至无穷远都属于对焦距离的范围(不知道有没有不允许无限远合焦的镜头?)。下文中大部分提到的都是对焦距离,文尾会提到景深和焦距的关系,注意区分。
对于一个摄影系统(以下以 CMOS 作为感光元件),有如下图所示简化模型。想要清晰成像,必须使对焦平面和感光平面相互对应,也就是说,对于特定对焦距离的镜头,此时有且仅有对焦平面上的物体能够清晰成像于感光平面上,其余任何平面上的物体在 CMOS 上得到的都只是一个模糊的像。
这时如果对焦平面之外的某个平面上有一个几何像点,它在 CMOS 上所成的像不再是一个点,而是具有一定直径的圆斑,光学上称为弥散斑,如下图。其强度分布符合贝塞尔函数。
所以如果将景深定义为能够严格清晰成像的物方范围,那么任何摄影系统的景深都应该为零(即无穷小)。但是前面说了,任何影像系统的分辨率都是有限的,如果一个不在对焦平面上的点在感光元件上所成的弥散斑足够小,小到人眼和 CMOS 都误认为它只是一个点,那么就称这个点所在的平面也能够参与清晰成像。显然一个弥散斑的大小取决于物点与对焦平面之间的距离。有了上面的概念接下来的工作就明了了,我们只需要判断哪些范围内的像点在 CMOS 上成的像斑足够小,那么这个范围就是所谓的景深。
这张图以及下面的一张光路图非常重要,这两张图基本上解释清楚了景深跟哪些参数有关。看图之前做一点解释,光路图中光线一般由左向右传播,中间的水平线称为光轴,中央透镜的左侧称为物方空间,右侧称为像方空间;对于各个点的标示,不带一撇的表示位于物方空间(比如 $A$),带一撇的表示位于像方空间(比如 $A^\prime$),相同字母则表示这两点相互对应,成物像关系。上图的入射光瞳可以理解为光圈叶片经镜头前组所成的像,出射光瞳可以理解为光圈叶片经镜头后组所成的像。经过光瞳中心($P$ 和 $P^\prime$)的光线一般称为主光线。
把上图的结构进行简化,并引入位于对焦平面上、位于对焦平面后、位于对焦平面前的三个像点的成像光路,得到下面的几何表示图。
其中 $z$ 表示各弥散斑的直径,$2a$ 表示光瞳直径,也就是光圈叶片开的大小。距离标识中之所以出现负号,是因为光学中的距离以光瞳作为起始参考点,方向由左向右为正,因此距离 p 表示对准平面位于入瞳左侧,$p$ 为负数,$-p$ 就是正数。
由于经过节点($P$ 和 $P^\prime$)的光线不改变方向(这里不解释为什么),因此直线 $B_1P$ 与 $P^\prime{B}_1^\prime$、$B_2P$ 与 $P^\prime{}B_2^\prime$ 都是平行的。
可以看到,A 点位于对准平面上,因此在感光平面上也是一个严格的点像,因此对准平面上的物体毫无疑问是清晰成像的。对于 ${{B}_1}$ 点,由于其位于对准平面之后,因此它的像 ${B}_{1}^\prime$ 位于感光平面之前,而在感光平面上扩散为一个直径为 $z_1^\prime$ 的弥散斑。${{B}_{2}}$ 点位于对准平面之前,因此它的像 ${B}_{2}^\prime$ 在感光平面之后,将被 CMOS 截为一个直径为 $z_2^\prime$ 的弥散斑。
当对准平面、感光平面、透镜都确定之后,感光平面上像的大小和对准平面上物的大小的比值是确定的,称为垂轴放大率,一般用字母 $\beta $ 表示。如果用一台 CMOS 面积为 36mm $\times$ 24mm 的全幅相机,当 $\beta = 1$ 时,一个 36mm $\times$ 24mm 的矩形恰好填满整个 CMOS。购买镜头时有一项参数叫作「最大放大倍率」,指的就是这个垂轴放大率的最大值。对于上图有
\[z_1^\prime = \beta {z_1},\quad z_2^\prime = \beta {z_2}\]
再由最简单的三角形相似关系有
\[\frac{{{z_1}}}{{2a}} = \frac{{{p_1} – p}}{{{p_1}}}\ ,\quad \frac{{{z_2}}}{{2a}} = \frac{{p – {p_2}}}{{{p_2}}}\]
联立上面两式得到
\[\left.{\begin{array}{l}{z_1} = 2a\frac{{{p_1} – p}}{{{p_1}}},\quad\ {z_2} = 2a\frac{{p – {p_2}}}{{{p_2}}}\\ z_1^\prime = 2\beta a\frac{{{p_1} – p}}{{{p_1}}},\quad z_2^\prime = 2\beta a\frac{{p – {p_2}}}{{{p_2}}}\end{array}}\right\}*\]
可以看出,弥散斑的大小除了与光瞳直径 $2a$(光圈大小)有关,还与距离 $p$、${p_1}$、${p_2}$ 有关,其中 $p$ 就是对焦距离。
人眼在查看照片时,会下意识地把影像中熟悉的物体投射到空间中去以产生立体感,也就是说,会通过调节观察距离来使照片中物体对眼睛的张角与实际生活中物体对人眼的张角相一致,这个距离称为正确透视距离,一般用 $D$ 表示。设对准平面上物高(物体大小)为 $y$,CMOS 上的像高(影像大小)为 $y^\prime$,对焦距离为 $p$,由张角($\omega $)一致关系有
\[\frac{y}{p} = \frac{{y^\prime}}{D} = tan\omega\]
而 $y^\prime/y$ 就是上面说的垂轴放大率 $\beta$,所以可以得到
\[D = \frac{{y^\prime}}{y}p = \beta p\]
人眼的分辨率一般用极限分辨角 $\epsilon $ 来表示,即能够分辨的弥散斑对人眼的最小张角,当弥散斑小于这个张角时人眼认为是一个点,一般有 $\epsilon = 1^\prime$(六十分之一度)。在正确透视距离上观察图像时,假设弥散斑对人眼的张角恰好为极限分辨角,这时称点 ${{B}_{1}}$ 所在平面为远景平面,点 ${{B}_{2}}$ 所在平面为近景平面。显而易见,在远景平面与近景平面之内的空间中的任何点,我们都认为可以「清晰成像」,而在远景平面之后,或者近景平面之前的空间中的点,在感光平面上的像都是一个可见的弥散斑,也就是常说的虚化。这时候有
\[\frac{z_1^\prime}{D} = \frac{z_2^\prime}{D} = \frac{z^\prime}{D} = tan(\epsilon) \approx \epsilon \]
这里用到了小角度的正切近似。与前一式联立得到
\[\begin{array}{l}z_1^\prime = z_2^\prime = z^\prime = D\epsilon = \beta p\epsilon \\ {z_1} = {z_2} = z = \frac{z^\prime}{\beta} = p\epsilon\end{array}\]
把这个式子与上面加 (*) 的式子联立后可以得到
\[{p_1} = \frac{{2ap}}{{2a – {z_1}}},\quad {p_2} = \frac{{2ap}}{{2a + {z_2}}}\]
再贴一次图以便找到对应的符号。
到这一步推导马上就要完成了。远景平面到对焦平面之间的距离我们称为远景深度${\Delta_1}$,即 ${\Delta_1} = {p_1} – p$,而对焦平面到近景平面的距离称为近景深度 ${\Delta_2}$,即 ${\Delta_2} = p – {p_2}$。把 ${z_1} = {z_2} = p\epsilon $ 代入,得到
\[{\Delta_1} = \frac{{{p^2}\epsilon }}{{2a – p\epsilon }},\quad {\Delta_2} = \frac{{{p^2}\epsilon }}{{2a + p\epsilon }}\]
这里可以看出,远景深度 ${\Delta_1}$ 一般要比近景深度 ${\Delta_2}$ 更大。远景深度与近景深度之和,即景深 $\Delta $ 为
\[\Delta = {\Delta_1} + {\Delta_2} = \frac{{4a{p^2}\epsilon }}{{4{a^2} – {p^2}{\epsilon^2}}}\]
推导过程到这里基本结束。从上式已经可以得到景深与对焦距离、光圈之间的关系,即对焦距离($p$)越小,光圈($2a$)越大,景深就越小。不妨代入实际情况计算一下,设光圈叶片直径为2.5厘米,即 $2a = 25mm$,对焦在0.5米处的物体上,即 $p = 500mm$,人眼极限分辨率 $\epsilon = 1^\prime \approx 3 \times {10^{ – 4}}\ {rad}$,代入上式得到景深 $\Delta \approx 6mm$(手工计算,有错误请提醒我)。对于50mm标准镜头,光圈直径2.5厘米差不多是 F/2 时的情况,也就是说,将一个标头开到 F/2 光圈,对半米外物体对焦时,景深只有6mm。光学上有时候用孔径角 $U$ 来代替光瞳大小,即
\[tan U = \frac{a}{p}\]
这时候景深可以表示为
\[\Delta = \frac{{4p\epsilon tan U}}{{4{{tan }^2}U – {\epsilon ^2}}}\]
下面再说景深和焦距(注意这里是焦距而不再是对焦距离)的关系。设镜头的焦距为 $f^\prime$,对焦平面到焦平面的距离为 $x$,由牛顿公式($xx^\prime = ff^\prime$)有
\[\beta = \frac{{y^\prime}}{y} = – \frac{f}{x} = – \frac{x^\prime}{f^\prime}\]
一般摄影镜头的焦距不会超过1000mm,而对焦距离要远大于这个数字,所以认为 $x = p-f^\prime \approx p$,即 $\beta = -f/x \approx f^\prime/p$,这时候远景深度和近景深度可以写成
\[{\Delta_1} = \frac{{{p^2}\epsilon }}{{2a( {\frac{{f^\prime}}{D}}) – p\epsilon }},\quad {\Delta_2} = \frac{{{p^2}\epsilon }}{{2a( {\frac{{f^\prime}}{D}}) + p\epsilon }}\]
可见焦距($f^\prime$)越大,景深越小,所以长焦镜头可以更好地「切割主体」。
景深与光圈、焦距、对焦距离、孔径角的关系到此全部说清楚了,下面简单说一下「超焦距成像」。已知远景深度公式
\[{\Delta_1} = \frac{{{p^2}\epsilon}}{{2a – p\epsilon}}\]
我们令其分母 $2a – p\epsilon$ 为零,即
\[p = \frac{{2a}}{\epsilon}\]
这个时候远景深度 ${\Delta_1} = \infty$,也就是说对准平面之后的无穷大空间都可以清晰成像。还是以光圈叶片直径 $2a = 25mm$ 为例,可以得到 $p\approx 80m$,也就是说对于一个 F/2 的50mm标头,当对焦在80米之外时,无穷远的物体都能够清晰成像,即超焦距成像。
如果对焦距离p大于2a/ε,远景面的位置就在近景面右边了 这该如何理解呢
能读到作者的文章,真的是很幸运,总结的详细也很容易懂。不在害怕公式了;
为什么最后的m除以rad得出的结果单位是m
光电专业路过,最近在刷ddwrt
干货啊!如果用现有的1600w手机摄像头,最小识别间距z′1=1um,p′=4mm,2a=2mm,p=500mm,β=125,带入公式p(βz′1)/a。手机摄像头的景深就是62.5mm,这个景深太大了……
这是技术大牛啊,完全看不懂
这已经不是浅谈了,这是技术流!
我和楼上某人一样,凭感觉拍的。
我是一个摄像不讲技巧的,也没技巧可讲的基本拿起来就拍,凭的就是临场发挥,哈哈
看不懂,汗颜。23333333333
从松松博客过来的,贵站做的真心不错,我和大学同学也刚做了一个网站,欢迎站长朋友过来看看,能给我提点建议的话就感激不尽了,我的网站是恋字坊http://www.lianzifang.com/
公式部分直接略过,光看的文字~ 看的迷迷糊糊的~
不看公式肯定是无法理解的…… Formula is poetry.
飘一飘,买了个单反,一直当傻瓜相机用
有三张图片挂了
应该是你的网络不太稳定,图片在 Flickr 上国内经常断
真是干货啊
必须的,看懂了没?
如果单纯说里面的物理和数学知识我还是能看得懂的
但是让我看完整篇文章然后明了整个工作原理就有点困扰了
物理和数学推导都看懂的话,应该就明白了景深的来龙去脉了啊