基于生成对抗网络的CFA图像去马赛克算法

2021-07-26 11:56罗静蕊岳广德
计算机工程 2021年7期
关键词:鉴别器马赛克插值

罗静蕊,王 婕,岳广德

(1.西安理工大学自动化与信息工程学院,西安710048;2.西安交通大学数学与统计学院,西安710049)

0 概述

目前,数码相机成为数字成像技术的主流成像设备,在智能交通、医学成像与遥感影像处理等领域发挥了重要作用。数字彩色图像中的每个像素分别有红色(Red,R)、绿色(Green,G)和蓝色(Blue,B)3 个颜色分量。为得到高质量的彩色图像,最佳的解决方案是使用3 个颜色传感器分别接收每个像素的R、G、B 分量,随后将这3 种颜色分量合成彩色图像。在实际应用中,由于3 个传感器的布置会影响后续的色彩合成,并且3 个传感器的数码相机通常比较昂贵且体积较大,因此多数数码相机使用单传感器的图像采集系统。

单传感器数码相机在进行图像采集时,在传感器前会放置一个彩色滤波阵列(Color Filtering Array,CFA),从而产生CFA 图像。由CFA 到达传感器元件的光通常包含R、G、B 这3 种光谱,如拜尔(Bayer)模式[1]。在CFA 中,每个像素点仅允许通过一个颜色分量,因此通过CFA 图像仅能判断出景物的大致轮廓,而不能获得完整的色彩信息。Bayer 模式的CFA 阵列交替使用一组R-G 滤镜和一组B-G 滤镜,其中,绿色像素呈对角排列,红蓝像素呈对角间隔排列。因此,阵列中的绿色像素占总像素个数的1/2,红色和蓝色像素分别占总像素个数的1/4。由于每个像素只包含一个颜色分量,因此需要根据相邻像素点的颜色分量信息对其他两个颜色分量进行插值恢复,进而根据CFA 图像得到全彩色图像,该过程称为图像去马赛克。

在通常情况下,采用传统插值算法进行图像去马赛克操作时,对于色彩变化较小的平滑区域可以获得较高的精度。然而,由于R、G、B 分量分别占据不同的颜色通道,各个通道之间可能存在空间偏移,当对图像边缘等高频部分进行插值时通常存在伪影现象。另外,一些传统插值算法忽略了不同颜色通道之间的相关性,导致去马赛克图像边缘出现颜色失真现象[2]。针对上述问题,本文提出一种基于生成对抗网络(Generative Adversarial Network,GAN)的CFA图像去马赛克算法。GAN 网络中使用的生成器为具有残差稠密块(Residual Dense Block,RDB)和远程跳跃连接的深层残差稠密网络(Deep Residual Dense Network,DRDN),鉴别器为一系列堆叠的卷积单元,并结合对抗性损失、像素损失以及特征感知损失改进网络损失函数进一步提高网络性能。

1 相关工作

1.1 传统去马赛克算法

目前,研究人员提出了很多用于图像去马赛克的插值算法,如最近邻插值算法(Nearest Neighbor,NN)[3]、双线性插值算法(Bilinear)[4]等,这些算法实现简单,但容易造成图像伪影和色彩失真。为提高图像去马赛克效果,研究人员陆续提出了一系列插值算法。

在梯度类插值算法中,文献[5]提出Hamilton-Adam 算法,该算法在插值过程中考虑了采样后通道的二阶导数,利用颜色通道间的相关性来提高插值后图像的视觉效果。文献[6]提出TL(Two-Line)算法,该算法利用小邻域内不同光谱成分交叉比的同质性对低梯度方向的像素点进行插值,以产生高质量的图像。

