基于改进SRResNet深度学习网络的低照度图像超分辨率重建方法

2022-11-04 07:11卢冰李灿林冯薛龙宋顺王华
科学技术与工程 2022年27期
关键词:照度亮度分辨率

卢冰, 李灿林, 冯薛龙, 宋顺, 王华

(郑州轻工业大学计算机与通信工程学院, 郑州 450000)

清晰的高分辨率图像能够为人们提供更多的信息,但在实际情况中,受到图像信息采集设备、采集环境、网络环境、图像退化模型等因素的影响,人们往往无法直接方便地获得画面清晰的、明亮的、理想的高分辨率图像,尤其在环境照度不足的低照度场景下更是如此[1]。图像超分辨率重建是指将给定的低分辨率图像通过特定算法恢复重建为高分辨率图像,并使图像的细节信息更加清晰完整的过程。图像超分辨率重建在许多领域都有着十分重要的应用价值[2-6]。例如,在医学领域中有时需要将低分辨率的B超、X射线衍射等图像重建为清晰的高分辨率图像,以便更好地协助医生诊断病情。对阴雨天甚至极端天气情况下采集的低分辨率监控影像进行超分辨率重建,能够给公共安防等领域提供更多有效的关键信息。而夜间、水下、矿井等特殊环境下采集到的低分辨率图像具有画面模糊、亮度低、细节丢失等问题,通过高分辨率重建,可以帮助值班人员更早发现环境中存在的问题与危险。

图像超分辨率重建方法可以简单地划分为传统方法和基于深度学习的方法两种。传统方法以最近邻插值法(nearest neighbor interpolation,NNI)、双线性插值法(bilinear interpolation,BLI)、双立方插值法(bicubic interpolation,BCI)等基于插值的超分辨率重建方法为代表,基于插值的算法计算效率高,但重建时的效果不佳。传统方法中也有基于邻域嵌入[3,7]、稀疏表示[5-6]和锚定邻域回归[8-9]等操作的一些其他重建方法。而基于深度学习的图像超分辨率重建方法随着卷积神经网络(convolutional neural network,CNN)等人工智能技术在图像处理领域的深入应用而兴起。该类方法通过将高分辨率图像和低分辨率图像分别切割为子图像块集合,学习大量的图像块对,来模拟形成低分辨率图像和高分辨率图像之间的映射关系,然后将输入的低分辨率图像映射为高分辨率图像。这些方法主要包含有首次将卷积神经网络引入图像超分辨率重建算法的SRCNN(super-resolution convolutional neural network)方法[10],增加反卷积层的FSRCNN(fast super-resolution by CNN)方法[11],采用亚像素卷积的ESPCN(efficient sub-pixel convolutional neural network)方法[12],网络结构极度加深的VDSR(very deep super-resolution)方法[13],引入递归神经网络的DRCN(deeply-recursive convolutional network)方法[14],引入深度残差网络的SRResNet方法[15],其中以SRCNN方法、SRResNet方法最具代表性。

低照度图像具有对比度低、颜色偏暗、画面模糊、有明显噪声等特征。现有的以上图像超分辨率重建方法大多适用于正常环境光照下图像的超分辨率重建,但这些方法用于处理低照度图像时效果普遍不佳。虽然也能够提高图像分辨率,但重建后的图像画面亮度依旧较低、暗部细节难以有效捕捉。而目前针对低照度图像的超分辨率重建方法研究甚少。Han等[16]针对低光环境下的近红外图像的放大,提出了一种基于卷积神经网络(CNN)的超分辨率算法。Honda等[17]提出了一种在低光环境下拍摄的基于多帧的低分辨率彩色图像的超分辨率方法,但这两种方法分别针对近红外图像和多帧处理情形,也都各有局限性。

