前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >38. 对焦扫描技术是如何实现EDOF(扩展景深)的?

38. 对焦扫描技术是如何实现EDOF(扩展景深)的?

作者头像
HawkWang
发布2020-04-17 15:15:10
1.3K0
发布2020-04-17 15:15:10
举报
文章被收录于专栏:计算摄影学计算摄影学

我们之前讲解了37. 如何从失焦的图像中恢复景深并将图像变清晰?,我们看到了编码光圈的应用,它可以让我们很容易估计出局部卷积核,从而可以利用去卷积技术得到全焦图像,甚至还可以得到场景的相对深度图。同时,我们也看到了计算摄影学不仅仅是软件的事情,有的时候也会涉及到一些必要的硬件。

今天我们将先回顾一下之前介绍过的文章33. 摄影-怎样对焦才能让不同距离的物体都拍摄清晰? 。在这里面,我介绍了一个重要的概念:对焦栈,它是对焦距离不同时获取的场景图像的集合。

对焦栈

我介绍了利用简单的拉普拉斯算子可以求取每幅图像的相对清晰程度,以此作为权重,然后对对焦栈的图像做加权融合可以得到全焦图像,以及相对深度图。同时,我还介绍了泰国学者Suwajanakorn在2015年CVPR的文章 “Depth from Focus with Your Mobile Phone,”,他在手机上实现了获取对焦栈并利用最优化方法获取全焦图像和深度图。

对焦栈的关键在于改变像距,从而改变对焦距离。Suwajanakorn的文章2015年发表,但是在2008年就已经有人对类似问题做了比较全面的研究。我今天介绍是2008年ECCV的文章“Flexible Depth of Field Photography”,第一作者是下面这位Hajime Nagahara(两位都是亚洲学者,Suwajanakorn略带喜感,Nagahara的眼神颇为凌厉啊?)。

Ngahara提出了一种对焦扫描(Focal Sweep)的技术,不仅可以用于获取全焦图像,还可以有多种其他的用途。那么接下来就让我们看看他文章说了些什么。

一、传统相机的缺陷

正如以前多次讲到,传统相机具有有限的景深。

要想扩大景深,可以减小光圈,但这样会导致进光量减小,噪声增加,从而信噪比SNR会降低。

这里有个典型的例子,你可以看到左边这张图因为光圈较大(f/1.4),景深较浅,只有前面这个人对焦了。而右边这张图光圈较小(f/8),因此景深较大,三个人都对焦清晰了。但与此同时,我们观察到画面上出现了很多噪声。

下面这张图更明显,这是在暗光环境下两个不同的镜头设置拍摄的对比。可以看到右图光圈小,导致了强烈的噪声。注意这里右图由于进光量小,所以画面很暗,为了使得能够看清楚,图像的亮度拉伸到了和左图的水平,这样就更加凸显出了其中的噪声情况。

所以对于传统相机,DOF和SNR是一对矛盾,在某些场景下很难协调好。

二、利用扫描对焦平面技术解决矛盾

我们之前讲到Suwajanakorn是利用对焦栈的技术来解决景深的问题,而对焦栈需要拍摄多张图片并最终进行融合。但Nagahara的方法有所不同。他提出的方法是在“单次曝光”过程中移动传感器,从而在曝光时间内累积获取到不同对焦平面的信息,也就是说这种方法只拍摄一张照片。

先来看看他的原型相机,可以看到在马达的作用下,传感器可以在一定范围内来回移动,镜头不动。这样像距会变化,从而对焦距离会改变。

只要传感器移动的范围足够,就可以让场景中的每一个点在曝光时间内都至少对焦成功一次,如下图所示。

Nagahara认为,如果我们能准确的控制传感器移动的起始位置,移动速度、加速度,就可以任意的控制景深。

在进一步讲解原理之前,我们先来看看这种技术的效果,下面左边是我们用这种对焦扫描的技术拍摄的原始照片,右边是对原始照片处理后的扩展景深(EDOF)的照片。与同样的场景用普通相机拍摄的照片做对比,可以看到同样是EDOF图像,这里获取的明显噪声就低很多,同时三个人都对焦清晰了。

再来看一个例子:

三、基本原理

