LU-ReNet植物叶片分割与计数模型
2022-03-01王以松魏昆鹏彭啟文王运乾
邹 龙,王以松,2+,魏昆鹏,彭啟文,王 玮,王运乾
(1.贵州大学 计算机科学与技术学院,贵州 贵阳 550025;2.贵州大学 公共大数据国家重点实验室, 贵州 贵阳 550025;3.中国移动通信集团 设计院有限公司,河南 郑州 450003)
0 引 言
植物表型对于研究植物生态至关重要,它是提高植物抗病性和生产力的重要环节。传统的人工植物表型鉴定主要包括人工测量和判断植物的关键性状,最近,研究人员通过对植物叶片进行分割和识别来自动识别植物表型。文献[1]提出了一种基于RGB颜色空间的带限定条件的GMR(RSTR-GMT)阈值分割算法。Giuffrida等[2]利用Resnet50网络结构对多模二维图像中的莲座植物叶片进行端到端的分割与计数;Aich等[3]利用深度卷积与反卷积网络对莲座植物区域进行分割与叶片计数。文献[4]提出一种基于级联卷积神经网络的作物病害叶片图像分割方法对病斑区域进行精确分割;文献[5]采用编码器-解码器结构,同时引入并联的空洞卷积核使得算法具有更强的泛化性。针对植物图像特点,提高植物叶片分割与计数精度。Wang等[6]针对植物叶片分割数据集小的问题,数据集标签制作从而扩充数据集,构建全卷积神经网络完成叶片图像分割。文献[7]使用对数逻辑函数代替softmax多分类预测函数,将分割任务转化为适合于植物叶片分割的二分类问题同时改善网络整体的收敛性,提高了分割精度。这些神经网络在进行采样为了更具特征的价值会丢失部分细节信息并且这个过程是不可逆的,通过上采样只能补全少部分信息,并且没有考虑到局部或者全局的上下文依赖关系,这对包含复杂背景信息的植物图像分割是不利的。
本文针对上述神经网络缺点和植物图像分割任务中面临图像目标信息复杂的情况,提出了一种植物叶片分割与计数模型,该模型利用Xception[8]结构与CoordConv[9]结构改进模型编码器,结合改进的ReNet[10]模型共同构成模型编码器并且参照Unet模型结构将CNN(convolution neural network)和RNN(recurrent neural network)结合在一起以降低模型计算量并提高分割精度同时通过共享特征,利用同一个网络在完成植物叶片分割的基础上对植物叶片数进行预测。为了验证本文提出方法的性能,在2017CVPPP的A1、A2、A3这3个基准数据集上进行实验验证其性能。实验结果表明,本文方法在2017CVPPP数据集上的分割各项表现要好于大部分最新算法,并且能够有效降低模型计算量。平均F1-score为0.95,分别比Unet模型、FCN模型、DCDN(2017)模型高0.01、0.1、0.016;平均前景-背景Dice(FBD%)为95.54%,分别比Unet模型、FCN模型、基于正交变换的植物分割方法[11](2020)高1.03%、11.02%、1.3%。
1 LU-ReNet
1.1 LU-ReNet模型
本文考虑到内存限制,旨在不影响模型性能的情况下尽量减少计算开销,整个LU-ReNet结构如图1所示。首先参考Unet模型的经典结构,将本文所提出方法按照U型结构主要分为编码器、解码器和跳跃连接3个部分。编码器降采样操作降低运算量、增大卷积核感受野、降低过拟合风险;解码器通过跳跃连接接收编码器中多个降采样结果并与自身高级语义特征图实现多尺度融合,丰富上下文信息。而编码器部分又分为CNN模块和RNN模块,在CNN模块中,先将Unet编码器部分替换为可移植性强的VGG16以减少网络参数,然后为了进一步降低模型计算量只保留VGG16中的前7个卷积层、2个池化层、6个BN(BatchNorm)层和7个ReLU层,同时减少解码器中上采样阶段对应的卷积层数目。又考虑到一味减少模型计算量可能导致网络深度不足最终影响模型特征提取器能力,并且因为Xception采用空间相关性和跨通道相关性的方式处理数据并且被证明能够提升分类精度,故使用Xception module来增加网络宽度以弥补网络深度的不足,从而改善LU-ReNet分割精度。
图1 LU-ReNet整体结构
其次,CoordConv的作者Rosanne Liu[12]提出这种简单的改变保留了卷积学习相对较少的参数和高效计算这两种特点并且能够克服CNN变换两种空间表征(笛卡尔空间坐标和one-hot像素空间坐标)时的缺陷,它可以帮助卷积知道过滤器在哪,但如果坐标的权重变为零,CoordConv就变为了普通的卷积,如图2所示。
图2 CoordConv与普通卷积
但Rosanne Liu指出在图像分割网络中使用CoordConv替换普通卷积只能轻微地提升分割效果。为了让编码器尽可能提取更多的特征并且使CNN与RNN更好地结合,本文认为CoordConv不但能记住过滤器的位置,当它与ReNet模块结合在一起时,由于RNN本身拓扑结构的特点,使得坐标信息能够被长时间记住并且通过在ReNet模块的横向扫描和纵向扫描得到的特征图混合时起作用,而且坐标信息能够随特征图被传入上采样阶段,能提高上采样层恢复特征图分辨率的效率。所以本文改进CoordConv,在特征图进入卷积层前将坐标信息x,y,r作为添加信息与特征图一同送入卷积层。x,y是平面二维坐标信息,将x和y坐标缩放到[-1,1]范围内,其中特征图中心点被定义为原点;r是距离中心原点的欧几里得距离,其范围缩小到[0,1],用来作为CNN模块与RNN模块结合的工具之一。
随后,在编码器的RNN模块中,受用于目标识别 ReNet网络利用RNN的结构特性使其对前一层特征图进行4个方向(从左到右、从右到左、从上到下、从下到上,为叙述方便后文简述为横向和纵向)扫描启发,基于ReNet模型并对其进行改进使其用于图像分割。首先将图像划分为多个不重叠的patch,然后利用两个RNNs水平扫描图像;随后又利用两个RNNs竖直扫描图像,每一个RNN将patch拉直以后的向量作为输入,然后更新其hidden state,沿着输入图像的每一个column进行,像这样在水平和竖直的扫描完成后,将这个hidden state在每一个位置组合起来,得到一个混合的特征图,整个过程如式(1),式(2)
(1)
(2)
RNN具有时间“记忆”功能,CoordConv能够传入位置信息,相比于池化操作,CoordConv+ReNet模块这对组合能够在尽可能不丢失信息的同时有助于在每一层提取输入图像的更紧凑的特征表示并且在ReNet模块中的横向连接可以模拟Unet模型中编码器的最大池化引起的特征之间的局部竞争,使得ReNet模块在编解码结构中有着独特的优势。
ReNet神经网络模型使用ReNet模块来代替卷积+池化的组合,但本文认为这不意味着在LU-ReNet模型中不需要能够减小特征图维度、降低计算量的池化过程,所以本文使用ReNet模块+卷积+池化的组合共同构建编码器模块,如图3所示。
图3 LU-ReNet结构模型
考虑到GRU[12](gate recurrent unit)与LSTM(long-short term memory)都是为了解决长短时记忆和反向传播中的梯度等问题,其输入输出结构与普通RNN相似并且GRU内部比LSTM少了一个“门控”装置,它的参数更少,但它却能达到与LSTM相当的效果,能够提高训练效率。所以选择使用GRU作为构建ReNet模块的基础,一共构建两个ReNet模块,前后两次分别对各自输入特征图进行横向和纵向的扫描,接着将扫描得到的两个特征图混合在一起并且patch设置为(1,1),用以保留更多地局部信息,保证编码器提取到更加丰富的特征同时能够降低模型计算量。
在LU-ReNet解码器部分中,解码器除了卷积层数目与编码器卷积层数目对应,各层参数经过多次实验后设置如图3所示;解码器接收第二个ReNet模块处理之后的特征图,并像Unet结构一样通过跳跃连接接收从编码器中卷积+池化组合产生的不同尺度的特征图然后将其与自身特征图按通道组合实现多尺度融合,并对组合后的特征图上采样,不断重复此过程至特征图尺寸恢复至原图大小。
LU-ReNet 模型中的叶片计数器如图1、图4所示。叶片计数器由简单的CNN构成,利用共享特征对第二个ReNet模块的输出使用一个1*1的卷积作为叶片计数器的入口,然后紧接着使用4组3*3的卷积+ReLU组合和3个2*2的最大池化层,最后在一个全连接层后使用一个sigmoid层完成叶片计数功能。
图4 叶片计数预测分支网络
1.2 LU-ReNet模型与相关经典模型参数比较
本文提出的LU-ReNet模型尽可能减少模型参数并提升分割效果。计算采用CoordConv的卷积(带坐标卷积)参数与普通卷积类似,区别在于每次特征图在送入卷积层之前会添加3个坐标通道信息。一个Unet卷积层参数计算公式为
totaluc=K2*Ci*C0+C1
(3)
其中,K为卷积核大小,Ci为输入channel数,C0为输出的channel数,C1为偏置项的参数,一般情况下偏置项参数等于输出的channel数并且偏置项参数不会影响总参数量的数量级。带坐标的卷积层参数计算公式为
totalcc=K2*(3+Ci)*C0+C1
(4)
而BN层需要学习平移因子和缩放因子,它的参数计算公式为
totalbn=2*Ci
(5)
其中,Ci表示输入的channel数。从以上公式,加入带坐标的卷积会增加参数,但增加的计算量不会对整个模型计算量造成太大影响。而本文提出的LU-ReNet模型相比FCN与Unet,参数更少,其关键因素在于使用两个GRU分别构成的两个ReNet代替了VGG16编码器中的3个池化层,和解码器中的3个上采样层。GRU的参数计算公式为
totalgru=3*((xdim+hdim)*hdim+hdim)
(6)
其中,xdim表示输入数据维度,hdim表示神经元的个数。所以,各模型参数比较见表1。
表1 相关模型参数量比较
为了方便比较,表1按照参数量大小将各模型从左到右排列,带CoordConv的LU-ReNet模型比不带CoordConv的LU-ReNet模型参数量大,但比传统模型参数量小。表1中可看出Unet的参数大概是本文方法的6倍,FCN的参数大概是本文方法的1.5倍,显然LU-ReNet模型大大降低了计算量,减少内存消耗。
2 数据集和评估标准
2.1 实验数据集
实验数据集采用2017CVPPP中A1、A2和A3这3类基准数据集。A1是野生拟南芥植物组成的RGB图像;A2是由4个不同的拟南芥突变体组成的RGB图像,并且这些突变体具有不同形状和不同大小的叶子;A3包含烟草植物的图像。由于这些数据集采用不同的实验设置,因此植物的基因型、背景外观和成分各不相同。每个数据集中的图像具有不同的维度大小。从A1中的图像530*500像素到A3中的图像2448*2048像素不等。不同的复杂性如由于水的存在引起的反射、图像的分辨率不同,叶片的遮挡情况、植物和植物叶片不同大小,不同形状和不同突变体的存在、背景变化、场景焦点、异类物体的存在、苔藓的存在、叶片颜色变化、阴影遮挡和叶毛等种种复杂情况都被包含到数据集中。图5中3组图片分别来自A1、A2和A3数据集的不同复杂度的数字植物图像和其真实标签。
2.2 评估标准
评价分割精度和叶片精度的主要指标包括:①前景-背景Dice(FBD%),它是根据真实标签被用来确定分割的植物区域的划分;②召回率(Recall),通常它是用来找出在分割植物区域中真实标签的得分;③F1-score,它是精确度和召回率的调和平均值;④计数差分的绝对值 (|Dic|), 它主要用于计算叶片数预测和真实标签之间的差异,同时能够反映叶片数预测任务完成的平均性能。召回率和F1-score的计算公式在式(7)~式(8)给出,通过在测量真实标签与预测结果重合度得到FBD%,式(7)给出计算过程
(7)
(8)
其中,TP为真阳性,它表示正确分割植物叶片的像素数;FP为假阳性,它表示错误分割植物叶片的像素数;FN为假阴性,它表示未分割为植物叶片的像素数
图5 A1、A2、A3数据集中的原始图像与真实标签
(9)
其中,pgt表示真实标签,psr表示预测结果。精确度、召回率和F1-score的值越接近于1,表明分割准确度高。FBD%越接近100%表示分割准确度高。而 |Dic| 的值越接近于0,表明叶片数预测越准确。
3 实验结果与分析
该模型利用所描述的分割方案将输入图像中的植物叶片分割出来同时利用特征共享,预测叶片数。为了排除其它干扰因素,本文中所有实验均采用相同的优化算法和数据扩充方法。以p=0.5对训练数据集进行镜像翻转和水平翻转。采取90度、180度和270度对训练数据进行旋转。训练过程采用Adam优化器,批训练尺寸为1,总共训练100个epochs,使用早停训练方法。基于PyTorch深度学习框架设计实验,运行环境为Intel(R) Xeon(R) E5-2650的CPU和Intel(R) Core i7-8700的CPU,NVIDIA Tesla P40 GPU和AMD Radeon R5 430。
图6显示使用相关经典算法对同一单个植物图像进行叶片分割的结果对比。可以看出,Unet作为图像分割经典模型,在植物叶片分割上存在“轮廓”不清晰问题,FCN模型的结果图显示了它存在“斑点”问题、叶片轮廓不清晰和茎缺失的缺点。本文方法分割结果更接近人工标签。事实上,网络的收敛时间和网络的计算量也排在各网络收敛时间与计算量的前列,这主要得益于网络中的ReNet模块。
图6 分割结果对照
为验证CoordConv在本文网络中作用,对没有经过Xception module扩展宽度的LU-ReNet模型采用控制变量法,在实验数据集均采用A1基准数据集并且其它实验条件设置都不变的情况下,按照LU-ReNet模型编码器中卷积是否为带坐标卷积分为两个对比实验,同时为验证CoordConv+ReNet模块组合能否提高网络性能,将在上述的LU-ReNet模型中,使用两组普通卷积+池化+上采样的组合替代ReNet模块。结果见表2。
由于Rosanne Liu在其论文中表明在分割网络中将CoordConv替换普通卷积,其效果不会有提升,故为了避免
表2 CoordConv与ReNet模块在不同条件下的实验结果
重复未设置相应实验。表2中没有ReNet模块的相应模型分割性能比两种LU-ReNet模型差,说明LU-Renet不仅能降低计算量,还能提升分割效果;使用带CoordConv的LU-ReNet模型在评价指标FBD%、Recall和F1-score上分别比普通卷积的LU-ReNet模型高0.18%、0.01、0.03。此结果表明,在LU-ReNet模型中,CoordConv卷积模式在保留普通卷积模式优点的情况下,能够与ReNet模块一起并将坐标信息随特征图传递给上采样阶段,从而在一定程度上帮助上采样层更好地恢复特征图分辨率,提高模型性能。
除在对比实验中表现最出色的DCDN网络外,本文方法在A1、A2和A3这3个数据集中的多项指标均达到最佳,并且在未达到最佳的指标上,也能得到最好的分数之一,见表3。本文方法结果虽然在A1、A2基准数据集上没有明显提升,其得分却已经达到最佳。并且在A3基准数据集上,本文方法好于在A1、A2数据集上表现不错的DCDN网络。而DCDN网络在A3数据集上效果存在较大下降,也表明了DCDN网络泛化性的欠缺。本文方法在A3数据集上性能较其它方法不仅有较大提升,同时其效果能够像在A1、A2数据集上达到高性能,这表明本文方法能够适应不同数据集,拥有更好的泛化性。而对于最新的基于正交变换的植物分割方法,LU-ReNet网络除了在A3数据集Precision指标上低0.06,其余方面都更好。
表3 不同数据集的测试集评价
LU-ReNet网络在对植物图像完成叶片分割的同时利用特征共享,在同一个网络模型中同时实现对植物叶片的分割与计数。本文方法在A1、A2、A3数据集上的 |Dic| 分别为0.90、1.52和3.33。
4 结束语
植物图像中的目标植物通常具有大小不一、光线不同、多方向、多遮挡和背景复杂的特点,对分割提出了更高要求。本文为了使模型适应植物图像叶片分割任务,结合Xception module、带坐标卷积、RNN和CNN来对植物图像叶片分割神经网络进行改进,同时通过特征共享对叶片数量进行预测,提高了植物叶片分割精度。提出模型在2017CVPPP的A1、A2和A3基准数据集上对叶片分割的平均前背景Dice、平均召回率、平均F1-score分别到达了95.54%、0.95和0.95。后续工作中,我们将基于多任务学习技术,进一步提高叶片分割正确率,同时在此基础上实现植物叶片的实例分割。