基于生成对抗网络的田间杂草图像超分辨率重建*

2023-10-09 12:11何朝霞朱嵘涛徐俊英
中国农机化学报 2023年9期
关键词:低分辨率分辨率杂草

何朝霞,朱嵘涛,徐俊英

(1. 长江大学文理学院,湖北荆州,434023; 2. 长江大学农学院,湖北荆州,434023)

0 引言

随着科学技术的发展和进步,智慧农业与精准农业已成为现代农业的发展方向。杂草一直是影响农作物产量的主要因素之一,目前防治杂草的主要方式包括人工、化学、生物、机械除草等。随着国家对“三农”问题的重视,在当前信息时代下,农业生产中开始利用一些边缘设备(例如微型计算机、无人机主机等)和信息技术(物联网、数字图像处理技术等)。例如:通过摄像头实时采集田间图像数据,利用图像识别技术识别并定位杂草,再通过控制系统实行精准的除草剂喷洒[1]。这不仅降低了杂草对农业生产的危害和保障了农业生产的安全,同时可以提升农业生产的产量和质量,也能有效提升除草剂的利用率,保障粮食安全和减少环境污染。所以利用图像识别技术除草,在我国智慧农业发展过程中具有重要的意义。

当前通过摄像头采集田间图像往往无法获得理想的高清视频及图像,要保证杂草识别的准确性,对采集的杂草图像进行超分辨率生成是必不可少的。图像超分辨生成是指低分辨率图像在经过转化后,形成高分辨图像的过程。超分辨率生成算法的研究始于20世纪60年代,最原始的图像超分辨率生成算法利用图像像素与邻近像素点间的关系和连续性进行的,典型代表就是插值法。例如最近邻插值法、双线性插值法和双三次插值法等,它们的共同问题都是忽略了整张图像的语义含义, 且生成的图像比较模糊,造成部分图像细节损失,图像的锐化效果差[2]。

深度学习相关的论文在近年来呈井喷式出现,成为了人工智能研究方向的热点。Dong等[3]第一次将深度学习运用到图像超分辨率生成的应用领域中,使用了三次插值算法将低分辨率图像扩大到目标图像尺寸,然后将图像送到一种三层结构的卷积神经网络中。Shi等[4]在CVPR大会上提出的利用亚像素卷积来加快图像生成。Kim等[5]提出了残差学习思想的神经网络,同时也提出了深度递归卷积神经网络等。Luo等[6]提出了FSRCNN(Fast Super-Resolution CNN)方法,采用了反卷积层、修改特征系数以及通过共享的参数映射来加速和优化模型。上述方法都是利用了深度神经网络在特征提取方式上的优势,更好地学习高分辨率图像和低分辨率图像之间的特征映射关系[7]。

生成对抗网络GAN由Goodfellow等[8]最早提出,标志着无监督学习的又一项重大进展。它颠覆了过去深度学习仅仅用于判别器的传统,将深度学习理论同时应用到了生成器和判决器中。生成对抗网络由两个神经网络组成,其中一个神经网络用作判别器,另一个神经网络用作生成器,生成器用来模拟样本数据信息的分布,而判别器用来确定真伪,在对抗的生成和训练过程中实现二者的均衡[9]。生成对抗网络近几年提出了一些模型,2014年Mirza等[10]提出的条件生成对抗网络系统,2015年Radford等[11]提出的深度卷积生成对抗网络系统;随着研究的深入,2017年Ledig等[12]提出了SRGAN模型,并首次将对抗生成网络应用到了图像超分辨率重建任务中,同时展示了很好的性能。

近几年,基于SRGAN模型,学者们提出了许多改进模型[13-14]。针对目前模型超分辨率方法生成精度等性能方面的不足以及应用范围的限制等,本文以作物/杂草田地图像数据集为基础,探讨和构建了一种基于SRGAN的生成对抗网络模型,该模型的损失函数中引入卷积神经网络的边缘检测损失,以期能够保持图像更多的细节。

1 数据集简介

本文以作物/杂草田地图像数据集为基础训练数据,该数据集包括田野、植被分割和作物/杂草植物类型,图像尺寸均为200像素×113像素。生成对抗网络中需要高分辨率数据和低分辨率数据。传统方法是将原清晰图像进行降采样得到低分辨率图像,这个过程中,图像会损失掉许多有用信息,从而使得图像超分辨率重建的效果并不理想。本文的方法是将数据集的原始图像作为低分辨率图像,将原始图像利用AI系统无损放大四倍,同时进行清晰度增强,作为训练中使用的高分辨率图像,最终构成50对高分辨率与低分辨率所对应的训练数据集。同时,为增强训练网络的泛化能力,完成对训练数据的随机翻转和旋转的增强操作。