针对单帧低照度彩色图像的超分辨率重建进行研究,采用目前主流的基于深度学习的超分辨率重建思想,提出一种基于改进超分辨率残差网络(super-resolution residual networks,SRResNet)深度学习网络的低照度图像超分辨率重建方法。通过将读取的图像下采样、亮度降低等处理生成低照度低分辨率图像,并将该图像与高分辨率图像作为数据对输入学习模型,以便改进SRResNet的训练数据对的生成方式,优化训练过程,从而构建面向单帧低照度彩色图像的基于改进SRResNet的超分辨率重建方法。

1 SRResNet深度学习模型

在基于深度学习的超分辨率重建研究中,加深网络结构模型能够得到更高质量的重建结果。但随着模型层数的逐渐加深,模型越来越不能很好地收敛,往往无法得到期望的结果。深度残差网络(residual networks,ResNet)在卷积神经网络中加入了残差学习模块,有效地解决了深层网络中的精度下降和梯度弥散问题,既能够大幅加深网络层数,又能够保证精度。深度残差网络将每层学习的映射关系定义为

H(x)=F(x)+x

(1)

式(1)中:x为原始输入图像;H(x)为其期望的预测值;F(x)为残差函数。也就是在每层的结束加上原始输入,随着层数不断加深,F(x)就会趋向于0或者一个相对较小的值。在这种情况下,即使层数不断加深,训练误差依旧会被控制在一个较小的范围内,整个模型在训练时就不容易发散。

SRResNet深度学习模型是一种以SRCNN为基础,加入残差学习网络结构,构建出的用于图像超分辨率重建的网络结构,原理如图1所示[15]。SRResNet模型以低分辨率图像为输入,输出重建后的高分辨率图像。模型主体包含5个残差模块,每个残差模块中包含2个卷积层、2个BN(batch normalization)层和1个PreLU(parametric rectified linear unit)激活函数。2个子像素卷积层用于增大特征图大小。除了作为主体的深度残差模块和用于放大的子像素卷积模块以外,在整个模型的开始和结尾部分分别添加了一个卷积层,用于数据调整和增强。BN层是深度学习中非常重要的一环,可以大大增加训练速度,防止过度拟合。

k为卷积核大小,n为输出通道数,s为步长图1 SRResNet网络结构Fig.1 SRResNet network structure

2 基于改进SRResNet训练的低照度图像超分辨率重建方法

为了能够在重建低照度图像后获得清晰而明亮的图像,通过改进SRResNet的训练数据对的生成方式,优化生成和训练过程,以便提升低照度环境下的图像超分辨率重建效果。

2.1 面向SRResNet训练对的改进生成

对于训练数据对的生成方法,首先从训练集中读取一张图像,然后判断图像的分辨率大小,若图像尺寸小于96×96,则会根据放大倍率将整个图像进行下采样,生成低分辨率(low resolution,LR)图像;若图像尺寸大于96×96,则从图像的随机位置裁剪一块96×96的子图像块作为高分辨率(high resolution,HR)图像,然后根据放大倍率对子图像块进行下采样,生成低分辨率图像。

进一步,为适应低照度图像的超分辨率重建,将下采样后生成的低分辨率图像进行随机亮度下降(下降幅度为原亮度的30%~70%),用于模拟低照度环境,使低分辨率图像转换为低照度低分辨率图像,改进SRResNet的训练对的生成过程,将高分辨率图像和低照度低分辨率图像作为一组数据对,输入模型进行训练,学习高分辨率图像与低照度低分辨率图像之间的非线性映射关系,由此训练出来的网络模型的重建图像将比原图像亮度提高,暗部细节也能够更加清晰。

以上面向SRResNet的训练对改进生成的流程如图2所示。

针对低照度图像的超分辨率重建,面向SRResNet的训练对改进生成能获得如下3个方面的明显效果。

(1)重建后的图像暗部细节亮度提升明显,暗部细节更加清晰。

(2)图像亮部(比如夜间拍摄的灯箱等高光物体)的亮度不会提升太多,防止过度曝光的问题,同时亮部细节不会丢失过多。

(3)超分辨率图像重建训练集仍可用于本文的面向低照度图像的超分辨率重建的学习网络训练。

2.2 本文训练和重建方法主要流程

基于改进SRResNet的低照度图像超分辨率重建方法的主要流程如下。