你可能已经看出来了,对焦扫描技术拍摄的原始照片到处都是模糊的,那么它又是如何获取到EDOF图像的呢?

这里面的关键就在于,根据作者的模型推演,对焦扫描技术获取的图像的模糊程度与场景中物体离镜头的距离无关——也就是说每一个场景点的模糊程度都可以用同一个PSF来刻画。而由于有了统一的PSF,因此作者只需要利用一个基本的去卷积算法(详见35. 去卷积:怎么把模糊的图像变清晰?)即可对图像进行去卷积,从而获取到全焦图像。

现在先让我们看看作者对这个相机的PSF是如何建模的。

1.1 从数学上描述对焦扫描

如上图所示,在一定的物距u, 像距v,镜头直径为a的限制下,如果传感器偏离了像平面,距离镜头的距离为p,则物点M会形成一个直径为b的弥散圆。

而弥散圆也就对应着此时的PSF,可以用P(r, u, p)来描述PSF,其中r代表着弥散圆中的点距离成像中心m'的距离。

当考虑到光学像差的情况下,PSF通常用高斯模型来表述:

其中,g为一个固定常量。

现在来考虑下移动传感器的情况,此时我们将得到一个累积的PSF(IPSF),下式中T为曝光时间,p(t)代表t时刻传感器离镜头的距离。

作者通过计算得到,只需要让传感器移动非常微小的距离,就可以使得景深发生很大的变化,你可以看到在下表中对作者采用的9mm焦距的镜头,只让传感器移动了81.7微米,就能够让景深范围延伸到从1m到无穷大,或者让传感器移动259.1um就可以让景深从0.2m变化到0.5m,这就是所谓的Focal Sweep——对焦扫描的概念,在这期间每一个扫描过的场景点都会对焦一次。而且正是因为移动的距离很短,因此才可在通常的一次曝光时间内进行对焦扫描。

1.2 扩展景深的原理

现在,让我们把上式(4)和(5)结合起来,让一个镜头均匀的扫描一段时间,即p(t) = p(0) + st, 其中s是移动速率,作者计算出

仔细看这个式子会发现它只有第一项与物距u有关,而这里面u>>f,所以几乎可以约掉u——也就是说IP(r, u)是与深度无关的。作者分别用仿真和实拍的方式确定了这一个重要的结论

仿真实验

作者模拟了一个普通的相机 对比 对焦扫描相机的在拍摄一个场景时的情况。这里面镜头的焦距为12.5mm, 光圈值f/#= 1.4 , 将g设为1, 并让普通相机对焦到750mm处,而场景中包括从450mm到2000mm的物体,然后用式(4)来计算PSF。可以看到下图左边是不同深度的PSF发生了巨大的变化(仔细看前景深变化更剧烈,所以虽然450mm离750mm比起2000mm更加近一些,但是其对应的PSF却宽度更大)。

但根据式(7)计算一下IPSF, 却得到了上面的(d)图,即这里面IPSF几乎与物距无关。

实际测量

作者接下来用实际拍摄不同深度的点目标的方式测量了普通相机的PSF以及对焦扫描相机的IPSF,结论与仿真结果是一致的。下面左图是普通相机的PSF测量结果,第三行对应着对焦点的PSF。这里为了让图像能够适配屏幕特意对第三行的图做了纵向压缩50倍。所以实际上第三行的PSF是一个特别窄的尖峰。而下面右图表面了不同距离、不同空间位置的IPSF几乎都是同样的形状和尺寸。

1.3 去模糊

现在由于每个场景点都具有均匀的PSF,因此只需要做一次去卷积操作即可求出清晰的图像了. 作者采用了Dabov 等人的去卷积方式,这是一种结合了维纳滤波和基于块的去模糊方式。

四、EDOF实拍图像分析

作者用对焦扫描相机拍摄了几个场景,并用上面测量到的IPSF进行了去卷积(实际中是采用上面第一行第二列的卷积核)。我们来看看几个例子:

在这个例子中(a)图是对焦扫描扫描相机拍摄的原图,(b)图是进行了去卷积的结果——可以看到确实实现了扩展景深的目的,场景中所有点都对焦清晰了。而c图是这个相机不做对焦扫描的情况,可以看到景深较浅,只有近处对焦清晰了,远处则是严重模糊的。而(d)图则是光圈调整到f/8的情况,画面都变清晰了,但是却出现了较严重的噪声。注意着里面为了让d图和c图看起来亮度范围一致,对d图做了亮度的拉伸(否则它会比较暗)