在基于方向的插值算法中,文献[7]利用线性最小均方误差(Linear Minimum Mean Square Error,LMMSE)从水平和垂直两个方向进行估计,进而重构出3 种颜色分量信息。文献[8]在水平插值和垂直插值中使用先验决策,然后根据图像边缘走向进行插值。该算法重构的图像在非水平或垂直走向的边缘处容易出现虚假色。文献[9]提出一种局部方向插值与非局部自适应阈值方法,该方法利用图像的非局部冗余来改善局部色彩的再现效果,可以有效地重建图像边缘并减少颜色伪影。

在基于残差的插值算法中,文献[10]提出最小化拉普拉斯残差插值(Minimized-Laplacian Residual Interpolation,MLRI)算法,该算法通过最小化残差的拉普拉斯能量来估计像素值,可以有效地减少颜色伪影现象。文献[11]提出基于自适应残差插值(Adaptive Residual Interpolation,ARI)的去马赛克算法,该算法通过自适应选择合适的迭代次数,并在每个像素点上结合两种不同类型的残差插值算法,有效改进了传统的残差插值算法。文献[12]将残差插值(Residual Interpolation,RI)算法与基于梯度的阈值自由(Gradient-Based Threshold Free,GBTF)算法相结合,以获得较好的去马赛克效果。文献[13]利用CFA 图像中的高光谱空间相关性来计算色差信号以恢复3 种颜色信息,该算法能够有效消除图像锯齿现象。另外,文献[14]提出一种基于压缩感知(Compressive Sensing,CS)的彩色图像去马赛克算法,该算法充分挖掘了彩色分量间和分量内的稀疏特性,可使复原图像的纹理细节与色彩更加逼真。

1.2 基于神经网络的去马赛克算法

近年来,神经网络在图像分类[15-16]、运动识别[17-18]、图像超分辨率重建[19-20]、图像去马赛克等图像处理领域得到了快速发展和广泛应用。文献[21]采用深层卷积神经网络(Deep Convolutional Neural Network,DCNN)进行去噪和去马赛克处理,有效抑制了噪声和图像伪影。文献[22]利用深度残差网络对图像进行去马赛克处理,取得了良好的效果。文献[23]提出一种改进的残差U-Net,对于不同CFA 模式具有良好的泛化能力。

2 生成对抗网络

生成对抗网络是一种概率生成网络,由GOODFELLOW 等[24]于2014年将其引入深度学习领域。GAN 结构如图1所示,主要包括一个生成器G和一个鉴别器D,其中,G用于捕获真实样本x的数据分布,并采用服从某一分布(如高斯分布)的噪声n来生成一个类似真实数据的生成样本G(n),D是一个二分类器,对于来自真实数据x的样本,若D将其判断为真(True),则输出D(x)表现为一个大概率值,否则D将其判断为假(False),输出D(x)表现为一个小概率值。

图1 GAN 结构Fig.1 Structure of GAN

GAN 的训练过程是通过训练G以最小化生成样本G(n)与真实样本x的差异,同时通过训练D以最大化网络的识别精度。因此,GAN 的训练过程是一个博弈问题,通过多次交替优化G和D提高各自的网络性能,使得G和D逐渐达到纳什均衡,最终G(n)的数据分布近似于x的数据分布。上述过程的目标函数定义为:

其中:x~Pdata(x)表示x服从真实样本的数据分布Pdata(x);n~Pnoise(n)表示n服从模拟样本的数据分布Pnoise(n);D(x)和D(G(n))分别表示D对真实样本x和生成样本G(n)的分类标签值;E(·)表示期望。在如式(1)所示的联合优化策略中,D的任务是将x识别为True,将G(n)识别为False,而G的任务是阻止D做出正确判断。通过这种对抗式的网络训练,G和D的性能均得到提升,G最终生成接近真实值的数据。

3 基于生成对抗网络的去马赛克算法

3.1 网络结构

