[db:标题]
摘要:针对Exposure fusion算法存在的Out-of-range Artifact和low frequency halo两个瑕疵,分析了Extended Exposure Fusion的改进过程,并进一步借助有关方法实现了单幅图像的Si
在拉普拉斯金字塔在多图HDR算法中的应用以及多曝光图像的融合算法简介一文中提高的Exposure Fusion算法,是一种非常优秀的多曝光图片合成算法,对于大部分测试图都能获取到较为满意的结果,但是也存在着两个局限性:
1、存在着Out-of-range Artifact;
2、存在着low frequency halo;
为了解决这两个问题,Charles Hessel在2019年发表了一篇名为《Extended Exposure Fusion》的论文,基本上有效的避免了《Exposure Fusion》的这两个缺陷,并且以此为基础,将Exposure Fusion扩展到了单幅图像的增强中。
在IPOL网站中,有对这两篇文章的详细资料和在线测试程序,详见:
http://www.ipol.im/pub/art/2019/278/ Extended Exposure Fusion
https://www.ipol.im/pub/art/2019/279/ Simulated Exposure Fusion
我们不去过多的分析他们的原理,只是大概的描述下论文的细节吧,更为详细的可以直接阅读论文本身。
一、Extended Exposure Fusion
这个文章虽然篇幅有十几页,但是实际上核心的东西就是一个:无中生有,即我们从原始的图像数据序列中fu在继续创造更多的图像,然后利用Exposure Fusion合成,这些新创造出的图像相对于原始的图具有更低的动态范围,具体的过程为:
确定一个参数Beta,有效范围是[0,1],然后根据Ceil(1.0 / Beta)向上取整得到我们需要重新创建的图像的数量M,这个Beta我们称之为动态范围。新创建的M个图像的生产方法如下:
对于序列中的每一个值,我们计算一个参数:
作为需要压缩的动态的范围的中心,当原始的像素值t在范围内时,线性映射,即t不变化,当不在此范围时,按以下公式计算新的t值。
其中 ,以及,这样就保证像素不在我们设定的动态范围时,像素值不会断崖式的裁剪,而是平滑的予以变化,从而使得融合的结果不会太突兀。
以下时Beta = 0.5/0.34/0.25时对应的重新映射的曲线图,可以看到随着Beta的值的变小,新创建的图像数量M不断地增加,但是不管如何,所有图像组合在一起,都覆盖了原图的所有的动态范围(即合并后的映射图总会有一条45倾斜的直线),而Beta值的含义页可以从曲线总可以看出就是直线段的长度,即每幅图动态范围保持不变的部分。
Beta = 0.5, M = 2 Beta = 0.34, M = 3 Beta = 0.25, M = 4
注意,以上的映射等行为的公式都是针对归一化后的图像数据的,即要将图像由[0,255]先映射为[0,1]。
如果原始图像序列由N幅图像,则这样处理就增加为了N*M幅图,后续就是对这N*M幅进行标准的比曝光融合了。因此可以明显的看出,这个算法的速度要比Exposure Fusion至少慢M倍。
以下C++代码简答的解释了上述新图像的生成过程:
当Beta = 0.5,M = 2时(注意到上述曲线),下述图像清晰的表达了这个扩展的过程:
原始的图像序列只有4幅图,扩展后的为8幅图,而且我们注意到扩展后的图和源图没有一个是相同的,通过组合这新生产的8幅图,最终得到扩展的融合结果。
就以上述图为例,Beta设置为0.5,我们金字塔层数都设置为8,Exposure Fusion和Extended Exposure Fusion的融合效果分别如下所示:
Exposure Fusion Extended Exposure Fusion
我们注意观察图中最左侧窗户上部的小方格内,左图里该方格里基本是纯白色,看不到什么信息,而右图则把原始图input 1里的有效信息带入了,增加了信息量。
在比如下图,左图是标准的Exposure Fusion,右图为扩展后的,可以看到右侧图台灯里以及窗户外面的地面有着更为细腻的细节,而左图基本是纯色。
在《Extended Exposure Fusion》还提到了对各图像权重的一个改进,虽然那个东西有一定作用,但是个人认为是锦上添花的一些东西吧,实际上也没有啥大的作用,因此,本人未做具体的研究。
