主要思想
多帧高动态范围成像(High Dynamic Range Imaging, HDRI/HDR)旨在通过合并多幅不同曝光程度下的低动态范围图像,生成具有更宽动态范围和更逼真细节的图像。如果这些低动态范围图像完全对齐,则可以很好地融合为HDR图像,但是,实际拍摄到的图像容易受到相机、物体运动的干扰,三张低动态范围图像往往不能很好地得到对齐,直接对三图像做融合的话,所生成的图像容易产生伪影、重影.
为了解决这一现象,传统的算法通常分为两类:在图像融合前对齐(align)图像或者拒绝(reject)不对齐的像素来去除重影,但精确地对齐图像或者精确地定位不对齐的像素往往难以实现,所生成的HDR图像效果并不好,因此现在常常以数据驱动的方法来训练CNN,利用CNN来实现图像的融合。
基于CNN的去重影方法主要分为两类:①利用单应性或光流法对LDR图像进行预对齐;②设计端到端的隐式对齐模块或者新颖的学习策略来处理重影。但是由于卷积局部性的限制,模型难以建立远程依赖(需要堆叠较深的卷积层来实现提高感受野的目的),如果图中物体的运动范围过大,则先前基于CNN的方法仍容易产生重影;同时由于在整幅图像中共享卷积核,因此卷积是内容无关的运算(content-independment),这一特性导致卷积运算忽略了不同图像区域的长距离强度变化,也就是卷积运算会平等地对待图像中的所有数据。(引入注意力机制可以解决这一问题)
对于模型的长距离建模能力,一个很好地策略就是利用transformer结构,例如ViT算法。然而,本文作者发现transformer结构并不能直接应用于HDR任务中,主要有两个原因:①transformer缺乏CNN中归纳偏差的能力(inductive biases),因此在数据量不足的情况下训练时泛化能力较差,模型性能不高;②帧内和帧间相邻像素之间的关系也对恢复图像的局部细节至关重要,而纯transformer结构难以提取局部上下文之前的关系。
注:在HDR任务中收集大量真实标记的样本成本过高,因此数据集往往有限。
对此,本文作者提出了一种上下文感知的ViT(Context-Aware Vision Transformer, CA-ViT),通过双分支架构来同时捕获全局和局部的依赖关系,也就是同时实现全局和局部的建模。对于全局分支,作者使用基于窗口的多头transformer编码器来捕远程上下文关系(即Swin transformer);对于局部分支,作者设计了局部上下文提取器(local context extractor, LCE),通过卷积块来提取局部特征映射,并且通过通道注意力机制在多个帧特征之间选择有用的特征,抑制无用的特征,因此,CA-ViT结构可以使全局和局部以互补的方式发挥作用。基于CA-ViT结构,作者提出了用于HDR成像的transformer结构(HDR-Transformer)。
对于HDR-Transformer,主要包括两个模块:特征提取网络和HDR恢复网络,特征提取网络利用卷积运算和空间注意力模块来提取浅层特征,并且进行粗融合,有助于稳定transformer的训练和抑制图像中不对齐的像素。HDR重建模块以CA-ViT为基本组件,从全局和局部两个角度对图像建模,有助于重建高质量的HDR图像,同时无需堆叠非常深的卷积块。
方法
CA-ViT
具体结构如下图所示,主要包括一个全局Swin transformer编码器分支和一个局部LCE分支:
代码运行结果:
左边1列三张图合成了右边一个HDR图像