本文提出一种基于生成对抗网络的CFA图像去马赛克算法,具体过程如图2所示。首先,提取CFA图像中的R、G、B 这3 种颜色分量,形成三通道CFA图像作为生成器G的输入,用于生成插值后的三通道彩色图像。然后,将三通道彩色生成图像与三通道彩色真实图像同时输入鉴别器D,根据鉴别器的输出概率值来优化G和D的网络参数。本文对生成器和判别器结构分别进行设计,通过端到端可训练的网络架构对数据集进行训练,并结合对抗损失、像素损失和特征损失改进网络损失函数进一步提高网络性能。

图2 CFA图像去马赛克过程Fig.2 Process of CFA image demosaicing

3.2 生成器结构

本文使用的生成器G为深层残差稠密网络,具体结构如图3所示。DRDN 主要由残差稠密块和远程跳跃连接构成。G中所有卷积层的卷积核大小为3×3、步长为1。G中每个卷积层之后引入批量归一化(Batch Normalization,BN)操作以减慢网络内部协变量的传递并降低网络对初始化权重的敏感性,可以加速网络收敛并提高网络性能[25]。除了最后一层以外,网络激活函数采用LReLU 函数,其定义为:

其中:κ表示一个正常数,κ∈(0,1),本文设置κ为0.1;xl表示LReLU 激活函数层的输入向量。最后一层采用Tanh 函数作为激活函数,其定义为:

在图3 中,输入图像是尺寸为50 像素×50 像素的三通道CFA 图像,输出图像是尺寸为50 像素×50 像素的三通道彩色生成图像。输入图像首先通过3 个卷积单元以提取图像的浅层图像特征,然后将得到的浅层图像特征输入RDB。

图3 生成器结构Fig.3 Structure of generator

随着网络深度的增加,网络可以学习到更多的图像细节信息,但是过深的网络可能会出现网络退化现象,通过使用RDB 可以改善网络梯度消失和梯度弥散等问题。图4 为残差稠密块结构,可以看出RDB 中不仅包括输入与输出之间的跳跃连接,而且包括各卷积层之间的稠密连接。RDB 操作过程可以表示为:

图4 残差稠密块结构Fig.4 Structure of residual dense block

其中:fd-1和fd分别表示第d个RDB 的输入特征图和输出特征图;H(·)表示RDB 的残差函数;g(·)表示稠密连接输出函数。稠密连接结合了浅层图像特征与深层图像特征,可有效改善图像信息在前向传播时可能丢失的问题,并且提高了网络对图像细节信息的学习能力。

本文除了RDB 内部的跳跃连接和稠密连接外,对于生成器G,在RDB 之间引入具有不同距离的远程跳跃连接,使得网络可以更好地学习不同深度的图像信息。首先,通过一个拼接层将各个跳跃连接的结果进行合并操作(Concat)。然后,利用3 个卷积单元进一步提取图像的深层特征,以生成彩色的去马赛克图像。最后,采用一个远程跳跃连接将G的输入与输出相连接,使网络能够学习CFA 图像中缺失的像素值,加速网络收敛并进一步提升网络性能。上述过程可以表示为:

其中:z和y分别表示输入的三通道CFA 图像和输出的三通道彩色生成图像;[·]表示拼接操作;F(·)表示拼接层后续的一系列操作。

3.3 鉴别器结构

鉴别器的目的是鉴别输入图像的真伪。本文使用的鉴别器D的结构如图5所示,D由一系列堆叠的卷积单元构成,基本操作层为卷积层、BN 操作层和LReLU 激活函数层。对于鉴别器的最后一层,使用Sigmoid 激活函数将输出的特征数据映射为[0,1]。Sigmoid 激活函数的定义为:

图5 鉴别器结构Fig.5 Structure of discriminator

其中:xs表示Sigmoid 激活函数层的输入向量;D中所有卷积层的卷积核大小为3×3、步长为1。

3.4 损失函数

本文通过借鉴文献[26]的网络损失函数,经过适当加权将对抗性损失、像素损失以及特征感知损失相结合并将其作为生成器的损失函数。对抗性损失函数La的定义为:

