Page 334 - 《软件学报》2021年第11期
P. 334

3660                               Journal of Software  软件学报 Vol.32, No.11, November 2021

                 研究在深度神经网络的支持下日趋完善              [6−8] .SR 以单幅低分辨率图像为输入,输出与之对应的清晰的高分辨率
                 图像.SR 任务有着广泛的应用,例如辅助数码变焦、视频中单帧图像的高分辨率复现、行人身份识别等.如何以
                 低分辨率图像为基础生成清晰稳定的高分辨率图像,一直以来都是研究的热点问题                             [9−13] .
                    早期,大多关于 SR 任务的模型是基于插值方法实现的,其中最具有代表性的是基于稀疏表示的模型                                 [14−16] .
                 这类模型假设任意的自然图像可以由图像字典中的元素稀疏表示,那么模型可以根据图像字典重建高分辨率
                 图像.但是这类方法计算复杂,需要大量计算资源,且此类方法在恢复图像的细节方面表现不佳.随着深度学习
                 的发展,深度神经网络被引入到 SR 任务中.基于神经网络的 SR 任务都是以监督学习的方式实现的,从神经网络
                                                                         [7]
                 的角度出发,需要建立由低分辨率图像到高分辨率图像的像素级别映射 .从统计学的角度看,这个过程可以认
                 为是建立条件概率 p(y|x),其中,x 是输入的低分辨率图像,y 是与之对应的高分辨率图像.通过训练,使神经网络学
                 习到低分辨率图像的统计特征,并据此恢复高分辨率图像,即由训练数据集泛化到测试数据集                                 [8−10] .基于深度神
                 经网络的图像超分辨率重建大致可以分为两个研究方向.
                    •   一部分研究工作着眼于如何构造基于内容的损失函数、并优化神经网络的结构,其中,损失函数往往选
                                                     [8]
                        为均方误差损失或者 L1 范数等变体 ,研究的重点集中于网络模型的设计以及损失函数的优化,例如
                        使用 VGG 网络提取的特征构建基于内容的损失函数,引入 ResNet、DenseNet 以及 RNN 网络优化模
                        型的生成器等     [9,10,13] .为了有效地构建基于内容的损失函数,学者们在 L1 和 L2 范数的基础上,使用训练
                        好的深度神经网络结构提取深度特征,利用该特征判断生成的高分辨率图像与原高分辨率图像之间
                        的差异,并把该差异作为损失函数,训练生成模型                [13] ,常用于 SR 任务中的深度神经网络为 VGG-16.该
                        网络在 ImageNet 数据集上进行训练后,被用于高分辨率图像的特征提取过程,通常把基于 VGG 特征构
                        建的内容损失称为 VGG 重构损失.这部分研究工作的目标是使构建的超分辨率图像在整体上具有更
                        优的评价指标,但是这些超分辨率图像往往在高频细节上的表现不理想                         [11] .
                    •   随着 GAN 的发展    [17−19] ,学者们除了着眼于优化神经网络结构从而构建更有效的生成网络和内容损失
                        之外,另一方面的研究集中于构建损失函数中的正则化项,从而生成高频细节更加丰富的超分辨率图
                        像(尽管这类超分辨率图像在峰值信噪比等指标上表现并不理想,但可以还原丰富的图像细节).在这部
                        分工作中,学者们将 GAN 引入到 SR 任务,使用对抗损失作为辅助损失优化损失函数,从而获得更加清
                        晰锐利的生成图像       [11,12] .然而,由于 GAN 训练的不稳定性,尽管生成的图像总体上更加锐利,但是会导
                        致输入为高分辨率图像时判别器产生的判别信号不稳定,从而导致神经网络生成的部分图像块模糊
                        或出现锐利的噪声块       [11] .本文认为,导致判别信号不稳定的原因有两个.
                        ¾    第一,判别器需要对高分辨率的图像进行处理,并尽可能地通过输出值区分伪造图像和真实图
                             像,当图像的分辨率过高的时候,图像块的细微差距很难反映在一般判别器的输出值上.
                        ¾    第二,目前在 SR 任务中使用的 GAN 损失本身是不稳定的,这种不稳定是由 GAN 的判别器造成
                             的,无论是使用 f 散度的 GAN 还是使用 Wasserstein 距离的 Wasserstein GAN,其判别器都是以概
                             率的形式度量真实数据与生成样本之间的距离.一方面,f 散度难以识别高维空间中低维流形之
                             间的距离,而 Wasserstein 距离中的 Lipschitz 条件也是近似的,它们本身作为判别距离时就存在
                             不稳定性;另一方面,训练判别器的目的是使其对数据和样本之间的微小距离敏感,尽管生成器
                             和判别器之间的 Nash 平衡理论上存在,但对于 SR 任务中使用的生成器而言,其生成的样本受网
                             络参数初始化、正则化、dropout 等技术手段的影响,本身存在一定的波动,尤其是本文所关注的
                             4×SR 任务,由于生成器的层数较多,其波动性也相对较大,而基于概率距离测度的判别器对这种
                             波动性是敏感的.此外,SR 任务中所使用的判别器也没有很好地利用高分辨率图像的有效特征.
                    为了解决上述问题,生成更加锐利的图像,本文在常用的 VGG 重构损失基础上,设计了一个稳定、有效的基
                 于能量的对抗辅助损失.使用能量函数作为判别器取代传统判别器的优势在于,把数据编码为能量的过程考虑
                 了神经网络本身的波动性,且当数据的能量流构建之后,可以使用生成器追踪该能量流.追踪数据能量流的另一
                 个优势在于当能量趋近于 0 时,判别器不再产生额外的梯度,因此基于能量的对抗生成网络是相对稳定的.为了
   329   330   331   332   333   334   335   336   337   338   339