白 皓,白廷柱
(北京理工大学 光电学院,北京 100081)
红外成像技术是根据辐射原理成像而得到红外图像,图像的亮度表征物体表面的温度。由于具有隐蔽性好、全天候、适应雨雾等特殊气象条件等优良特性,因此得到了广泛应用[1-4]。然而受制于红外图像的成像机理、成像系统特性的影响,红外图像通常具有信噪比低、分辨率低和边缘模糊的特点,图像中往往缺少细节,这限制了红外图像的进一步应用。因此,如何提高图像分辨率并增强红外图像中的细节,成为了重要需求。
超分辨率(super resolution,SR)算法[5]是指从同一场景的一个或多个低分辨率观测结果中恢复高分辨率图像的任务。根据输入的低分辨率图像(low resolution,LR)的数量,可以将超分辨率算法(super resolution,SR)分为单图像超分辨率(single-imagesuper-resolution,SISR)和多图像超分辨率(multipleimage-super-resolution,MISR)。与MISR 相比,SISR因其高效而广受欢迎。由于具有高感知质量的HR(high resolution,HR)图像具有更多有价值的细节,因此它被广泛用于许多领域,例如医学成像,卫星成像和安全成像[6-8]。典型的SISR 框架中,LR 图像建模如下:
式中:IHR是对应的是模型输入的原始场景高分辨率图像;Mk表示运动位移矩阵;Dk为降采样矩阵;n表示噪声向量。图像的超分辨率重建就是根据图像的退化模型进行的逆过程。通常低分辨图像可以被认为是降质模型的输出;在超分辨率算法中,研究者们试图从ILR中恢复出高分辨图像ISR尽可能地接近原始的退化前的高分辨图像IHR,过程如公式表示为:
式中:F代表超分辨率重建模型;θ是模型中的参数。但该等式并不是唯一的,因为高分辨图像的退化可能同时受到多个退化因素的影响,图像超分辨率重构过程中也无法确定退化因素的种类,因此该公式的解不是唯一的,即在图像超分辨率重建过程中一个低分辨的输出可能获取多个高分辨的输入。因而超分辨率重构问题也被看作是一个病态问题。
传统SISR 的算法主要分为3 类:基于插值的超分辨率方法、基于重构的超分辨率方法和基于学习的超分辨率方法。基于插值的超分辨率方法原理简单,其重构效果不是很好,在超分辨率领域应用有限。基于重构的超分辨率方法是从输入图像中提取所有有用信息,整个超分辨率过程等于信息提取和信息融合过程,以输入图像先验知识和全局重构限制作为正则项,构建代价函数求解逆运算,此方法能保持清晰的图像边缘,但不能有效恢复纹理细节信息。基于学习的超分辨率技术是借助机器学习知识,以大量的训练图像学习先验模型,用学习过程中获得的知识对低分辨率图像中丢失的高频细节信息进行预测和补充,它能生成丰富的高频细节部分和纹理信息,但难以控制伪像失真。
随着深度学习的发展,基于深度学习[8]的SISR 算法显示出优于其他基于学习的方法的性能。SRCNN[9]是第一种使用深度学习方法的超分辨率算法,该方法表现出远超传统方法的学习能力,但该算法是先将图像进行上采样而后再利用卷积层进行学习,因而其结果中可能会出现将噪声和有价值信号同时放大的情况,影响重构结果的信噪比。VDSR(very deep super resolution)[10]是SISR 算法中第一种深层网络,该网络由20 层VGG 组成,通过学习插值结果和高分图像之间的残差,以代替原来的直接映射。SRGAN(semi-supervised learning with generative adversarial networks)[11]将GAN 网络应用超分辨网络,构建一个具有感知损失的更深层网络的生成对抗网络以构造逼真的超分图像。
EDSR(enhanced deep residual networks)[12]在ResNet[13]基础上设计了一种新的模块,扩大模型的尺寸来提升结果质量。ESPCN(efficient sub-pixel convolutional neural network)[14]使用亚像素上采样的方法对图像进行快速的超分辨率重建,仅在最后阶段将低分辨率图像放大为高分辨率图像,是一种高效、快速的像素重排列的超分辨率算法。
上述方法对SISR 表现出良好的效果,但应用于红外图像时仍需改进:
一方面,卷积层提取特征时会很好地保留低频信息,高频信息会作为冗余信息舍弃,进而在重构图像中造成细节缺失,由于红外图像中信息量少相比可见光图像影响更大;另一方面,大多数的SISR 中的网络模块对其他层的特征利用较少,无法避免卷积层在使用过程中的信息损失。
根据以上分析,本文针对红外图像特点提出深度残差神经网络的超分辨率重构算法,结合密集网络、残差结构以及亚像素上采样等结构优点,得到高质量红外重构图像,为后续的语义分割、目标识别等创造条件。
基于深度学习的超分辨率模型专注于研究低分辨率图像与原始高分辨率图像之间的差异,虽然网络模型之间差异巨大,但本质上是一些模块的组合,比如模型框架、上采样方法等。因此,我们可以根据特定用途将这些模块集成起来构造出一个超分辨率模型。本文设计的深度卷积残差网络结构由残差单元构成深度残差强化模块,上采样部分我们使用亚像素上采样层。
红外图像信息量少,分辨率低,网络需要学习到足够的图像中的信息才能保证重构图像质量。即使是网络中少量信息损失都可能会影响最终的重构图像质量。对于超分辨率算法来说,网络深度增加意味着网络会损失更多的高频细节,在重构图像中图像细节会有相应的损失。在语义分割、目标识别等高级图像任务中,ResNet 被用来解决卷积神经网络深度加深时会产生梯度爆炸的现象,但由于图像超分辨率任务是图像到图像的映射任务,仅需研究输入图像与目标图像高度相关仅学习它们之间的差异即可,一些模块在超分辨率任务中并不是必要的,因而不能直接套用到超分辨这种低级视觉问题上。比如BN 层主要应用于输入图像的数据分布和输出数据的分布不一致的情况。对于超分辨率任务来说,输入和输出的数据分布非常接近。因此一些研究保留了ResNet 的跳线结构并去掉了BN 层,有效地降低了网络的计算量。如图1所示,EDSR 提出的这个残差块(residual block)没有应用池化层和批量归一化(batch normalization,BN)层,去掉后的网络就可以堆叠更多的网络层或者使每层提取更多的特征,从而得到更好的性能表现。由于大多数的残差区域接近零,模型的复杂性和学习难度大大降低。而跳线连接方式的保留本身就可以减轻由于网络深度不断增加而导致的降级问题,减少训练难度并提高学习能力。
图1 几种残差学习模块结构对比Fig.1 Comparison of the several residual learning modules
针对红外图像中信息量少的特点,我们改变原有ResNet 中的激活函数。ReLU(可以按公式(3)计算)保留了阶跃函数的生物启发(即只有当输入超过阈值时神经元才会被激活),允许基于梯度的学习(尽管在x=0 时,导数未定义)。因为函数及其导数都不包含复杂的数学运算,所以此函数计算过程非常快。但是当输入小于零或梯度为零时,其权重无法更新,此时ReLU 的学习速度会变慢,甚至可能使神经元直接失效。Leaky ReLU 函数(Leaky Rectified Linear Unit,LeakyReLU)(可按公式(4)计算)是经典ReLU 激活函数的变体。其中a 需人工设置,一般为0.01 或0.001数量级的较小正数。当输入为负时,这个函数的输出仍然有一个小的斜率。当导数非零时,可以减少沉默神经元的出现,允许基于梯度的学习(虽然会很慢),从而解决ReLU 函数进入负区间后神经元不学习的问题。与ReLU 相比,LeakyReLU 具有更大的激活范围。
红外探测器相比可见光探测器像元数量少,获取的红外图像的分辨率低,为便于显示多采用插值法以提高图像分辨率。一般插值法是通过目标函数在若干点的函数值或者导数值附近构造一个与目标函数相近似的低次插值多项式。该方法增加了图像的美观性,但在某种程度上丧失了部分数据的真实性,没有考虑到原有像素间的分布特点,仅能针对局部小区域进行运算并且运算量巨大,在某种程度上丧失了部分数据的真实性,因而在重构图像中可能会出现纹理条纹或者局部模糊甚至对求梯度优化有害。
亚像素上采样层又称像素混合层(pixel-shuffle layer)不同于基于插值的上采样方法,该层的插值函数隐含在前一个卷积层中,可以自动学习。在本文中,亚像素层可以表示为:
其中PS 代表亚像素上采样运算,WL代表卷积操作。
式中:mod()表示在最后一层的前一层进行的卷积操作;s是比例因子。
亚像素上采样层是一个端到端的上采样层,执行上采样通过卷积产生多个通道然后重塑它们。在这一层中,假设输入尺寸为h×w×c,则输出尺寸为h×w×s2。之后,进行变形操作以产生大小sh×sw×c输出。这里的卷积操作是在低分辨率图像,因而亚像素上采样的效率将高于双三次上采样和反卷积。使用这种端到端的上采样方式得到的子像素层提供更多的上下文信息以帮助生成更多现实的细节。然而,因为构造亚像素点时利用的信息来源于同一卷积层,其感受野的大小是相同的,实现了相互独立的块状区域预测。但由于构造过程缺少全局信息,独立预测块状区域中的相邻像素可能会导致输出不平滑。
在超分辨率重构过程中的信息损失可以分为两部分:一部分源于卷积层在进行卷积操作时造成的中心区域外的信息损失;另一部分是在超分辨率重构过程中,高频信息被作为冗余信息舍弃。在前文设计的深度残差模块可避免卷积层使用过程中的信息损失,可通过堆叠该模块增加网络深度。但是,模块仅能利用这个模块内部信息,其他模块的信息无法充分利用。并且结构中缺少对于低分辨率图像中信息的利用。
在本文中,我们构建了深度密集残差结构。结构中包含6 个改进的残差块,每个残差块用以提取局部特征。为了充分利用每个模块提取的信息,每个残差块的输出可以递进地传递到下一个残差块的各层并与那一层的特征进行融合,从而保证特征信息连续传递。这种局部特征融合策略通过自适应地保存信息来提取局部密集特征,在实现密集网络的同时用于解决梯度消失问题,有效地保证了网络对于红外图像的学习能力。
在提取多层局部密集特征后,我们进一步进行全局特征融合以传输全局上下文特征,作为对重建图像的指导。通过连接输入和输出图像将全局特征传输到亚像素上采样层(即pixel-shuffle layer),实现对于全局残差特征的利用。如图2所示,亚像素上采样层可以直接访问原始的低分辨率输入,避免由于卷积层大量使用造成的局部上下文信息缺失引起的重建错误。局部特征融合和全局特征融合也可以起到减少高频信息损失的作用。
图2 密集特征传递连接设计Fig.2 Dense feature transfer connection
在网络中,我们选用L2 loss(即最小化误差)作为网络的损失函数。该函数是真实值和预测值之间所有平方差的总和,公式如(7)所示:
式中:ytrue代表真实值;ypredicted代表预测值。
实验中我们使用中国科技大学提出的地/空背景下红外图像弱小飞机目标检测跟踪数据集[15]。红外数据集中每个红外数据段的原始数据为视频格式,为了后续数据加工的方便,在数据预处理阶段将每个数据段的视频格式数据转换为8 bit 位深的Windows 位图格式的多文件的图像序列。图像分辨率为10~100 m。
测试集中我们使用了中波红外热像仪提取的图像,该热像仪能见度为8 km,视场角为17°×13°,图像原始分辨率为768×564。
我们使用来自NVIDIA 1080Ti GPU 的随机样本训练所有网络,为了优化,我们使用b=0.9、且学习率为10-4的ADAM。由于GPU 内存限制,我们调整了数据集中图像的大小,我们将图像裁剪为512×512像素,这可以保证网络有足够的数据,防止模型过拟合,提高其鲁棒性。测试图像尺寸为256×256 像素。为客观公平进行比较,所有基于深度学习模型的超分辨率算法都采用相同的训练集进行训练。
为了模拟低分辨率图像,我们首先按比例因子图像进行下采样,将对应的图像大小改为原来的1/比例因子,作为超分辨率网络的输入。我们设置的比例因子为2、3 和4。实验中使用PSNR 和SSIM 作为客观评价标准。
PSNR 的定义可以表示为:
式中:n是每个像素的位数;X是原始图像;Y是超分辨图像。H和W是图像的宽度和高度。
SSIM 值的公式为:
式中:μx是图像x的平均值;μy是图像y的平均值;σx2是x的方差;σy2是y的方差;σxy是x和y的协方差。c1=(k1L)2和c2=(k2L)2是维持稳定的函数;L是像素值动态范围,k1=0.01,k2=0.03。
在对比实验中,采用了3 种经典的基于深度学习的超分辨率算法与本文算法进行定性定量比较:EDSR(enhanced deep-networks for super-resolution),超分卷积神经网络(super-resolution convolutional neural network,SRCNN),ESPCN(efficient sub-pixel convolutional neural network)。本文同时选择了常用的双线性插值法(Bicubic)作为实验结果中主观评价的结果之一。为客观公平进行比较,所有基于深度学习模型的超分辨率算法都采用相同的训练集进行训练。
对比的实验结果分别列在表1~2 以及图3~4中。从表1 和表2 的结果来看,本文设计的超分辨率方法在所有尺度因子下均获得较高的PSNR 与SSIM。实验结果表明,本文提出的方法在PSNR 和SSIM 等客观评价指标上优于其他算法。相比于其他几种算法,本文设计的深度残差神经网络的重构红外图像效果明显优于其他几种算法,图像更加自然,与原图像相比改善了部分区域的纹理细节,实现了高质量的红外图像重构。
表1 使用4 种方法对红外图像的PSNR 与SSIM 评价结果1Table1 PSNR evaluation results of infrared images using four methods
表2 使用4 种方法对红外图像的PSNR 与SSIM 评价结果2Table 2 PSNR evaluation results of infrared images using four methods
图3 红外图像的超分辨率重构图像对比1Fig.3 Super-resolution reconstruction image comparison of infrared images 1
从表1 和表2 可以看出,本文算法的SSIM 值与ESPCN 的SSIM 值非常接近,PSNR 值提升相对较多。这表明本文设计的算法在增加网络深度的同时并没有造成超分辨率重构结果质量的降低。与EDSR 算法的对比表明,本文提出的算法在SSIM 和PSNR 值上有所提高,这表明本文设计的密集网络结构中关于局部特征融合和全局特征融合的设计可以有效地改善重构图像质量。
在图3 和图4 中可以看出,所有算法的重建质量相比双线性插值有一定的提升,对于具有明显边界的区域够得到清晰的纹理。所有算法的重建质量相比双线性插值有一定的提升,对于具有明显边界的区域能够得到清晰的纹理。
图4 红外图像的超分辨率重构图像对比2Fig.4 Super-resolution reconstruction image comparison of infrared images 2
在图3 中,图3(b)为双线性上采样方法,重建图像中部分匀质区域过于平滑,缺少细节真实感。图3(c)是SRCNN 的结果,由于网络只有3 层,学习能力有限,图像中出现大量虚假纹理信息,在均匀区域容易出现伪影;图3(d)是EDSR 的结果,该网络堆叠更多的残差模块以提高网络学习能力,因此重构结果明显优于SRCNN,但是网络缺少对于其他层信息的利用,图像中出现大量纹理条纹;图3(e)中的ESPCN 算法采用了亚像素上采样层,其效果与EDSR 近似,但相比EDSR 层数较少,图像中的景物轮廓不够清晰,白点的无人机轮廓也并不清晰;图3(f)是本文设计的方法,图像细节明显,尤其是林地、草地等具有不规则形状的区域重建效果较好。图4 中可以看出,本文提出的网络对复杂的杂乱纹理的重建效果较好,尤其是草地上的杂乱区域的重构图像比较清晰,细节丰富。
得益于深度残差模块的使用以及亚像素上采样模块的引入,本文所提出的模型可以获得更加理想的高分辨图像,解决了不规则纹理的模糊问题。尤其是通过采用密集特征连接结构,该网络可以有效地加深网络结构,提高网络的学习能力。这表明我们提出的方法在提取信息和高频信息保留方面效果较好。
针对红外图像特点,本文提出了一种基于深度残差神经网络的超分辨率重构算法。该模型利用改进的残差模块有效地增加了网络深度,提高了网络的学习能力,通过使用密集特征连接提高了网络对高频信息的利用,并有效地增加了对于网络结构中不同层的信息利用。仿真实验结果表明本文模型能够生成具有丰富细节并且目标轮廓边界清晰的图像,有效地补充了原图中的细节。总体来看,本文中设计的算法在保持较高精度的同时,还可以很好地处理目标的尺度变化和目标周围的环境,说明算法中加入的密集网络结构、深度残差强化模块等发挥了良好的作用。