1、概述
说到EF那我们不得不谈谈HDR。高动态范围(HDR)图像可以表示动态范围跨度很大的真实场景。图像的动态范围(dynamic range)是指一幅图像中可见区域最大亮度与最小亮度的比值。同样的,场景中最大光度与最小光度的比值被称为场景的动态范围。现实场景中光度值的分布范围是非常宽广的,而且人眼能够观察的动态范围也是很广的,比如强烈阳光照射下的光度超过100,000cd/m2,而夜晚人们能够看到微弱星光的光度值会低于0.0001cd/m2,真实场景的动态范围已经超过了109:1。人的视觉系统在同一固定场景内不需要适应性调节能观察的动态范围也可达到15:1。而目前泛使用的CCD/CMOS图像传感器的动态范围远远小于现实场景和人眼所能观察到的动态范围。
EF根据拍摄场景不同分为静态场景和动态场景。前者是指场景中所有的物体都是静的,融脊目标只是如何更多更好的显示颜色和细节信息,而后者是指场景中存在移动的物体或者相机发生抖动,这样会使融合图像产生明显的鬼影,所以需要解决如何去除鬼影的问题。
数字相机在拍摄宽亮度范围场景时,受其动态范围限制,捕获的单幅图像往往存在灰暗或饱和的区域,细节丢失严重.利用一系列不同曝光度的低动态范围(low dynamic range, LDR)图像扩展成像动态范围、增强细节是近年来快速发展的一项技术,称为高动态范围成像(high dynamic range imaging, HDRI)技术.传统HDRI技术的图像处理过程一般为:首先从多幅LDR图像推算相机的响应函数(camera response fuction, CRF)利用CRF的逆运算得到场景实际亮度,从而合成以浮点数保存的高动态范围(high dynamic range, HDR)图像,最后对HDR图像进行色调映射以便在常规设备上显示.这一过程涉及多次复杂计算,且合成的HDR图像质量十分依赖于CRF的计算精度,拍摄过程中相机或景物的微小移动可能对计算结果造成很大的影响.
近年来逐渐成为研究热点的曝光融合(exposure fusion)方法从图像融合的角度,直接从曝光度不同的LDR图像序列提取信息融合成一幅局部自适应曝光的HDR图像.相比于传统的HDRI技术,这类方法的优势在于无需进行相机响应函数恢复和色调映射,无需提供任何相机参数或拍摄条件.
How does exposure fusion work?
Mertens等在多尺度图像分解下,利用对比度、饱和度及曝光适度(well exposedness)3个评价参数衡量像素成像质量,并借此计算融合权重值。
% contrast measure
function C = contrast(I)
h = [0 1 0; 1 -4 1; 0 1 0]; % laplacian filter
N = size(I,4);
C = zeros(size(I,1),size(I,2),N);
for i = 1:N
mono = rgb2gray(I(:,:,:,i));
C(:,:,i) = abs(imfilter(mono,h,'replicate'));%滤波图像绝对值
end
% saturation measure
function C = saturation(I)
N = size(I,4);
C = zeros(size(I,1),size(I,2),N);
for i = 1:N
% saturation is computed as the standard deviation of the color channels
R = I(:,:,1,i);
G = I(:,:,2,i);
B = I(:,:,3,i);
mu = (R + G + B)/3;
C(:,:,i) = sqrt(((R - mu).^2 + (G - mu).^2 + (B - mu).^2)/3);
end
% well-exposedness measure
function C = well_exposedness(I)
sig = .2;
N = size(I,4);
C = zeros(size(I,1),size(I,2),N);
for i = 1:N
R = exp(-.5*(I(:,:,1,i) - .5).^2/sig.^2);
G = exp(-.5*(I(:,:,2,i) - .5).^2/sig.^2);
B = exp(-.5*(I(:,:,3,i) - .5).^2/sig.^2);
C(:,:,i) = R.*G.*B;
end
"Exposure Fusion", Tom Mertens, Jan Kautz and Frank Van Reeth In proceedings of Pacific Graphics 2007
Github Matlab code
当前多曝光融合算法有基于信息滴的方法,基于双边滤波的方法,基于亮度梯度大小的方法,基于拉普拉斯金字塔的方法。其中基于拉普拉斯金字塔的方法是现如今应用最广泛的也是最有效的算法。
不管是多曝光融合后的图像,还是经过色调映射技术生成的图像,如何评价生成图像的质量好坏,是HDR技术领域一个很难的问题。尽管有许多通过对比观察打分的主观判定方法,但都具有不可靠性,至今并没有一个统一的客观评价标准。
2、融合过程
本文涉及的多曝光图像融合方法是基于像素级的,像素级融合过程一般可分预处理、变换、综合和反变换四个步骤。预处理一般是指飄合之前的配准操作,这里不再累述。
变换采用的主要方法有主成分分析(PCA)法、IHS(Intensity-Hue-Saturation)变换法、小波变换法多分辨率法如拉普拉斯金字塔融合算法等。综合就是将被誠合图像的变换结果进行综合处理,综合有多种处理方法,第一种是选择法,即根据某种选择方法,从原图像序列中选择出相应的变换系数来组成一组新的变换系数;第二种是加权平均法,即将每幅原图像的对应的变换系数根据某种规则确定权值,然后经过加权平均算法,得到一组新的系数;第H种是优化法,即根据需要的应用目标构造一个评价融合效果的目标爾数,优化这个目标兩数使结果达到最优。反变换就是将综合得到的新的变换系数进行相应的逆操作,得到最终的融合图像。
动态场景多曝光融合时的鬼影消除主要存在两方面的问题:
第一,当拍摄过程中摄像机发生抖动,多幅输入图像会发生错位而造成生成的HDR图像因重影而显得模糊。这个问题可通过各种图像配准或对齐方法进行预处理来解决。
第二,当拍摄的场景中存在明显发生移动的物体导致动态场景曝光图像之间发生物体的位移。不管是合成HDR民图像然后进一步色调映射显示,还是直接多曝光融合,在生成的图像中会产生明显的鬼影(ghost)痕迹。
发生鬼影的原因是存在移动的物体具有不可预测的颜色和亮度,如果用普通的加权融合方法,这些移动物体的像素也会占据一定的权重,从而影响到最后的融合结果。鬼影问题成为HDR显示技术的严重限制。
鬼影消除问题的算法大致可分为两类,一类是无参考图像的方法,此类方法的目的是彻底消除所有发生移动的物体。鉴于送类方法需要很多幅输入图像才能消除鬼影,所当前最流行的是基于参考图像的方法。这类方法选择一幅输入图像作为参考图像,保留参考图像中包含的移动物体。
http://home.ustc.edu.cn/~liuyu1/ Dense SIFT for ghost-free multi-exposure fusion (code and paper)
http://xudongkang.weebly.com/ Image fusion with guided filtering