其中:G(·)表示生成器;D(·)表示鉴别器;zi表示输入的三通道CFA 图像;N表示输入图像数量。

像素损失函数Lp表示像素间的Euclidean 距离,其定义为:

其中:λ||∇G(zi)||2表示正则化项;λ表示正则化权重。式(8)通过比较三通道彩色生成图像G(zi)与三通道彩色真实图像xi像素间的差异来恢复图像信息。

特征感知损失函数Lf的定义为:

其中:V(·)表示从预先训练好的VGG19[27]网络中提取的特征映射矩阵。式(9)通过比较三通道彩色生成图像G(zi)与三通道彩色真实图像xi的图像特征,可以更准确地提取图像特征并恢复图像高频信息。

本文将La、Lp和Lf损失函数进行适当加权结合,共同约束生成器,因此生成器的损失函数定义为:

第四步:运用分类讨论的思想方法.当直线绕原点旋转运动的过程中,讨论两个函数图象交点的个数,得出满足条件的a的取值范围为

其中:α、β、γ表示正权重。根据式(10)对生成器的参数进行相应修改后,利用式(11)对鉴别器进行更新:

其中:对于真实图像xi,鉴别器输出D(xi)接近于1;对于生成图像G(zi),鉴别器输出D(G(zi))接近于0。通过式(10)与式(11)可以实现生成器与鉴别器的交替优化。

4 数值实验

本节通过数值实验验证生成式对抗网络的性能,生成式对抗网络在Tensorflow 环境中进行训练,实验运行在配置为Nvidia®GeForce MX250 GPU 和Intel Core i5-8265U CPU 的计算机上。

4.1 训练参数与训练过程

本文使用的训练数据库来自WED(Waterloo Exploration Database)[28],其中包含4 744 幅自然图像,从中选取600 幅图像作为训练集中的原始图像,对原始图像做CFA 处理以获得CFA 图像。通过缩放、旋转等数据增广操作增加训练图像的数量,具体操作为:首先对每幅图像进行1.0 倍、0.9 倍、0.8 倍和0.7 倍的缩放;然后使用滑动窗口将缩放的图像裁剪成尺寸为50 像素×50 像素的小块图像,其中滑动窗口在水平和垂直方向上的滑动步长均为20 个像素点;最后将获得的小块图像依次进行垂直和水平翻转,并顺时针旋转90°、180°和270°。通过上述数据增强操作得到了10 万幅训练图像,这些图像在网络训练过程中分批输入,以减少网络计算量及避免局部极值问题。

在训练过程中,损失函数中的权值参数设置为α=0.5、β=1、γ=1,正则化权重设置为λ=10-5,批量大小设置为256,迭代次数设置为200。由于在训练过程中网络采用了可变的学习率,因此初始学习率设定为0.01,每迭代40 次减少1/10。

4.2 实验结果分析

实验采用的测试集为Kodak 公开数据集。Kodak 数据集包含24 幅尺寸为768 像素×512 像素的彩色图像。为定量评价网络性能,采用彩色峰值信噪比(Color Peak Signal to Noise Ratio,CPSNR)[21]和结构相似度(Structural SIMilarity,SSIM)[29]指数作为客观评价指标,通过与不同的去马赛克算法进行比较验证本文算法的有效性。对比算法为最近邻插值算法(NN)[3]、双线性插值算法(Bilinear)[4]、TL[6]、ZHANG’s[13]、ARI[11]、MLRI[10]、RI-GBTF[12]、DCNN[21],其中DCNN 和本文算法均属于基于神经网络的去马赛克算法。使用不同算法对Kodak 测试集中的24 幅图像进行去马赛克处理,得到的CPSNR 与SSIM 指标如表1所示,可以看出本文算法的两项指标相比其他算法有明显的改进,验证了本文算法的有效性。

表1 9 种算法的客观评价指标对比Table 1 Comparison of the objective evaluation indexes by nine algorithms

