基于深度学习的农作物病害叶片的图像超分辨率重建

2020-05-06 03:34代强乔焰程曦朱诚
黑龙江八一农垦大学学报 2020年2期
关键词:残差分辨率卷积

代强 ,乔焰 ,程曦 ,朱诚

(1.安徽农业大学信息与计算机学院,合肥 230036;2.南京理工大学计算机科学与工程学院)

农作物病害图像的识别[1-6]是图像处理领域中的一个重要话题,而农作物病害图像的分辨率高低最能影响农作物病害图像识别的成功率。中国作为世界上最重要的几个农业国家之一,对于农作物病害的防治是一项重大问题。对农作物病害快速且准确的识别是防治的第一步,同时也是最重要的一步。在过去,普通的农民普遍缺乏农作物病害识别知识,专家也很难根据农作物病害叶片快速且准确判断出是什么病害。仅靠农民自己很难找到正确的处理方法,因此造成了很大损失。此外,由于技术和设备较差,农民所拍出的农作物病害叶片的图像通常都是较低分辨率且图像质量也较低,不利于农作物病害图像的识别。所以,对农作物病害叶片图像进行图像超分辨率重建具有重要意义。随着图像超分辨率技术的发展,出现了Bicubic(双三次插值)和ScSR(基于稀疏编码的超分辨率方法)、A+和IA以及SelfExSR等传统方法。

到目前来看,传统的图像超分辨率重建方法已经取得了不少进展。但传统的图像超分辨率重建方法仍然具有很多缺陷,如图像的预处理复杂,图像处理效率低下,PSNR(Peak Signal to Noise Ratio峰值信噪比)和 SSIM(Structural Similarity结构相似性)[7]提高较少等。随着深度学习和卷积神经网络[8-9]的发展,已经出现了许多基于深度学习的超分辨率方法,且很好解决了以上传统超分辨率方法所出现的问题。

2014年,香港中文大学Dong等[10]率先将卷积神经网络引入到图像超分辨率复原的问题中,设计了基于深度卷积神经网络的图像超分辨率复原方法(SRCNN)。之后Dong等[11]又提出的FSRCNN是对之前的SRCNN的改进。2016年,WenZhe Shi等[12]又提出了ESPCN网络模型。受到何恺明等[13]在2015年时提出的残差网络ResNet的启发,Jiwon Kim等[14]在2016年提出了VDSR模型,之后Jiwon Kim等[15]又提出 DRCN。在 ResNet、VDSR和 DRCN的启发下,Ying Tai等[16]在2017年提出的DRRN采用了更深的网络结构来获取性能的提升。之后的LapSRN[17]和EDSR[18],以及 DSRNLP[19]、SERS[20]等网络模型在图像的超分辨率重建的应用上同样取得了很好的成绩。实验选取了LapSRN、DSRNLP、SERS等三种基于深度学习的网络模型用来处理本次的实验样本。PSNR/SSIM值都提高了很多,且有效的克服了传统方法所存在的缺陷,使得农作物病害叶片的图像超分辨率重建变得更加高效。

1 网络模型的选取及其框架

LapSRN:

图1所示的是LapSRN网络架构,该网络架构可以看成由多级组成的分级网络,每一级完成一次2倍的上采样操作,要实现8倍的上采样就需要有三级。在每一级中,先通过一些级联的卷积层提取特征,接着通过一个反卷积层将提取出的特征的尺寸上采样2倍。反卷积层后连有两个卷积层,一个卷积层的作用是继续提取特征,另外一个卷积层的作用是预测出这一级的残差。输入图像在每一级也经过一个反卷积层使原尺寸上采样2倍,再与对应级的残差相加,就能重构出这一级的上采样结果。

LapSRN通过逐步上采样,以及一级一级预测残差的方式,在做高倍上采样时,也能得到中间低倍上采样结果的输出。由于尺寸是逐步放大,不是所有的操作都在大尺寸特征上进行,因此速度上有了较高的提升。

图1 LapSRN结构图Fig.1 LapSRN structure diagram

DSRNLP:

图2所示是DSRNLP模型架构,该模型采用局部残差学习和全局残差学习相结合的方法。在每一模块中,DSRNLP按照残余模块的设计,叠加两个卷积层和一个激发层,另外增加了跳跃连接,形成局部残差学习。全局残差学习主要用于图像重构。DSRNLP建立了一个具有紧密连接结构的模型。低水平卷积特征传递到上层并与之连接,叠加信道,充当信号增益。在实验中,DSRNLP还使用了一个1×1卷积层来构造过渡层,该过渡层将附加的多通道特征映射返回指定的通道数,然后输出到反卷积模块进行上采样。实验中使用的模型包含8个单元,每个单元含有2个递归模块。网络结构中的激活函数使用LeakyReLU。与传统的Sigmoid算法相比,该算法能有效地防止梯度传输中的梯度消失现象,有利于深层叠加卷积网络的训练。

图2 DSRNLP结构图Fig.2 DSRNLP structure diagram