如图1所示,一对模糊—清晰图像中,模糊图像(低分辨率图像)的大小为200像素×113像素,清晰图像(高分辨率图像)的大小为800像素×452像素,而数据集中清晰—低分辨率图像对的PSNR值为23.156,SSIM值为0.746,最后以文中所设计的数据集以及作物/杂草田地图像数据集作为测试集来证明本文所提出方案的有效性。

(a) 低分辨率图像

(b) 高分辨率图像图1 模糊—清晰图像对Fig. 1 A pair of fuzzy-clear image

2 网络结构和损失函数

2.1 网络结构

生成对抗网络的图像超分辨率重建,是输入一张模糊图像到网络中,通过训练好的网络得到相对应的清晰图像,生成对抗网络示意图如图2所示。本文的生成对抗模型主要从SRGAN模型出发,SRGAN模型主要由生成网络(图3)和判别网络(图4)所构成,其中生成网络将模糊图像作为输入,输出清晰图像,判别网络将输出的清晰图像和原始清晰图像作为输入,输出判断结果真或假,整个过程中生成网络和判别网络彼此对抗,当判别网络无法区分输出清晰图像和原清晰图像时,SRGAN 完成重建超分辨率图像的工作任务[15]。本文所提出的方法是在该模型的基础上,在损失函数设计上,通过边缘检测形成物体的轮廓形状界限和自然纹理特征,在训练中指导图像的正确生成,并控制非自然纹理细节的产生。网络模型如图5所示,其中LR表示输入的低分辨率图像,SR为生成的高分辨率图像,ELR为低分辨率图像的边缘检测图像,ESR为输出的高分辨率图像边缘检测图像。

图2 生成对抗网络示意图Fig. 2 Generative adversarial network

图3 SRGAN网络模型的生成器Fig. 3 Generator of SRGAN network model

图4 SRGAN网络模型的判决器Fig. 4 Determinator of SRGAN network model

图5 本文的生成对抗模型Fig. 5 Generative adversarial network in this paper

图5的网络模型结构中,生成器和判决器仍采用SRGAN的结构。这里,生成器模型的主体是一连串大小相同的残差块相连,并使用两个卷积层,一共可以生成64个通道的特征映射,卷积层后的批量标准化层(BN)和PRe LU作为激活函数。判决器模型的设计以VGG网络为核心,包含8个卷积层,特征通道数从64开始,后面每层都进行了加倍,最多到512个通道,随着通道数的增加,使得特征数量也进行了加倍。根据Radford等总结的架构指南,利用了Leaky Re LU (α=0.1)激活同时防止整个网络模型的最大池化。

为了保持图像更多的细节,利用边缘检测损失进行评估得出,利用卷积神经网络方法进行边缘检测时损失最小,所以本文边缘检测用到的是卷积神经网络方法进行边缘检测。该模型中,输入通道数是3,输出通道数是1,卷积核大小为3×3。

为了评价判决器的训练是否能够最大化正确判决实际数据和生成器的生成数据的真假,以及生成器是否能够增加判别器得出正确答案的概率。因此,本文方法的V(D,G)函数[16]

Ez-Pz(z)(log(1-D(G(z))))+

λ1Ex-PEdata(x)(logD(x))+

λ2Ez-PEz(z)(log(1-D[G(z)]))

(1)

式中:D——判决器;

G——生成器;

x——输入的高分辨率图像HR;

z——输入的低分辨率图像LR;

E——数学期望;

Pdata——输入HR图像数据分布;

Pz(z)——生成器生成数据分布;

PEdata——输入HR边缘数据分布;

PEz(z)——生成器生成HR边缘数据分布;

λ1、λ2——调节系数。

2.2 损失函数

为了使提出的超分辨率重建网络训练效果达到最佳,本文在传统的损失函数的基础上,增加了一种新的损失函数——边缘损失函数来优化网络参数。最终的损失函数包括对抗损失、内容损失和边缘损失三部分。

1) 对抗损失函数。对抗损失函数[17]是基于所有训练样本上判决器DθD(GθD(ILR))的概率。

LGAN=∑-logDθD(GθD(ILR))

(2)

式中:GθD(ILR)——重建图像的特征;

ILR——输入的低分辨率图像;

LGAN——对抗损失函数。

2) 内容损失函数。内容损失函数[18]是计算生成图像和实际图像之间的差异,它衡量的是生成特征图和实际特征图之间的欧式距离。

(3)

式中:LX——内容损失函数;

W、H——描述VGG网络中各个特征图的维度;

Φi,j——在VGG网络中的第i个最大池化层之前通过第j个卷积(激活之后)获取的特征映射;

IHR——输入的高分辨率图像。

3) 边缘损失函数计算如式(4)所示。

S(GθD(ILR))x,y]2

(4)

式中:L边缘——边缘损失函数;