(1)读取训练集,根据上节的方法,对训练集图像做预处理,改进生成训练图像对。

(2)使用训练图像对训练SRResNet学习网络。

(3)将训练好的网络模型存储到文件。

(4)加载已训练的网络模型,对低照度低分辨率图像进行超分辨率重建。

本文方法的基本训练过程和重建过程如图3所示。

图2 面向SRResNet的训练对改进生成Fig.2 SRResNet oriented training pair optimization generation

图3 本文学习训练过程和超分辨率图像重建过程Fig.3 Learning and training process and super-resolution image reconstruction process of the proposed method

3 实验设计

为合理评价本文方法, 选取有代表性的BLI、BCI、SRCNN、SRResNet方法与本文方法进行对比,比较它们在相同放大倍数条件下的面向低照度图像的超分辨率重建的重建效果与运行速度,其中SRCNN、SRResNet与本文方法采用同一训练集进行学习网络训练。

3.1 实验环境

本文所有实验均在以下环境进行。

(1)硬件环境:CPU为Intel(R) Core(TM) i5-7400,主频为3.00 GHz,RAM为8.00 GB,GPU为NVIDIA GeForce GTX 1050 Ti。

(2)软件环境:Windows 10 专业版、Visual Studio Code 1.56.2、Python 3.9.5、Pytorch 1.8.1、tensorflow 2.5.0rc3。

3.2 数据集

将选自COCO2014数据集的1 008张图片作为SRCNN、SRResNet和改进的SRResNet学习网络的训练集。为保证训练量的一致,将SRCNN、SRResNet、本文方法的训练图像对生成过程统一为:从每张原图像中裁剪一个子图像块。

重建测试实验选用了图像超分辨率重建算法常用的5个数据集Set5、Set14、BSD100、URban100、Sunhay80作为测试集,分别如图4~图8所示。

图4 Set5数据集Fig.4 Set5 dataset

(1)Set5:由5张人物、动物图像组成,图像分辨率大约是280×280。

(2)Set14:由14张人物、动物、漫画图像组成,图像分辨率大约是300×300。

(3)BSD100:由100张生活中常见的物体图像组成,图像分辨率大约是481×321。

图5 Set14数据集部分图片Fig.5 Some images of Set14 dataset

图6 BSD100数据集部分图片Fig.6 Some images of BSD100 dataset

图7 Urban100数据集部分图片Fig.7 Some images of Urban100 dataset

图8 SunHays80数据集部分图片Fig.8 Some images of SunHays80 dataset

(4)Urban100:由100张边缘清晰的建筑图像组成,图像分辨率大约是1 024×1 024。

(5)SunHays80:由80张边缘信息复杂的风景照片组成,图像分辨率大约是1 024×768。

3.3 实验方法

为验证本文方法的效果,实验具体过程如下。

(1)使用相同训练集(1 008张图片)和训练量,针对SRCNN、SRResNet和本文改进的SRResNet学习网络,进行4倍放大训练。

(2)将Set5、Set14、BSD100、URban100、Sunhay80五个图片测试集作为原图,对原图进行4倍下采样,再分别按比例将其亮度分别下降至原图的70%~30%,生成低照度低分辨率图像。

(3) 将生成的低照度低分辨率图像作为输入,分别输入各训练好的模型,进行超分辨率重建,并对重建结果进行图像视觉效果等主观比较评价,以及各测试图像集上的平均峰值信噪比(peak signal to noise ratio,PSNR)、平均结构相似性(structural similarity,SSIM)、平均运行时间方面的客观比较评价。

3.4 评价指标

PSNR和SSIM是图像超分辨率重建算法的常用评价指标,分别介绍如下。

(1)PSNR。PSNR是一种评价图像超分辨率重建效果的客观有效指标。PSNR的取值范围为0~100,PSNR指标越大,表示图像重建效果越好,其数学计算公式为

(2)