图3 SERS结构图Fig.3 SERS structure diagram

在早期的研究中,超分辨率尺度通常是固定的,如果需要多次放大,则需要对多个模型进行训练。为了使同一个网络能够同时训练,包括多次训练,DSRNLP使用了拉普拉斯金字塔结构(Laplacian Pyramid),如图 4 所示。

图4 拉普拉斯金字塔结构Fig.4 Laplacian pyramid structure

此外,DSRNLP不需要双三次插值输入,而是直接输入低分辨率图像。DSRNLP采用反卷积方法对图像进行放大,然后从特征提取支路中计算残差。然后将残差和反卷积放大结果叠加形成高分辨率图像,再对y通道图像重新编码形成最终图像。

DSRNLP采用了沙博尼耶损失(Charbonnier loss)作为损失函数(见公式2),其中Lu是每个单元的损失,N是每批图像的数量,L表示超分辨率分支的数量。yˆs和ys分别是生成的高分辨率图像和真实的高分辨率图像。ε是超参数,被设置为0.001,类似于LapSRN中使用的值,x是由每个单元外部的上采样反卷积层生成的低质量图像是一个分支。

然后计算每个单位的平均损失,以得到一个U单位的分支总损失,如公式3所示

SERS:

图3所示是SERS网络模型架构。SERS使用递归结构构建模型,使SESR能够在不带更多参数的情况下增加递归深度。在SESR模型中,低分辨率图像直接馈入网络并通过卷积层进入递归单元。当从挤压和激励输出增强残余块(SE-ResBlock)时,特征重新输入到递归单元。最后,输出进入重建网络以获得高分辨率图像。与DRCN不同,SERS采用渐进重建方法,只在不同尺度超分辨率分支的每一端进行监督,而不是在每次递归时监督,这显著减少了计算量。SERS采用局部残差学习和全局残差学习,该模型中的跳跃连接使其易于收敛。一个分支中的总层数为27,但是获得了比那些更深层次模型更高的性能。

受SENet[21]的启发,SESR引入了SE模块,使超分辨率模型更有效。通过强调重要特征并抑制通道之间的无用功能,挤压和激励将使网络更加强大。为了压缩每个通道的全局空间信息,SESR模仿SENet,在该模型中使用了全局平均池化。SESR中的挤压函数如下所示:

其中xc是挤压通道的第c个元素,S()是挤压函数。uc是输入的第c个通道。H和W表示输入的高度和宽度。

激励函数如下式所示:

其中E()是激励函数,x是输入来自前一层的压缩信号。σ表示Sigmoid函数。Wu和Wd表示1×1卷积层Conv Up和Conv Down,如图5所示。

由于Lim等人发现删除batch normalization(BN)层将改善超分辨率网络的性能。因此,SERS删除了所有BN层。然后SERS将挤压和激励模块添加到模块中。SESR中使用的SE-ResBlock如图5所示。SERS首先通过堆叠与Leaky ReLU交错的卷积层来构建模块。然后SERS将SE模块放入模块中。与原始SENet相比,SERS在SE模块中使用了1x1卷积层而不是全连接层。每个SE残差块中前两个卷积层中的信道数是64,而第三个卷积层中的信道数增加了4倍,接着是SE模块。在SE模块中,挤压是通过全局平均池化来完成的。

图5 SE-ResBlockFig.5 SE-ResBlock

实验中同样采用了沙博尼耶损失(Charbonnier loss)作为损失函数(见下面公式),其中Lu是每个单元的损失,N是每批图像的数量,L表示超分辨率分支的数量。yˆs和ys分别是生成的高分辨率图像和真实的高分辨率图像,ε设置为0.001。

2 实验过程

2.1 实验环境

实验采用pytorch作为深度学习框架,使用GPU对处理过程加速,实验所用到的软硬件环境如表1所示。

表1 实验环境表Table 1 Experimental environment table

2.2 样本的选择与预处理

在农作物发生的病害中,草莓叶枯病、番茄疮痂病、番茄黄化曲叶病毒病、番茄花叶病毒病、番茄晚疫病菌、番茄叶霉病、辣椒疮痂病、苹果黑星病、葡萄黑腐病、葡萄黑腐病、玉米花叶病毒病等病害较为高发,且很难根据普通叶片快速且准确地判断出其病害程度,因此,选取这10种农作物病害叶片图像作为实验的研究对象,其病害的叶片的一般图像如图6所示。实验测试图片集为以上10种病害叶片的图像,图片均来源于网络,且经过筛选和处理,由于实验所用的网络已经训练好,所以只需要选取100张测试图片集。

实验在利用深度卷积神经网络对图像进行超分辨率重建前,只需要用到python中的skimage对测试集的scale进行切边缘预处理。

2.3 迁移训练

如图 1、2、3 所示,分别是 LapSRN、DSRNLP、SERS的网络架构。相比较而言,SERS具有更加合理的架构,而且参数也少于其他两个网络模型。

