我们知道,通常的成像系统的动态范围远远小于真实世界场景的动态范围,这使得我们很难去拍摄并还原真实的场景。
在27. HDR - 高动态范围成像中,我为你介绍了基础的HDR算法,它的目的是将多张照片合理的融合起来,得到最高的动态范围。
在这个过程中,每张照片的像素值被还原到对应的光辐照度,然后多张照片的光辐照度用特定的权重加权平均,得到最后的辐照图:
我们可以用数学表达式表达如下:
所以最终图像的效果取决于融合的权重。
我们之前介绍的HDR算法中有两个缺点:
当你读了我上一篇文章60. 数码相机成像时的噪声模型与标定后,我想你已经知道了:图像总是带有噪声的,尤其是曝光时间短时的暗部区域噪声特别明显,如下图所示:
而且随着曝光时间的变化,图像中的各类噪声对图像的影响也会变化。而且,一般来说我们会要求在一定的总时间及总的拍摄图像张数的限制下,完成HDR图像的生成动作,这导致忽视了拍摄时间要求的传统HDR融合算法无法得到最佳的结果。
那么,有没有办法既能够提升最终融合图像的动态范围,使之反映实际场景,同时又能够在规定的时间要求内得到最佳的暗部区域的信噪比呢?这就是今天介绍这篇文章:
这篇文章回答了一个问题:我们是否可以寻找最佳的“拍摄时间、拍摄张数、以及每张图像的ISO值等成像参数",使得我们最终得到的图像在暗区能得到最佳的信噪比呢?
在进一步介绍之前,先给你看看作者展示的结果:
这是一幅南希教堂的图像,这里展示了三种不同的结果,左图由基础HDR的标准曝光时间组合方式形成,中间则是本文所阐述的方法,而右图则是理想对照图像。我们可以看到对于图像的暗区:
<br> (二维码自动识别)
那么,作者是如何做到这点的呢?这就必须首先从作者的一个反直觉的观察谈起。
传统上,人们倾向于使用最低的ISO设定来进行摄影,与此同时为了使得能获得不同的单帧动态范围,需要进行恰当的曝光时间的调整。比如,为了获得亮帧和暗帧,需要分别设置较长和较短的曝光时间。
之所以用较低的ISO值,是人们发现低ISO设定在曝光时间自由时,在相同的图像亮度情况下噪声低于高ISO的图像,正如我在上一篇文章60. 数码相机成像时的噪声模型与标定所示例的一样:
然而作者发现,如果我们需要限制曝光时间时,高ISO设定反而能得到更好的信噪比。这很好理解,如果限制了较短的曝光时间,低ISO值的图像就很暗,加性噪声,尤其是其中的ADC噪声很突出。而按照我们上一讲的讲解,此时的信噪比约为:
由这个式子可以简单仿真可知,其他条件不变时 g越小即ISO越小,信噪比越低。反之,ISO越大时信噪比越高。作者论文中的下面这幅图也说明了这一点:
上图中,左边是不固定曝光时间时,低ISO设定能得到更好的信噪比。而固定曝光时间时,高ISO设定能在图像的暗区得到更好的信噪比。有趣的是,高ISO使得像素更容易饱和,因此当亮度超过一定阈值后,像素饱和,此时信噪比就掉到0了。
通常来说,在HDR的拍摄过程中是对总拍摄时间有要求的,那么是不是说明我们尽可能用高的ISO设定能达到最终信噪比更高的目的呢?
回到我之前提到的HDR融合公式:
作者指出,要想让融合后图像I信噪比最高,所选择的每像素权重应该:
这样最终图像的信噪比可以表达为:
这样,为了使得SNR在最低亮度时最佳,我们就需要搜索最佳的ti, gi, mi,j的组合——这就把问题变成了一个混合整数线性规划问题:
这样,只要我们能实现知道成像系统的噪声参数(在上一篇文章的第5节有讲如何标定噪声参数), 就可以用作者的方法求得最佳的拍摄方式组合,从而得到最佳的暗区信噪比。我们再次来看看作者的结果:
下图中,基础曝光组合采用了ISO100,曝光时间1/200s, 1/400s以及1/800s三帧图像融合。你可以观察到结果在暗区有比较明显的噪声,测试信噪比经过计算只有5.9dB。而作者采用了优化后的组合,即ISO6400两张,分别对应1/125s和1/1600s,再加ISO800一张,对应1/6400s,做到了在最短的拍摄时间内得到了大幅度提升的暗区信噪比,同样的测试区域有16.2dB, 肉眼上观察也非常接近理想结果!
由于作者的优化目标是暗区信噪比,在亮区作者也说明其方法的信噪比不如基础曝光组合,但由于亮区的信噪比已经超过了人类的感知阈值,所以肉眼观察上去并没有那么明显的差异。下图进一步说明了结果,红色线代表基础曝光组合,绿色线是作者的优化方法的结果,黑色是理想结果。可见在图像暗区,作者的优化结果更加接近理想图像的效果。随着图像亮度变亮,高ISO导致部分像素饱和,此方法的SNR慢慢开始差于基础曝光组合,当然根据作者的说法,亮区的这种差别肉眼上观察并不明显。
总结起来,今天的文章延续我上一篇文章60. 数码相机成像时的噪声模型与标定,用一种基于噪声模型优化的HDR融合方法来展示了噪声模型的应用。这种方法指出HDR生成算法本质上是一种多帧融合去噪算法,而以前的方法并没有基于噪声模型精确的进行信噪比的优化。该方法很好的提升了暗区的信噪比,但亮区的信噪比却不如基础的HDR算法——这给了我一个灵感:也许我们每一次进行HDR拍摄时,通过组合不同的曝光时间和ISO值进行融合,在图像的暗区采用上文作者的结果,而亮区采用基础曝光组合的结果,两部分拼起来,就能得到各方面都最优的结果呢?这是完全值得一试的方案!