赵 耀,葛小三,金满库
(1.山西省测绘地理信息院,山西太原 030001;2.河南理工大学测绘与国土信息工程学院,河南焦作 454003)
遥感影像快速发展,在检测、分类、估产等方面应用广泛。超分辨率重建(SR)是通过算法来提高图像分辨率,将低分辨率影像恢复高分辨率[1],近年来逐渐受到一些学者的关注。当前SR 方法主要有基于重构、插值和机器学习。基于重构方法是通过插值核对采样点灰度进行插值,以获得接近高分辨率的放大效果。基于插值方法通过建立低分辨率与高分辨率图像转换模型,求解模型参数得到高分辨率图像。这两类方法在遥感影像应用中因成像过程中退化因素复杂,模型难以全面考虑。
近年来数据驱动下深度学习的方法为遥感数据处理提供了新途径。2014 年,Dong 等将卷积神经网络(Convolutional Neural Network,CNN)应用于超分辨率重建[2],建立三层卷积层网络,直接学习低分辨率与高分辨率图像之间的端对端的映射,相较于传统方法,在视觉效果和重建质量上都有了较大提高。由于网络层次太浅,在处理高分辨率影像时会丢失其纹理细节信息。针对上述不足,KIM 等提出了加入深层网络的深度残差网络,并将网络深度增加至52 层改进,使用网络权值共享块,使网络得到一定提升[3]。以上相较于传统模型虽然都有一定提升,但还无法达到令人满意的效果。
2016 年Ledig 等将对抗网络引入超分辨率重建技术,提出了超分辨率生成对抗网(SRGAN),解决了图像高频细节缺失问题[4]。本文针对SRGAN伪影问题,引入密集残差块增大网络容量处理细节,去除批量归一化(BN)层,减少细节过度平滑,使用l1损失函数减少损失惩罚,改善伪影。实验结果表明:本文模型更适合遥感影像重建。
超分辨率重建生成式对抗网络模型基本原理是将1 张低分辨率图像送入生成网络生成伪高分辨率图像,再将伪高分辨率图像送入鉴别网络,鉴别网络判断伪高分辨率图像的真伪并与真实的高分辨率图像进行对比,得到伪高分辨率图像与真实高分辨率图像的损失(Gloss)和伪高分辨率图像与真实高分辨率图像的真实损失(Dloss),再将Gloss和Dloss 分别送入生成网络和鉴别网络。以此反复迭代训练生成网络和鉴别网络,直至达到纳什均衡,进而获得生成高分辨率图像。模型整体结构如图1 所示。
图1 超分辨率重建生成式对抗网络模型结构
生成网络部分由多个残差块和两个亚像素卷积层组成,每个残差块中包含2 个3×3 的卷积层,卷积层后加上批量归一化层并且令ReLU 作为激活函数。由于改进前生成模型在高频细节上表现并不理想,本文将基本残差块替换为密集残差块,可使网络能够进行更深层次的训练,得到更加理想的训练效果。同时,通过去除批量归一化层以减少高频细节的平滑。因此,去除基本残差块中的BN 层,以达到在降低GPU 内存占有率的同时生成更加真实高清的真实细节的效果,使其在训练样本有限的情况下仍具有较好的重建性能。模型中密集残差块结构如图2 所示。
图2 密集残差块结构
不同于传统框架中L 层连接层仅有L 个连接,密集残差网络增加连接数至L(L+1)/2 层,使特征可以传到后面所有连接层中,让网络容量变得更高。引入密集残差块能够确保网络层之间流动性最大,这种密集连接模式需要的参数比传统卷积网络少,不需要重新学习冗余的特征映射。改进后的生成模型如图3 所示。
图3 改进后的生成模型
采用类似SRGAN 的判别模型,分为3 部分,具体结构如图4 所示。第1 部分由1 个卷积块和1个Leaky ReLU 激活函数组成,第2 部分为1 个基本模块,每1 个基本模块由1 个卷积块、1 个Leaky ReLU 激活函数和1 个BN 层组成。第1 部分由1个维度为1024 的全连接层后接1 个Leaky ReLU激活函数组成,以获得分类概率。模型选择Leaky ReLU 作为激活函数,在负值数保留效果方面比ReLU 激活函数要好,同时网络在激活函数后添加BN 层来增强泛化能力,以避免梯度消失。
本文使用正则化损失和感知损失相结合的混合损失函数,平滑生成图像。混合损失函数如式(1)所示:
式中:lx为内容损失;ltv为正则化损失函数;lx和lgen合称为感知损失函数;lSRGen为生成对抗损失。
1)内容损失
SRGAN 中lx为lmse,其中W、H为网络映射尺寸;r为给定的参数权重,如式(2)所示:
l1损失函数也被称为最小绝对值偏差,属于最原始的损失函数,它是参考图像(IH)x,y与重建影像GθG的绝对值的总和的最小化。我们将lmse损失函数改为l1损失函数,如式(3)所示:
lmse损失函数便于梯度下降,与l1损失函数相比可以获得较高的PSNR,但是受异常数据值的影响较大,往往会缺失生成的高分辨率图像的高频细节,导致重建结果中存在伪影的问题。我们选择传统的l1损失函数,以达到更好处理数据中的异常值的效果,使较大的误差不会因被平方过于放大而导致过大的惩罚。
2)生成对抗损失
生成对抗损失函数如式(4)所示,DθD(GθG(ILR))为重建图像GθG(ILR) 自然HR 图像的估计概率,因此我们将- logDθD(GθG(ILR)) 最小化,也就是最大化判别器给予生成器所生成的图像为真的概率。
3)正则化损失函数
在图像重建时,采用l1损失函数可以降低外部噪声的影响,但图像自带的噪声会对重建结果有很大影响。为了保证图片光滑完整性,需要将一个正则项添加到这个最优化模型中来,其中TVloss是通常会使用的一个正则项。本文使用的正则化损失计算式如式(5)所示:
为了验证本文算法的有效性和适用性,本实验的训练集采用DIV2K 数据集。训练时生成模型和判别模型初始权重设置使用均值为0,方差为0.01的随机数值。最小批处理设置为16。初始学习率设置为2×10-4,初始衰减率设置为0.5,学习率下降周期为27 个epoch,当学习率低于2×10-5时停止训练。无人机遥感数据测试集具有复杂度高、分辨率高的特点,更加符合遥感影像现代发展特点。为表现本文算法的优越性,本实验采用buildings 数据集和airplane 数据集以及一个无人机遥感数据集作为测试集。在这3 个数据集上横向比较了Bicubic 算法(双三次插值法)、SRCNN 算法和SRGAN 算法,并比较实验结果。实验环境采用GPU 为NVIDIA GeForce GTX1650,内存为16 GB,Win10 操作系统的电脑。
本实验分为主观和客观两方面,在不同遥感数据集中对不同模型进行横向对比,表现网络的超分辨率重建算法的性能。首先,通过对比峰值信噪比(Peak Signal to Noise Ratio,PSNR)和结构相似性(Structural Similarity,SSIM)的值来表现网络的超分辨率能力[5]。PSNR 计算公式如式(6)、式(7)所示,两个m×n单色图像I和K的均方差定义为:
SSIM 是一种基于亮度、对比度、结构相似度信息对比重建后的超分辨率图像与真实高分辨率图像的相似程度的方法。SSIM 的值与影像主观感知关联性较强。计算公式如式(8)所示:
式中:l(x,y) 为亮度比较;c(x,y) 为对比度比较;s(x,y) 为结构比较。
2.2.1 客观评价结果及分析
客观评价结果及分析由表1 可以看出:在同样的样本数据测评下,本文模型在各个数据集的4 倍重建效果相比较于SRGAN 算法和Bicubic 算法均为最佳,相较于SRCNN 算法部分数据集中的PSNR 值较低。本文方法在3 个数据集上相对于SRGAN 算法,PSNR 和SSIM 的值平均提高0.24 dB与0.011 2。在自制遥感数据集中表现最佳,相比于SRGAN 算法,PSNR 和SSIM 的值分别提高了0.45 dB 和0.018 7 并达到所有模型最佳。
表1 在3 种数据集上各种算法的PSNR 值与SSIM 值对比
2.2.2 主观评价结果及分析
为表现本文模型的优越性和普适性,分别在无人机遥感数据集和airplane 数据集上各取1 张影像进行超分辨率重建。对影像部分细节进行放大,直观地对超分辨率重建效果进行对比。本文使用MATLAB 上的双三次核函数进行4 倍下采样得到低分辨率影像(LR)进行测试。
各算法在放大倍数为4 时对遥感影像进行重建,能够直观地评估各算法的重建效果,如图5、图6 所示。图5 将重建后的无人机遥感影像部分区域放大(方框已标出)对比细节。可以看出:采用Bicubic 模型和采用SRCNN 模型在复杂且细节多的遥感影像上重建效果较差,且影像模糊,而SRGAN模型较为清晰。相较于本文模型,本模型重建后的影像分辨率更高,且微小细节更为明显、视觉效果更好。为了进一步展示本模型的优越性,图6 将airplane 影像部分区域放大(红方框已标出)再次对比细节。可以清楚看出:虽然在buildings 数据集和airplane 数据集中,本文模型的PSNR 值均低于SRCNN 模型,但本文视觉效果要好于SRCNN 模型。Bicubic 算法和SRCNN 算法中右机翼中线条比较模糊,SRGAN 算法中线条比较清晰但存在过拟合并伴有伪影产生。在airplane 数据集中尽管各项数值并未达到最优,但在图6 中可以看出:本文模型极大地改善了伪影问题,轮廓细节恢复得更接近原始影像,相较于其他算法在细节处理方面本文算法达到最优。
图5 不同方法在无人机遥感图像上的重建结果
针对SRGAN 超分辨率重建影像存在伪影、重建效果不理想等问题,本文在SRGAN 算法的基础上引入密集残差块,加深了网络结构的训练,使重建影像的分辨率更高,实验结果表明:网络达到了更深层次的训练,改善了重建影像存在伪影问题,提高图像重建效果并缓解了过拟合等现象。在3个数据集上相对于SRGAN 算法,PSNR 和SSIM 的值平均提高了0.21 dB 与0.011 2。但随着网络层次的加深,训练量也随之增大。下一步将继续研究使用更加紧凑的算法优化结构,在保证超分辨率重建效果的同时,降低网络计算量。