时间:2024-05-28
朱世松,马婉丽,赵理山,郑艳梅,郑先波,芦碧波,*
(1.河南理工大学 计算机科学与技术学院,河南 焦作 454003; 2.河南农业大学 园艺学院,河南 郑州 450002)
叶片是植物进行光合作用的物质基础,是合成有机物的主要器官[1],也是与环境接触面积最大的器官之一。叶面积是衡量作物光合作用效能、观察生理变化、预测果实产量的关键因素,也是研究植物表型[2]、品种改良、培育种植等的重要指标[3]。因此,如何快速、准确地测量叶片面积、周长等几何参数在现代化农业生产中具有重要意义。叶面积测定分为单叶、单株、群体3个维度,本文研究内容针对的是单叶叶面积的测量。传统的单叶叶面积测量方法包括方格法、纸样称重法、打孔称重法、系数回归法和叶面积仪法[4-6]。但以上方法主要依赖人工操作,效率较低,而且存在测量结果不稳定、后期处理复杂等问题[7-11]。叶面积仪[12]基于光电转换原理测定叶面积,能测量叶长、叶宽、叶面周长等多种参数,操作简单、精度较高,功能强大且方便携带,对农业、林业等领域的科研工作具有重要意义,但成本较高,限制了大规模的使用。因此,传统的叶面积测量方法效率低、成本高,不利于广泛应用。
基于数字图像处理技术的叶面积测量方法通常先对图像进行分割,然后再通过算法测量叶片的几何参数。例如,张万红[13]通过色域转换、OSTU法分割苹果叶片图像,再根据叶片边缘像素坐标与数量计算几何参数和叶片面积。刘哲等[14]提出的叶面积测量方法采用双远心镜头、图像边缘增强、最小类间误差阈值分割和亚像素边缘提取等方法分割叶片并计算叶片面积,精度较高,但需借助双远心镜头,成本较高,而且分割过程复杂,效率较低。施滢等[15]给出了一种可变参照的叶面积测量方法,该方法在分割叶片图像后,选择与叶片大小近似的棋盘格为参照矩形,对图像进行几何畸变校正,并根据比例关系计算出叶片面积;该方法虽然精度较高,但是角点检测、几何失真校正等算法复杂,处理大量图像耗时较长。与传统叶面积测量方法相比,基于数字图像处理技术的测量方法成本低廉、可靠性高,但处理过程复杂,对操作者的专业性要求较高,也不易广泛应用[16-17]。
与传统方法相比,深度学习具有极强的迁移学习能力,应用范围广泛。近年来,随着全卷积神经网络(fully convolutional network,FCN)[18]、U-Net[19]、DeepLab[20-23]系列等经典语义分割模型的提出,越来越多的学者开始研究将其应用在农业领域中。比如,赵兵等[24]使用FCN对病害葡萄叶片进行分割,实现了复杂光照条件和背景下的叶片图像自动分割;Tassis等[25]使用U-Net对有病虫害的咖啡树叶进行分割,分割效果较好,精度较高;Hussein[26]等使用DeepLabV3+对完整植物叶片标本数据集进行分割试验,相比目标检测方法(包括Faster R-CNN[27]和YOLOv5),使用深度学习语义分割模型取得了更好的分割结果。李余康等[28]使用以ResNet101为主干网络的DeepLabV3+,完成了自然光照环境下的葡萄叶片分割。采用经典语义分割网络分割植物叶片的方法虽取得了较高的分割精度,但模型参数多、效率低,在移动端部署较为困难,缺乏实用性。针对经典语义分割网络模型体积大,不易进行嵌入式开发的问题,研究人员提出了ENet[29]、双边分割网络(Bilateral segmentation network,BiSeNet)[30]、LinkNet[31]等实时语义分割网络。这些网络在保证分割准确性不会过低的前提下,尽可能地减少参数,压缩模型,通常对设备的要求不高,比较适合农业上应用。例如,郑艳梅等[32]使用BiSeNet进行苹果叶片图像分割,速度较快;该研究还使用引导滤波对分割结果进行后处理,以解决叶片边缘细节分割效果较差的问题。
综上可知,传统方法效率较低,基于数字图像技术的方法的处理过程比较复杂,利用经典语义分割网络的叶片分割算法模型体积较大,不易在移动端进行部署,而采用实时语义分割网络的方法对细节的分割效果较差,需要进行后处理。针对这些问题,本文提出了改进的LinkNet,采用预训练模型ResNet18[33]作为特征提取层的主干网络,加速模型拟合;通过减少编码器和解码器的数量、改进解码器中的通道约减方案,以及替换最终块中的反卷积上采样为子像素卷积,来压缩模型,提升分割效率。本文在标准的苹果叶片数据集上验证了所提方法的性能,并与其他同类算法进行比较,所提方法在推理速度和模型体积方面具有明显优势,且分割效果较好。
本试验使用的标准苹果叶片图像来自夏雪等[34]提供的公开数据集,该数据集使用尼康D90型数码相机拍摄收集,采集地点位于中国农业科学院果树研究所的资源圃,采集时间集中在7月中旬至8月中旬。数据集中包含174类国内外常见的苹果树叶,每类叶片的数量为20~50张,共包含8 184张JPEG格式的图片。数据集中的图像分辨率略有不同,分别为3 216 pixel×2 316 pixel和4 288 pixel× 2 848 pixel。由于训练高分辨率图像对设备的要求较高,且会拖慢网络的推理速度。而低分辨率图像虽然能使训练和推理过程较快完成,但分割精度亦会降低。因此,试验中将图像的分辨率统一至1 184 pixel ×800 pixel。图1-a展示了具有代表性的标准苹果叶片图像。从图1中可以看出,叶片与拍摄背景蓝色标尺平板的颜色对比度较小,叶片的锯齿多且小。此外,数据集中还有少量苹果叶片存在自然卷曲的情况(具体图片可见文献[32]、文献[34])。这些情况均为苹果叶片分割任务增加了难度。
a,原图;b,标注图;c,二值化。图b和c左上角分别对应图a中黄色矩形框位置。图b中叶片与背景交界处有明显的过渡线,而在图c中不存在这种现象。
对采集的苹果叶片图像进行标注是使用深度学习方法进行图像特征提取的基础,对分割效果具有直接影响。为能完整地保留苹果叶片的锯齿等细节,同时使标注过程更加高效,本文使用Photoshop进行标注。如图1-b中,将叶片(包括叶柄部分)标注为绿色,背景标注为红色。如图1-b左上角的局部放大图所示,JPEG格式的标注图在传输和存储的过程中叶片边缘的像素值会发生改变,会对分割效果产生不利影响。因此,试验前将标注图像进行二值化,如图1-c所示,处理结果保存为PNG(无损压缩位图)格式。
1.2.1 LinkNet
LinkNet网络由编码器网络、解码器网络和像素融合路径组成。其中,编码器网络由1个初始块和4个连续的编码块组成,通过步长为2的卷积和最大池化实现下采样,提取高级的语义特征。解码器网络则包括4个连续的解码块和1个最终块,通过反卷积的方式恢复图像尺寸并输出分割结果。像素融合路径表示采用像素相加的方式将来自编码器的浅层特征与解码器中的高级语义特征进行融合。具体网络结构如图2所示。
初始块如图2-b所示,通过7×7卷积和最大空间池化进行下采样,提取图像特征。编码块的内部结构如图2-c所示,包括两个连续的残差块。其中残差块1采用步长为2的卷积,特征图经过该编码块后的尺寸减小一半,同时通道数扩大2倍。如图2-e所示,解码块包含卷积-反卷积-卷积3步操作。其中,第一次1×1卷积将输入特征图的维度缩减至1/4,即通道约减方案,目的是减少上采样中的参数;然后通过反卷积操作放大特征图,之后再通过第二次1×1卷积恢复特征图的通道数,保证输出的特征图能与来自对应编码块的全局信息顺利融合。最终块则是通过两次反卷积将特征图还原至与原图尺寸一致,并输出分割结果。
Conv,卷积;De-Conv,反卷积;Max-pool,最大池化;(7×7)、(3×3)分别表示采用的卷积核大小为7×7、3×3;(m, n)表示输入通道数为m,输出通道数为n;(m, m/4)则表示输出通道数为输入通道数的1/4;/2表示卷积或最大池化的步长为2,经过该步骤之后特征图尺寸缩小至原来的1/2,即下采样过程;*2则代表反卷积的卷积步长为2,经过该操作后特征图尺寸被放大2倍,即上采样过程。
由于实验所用苹果叶片数据集规模较大、叶片图像标准,使用原LinkNet网络的分割结果已十分清晰,但模型体积仍然较大,推理速度较慢,不能满足农业中的实际应用。因此,本文对原LinkNet进行了改进。
1.2.2 改进的LinkNet
与原始的LinkNet网络相比,本文在以下4方面进行改进:首先采用预训练模型ResNet18作为编码器的主干网络,缩短训练时间;其次,去掉一对相对应的编码块和解码块,减小网络层数;然后,改进了解码块中的通道约减方案,将上采样前特征图的通道数压缩至1/16;最后,使用子像素卷积代替最终块中的反卷积上采样。改进的LinkNet网络结构如图3所示。
预训练的深度神经网络模型的前端部分(包括卷积层、池化层和激活层等)具有特征提取的功能,与编码器作用一致,且已经具备了较好的初始化参数值,因此可直接将其作为编码器的主干网络。不仅能解决从头开始训练模型需要耗费大量时间的问题,也能加速模型拟合,使网络在较少的轮数下也可以得到充分训练。因此,本文采用参数量较少且精度较高的ResNet18作为编码器的主干网络,并引入其在ImageNet上的预训练参数进行迁移学习,加速模型拟合,节省时间和计算资源[35]。
较大的网络深度和宽度虽然能提升模型精度,但会造成计算量大幅增加,不利于实际应用[36]。因此,为减小模型体积,提升网络的推理速度,本文对原始的LinkNet网络进行压缩。
首先,如图3所示,本文将LinkNet的解码-编码块的对数由原来的4对减少为3对。则网络层数由33层减小为25层,特征图最大通道数仅有256。与原LinkNet相比,改进后的LinkNet既减小了网络深度,又保持了较小的网络宽度,网络复杂度明显降低。
图3 改进的LinkNet网络结构
其次,为了减少上采样中的参数量,进一步提升网络推理速度,本文改进了解码器中的通道约减方案,改进后的解码块内部结构如图4所示。
图4 改进的解码块
如图所示,特征图在解码块中首先要通过1×1卷积将通道数减少为原来的1/16,再进行反卷积上采样,然后再通过1×1的卷积恢复通道数以进行特征融合。该方法能在不影响分割精度的基础上,降低上采样过程中的参数量。相较于原网络只将通道数缩减为原来的1/4,改进后的通道约减方案可使上采样过程中的参数进一步减少为原来的1/16,从而进一步提升模型的推理速度。
最后,将原LinkNet中的最终块替换为速度更快的子像素卷积上采样。子像素卷积(sub-pixel convolution,后文简写为Sub-pixel conv)是一种在图像超分辨率重建中常用的上采样方法[37]。子像素卷积的原理如图5所示。
H和W表示特征图的高和宽,C表示通道数,r表示上采样倍数。
由图5可知,子像素卷积的具体过程就是将低分辨率图像中的单个像素按照一定规则重新排列组合成为高分辨率特征图中的一个单位,那么低分辨率图像中的像素就相当于新特征图中的子像素,因此称作子像素卷积。从图中还可以看出,子像素卷积前后特征图的通道数应满足一定的比例关系:上采样前特征图的通道数应为上采样后通道数的r2倍。
子像素卷积只需要一个给定的超参数(放大倍数r)即可完成上采样,不需要学习其他参数,因此比反卷积速度更快。而且子像素卷积可以解决反卷积操作中因填充0而带来的人工痕迹问题,降低对分割结果的影响。因此,本文将原LinkNet的最终块替换为子像素卷积。如图3所示,特征图先通过3×3的卷积调整通道数,然后直接进行4倍上采样,输出分割结果。
此外,为了增强模型稳定性并避免产生过拟合等现象,改进后的LinkNet网络中的每个卷积层后都紧跟批标准化层、激励层和Dropout操作。批标准化[38]的主要功能是加速收敛,提高泛化能力,使模型更加稳定;激励层采用ReLU激活函数,相较于使用Sigmod激活函数,可一定程度上避免因网络加深而造成的梯度弥散或者爆炸等问题;Dropout通过在训练过程中随机抑制给定比例的神经元节点的响应,减轻过拟合风险,提高网络泛化性能[39]。
表1中给出了改进的LinkNet中部分网络层输出的特征图的尺寸和数量。此外,为能直观展示改进的LinkNet提取图像特征和输出分割结果的过程,图6选取了各网络层提取到的多张特征图中的一幅进行展示,并且统一了特征图的尺寸以便于细节的展示。
结合表1和图6可以看出,随着下采样的不断深入,特征图的分辨率逐渐降低,特征图的语义特征更清晰,但位置信息比较模糊。而上采样过程中,解码器网络会根据获取到高级语义特征预测每个像素的类别,并且随着特征图的分辨率被逐步还原,图像的细节信息更加丰富,最终根据分类数输出分割结果图。
图6 改进的LinkNet部分网络层提取到的特征图
表1 主要网络层输出特征图的尺寸与数量
试验环境基于深度学习框架Pytorch,硬件设备采用i9-10900K CPU,GPU为NVIDA GeForce RTX3090,运行内存为64 G。初始学习率设置为0.001,优化器采用均方根传递算法,初始动量设为0.9,迭代次数设为21。
试验所用苹果叶片数据集共有8 184张图片。试验前按照7∶3的比例划分出训练集和测试集,之后取训练集中的10%作为验证集。最终训练集有5 157张图片,验证集和测试集分别有572张和2 245张图片,各数据集中按比例包含174类苹果叶片。训练集损失函数采用焦点损失(FocalLoss)[40],计算公式为:
(1)
苹果叶片图像分割的目的是将图像中每个像素进行分类,从而分割出叶片主体和背景。为评价模型的分割效果,本文选用了平均像素精度(mean pixel_accuracy, mPA)和平均交并比(mean intersection over Union, mIoU)两项指标。其中,mPA表示所有类别预测正确的像素数量占该类别全部像素数量的百分比的平均值,对于二分类任务,其定义可以表示为:
(2)
式(2)中,VmPA代表mPA的值,TP为真正例,表示预测正确的叶片区域像素的数量;TN为真负例,代表预测正确的背景区域像素的数量;FP为假正例,表示标注为背景区域的像素但被模型分割为苹果叶片区域像素的数量;FN为假负例,表示标注为苹果叶片区域像素但模型自动分割为背景区域像素的数量。
mIOU表示所有类别预测值与真实值的交集与并集之比的平均值,其定义为:
(3)
式(3)中,VmIoU代表mIOU的值,k+1代表总分类数,pij表示本属于类i但被预测为类j的像素数量,pii为预测正确的像素数量,pji则代表本属于类j但被模型预测为类i的像素数量。在苹果叶片分割任务中,k=1,i代表标注为苹果叶片区域的像素,j则表示标注为背景区域的像素。
为了更好地衡量模型性能,表明模型的实际应用能力,本文还选用了3项指标:模型参数量(parameters,Paras)、浮点数运算次数(floating points of operations,FLOPs)和单张图片推理时间(inference time,测试时平均推理一张图片需要的时间)。其中,参数量和浮点数计算量分别用来衡量模型的体积和计算复杂度,单张图片推理时间更便于直观感受网络的推理速度。偏置为False,带有批标准化层的标准卷积的参数量和浮点数计算量计算公式如下:
VParas=K2×Cin×Cout;
(4)
VFLOPs=2HW(CinK2+1)Cout。
(5)
式(4)、(5)中,VParas和VFLOPs分别代表Paras和FLOPs的值,Cin表示输入通道数,Cout表示输出通道数,K表示卷积核大小,H、W分别代表特征图的高度、宽度。
此外,本文还使用训练总时长(total training time,模型训练满21轮所需要的时间)来评价预训练模型对于网络训练时间的影响。
首先,在原LinkNet网络的基础上,编码器的主干网络分别采用预训练模型ResNet18和ResNet34,试验结果如表2所示。对比试验1和2可知,使用ResNet18作为编码器的主干网络可以将模型的训练总时间减少1.4 h,推理时间缩短1.01 ms,且模型的参数量和浮点数计算量略有降低。对比试验1和3可知,使用ResNet34作为编码器的主干网络使训练总时长缩短了1.34 h,而且将分割精度提升了0.54百分点,但因其网络结构较复杂,增加了模型的参数量和浮点数计算量,从而使网络的推理时间延长3.38 ms。由此可知,使用预训练模型ResNet18和ResNet34均能明显缩短模型训练时间,且各试验分割精度相当。
在表2试验结果的基础上,以使用ResNet18为主干网络的LinkNet为基准,构建不同改进结构的消融试验。不同改进结构在苹果叶片图像测试集上的测试结果如表3所示。其中,试验1表示使用预训练模型ResNet18为主干网络的LinkNet。试验2表示在试验1的基础上减小了编码-解码块数量,试验3、4和5分别代表在试验1的基础上对通道约减方案进行不同尺度的改进,试验6则表示在试验1的基础上使用子像素卷积上采样代替最终块的反卷积上采样。试验7展示了同时引入所有改进结构即改进的LinkNet的试验结果。对比试验1和2可以看出,将编码-解码块由4对减少为3对,能使网络的推理时间缩短1.18 ms。这是因为适当减小编码-解码块数量可以使网络保持较小的深度和宽度,大幅减少模型中的参数量,从而缩短网络的推理时间。对比试验1、3、4和5可以看出,改进通道约减方案也能加快网络的推理速度。其中将通道约减方案改为m/16综合效果最好;相比改为m/8,在精度相当的情况下,参数量更少,推理时间更短;与改为m/32相比,在参数量和浮点数计算量变化较小的情况下,精度更高。对比试验1和4可知,将通道约减方案改为m/16后,网络的推理时间缩短了0.36 ms,精度仅下降0.02%。对比试验1和6可看出,将最终块替换为子像素卷积后,推理时间缩短了2.36 ms,推理速度显著加快。这是因为子像素卷积不需要学习参数,可以大幅减少网络中的浮点数计算量和上采样过程中的参数量。因此,可从表2中得知,不同改进结构均能在对分割精度影响较小的基础上,有效降低模型推进所产生的参数量和浮点数计算量,缩短网络的推理时间,其中减少编码-解码块的对数和子像素卷积提升推理速度的效果最为明显。
表2 引入不同预训练模型的试验结果对比
表3 消融试验设计与结果对比
对比表2中的试验1和表3中的试验7可以看出,使用改进后的LinkNet网络进行苹果叶片分割,mIoU为95.01%,仅比原网络下降1.14%,但模型参数量减少了75.65%,浮点数计算量降低了36.19%,推理速度提升39.89%,平均推理每张图片仅需要7.82 ms,相比原网络缩短5.19 ms,能符合实际应用的要求。
为直观地表示不同改进结构对苹果叶片图像的分割效果,选取表2的试验1和2,以及表3的试验2、4、6和7共6组网络,并且选取正常、卷曲和破损3种不同情况的苹果叶片作为输入图像,二值化后的标注图像为真值图像,不同改进结构的预测结果如图7所示。不同改进结构均能较好地完成叶片分割。比较原LinkNet与改进的LinkNet的分割结果可见,改进的LinkNet能精确分割出3种不同形状的苹果叶片,叶片边缘的锯齿较为清晰,对破损部分的分割略有不足。总体来讲,改进的LinkNet在分割精度方面能满足实际应用的要求。
图7 消融试验预测结果
为进一步评价改进的LinkNet网络对于苹果叶片分割的性能,使用经典的语义分割模型FCN、U-Net和DeeplabV3+,以及实时语义分割模型ENet和BiSeNet,在苹果叶片训练集和验证集中进行训练和验证,在测试集中进行测试后得到平均交并比、平均像素精度等指标,并与本文改进的LinkNet进行对比,比较结果如表4所示,各模型之间的分割精度和推理时间的直观对比如图8所示。本文改进的LinkNet网络,在推理速度上具有明显优势。相较于经典的语义分割网络FCN、U-Net和DeepLabV3+,改进后LinkNet的分割精度稍低,但模型体积小、推理速度快。对比U-Net与改进的LinkNet可知,改进后的LinkNet的推理时间仅为7.82 ms,是U-Net所用推理时间的8.71%,参数量仅占其8.14%。与实时语义分割模型ENet和BiSeNet相比,本文方法在分割精度相当的同时,推理时间更短。对比ENet和改进后的LinkNet可知,本文方法的推理时间缩短了13.34 ms,参数量和浮点数计算量分别只有ENet的20.6%和32.96%,更利于在移动设备上应用。
图8 不同网络性能对比
表4 不同网络模型的苹果叶片分割结果
同样选取正常、卷曲和破损3种不同情况的苹果叶片作为输入图像,二值化后的标注图像为真值图像,不同网络的预测结果对比如图9所示。对于正常叶片,不同网络的分割效果差别较小。BiSeNet对卷曲叶片的分割较差。比较不同网络对于破损叶片的分割效果可以看出,DeepLabV3+的分割效果最好,其余网络均相差不大。本文改进的LinkNet能较好分割正常、卷曲和破损3种情况的叶片。
图9 不同网络的分割效果对比
综上可知,改进的LinkNet网络在分割精度与其他网络相差较小的情况下,推理时间最短,综合性能最好,能满足农业应用的要求。
本文基于LinkNet进行了4点改进:引入预训练模型、减去一对编码-解码块、改进通道约减和使用子像素卷积,均能缩短训练时间,加速模型推理,提升分割效率;由于试验所用数据集规模较大、图像标准,改进后的网络分割精度仍然较高。其中,主干网络引入预训练模型后,网络的训练总时间明显减少,这是因为引入预训练模型后,网络在训练时只需要根据本文所用数据集进行微调,相比于从头开始训练网络参数,可以节省时间和计算资源。从试验部分对比可知,减少编码-解码块数量可使模型的参数量和浮点数计算量减少,这是因为减少编码-解码块数量可以使网络的深度和宽度减小,从而降低模型的复杂度;改进通道约减方案也缩短了模型的推理时间,这是因为在执行反卷积操作之前,先减少了特征图的通道数,从而降低了反卷积过程中产生的参数量和浮点数计算量;使用子像素卷积代替最终块进行上采样,明显提升了网络推理速度,这是因为子像素卷积只需根据放大倍数即可将现有特征图的各个像素重新排列组合完成上采样,不需要学习参数,相比反卷积上采样,可以大大降低参数量和浮点数计算量。
本文改进的LinkNet与赵兵等[24]使用的FCN、Tassis等[25]使用的U-Net、Hussein等[26]使用的DeepLabV3+相比,分割精度略低,但模型更小更便于实际应用,这是因为改进后的LinkNet网络深度较小,且采用了更加高效的上采样方式。虽损失了一定的精度,但模型体积明显缩小。而且从分割效果图来看,尽管分割精度略低,但是叶片的边缘锯齿仍能被清晰分割,说明改进的LinkNet可以满足实际应用。此外,本文改进的LinkNet与郑艳梅等[32]使用的BiSeNet相比,不仅速度快,而且精度略高,不需要对分割后的图像进行后处理,这是因为本文在试验之前对标注图进行了二值化,消除了叶片与背景交界处像素模糊的情况,从而使模型的分割结果更加精确。
综上可知,引入预训练模型进行微调可以加快模型拟合速度,缩短训练时间;适当减少编码-解码块数量和改进通道约减方案,可以压缩模型,使模型的推理速度明显提升;使用子像素卷积代替反卷积完成上采样,能显著降低浮点数计算量,缩短网络的推理时间。本文所提方法在标准苹果叶片图像上已取得了较好的效果,后续还可以增加户外样本进行训练,增强模型的泛化能力。本研究方法为在开放环境下对叶片几何参数进行高效精确地测量提供了一个新方向,同时为将轻量级的分割模型进行嵌入式开发,研发成本低、精度高且速度快的叶面积测量设备奠定了基础。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!