续表

图6 9 种算法的客观评价指标的箱形图显示结果Fig.6 Box plots display results for the objective evaluation indexes by nine algorithms

图7 给出了随着迭代次数的增加,DCNN 和本文算法的网络损失变化趋势,其中对网络损失值进行了归一化处理,可以看出本文算法在网络收敛速度以及网络损失值的减少程度上均优于DCNN。

图7 DCNN 和本文算法的网络损失变化趋势Fig.7 The trend of the network loss of DCNN and the proposed algorithm

图8和图9给出了对于Kodak数据集中图像4和图像10 分别使用不同算法获得的去马赛克图像,其中,图8(a)和图9(a)为原始图像,图8(b)和图9(b)为放大图像,图8(c)和图9(c)分别是使用NN、Bilinear、TL、ZHANG’s、ARI、MLRI、RI-GBTF、DCNN、文献[14]算法和本文算法的去马赛克图像,图8(d)和图9(d)分别是图8(c)和图9(c)对应的放大图像,图8(e)和图9(e)分别是图8(c)和图9(c)对应的残差图像。由于使用的测试图像存在复杂的纹理信息且容易产生伪影,因此选取某一局部区域进行放大以便于更好地呈现细节信息。另外,图8 和图9 中给出了原始图像与去马赛克图像的差值(残差图像)以便于直观显示各种算法的重构精度。通过对比可以看出,各种算法对于平滑区域均可以较好地实现图像恢复,但是对于非平滑区域,一些传统算法容易出现伪影现象,而本文算法相较对比算法可以更好地抑制图像高频部分的伪影现象,对于图像的一些细小边缘信息可以更好地进行恢复。结合表1可知,本文算法对图像4 与图像10 测试的CPSNR 值分别为43.78 dB 和44.47 dB。文献[14]算法使用了与图像4和图像10相同的测试图像,CPSNR值分别为41.76 dB和43.11 dB。通过对比可以看出,本文算法相较文献[14]算法具有更好的去马赛克效果。综上所述,本文算法能够更有效地抑制伪影现象及恢复图像边缘等高频信息,从而呈现出更好的视觉效果。

图8 针对Kodak 数据集中图像4 采用不同算法得到的去马赛克图像对比结果Fig.8 Comparison results of the demosaicing images from different algorithms for the 4th image in the Kodak database

图9 针对Kodak 数据集中图像10 采用不同算法得到的去马赛克图像对比结果Fig.9 Comparison results of the demosaicing images from different algorithms for the 10th image in the Kodak database

5 结束语

为更有效地重建彩色图像,针对单传感器相机恢复彩色图像的去马赛克问题,本文提出一种基于生成对抗网络的CFA图像去马赛克算法。通过设计GAN 的生成器、鉴别器和网络损失函数增强学习图像高频信息的能力,并结合对抗性损失、像素损失以及特征感知损失改进网络损失函数提升网络整体性能。数值实验结果表明,该算法能有效地减少图像边缘的伪影现象,产生接近真实图像的高质量重建图像。本文研究假设CFA 图像是无噪的,而在现实环境中获得的图像可能会受到噪声的影响,并且在实际应用中CFA 有多种模式,但本文仅使用Bayer模式,由于不同的CFA 模式对重构图像会有不同的影响,因此后续将针对不同的CFA 模式并且结合图像去噪与图像去马赛克处理对网络进行训练与优化,进一步提升网络整体性能。

猜你喜欢
鉴别器马赛克插值
基于多鉴别器生成对抗网络的时间序列生成模型
城中村的马赛克
AI黑科技真的能去马赛克吗
卫星导航信号无模糊抗多径码相关参考波形设计技术*
基于Sinc插值与相关谱的纵横波速度比扫描方法
《马赛克》
赴美留学,这些会被“打马赛克”的东西别带了!
阵列天线DOA跟踪环路鉴别器性能分析
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析