式(2)中:MAXI为表示图像点颜色的最大数值;MSE为均方误差。PSNR也存在着一定的局限性,其计算结果无法和人眼观察到的视觉感受效果完全相同,这主要是因为人的视觉感受系统对于误差的感知并不是绝对的,感知结果往往会受到多种因素的影响,从而可能发生较大的变化。

(2)SSIM。SSIM是一种衡量两幅图像相似程度的指标,同样也是评价图像超分辨率重建效果的客观有效指标。对于给定的两幅图像x和y,结构相似性SSIM计算公式为

(3)

式(3)中:μ为图像x和y的平均值;σ2为方差;σxy为和的协方差;c1和c2为用来维持稳定的常数,其定义分别为

c1=(k1L)2

(4)

c2=(k2L)2

(5)

式中:L为像素值的动态范围,一般都取为255;k1=0.01,k2=0.03。结构相似性指标的取值范围为-1~1,数值越大代表重建效果越好,当两幅图像完全一样时,SSIM指标就等于1。

4 实验结果与分析

根据第3节的实验方法,本节按照不同亮度环境来展示与分析实验结果,以便验证本文提出的基于改进SRResNet深度学习网络的低照度图像超分辨率重建方法。对于5个测试集上的图像重建效果的主观视觉比较而言,由于本文版面空间的限制,本文只对其中具有代表性的两幅图(蝴蝶、人脸)在不同重建方法、50%及30%亮度环境下的超分辨率重建效果进行了完整的展示。同时也对各参与比较的方法在各测试图像集上、不同亮度环境下的平均PSNR、平均SSIM、平均运行时间等性能进行客观比较评价,以便验证本文方法针对低照度图像处理的效果和性能。

4.1 测试图像50%亮度实验结果与分析

在测试图像降低亮度到50%的情形下,两幅代表性的测试图(蝴蝶,人脸)在5种不同重建方法的超分辨率重建效果分别见图9和图10。可以明显看出BLI和BCI两种方法的处理结果图像画面模糊,细节信息严重缺失,整体效果较差。而SRCNN、SRResNet和本文方法三种基于深度学习方法的处理结果明显好于两种传统的方法,边缘信息相对清晰,但由于重建后的图像画面亮度低,仍有细节信息缺失。而相比于原SRResNet网络的重建结果,改进训练后的学习网络获得的重建图像画面亮度提高明显,暗部细节更加清晰,视觉效果更好。

表1展示了在测试图像降低到50%亮度情形下、各参与比较的图像超分辨率重建方法在各测试集上进行超分辨率重建的平均PSNR、平均SSIM、平均运行时间等性能指标。通过表1可以看到,在图像重建效果方面,两种基于插值的方法的平均PSNR和SSIM指标相差不大,但表现十分不理想,在部分测试集的平均SSIM指标变为负数,与三种深度学习方法相差甚远,而本文改进后的方法优于SRCNN、SRResNet两种方法,平均PSNR、平均SSIM均表现最好。在平均运行时间方面,两种基于插值的方法平均处理时间相差不大,并且在处理URban100和Sunhay80两个图像尺寸较大的测试集时,处理时间均明显少于三种基于深度学习的方法。三种深度学习方法中,由于增加了残差网络结构,SRResNet和本文方法相比SRCNN的整体时间稍长,而本文改进后的算法在处理时间上比SRResNet略长,但总体差距不大。

图9 蝴蝶测试图50%亮度下超分辨率重建效果对比Fig.9 Comparison of super-resolution reconstruction effects of different methods on the image “butterfly” with 50% brightness

图10 人脸测试图50%亮度下超分辨率重建效果对比Fig.10 Comparison of super-resolution reconstruction effects of different methods on the image “face” with 50% brightness

表1 测试数据集50%亮度情形下各种重建方法的平均客观性能指标Table 1 Average objective performance indices of various reconstruction methods on test datasets with 50% brightness

4.2 测试图像30%亮度实验结果与分析

