徐 曼, 谢 维, 姚斌荣
(浙江理工大学计算机科学与技术学院(人工智能学院), 杭州 310018)
随着数码相机的流行以及图片处理软件功能的日趋丰富,HDR 成像技术越来越成熟,并已广泛应用于遥感测绘、游戏开发、医疗影像、监视系统等各个领域中。 相比于LDR 图像,HDR 图像具有更高的曝光动态范围以及更丰富的细节层次,极少存在图像细节扭曲丢失情况,能最大程度地保留场景细节信息,为后续的图像分析研究打下坚实基础。 但是随着图像的清晰度的提高、尺寸越来越大,传统的HDR 成像算法耗时大大增加,并且生成的图像存在色彩不真实、图像细节缺失等问题,HDR 成像技术成为了数字图像发展的一个瓶颈,因此寻求高效重建HDR 图像的方法已成为计算机图像领域的一个底层研究热点。
HDR 图像既可以使用多曝光LDR 图像进行重建,也可以使用单曝光LDR 图像进行重建。 前者使用多张连续拍摄获得的LDR 图像进行重建,在手机和相机中使用较多,但是设备的抖动会使LDR 图像位置信息不一致导致生成的图像存在伪影现象。 而后者通过单张LDR 图像丰富过曝和弱曝区域的细节信息实现,不存在伪影现象,但是更具挑战性。Wei 等学者[1]利用GAN 结构以端到端的方式从单曝光的LDR 图像中重建缺失的信息,从而拓展给定图像的动态范围生成HDR 图像,并在此基础上提出一种新的密集反馈模型和反馈机制,通过全局反馈和局部反馈连接,利用高层信息来完善自上而下反馈流中的浅层信息,前向通道中的密集连接能够实现特征重用,并全面学习从LDR 到HDR 映射的复杂非线性关系。 Khan 等学者[2]在CNN 中添加反馈机制设计了一个端到端的FHDR 反馈网络,与传统的前馈网络中的单一前向传递不同,通过设计一个密集的反馈块对HDR 的重建过程进行多次迭代学习,使用隐藏状态的高级特征来引导初始的低级特征,从而能够创建一个从粗到细的表征。 Chen 等学者[3]考虑到多曝光LDR 图像重建方法忽略了噪声和量化损失导致可行性差,提出一种新颖的基于学习的方法,使用HDRUNet 空间动态编码器-解码器网络学习一种端到端的映射,用于单曝光的HDR 重建,并进行去噪和去量化。 该网络包括一个UNet 式的基础网络,以充分利用分层的多尺度信息、一个条件网络,以执行特定模式的调制、以及一个加权网络,以选择性地保留信息。 此外,研究中还提出了一个Tanh_L1 损失函数,以平衡过度暴露值和良好暴露值对网络学习的影响,该模型在NITRE2021 高动态范围挑战赛的单帧赛道上赢得了第二名。
而生成式对抗网络(Generative Adversarial Networks,GAN)这个概念由Goodfellow 等学者[4]于2014 年首次提出,由相互博弈的生成器和判别器组成,两者对抗达到纳什平衡后,生成器就能生成以假乱真的图片,该模型在风格迁移领域对风格图片的纹理特征抓取能力十分强大。 2016 年,伯克利人工智能研究室提出了Pix2Pix[5],包括基于U-Net 的生成器、基于PatchGAN 的判别器和基于条件GAN 的损失函数,并且使用CNN+BN+ReLU 的模型结构,采用监督学习进行训练,该网络结构后续也成为了图像风格迁移的通用框架,并且在众多数据集中表现优异。 但是Pix2Pix 在训练时需要大量的配对数据,为了解决这个问题,Pix2Pix 的开发都随后将对偶学习的思想融入到Pix2Pix 中提出了CycleGAN模型[6],引入循环一致性概念,在保持图片内容不变的基础上实现图片风格的转换。 Deng 等学者[7]在Pix2Pix 中加入注意力机制提出一个新的生成式对抗网络用于分割海马体图像,生成器结合了残差网络和注意力机制用以捕获详细信息,鉴别器使用卷积神经网络来鉴别生成模型的分割结果和专家结果。 通过生成器和鉴别器的连续传输损失来提高生成器分割海马体的质量,结果表明该网络模型不仅实现了海马体的高效自动分割,还在相似系数、阳性预测值和灵敏度指标上取得了较高的分数。 Zhang 等学者[8]将自注意力添加到生成式对抗网络当中提出了SAGAN,添加了自注意力机制的网络可以借助任一位置的特征生成图像,并且在生成器中添加频谱归一化来提高训练的动态性,SAGAN 在ImageNet 数据集上进行测试,大幅提高了图像在各指标上的得分。Aslan 等学者[9]提出一种深度卷积生成对抗性神经网络(DCGAN)用来检测烟雾,该网络融合了人眼视觉原理,使用添加了噪声的真实图像对DCGAN 进行常规训练,以及使用真实烟雾图像单独训练判别器,能稳定地表示有烟和无烟的序列。
目前,已有学者使用生成式对抗网络进行HDR重建,并取得较好的效果,本文基于CycleGAN 进行HDR 重建方法的研究,对CycleGAN 模型中的生成器和判别器结构分别进行改进以提高生成质量,并增加注意力机制更加关注图像细节。
CycleGAN 在GAN 基础网络结构上进行改进,由2个生成器和2 个判别器组成的镜像对称环形网络构成。 CycleGAN 原理图图1 所示,输入域图像Input_X作为生成器Generator X2Y 的输入,生成具有特有风格特征的图像Generated_Y,为了保证Generated_Y 的内容不变,将Generated_Y 又输入生成器Generator Y2X得到Cyclic_X,Cyclic_X 越趋向于Input_X,就越能保证Generated_Y 的图像内容不变。 将Generated_Y 和目标图像输入鉴别器Discriminator_B 判断Generated_Y 真假Decision[0,1]。
图1 CycleGAN 网络结构图Fig. 1 Structure of CycleGAN network
生成器由编码器、转换器、解码器三部分组成。编码器使用3 个卷积层,每一层都使用ReLu激活函数。 转换器使用n个包括2 个卷积层和1 个跳跃连接的ResNet Block 模块。 解码器使用2 个反卷积层和1 个卷积层,反卷积层使用ReLu激活函数,卷积层使用Tanh激活函数。 判别器包括使用LeakyReLu激活函数的4 个卷积层与1 个不带激活函数的卷积层,使用PatchGAN 帮助生成器生成更清晰的图像。
ResNet 这种跳跃连接的方式虽然打破了网络逐级连接的传统,解决了网络层数增加带来的梯度爆炸和梯度消失问题,但仍不能精准地提取出图像的特征。 因此本节将 ResNet 网络更改为DenseNet[10],DenseNet 相对于ResNet 来说在特征传递方面更具优势,能大幅减少网络中的参数量,并缓解梯度消失和模式退化问题,替换后的生成器网络结构如图2 所示。
图2 基于DenseNet 的生成器结构图Fig. 2 Generator structure based on DenseNet
为了提高生成器生成图像的纹理细节,在其中一个生成器的转换器中添加DANet 混合注意力网络,形成DADB 模块。 DANet 混合注意力网络可以自适应地集成全局依赖和局部特征,有助于网络提取图像特征,进而提升输出图片的质量和效果,包括位置注意力和通道注意力。
DADB 模块由2 个分支组成,如图3 所示。 图3中,上面为DANet 注意力机制网络,对空间域和通道域同时进行学习,并且输出与主干分支数量一致的标记分支特征图,更关注图像纹理细节缺失部分。下面分支为原来的Dense Block,保证网络的特征提取能力。 最后,上下分支得到的大小相同的特征图进行权重相加,将结果输入到下一个DADB 模块或解码器中。
图3 最终的生成器结构图Fig. 3 Final generator structure
CycleGAN 中使用的PatchGAN 判别器虽然在一定程度上提高了生成图像的质量,但是仍不能完全捕捉到图像的全局信息,因此本文使用多尺度判别器[11]对原判别器进行改进,同时关注输入图像的全局和局部细节信息。 多尺度判别器的整体结构如图4 所示,包括3 个判别器,输入图像大小尺寸分别是原图大小、1/2 的原图大小以及1/4 的原图大小,输入小尺寸图像时感受野相对较大,判别器更关注图像结构,输入大尺寸图像时感受野较小,判别器更关注图像细节信息,基于此再将这3 个判别器的输出进行加权相加得到最后判别输出。
图4 多尺度判别器网络结构图Fig. 4 Network structure of multi-scale discriminator
3 个判别器内部网络结构相同,只是输入图像大小不同,原判别器使用“Conv+BN+Lrelu”结构,为防止图像在训练过程中产生依赖关系,获得更好的正则化效果,使用实例归一化IN 代替批归一化BN,并添加Dropout 防止过拟合,最后的结构为“Conv+IN+Lrelu+Dropout”。 同时,为了学习到更多图像数据的分布特征及隐含特征,将原判别器中第二层和第三层的卷积替换成扩张卷积( Dilated Convolutions)[12],用于增大卷积核的感受野,从相同数量的参数中获得更多的图像信息。
目前在风格迁移领域没有大型的HDR 数据集,因此先进行数据获取构建数据集。 先从ImageNet中选取大量的LDR 图像,包括花草静态、日出日落、夜景、室内室外场景这些画面含大量光影细节,并且未调色、存在较大明暗反差的建筑和风景类场景图片。 HDR 图像的获取使用爬虫技术从网页上抓取,这里使用Python 中的库BeautifulSoup 来实现。BeautifulSoup 代码简单,相对于正则表达式而言,能够快速、便捷地解析高度结构化的HTML 文件,因而得到了广泛应用。
接着,为了获取更多数据供神经网络学习训练,进行数据集填充。 对LDR 图像进行随机角度旋转和水平垂直方向镜像操作,色彩和亮度保持不变防止出现模型训练时无法收敛导致重建的HDR 图像色彩失真的现象。 图像经扩充后统一裁剪到尺寸256×256像素,保证扩充过的数据集图像中没有黑边出现。 最终数据集包括LDR 图像和HDR 图像共1 600 张,其中LDR 图像1 000 张,HDR 图像600 张。
图像输入神经网络之前需要进行归一化操作,控制输入向量的数值范围,减少计算,将图像像素值转换到[0,1]范围内。 LDR 图像转换时除以255 即可,而HDR 图像包含的数据范围十分广泛,不能直接除以固定的灰度级,因此采用最大最小法,HDR图像中往往存在像素值为0 的点,化简公式将HDR图像的每个像素值除以该图像中最大的像素值,按式(1)计算求出:
HDR 图像重建的网络模型训练使用Windows 10 操作系统,CPU2.80 GHz 配置,NVIDIA GeForce RTX 3080,Python3.7 编程语言,pytorch1.6 运行环境,numpy1.14、cudnn7.6.5、cuda9.0。
网络输入图像大小为256×256,使用SGD 算法来优化参数,将初始学习率设置为0.001,在前1 000次中迭代增加,并且在第8、10 个Epoch时降低学习率到1/4,训练的batchsize设置为8,该模型在上述条件下训练一百万次得到最终结果。
本文使用峰值信噪比(Peak Signal to Noise Ratio,PSNR)[13]、 结构相似性指数(Structural Similarity Index Measure,SSIM)[14]及可见差异预测器(HDR Visible Differences Predictor,HDR-VDP-2)[15]三个指标对实验结果进行评价。
(1)PSNR。 是客观评价图像质量最常用的指标之一。PSNR值越大,图像之间的相似度就越高,PSNR值可按式(2) 进行计算:
其中,MAX_I表示测试图像像素的最大值,通常会取255。
(2)SSIM。 通常用于衡量2 幅图像的亮度、对比度和结构变化三个量的综合相似程度,作为一种感知模型更符合人眼的直观感受,SSIM值在[0,1]之间,该值越大表示2 幅图的相似度越高,SSIM的计算过程见式(3):
(3)HDR-VDP- 2。 能够衡量真实世界的全范围亮度,通常用来比较2 幅HDR 图像之间视觉度量差距,并提供可见性和质量的预测信息,包括光学及视网膜通道模型、神经噪声模型、可见度指标等多个模块。
为了验证本文针对HDR 图像重建提出的方法的有效性,将该方法与基于单曝光的Marnerides 提出的Expandnet[16]方法、未改进的CycleGAN 方法以及基于多曝光的Hu 等学者[17]提出的LA-HDR 方法进行横向对比,下文将从含有强光源的日落图像、背光的建筑图像和室内窗户图像三种场景进行分析。
3.3.1 日落图像实验结果分析
日落对比结果如图5 所示。 图5 中,图5(a)为日落LDR 图像,该图像中包含太阳强光源,图像整体曝光、色彩信息不够,色调偏灰,海岸地面细节信息缺失。 图5(b)为参考的HDR 图像。 图5(c)为Marnerides 方法生成的图像,整体图像亮度得到提升,但海面上余晖的色彩信息不够。 图5(d)为CycleGAN 方法生成的图像,海岸地面曝光过高,图像整体偏灰,色彩信息同样不够。 图5(e)为Hu 方法生成的图像,色彩信息比前2 种方法更高,但是呈现出来的天空部分细节不够自然,呈割裂状态。 图5(f)为本文方法生成的图像,既保留了天空的细节,亮度也得以提高,针对沙滩弱曝区域能够提升其亮度信息,生成的图像的色彩信息接近于参考图像。
4 种方法的评价指标分数见表1。 由表1 可以看出,本文方法在PSNR、SSIM和HDR-VDP- 2 三个指标上均取得了较高分值。 相对于效果较好的Hu 等学者[17]的方法, 在PSNR指标上略低, 在SSIM指标上和HDR-VDP- 2 指标上得分略高。
表1 评价指标分数对比Tab. 1 Comparison of evaluation index scores
3.3.2 背光建筑图像实验结果分析
背光建筑对比结果如图6 所示。 图6 中,图6(a)为背光建筑LDR 图像,该图像中建筑较暗,天空曝光正常。 图6(b)为参考的HDR 图像。 图6(c)为Marnerides 方法生成的图像,整体图像亮度得到提升,但是图像细节缺乏对比度。 图6(d) 为CycleGAN 方法生成的图像,建筑的曝光虽然得以恢复,但是门的纹理不够清晰,天空出现泛白现象。 图6(e)为Hu 等学者[17]方法直接生成的图像,有效提升建筑亮度信息的同时保持了天空的曝光。 图6(f)为本文方法生成的图像,既保留了天空的细节,又将整幅画面的动态范围拉宽,图像色彩更加饱和。
图6 背光建筑对比图Fig. 6 Backlit building contrast
4 种方法的评价指标分数见表2。 由表2 可以看出相对于日落的HDR 成像, 背光建筑成像在PSNR、SSIM和HDR-VDP-2 三个指标上得分都更高,究其原因可能是背光建筑原图的弱曝区域信息更丰富,也更容易成像。
表2 评价指标分数对比Tab. 2 Comparison of evaluation index scores
3.3.3 室内图像实验结果分析
室内场景对比结果如图7 所示。 图7 中,图7(a)为室内场景图,该图像中室内光线不足,曝光过低,细节缺失。 图7(b)为参考的HDR 图像。 图7(c)为Marnerides 方法生成的图像,仅对图像整体亮度进行提升,图像色彩依旧偏灰。 图7(d) 为CycleGAN 方法生成的图像,室内弱曝区域亮度得以提升,但是纹理细节没有显示出来。 图7(e)为Hu等学者[17]方法直接生成的图像,图像亮度、色彩得到一定恢复,但效果不是很明显。 图7(f)为本文方法生成的图像,可以清楚地看出图像室内弱曝区域的细节得以补全,并且图像动态范围最接近于HDR目标图像域。
图7 室内场景对比图Fig. 7 Interior scene contrast
4 种方法的评价指标分数见表3。 由表3 可以看出针对存在大片区域纹理细节不足的图像时,本文方法在成像质量上仍较高,并且在3 个评价指标中均获得最高得分。
表3 评价指标分数对比Tab. 3 Comparison of evaluation index scores
本文将改进的生成式对抗网络用于HDR 图像重建任务,并使用PSNR、SSIM和HDR-VDP-2 评价指标对不同场景下的不同算法进行比较。 通过对比分析,本文提出的模型能够有效恢复缺失的细节信息、提高图像质量。 后续研究中,尝试将本文提出的方法扩展到多曝光LDR 图像生成HDR 图像方法及视频领域。