k——放大倍数;

S——边缘数据提取函数;

S(IHR)——输入高清图像的边缘数据提取值。

4) 最终损失计算如式(5)所示。

L=LX+γ1LGAN+γ2L边缘

(5)

式中:γ1、γ2——0~1的常数。

本网络中γ1取值为0.000 1,γ2的取值为0.000 3。图6为损失函数随迭代次数变化的曲线,其中原损失函数中仅包含对对抗损失和内容损失,优化后损失函数是指在原函数的基础上引入边缘损失。从图6可以看出,随着迭代次数的增加,损失函数越来越小,当迭代次数超过10 000次,优化后的损失函数明显优于原损失函数,当迭代次数达到50 000时,优化后的损失函数已基本接近0,并且性能比较稳定。

图6 损失函数曲线Fig. 6 Curves of Loss function

3 试验结果

3.1 试验过程及参数

本文试验的硬件平台为Intel(R) Core(TM) i5-10210U CPU 、NVIDIA 1050Ti GPU,软件平台为PyCharm 2021。训练集为制作的50对清晰—模糊图像,测试集为作物/杂草田地图像数据集。本文首先利用OPENCV,实现了低分辨率图像的四倍放大以及双三次插值,然后再去训练SRGAN,通过试验表明训练时SRGAN的迭代次数为50 000,学习率为0.000 1时效果较好。最后再来训练本文所提出的方法及和SRGAN模型相关的当下比较热门的网络框架。

3.2 试验测试结果分析

首先,对比双三次插值和经典SRGAN模型下超分辨率重建的实验结果,如图7所示。对比图7不同测试图像的超分辨图像生成结果,前两组图像的植物种类单一但是细节比较丰富,从视觉效果上看,本文方法的清晰度,尤其是在植物的茎、叶片的轮廓和谷穗等等区域明显优于其余两种方法;后两组图像选取的植物种类单一且细节较简单的图像,在植物的轮廓部分本文方法的细节更加清晰;当输入一张随机低分辨率田间图像,本文方法的结果明显优于其它方法,很好地还原了图片的细节,得到了更加清晰的图片。分析其原因,本文的数据集制作方法中增强了对训练数据的随机翻转和旋转的操作,同时在损失函数中增加了图像边缘检测的损失,从而保留了训练图像中更多的细节部分,同时也降低了特征匹配错误而造成的不良后果,因此本文方法效果显著高于其它方法,同时显示出了较强的网络泛化能力。

(a) 双三次插值

(b) SRGAN

(c) 本文方法图7 三种超分辨率重建的图像对比Fig. 7 Image comparison of three super-resolution reconstructions model

由于图7前两组图像的细节过于丰富,检测出来的边缘信息就也相对丰富,不便于观察。选取图7后两组田间杂草图像,分别利用传统SRGAN模型和本文模型训练出高清图,然后利用卷积神经网络方法进行边缘检测,其结果如图8所示。图8的第一组图像原图比较模糊,在SRGAN模型下生成的图像仍几乎没有检测出植物图像的边缘信息,本文方法则检测出来了植物的部分边缘信息;图8的第二组图像本文模型所训练出来的图像细节也明显优于SRGAN模型,尤其是在细节比较丰富的地方,能够提取的边缘要素更加的多。可以得出,本文方法在边缘检测后保留了图像中更多的细节信息,这为田间杂草图像的识别分类等提供了一个很好的研究基础。

(a) 原图

(b) SRGAN

(c) 本文方法图8 超分辨率重建的图像边缘检测结果Fig. 8 Image edge detection results of super-resolution reconstructions

将前面用到的4张测试图分别命名为测试图1、测试图2、测试图3和测试图4。将上述4组测试图像分别利用AI识图进行田间杂草识别分类,其识别分类的结果如表1所示。其中的score越高说明识别为该植物的概率越高。

从表1可以看出:本文方法所获得的高清图的杂草识别score最高;当植物图像清晰度越高识别score越高,当植物种类单一且细节丰富时识别的分数更高;本文方法更加有利于提高识别的准确性,为智能化除草提供了有力的基础和保障。

表1 杂草识别结果对比Tab. 1 Comparison of weed identification results

3.3 定量评价指标分析

本文采用了峰值信噪比(PSNR)、结构相似性(SSIM)、超分辨率图像生成的平均时间三个指标,进一步来衡量本文提出的超分辨率方案的有效性。

PSNR[19]的计算如式(6)所示。

(6)

(7)

式中:n——255;

MSE——图像I和图像J的均方误差;

M×N——图像尺寸;

I(i,j)——图像I;

J(i,j)——图像J。

客观来说,PSNR值越高,图像重建质量越高。

SSIM[20]的计算如式(8)所示。

(8)