从这个例子可以看出,对焦扫描相机确实可以同时兼顾景深DOF和信噪比SNR。

五、更多有趣的效果

对焦扫描相机不仅可以用于EDOF,还可以实现更多有趣的效果。

5.1. 非连续景深

如果让相机先在一个对焦面曝光一段时间,然后快速改变到另外一个对焦面曝光,就可以实现让这两个对焦面清晰成像,而其中间的物体却模糊的效果,这里面是纯物理效应,不需要额外的计算

5.2 倾斜景深

我们之前的分析中,都是采用的全局快门,即在曝光过程中图像的每一行的曝光情况是均匀的。但如果采用现在很多消费级相机都在采用的卷帘快门,那么就可以实现倾斜景深的效果:

传统上,景深是沿着镜头的光轴变化的。但从上图可以看到,卷帘快门导致图像的每一行的曝光时间不一致,因此其IPSF也是不一致的,这种不一致相当于模拟了相机的倾斜拍摄,并且可以计算出传感器或相机的旋转角度为(下式s代表移动速率,H代表传感器高度)

而对应的对焦平面的旋转角度则为:

实拍图像也证实了对焦扫描相机可以实现这种倾斜景深的效果:

5.3、非平面景深

精确控制传感器的移动,还可以实现非平面景深,如下图所示

5.4、视频拍摄

如果想要在拍摄视频时实现EDOF效果,那么就可以反复的移动传感器,像这样:

作者展示了视频EDOF的效果

如果没有对焦扫描相机怎么办?你还可以手动模拟,像这样一边拍照一边快速转动镜头实现对焦扫描:

作者还展示了这样拍摄的效果,可以看到这样确实兼顾了DOF和SNR

六、实用性分析

现在的手机相机都有马达,而且开发者也比较容易控制镜头马达了(至少对于某些底层开发者),那么对焦扫描技术是否可以用到手机上呢?先看看景深范围,我手上有一个典型的手机相机的景深表,可以看到马达从只需要移动200um左右,就可以让对焦范围从7cm变化到5m,这表明如果精细控制马达和曝光的话,确实有可能实现扩展景深。

然而别忘了,手机使用的是卷帘快门,这意味着无法像作者使用的全局快门那样实现简单的平移传感器实现EDOF。必须对镜头、马达做某种更加精细的控制,才有可能实现。否则很可能只能实现倾斜DOF效果。

同时,手机的马达一般是音圈马达VCM, 在移动过程中会产生震荡,这也使得其最终产生的IPSF不像我们文章中描述的这么单纯。

总的来说我认为这是一种有趣的技术,但从实用性上讲,我认为可能不如Suwajanakorn的方法好吧

七、总结

今天我介绍了对焦扫描技术,能够通过单次拍照和后处理实现包括EDOF在内的多种有趣的效果。其中再次用到了我们之前介绍的去卷积技术。我不清楚对焦扫描技术在工业界或学术研究领域是否真正有实用的地方,但至少在手机摄影这个领域要真正实现它还有诸多困难。有兴趣各位可以试一试?

八、参考资料

今天的主要参考资料为:

  1. CMU 2017 Fall Computational Photography Course 15-463, Lecture 18
  2. Nagahara et al., “Flexible depth of field photography,” ECCV 2008 and PAMI 2010
  3. cs.columbia.edu/CAVE/pr
  4. Nagahara的主页limu.ait.kyushu-u.ac.jp
  5. Suwajanakorn的主页supasorn.com/
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算摄影学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、传统相机的缺陷
  • 二、利用扫描对焦平面技术解决矛盾
  • 三、基本原理
  • 1.1 从数学上描述对焦扫描
  • 1.2 扩展景深的原理
  • 1.3 去模糊
  • 四、EDOF实拍图像分析
  • 五、更多有趣的效果
  • 5.1. 非连续景深
  • 5.2 倾斜景深
  • 5.3、非平面景深
  • 5.4、视频拍摄
  • 六、实用性分析
  • 七、总结
  • 八、参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档