在降低亮度到30%的情形下,代表性的两幅测试图(蝴蝶、人脸)在5种不同重建方法的超分辨率重建效果分别见图11和图12。可以明显看出BLI和BCI两种方法的处理结果图像画面模糊,细节信息严重缺失,整体效果差、亮度低。而SRCNN、SRResNet和本文的方法三种基于深度学习的方法的处理结果好于传统的方法,边缘信息相对清晰。但由于重建后的图像画面亮度低,缺失大量细节信息,重建效果不够理想。相比另外两种深度学习的方法,本文改进后的方法画面亮度更加明亮,暗部细节更加清晰,具有更好的视觉感受。

表2展示了在测试图像降低到30%亮度情形下、各参与比较的图像超分辨率重建方法在各测试集上进行超分辨率重建的平均PSNR、平均SSIM、平均运行时间等性能指标。通过表2可以看到,在图像重建效果方面,两种基于插值的方法的PSNR和SSIM指标依然相差不大,但性能指标很差,甚至在所有测试集中它们的SSIM指标都为负数,与三种深度学习方法相差特别大,并且本文改进后的方法优于SRCNN、SRResNet两种方法,其平均PSNR、平均SSIM表现均最好。各个方法平均运行时间与前面亮度下的实验结论基本保持一致。

图11 蝴蝶测试图30%亮度下超分辨率重建效果对比Fig.11 Comparison of super-resolution reconstruction effects of different methods on the image “butterfly” with 30% brightness

图12 人脸测试图30%亮度下超分辨率重建效果对比Fig.12 Comparison of super-resolution reconstruction effects of different methods on the image “face” with 30% brightness

表2 测试数据集30%亮度情形下各种重建方法的平均客观性能指标Table2 Average objective performance indices of various reconstruction methods on test datasets with 30% brightness

总的来说,就图像超分辨率重建效果而言, SRCNN、SRResNet和本文方法三种方法的处理结果优于BLI和BCI方法,边缘信息相对清晰。随着图像亮度的下降,重建后的图像同样会亮度有所下降,缺失暗部细节,使图像整体变得不清晰。而相比于其他方法,针对低照度图像,本文改进后的方法的超分辨率重建画面亮度有所提高,暗部细节更加清晰,视觉效果更好。在客观评价指标方面,所有算法的平均PSNR、平均SSIM指标会随着图像的整体亮度降低而降低。两种传统方法重建结果的平均PSNR和SSIM指标都不理想,与三种深度学习方法相差较大。三种基于深度学习的方法中,本文方法的平均PSNR指标、平均SSIM指标最好。在不改变其他因素的情况下,只改变测试图像的亮度对参与比较的方法的平均运行时间都没有什么影响,传统的方法在处理速度方面整体优于基于深度学习的方法。本文改进后的方法在平均处理时间上比原SRResNet方法略长一点。整体而言,可以看出本文改进后的方法对低照度图像进行超分辨率重建时,效果优于传统重建方法和常规的基于深度学习的图像超分辨率重建算法。

5 结论

针对低照度条件下低分辨率图像的超分辨率重建问题,提出了一种基于改进SRResNet深度学习网络的低照度图像超分辨率重建方法。通过实验结果及分析得到以下结论。

(1) 与传统方法以及基于深度学习的SRCNN、SRResNet方法相比,针对低照度图像,改进SRResNet的训练数据对的生成方式,优化生成过程,使得超分辨率重建后的画面亮度得到提高,暗部细节更加清晰,视觉效果更好。

(2) 与传统方法以及基于深度学习的SRCNN、SRResNet方法相比,本文方法的平均PSNR指标、平均SSIM指标最好。

(3) 通过对比实验验证了本文优化训练后的方法在处理低照度图像超分辨率重建时重建效果和性能整体优于现有典型方法。

猜你喜欢
照度亮度分辨率
用于遥感影像亮度均衡的亮度补偿方法
地铁车辆照度试验方法和均匀性分析
一招让显示器好用百倍
我国科学家发明计算超分辨图像重建算法拓展荧光显微镜分辨率极限
本本亮度巧调节,工作护眼两不误
亮度一样吗?
ARM发布显示控制器新品重点强化对分辨率的支持
从600dpi到9600dpi
锐化与显示器分辨率