实验在LapSRN、DSRNLP、SERS的基础上分别进fine-tuning来适应实验的图片集,因此可以在初始化时保留大部分原有模型中的权重,这样可以比从头重新训练节约大量时间,提高效率。

2.4 实验结果

实验我们使用PSNR(Peak Signal to Noise Ratio峰值信噪比)和SSIM(Structural Similarity结构相似性)来评价实验结果的优劣。峰值信噪比可以用以下公式计算,直接表示图像像素尺寸上的差异。

其中MSE可以作为公式计算:

PSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而它是基于对应像素点间的误差,即基于误差敏感的图像质量评价。由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。因此,实验也引入了另一个评价指标SSIM(一种全参考的图像质量评价指标,它分别从亮度、对比度、结构三方面度量图像相似性。SSIM取值范围[0,1],值越大,表示图像失真越小),来评价实验结果。

图6 样本病害叶片图Fig.6 Sample disease leaf diagram

实验使用自建的农作物病害叶片的数据集分别在LapSRN、DSRNLP、SERS等三种网络模型上进行实验,同时还用到了Bicubic和ScSR等传统方法处理自建的农作物病害叶片的数据集。实验结果如表2所示。

表2 五种方法的PSNR/SSIM值Table 2 PSNR/SSIM values of the five methods

图7所示的是实验的可视化结果,我们从每个重建的图像中的相同位置裁剪出子图像,以显示每种方法的质量细节。

图7 实验图像细节图Fig.7 Experimental image detail map

2.5 实验结果分析

实验使用了深度学习下的图像超分辨率网络模型LapSRN、DSRNLP、SERS对草莓叶枯病、番茄疮痂病、番茄黄化曲叶病毒病、番茄花叶病毒病、番茄晚疫病菌、番茄叶霉病、辣椒疮痂病、苹果黑星病、葡萄黑腐病、葡萄黑腐病、玉米花叶病毒病等10种病害图像进行超分辨率重建。

同时,实验用到了Bicubic和ScSR两种传统方法作为对比,所得的PSNR值均分别为13.910和13.957,均未超过15,且SSIM值分别为0.346和0.530均未超过0.6。而实验所选取的基于深度学习的超分辨率网络模型LapSRN、DSRNLP、SERS所得出的PSNR值都接近30,且SSIM值都超过了0.6。此外与LapSRN、DSRNLP相比,SERS具有更加合理的架构,所得的结果也优于LapSRN和DSRNLP。

从实验结果可以看出,深度学习下的图像超分辨率网络模型的PSNR和SSIM值较传统的图像超分辨率方法的PSNR和SSIM值提高了很多,且输出实验图片的质量也明显优于传统的图像超分辨率方法。这也证明了基于深度学习的超分辨率方法的优越性。

同时,与传统的方法相比,基于深度学习的超分辨率方法不仅在性能上要优于它们,在图像预处理方面的工作也减少了很多,这使得基于深度学习的超分辨率方法也具有更强的实用性。

3 结论与展望

深度学习在图像超分辨率重建技术中具有非常广泛的应用前景,并已经成为目前的研究热点。很多相关的工作都为这类超分辨方法在深度网络类型和结构的建立、发展以及训练方式上都做出了很多的贡献。展望往后的发展方向,仍然存在着很多挑战和机遇。

深层神经网络训练时间过长,易于过拟合,使得模型建立及推广能力较差,如何改造深层神经网络的训练算法,使其能够快速被训练好,从而大幅度减少训练时间而且保证模型推广性能良好,是一个需要解决的重要问题。同时,训练一个深层次的网络模型需要耗费大量的GPU,因此如何改造深层模型,使其能够有效地结合GPU以及分布式计算等并行加速技术也是值得我们去考虑的问题。

针对低质量得人脸、车牌、医学影像等特定应用领域,设计专用的深度学习网络进行超高质量的重建。如何将特定领域的先验信息与深度网络结构、代价函数以及训练方式结合同样是值得研究的方向[22]。

现实中很多媒体应用中获得的低质量图像往往是由于多种因素并存所导致的结果。比如监控视频中获取的人脸图像,它同时存在低分辨率、失焦模糊、运动模糊、压缩失真和噪声等降质问题。传统的超分辨率方法在处理这些问题时,结果往往都不是太好。所以,如果能够借助深度神经网络强大的学习能力,开展多种降质因素协同处理方法的研究,将具有很高的价值[22]。

总之,基于深度学习的图像超分辨率重建技术已经显示出其巨大的潜力和很高的实用价值,人类也会从这项技术中不断受益,但是仍然有许多工作需要去做,希望未来会出现越来越多研究者去开展更多具有创造性的工作。

猜你喜欢
残差分辨率卷积
基于生成对抗网络的无监督图像超分辨率算法
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
基于残差学习的自适应无人机目标跟踪算法
基于深度卷积的残差三生网络研究与应用
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
ARM发布显示控制器新品重点强化对分辨率的支持