其中,c1=(k1×255)2,c2=(k2×255)2,k1=0.01,k2=0.03。

式中:μ——均值;

σ——方差;

μI——图像I的均值;

μJ——图像J的均值;

σIJ——图像I和图像J的协方差;

σI——图像I的方差;

σJ——图像J的方差。

式(8)通过向量间余弦距离的计算来表征两张图片I、J的相似度。SSIM值的范围为0~1,当两张图像相似度越高,SSIM值越大。

选取当下比较热门的网络框架进行练,训练集的低分辨率图像为作物/杂草田地图像数据集。在同一训练数据集上,分别利用双三次插值、SRGAN、ESRGAN[13]、深度残差的GAN模型[14]和本文方法进行超分辨率重建,计算其PSNR和SSIM指标以及超分辨率图像生成的平均时间,结果如表2所示。

表2 在作物/杂草田地图像数据集上测试结果对比Tab. 2 Comparison of test results on crop/weed field image dataset

对比表2测试结果,对于PSNR评价指标而言,本文方法的PSNR较双三次插值、SRGAN、ESRGAN、深度残差的GAN模型分别高8.242 dB、5.521 dB、3.079 dB、2.339 dB,说明本文方法不仅能满足人眼的视觉高质量要求,也能生成符合模型且MSE要求最小化的图像;对于SSIM指标而言,本文方法数值较双三次插值、SRGAN、ESRGAN、深度残差的GAN模型分别高0.143、0.089、0.051、0.018,这说明本文方法较好地考虑了图像在整体结构上的相似性;对于生成超分辨率图像平均时间而言,虽然时间上比双三次插值耗时长,但是生成的效果佳,另外几种生成对抗网络模型超分辨率图像生成的平均时间上相差不是很大,说明在运算规模上总体比较接近。综上所述,进一步证明了本文所提出方法的有效性和优越性。

最后,将作物/杂草田地图像数据集中的50组图像的原图、各种方法的超分辨生成图像在AI识图中进行作物、杂草识别,识别的准确率如表3所示。

表3 作物、杂草识别准确率对比Tab. 3 Comparison of identification accuracy of crops and weeds

本文方法产生的超分辨率图像的在AI识图中的识别准确率较原图、双三次插值、SRGAN、ESRGAN、深度残差的GAN模型分别高18.8%、10.6%、3.5%、3.9%、2.7%。可以看出,本文方法所生成的超分辨率图像,大大改善了原图的识别准确率,也优于其他几种方法。

4 结论

1) 根据SRGAN模型,提出一种新的生成对抗网络模型,该模型为了更好更多地获取田间杂草图像的细节部分,同时提高超分辨率图像生成效果,在损失函数中,增加基于卷积神经网络的边缘检测损失,有效地克服传统方法中细节损失的问题,同时增强图像超分辨率的重建效果。

2) 首先,选取五组田间杂草图像进行对比实验,通过生成超分辨率图像的视觉效果以及将原图、SRGAN模型和本文模型生成的超分辨率图像利用AI识图进行田间杂草识别分类,本文方法在边缘检测后保留了图像中更多的细节信息,本文方法获得的高清图杂草识别score最高,当植物种类单一且细节丰富时识别的score更高。

3) 进一步,将作物/杂草田地图像数据集作为测试集,开展一系列试验,本文方法的超分辨率生成图像较双三次插值、SRGAN、ESRGAN和深度残差的GAN模型的PSNR分别高8.242 dB、5.521 dB、3.079 dB、2.339 dB,SSIM分别高0.143、0.089、0.051、0.018,在AI识图中的识别准确率分别高10.6%、3.5%、3.9%、2.7%。

4) 后续还有很多地方需要研究完善,在本文研究的基础上,还可从以下几方面进一步展开研究工作。进一步扩充作物/杂草田地图像数据集;模型训练优化。本文在模型训练时,由于硬件GPU内存偏小,为了避免内存爆满而终止训练,将输入图片的尺寸设置得较小,重建图像为原图的4倍,虽然提升了模型的训练速度,但影响了模型的产生精准率,后续可以尝试改进模型的结构,使其可以更高效。虽然本文设计了轻量化的田间杂草超分辨率重建模型,但并未在田地进行实操识并应用到识别系统中,同时更高精度的识别系统还有待进一步研究。

猜你喜欢
低分辨率分辨率杂草
基于超分辨重建和公共特征子空间的低分辨率人脸识别
红外热成像中低分辨率行人小目标检测方法
拔杂草
基于偏移学习的低分辨率人体姿态估计
EM算法的参数分辨率
原生VS最大那些混淆视听的“分辨率”概念
树木的低分辨率三维模型资源创建实践
基于深度特征学习的图像超分辨率重建
一种改进的基于边缘加强超分辨率算法
水稻田几种难防杂草的防治