大家好,这是专栏《计算摄影》的第六篇文章,这一个专栏来自于计算机科学与摄影艺术的交叉学科。
作者&编辑 | 言有三
多重曝光(multiple exposure)是摄影中一种采用两次或者更多次独立曝光,然后将结果按照某种图像处理算法进行融合得到单张图片的技术,本文我们介绍常见的多重曝光方法以及技术实现。
1 摄影中的多重曝光
多重曝光需要采用多次曝光手段来实现,在传统的胶片单反相机中,多次曝光是一个非常重要的功能,它的原理是在一幅胶片上拍摄几幅影像,让一个被摄物体在画面中出现多次,从而可以拍摄出魔术般无中生有的效果,吸引了很多摄影师使用这种技法。
对于传统的胶片相机而言,多重曝光是在同一张底片上进行多次曝光,而现代数码相机的多重曝光效果则是多张照片分别拍摄,最后由相机内部进行合成所取得。在数码相机时代,由于数码后期合成的便利性,多次曝光功能已经逐渐被厂家忽视,即使是专业级数码单反相机,很多都不具备多重曝光功能。
下面我们介绍几种常见的多次曝光方法。
(1) 单纯多次曝光
在拍摄照片的过程中,相机和被摄物体都保持不动,对被摄物体不同时间或不同光线照射情况下进行多次曝光拍摄,这样就可以突出被摄物体的层次感。这是一种最基本的多次曝光技法,比较适合拍摄光照较暗的夜景图像。
下图展示了使用三脚架对同一场景进行多次曝光后进行叠加融合的结果,它渲染了光的层次感,增强了作品的表达能力。
(2) 变换焦距多次曝光
对于花卉或者静物的拍摄,可以采用变换焦距的方法进行两次拍摄,一次使用实焦拍摄,一次使用虚焦拍摄。在实焦拍摄过程中可以曝光多些,而虚焦拍摄时则曝光少些,两者叠加后可以获得朦胧的效果。
(3) 遮挡法多次曝光
所谓的遮挡法,就是遮挡镜头全部或者一部分,过程中需要保持镜头的位置绝对不动。
以长曝光拍摄烟花,闪电,车流等运动目标为例,当目标没有出现时,可以遮挡住镜头,当目标出现时再撤掉遮挡,这样可以防止过度曝光。另外,还可以每次遮挡镜头的一部分拍摄一次被摄物体,最后将不同遮挡次数的被摄物体同时曝光到一张底片上。
(4) 叠加法多次曝光
所谓叠加法多次曝光,即多张照片的叠加,拍摄时各自在画面的某些区域预先留出位置,然后进行多张图叠加,是创作最自由的曝光手法,可以叠加拍摄场景完全不同的照片。下图展示了使用将两幅拍摄场景,时间完全不同的图像进行叠加融合的结果,两幅图内容和气氛相互补充,增强了作品的表达能力。
叠加法是逐像素融合方法,即两张图的像素在某一个规则下进行叠加,在photoshop对应就是两个图层的叠加,有长达27种融合模式。
2 自动图像融合关键技术
在以上介绍的各种多重曝光技术中,叠加法多次曝光可以将多张不同的照片进行融合,具有最大的自由度,对前期拍摄的要求也最低,其背后是图像融合技术的支持,下面我们对其中的核心技术进行描述。
(1) 前背景与透明度估计
当我们需要融合两张图像时,往往不需要对所有的像素进行同样的操作,而是只选择其中一部分。假如我们想将上一图层中的感兴趣的前景添加到下一图层中,在photoshop中可以创造蒙版来控制需要操作的区域,而使用算法来完成这个步骤就需要对它进行自动前背景估计。
在计算机视觉中使用图像分割技术就可以估计前背景,它的分割结果就是对每一个像素进行二分类,从而可以得到前景掩膜。当前随着计算机视觉技术的发展,以FCN[1]为代表的深度学习图像分割技术已经非常成熟,FCN的结构如下:
图像分割可以获得二值的主体轮廓,但对于很多细小的目标,分割边缘会非常粗糙,与下一图层进行融合时会显得比较‘生硬’,此时我们常常需要另一个更精细的前背景透明度估计抠图技术,即Image Matting,它可以估计前景,背景,及两者进行线性融合的透明度,数学表达式如下:
I=aF+(1-a)B
其中F是前景,B是背景,a是透明度,图像可以被看作是在透明度图像的控制下,前景和背景的线性融合。当给定一张图,求解需要同时解出透明度通道和前背景,这是一个病态的问题,因为对于三通道的RGB图像,只有3个方程,却需要解出7个变量。
早期的Image Matting问题求解以传统方法为主,有数十种方法被提出,而随着深度学习技术的发展,当前的Image Matting问题也可以直接使用深度学习模型求解,主要有两个思路。
第一个是模仿传统的closed matting等技术,首先初始化一个三值图Trimap,它包含确定性的前景,背景,以及不确定区域,然后使用编解码模型对Trimap进行改进,得到透明度估计,以Adobe研究人员提出的Deep Image Matting[2]方法为代表。
第二个思路是直接从彩色图中进行最终的透明度估计[3],可以直接使用编解码模型进行估计,也可以采用有粗到精的估计方法。
(2) 局部区域融合
假如我们只获得了需要融合到一张图中的目标区域,而无法得到透明度等参数,如果直接在原图中进行替换,该部位的颜色往往会与周围区域有明显差异,而边缘处也没有平滑过渡,此时需要对该区域在颜色和梯度的约束下进行变换,其中经典的方法是泊松融合[4],它要解决的是如下问题:
如果我们要把源图像B融合在目标图像A上,令f表示融合的结果图像C,f*表示目标图像A,v表示源图像B的梯度,▽f表示f的一阶梯度即结果图像C的梯度,Ω表示要融合的区域,∂Ω代表融合区域的边缘部分。
上式的意义就是在目标图像A的边缘不变的情况下,使结果图像C在融合部分的梯度与源图像B在融合部分的梯度最为接近,所以在融合的过程中,源图像B的颜色和梯度会发生改变,以便与目标图像A融为自然的一体。
随着深度学习和生成对抗网络等技术的发展,当前基于深度学习的图像融合也被研究人员提出,以Gaussian-Poisson GAN(GP-GAN)[5]为代表。GP-GAN是第一个基于GAN的图像融合网络,它将GAN模型和泊松融合进行了结合,框架流程如下图。
GP-GAN框架主要包含两部分:Blending GAN和Gaussian-Poisson Equation。
Blending GAN是一个编解码结构,它使用输入输出的L2距离作为重建损失,再添加对抗损失后作为优化目标。该结构可以作为颜色约束(colour constraint),使生成的图像更加真实和自然,结果为比较模糊的低精度输出图。
Gaussian-Poisson Equation是一个金字塔式的高分辨结构,它作为梯度约束(gradient constraint),用于进一步提高图像的分辨率,使其拥有逼真的纹理细节。
一些基于泊松融合的结果如下:
3 参考资料
[1] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 3431-3440.
[2] Xu N, Price B, Cohen S, et al. Deep image matting[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 2970-2979.
[3] Liu J , Yao Y , Hou W , et al. Boosting Semantic Human Matting with Coarse Annotations[C]// 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2020.
[4] Pérez P, Gangnet M, Blake A. Poisson image editing[M]//ACM SIGGRAPH 2003 Papers. 2003: 313-318.
[5] Wu H, Zheng S, Zhang J, et al. Gp-gan: Towards realistic high-resolution image blending[C]//Proceedings of the 27th ACM International Conference on Multimedia. 2019: 2487-2495.