依据Faster R-CNN的活体植株叶片气孔检测方法1)

2020-03-26 11:34王静涛宋文龙李克新黄建平贾鹤鸣
东北林业大学学报 2020年2期
关键词:气孔密度叶片

王静涛 宋文龙 李克新 黄建平 贾鹤鸣

(东北林业大学,哈尔滨,150040)

植物气孔的研究一向被植物学家所重视。植物是逐渐由水生过渡到陆生的[1]。通过对植物化石的研究,人们发现这些占领陆地的先驱者其外表皮上都有一个特化的结构—气孔[2]。陆地上生长的植物地上部水势低,无法满足代谢需要,为适应光合作用气体交换以及提高地上部水势的需要,植物表皮组织中逐渐进化出通气孔,进而形成气孔,气孔复合体由1对保卫细胞和中间的微孔组成,其功能主要是调控植物与外界环境之间的气体交换和水分散失[3-5]。通过气孔开闭,使水分和CO2在植物体内与外界环境之间达到平衡[6]。气孔是植物与大气之间进行气体和水分交换的重要器官[7-8],对调节生态系统碳、水循环过程起着极其重要的作用[9-11]。气孔的密度和分布维持着植物体与外界环境之间水分和气体的动态平衡,因此气孔的密度和分布也受到各种因素的影响[12]。植物由于所处环境的不同其气孔密度和分布有较大的差异。光、CO2浓度、温度和湿度等都会影响气孔的密度与分布[13]。研究发现温度能够减少或增加气孔密度[14-18],通过研究和分析植物历年的气孔密度随环境因素的变化,能对气候变化使植物气孔密度变化有更好的认知[2,19-21],因此研究气孔的密度和分布有着重要的意义。

本研究针对活体植株的叶片气孔图像,利用深度学习技术进行活体叶片气孔的检测与计数,提出依据Faster R-CNN[22]算法的气孔检测和计数方法。该方法能够实现气孔的自动检测和计数,在每张图像对应的植物叶片面积都相同的情况下,进一步计算这批气孔图像的平均气孔密度。

1 材料与方法

1.1 气孔图像获取与预处理

选取培育好的杨树幼苗,当年生、高约2 m,用基恩士公司的VHX-2000型号的数码显微镜进行活体杨树叶下表皮气孔图像采集。利用VHX-2000的实时深度合成技术,获取活体杨树叶片气孔的全视野清晰图像。图像分辨率为1 600×1 200,并在此分辨率下分别采集了500 X镜头和1 000 X镜头下的两种气孔图像。在每片采摘下的杨树叶片的不同部位采集4~8气孔图片后,更换新鲜的叶片或者新的植株继续采集气孔图片。

为了保证每张气孔图像对应的杨树树叶表皮的面积相同,用Photoshop软件把所有500 X镜头下采集的像素为1 600×1 200的气孔图像裁剪分为四等份,最后得到了500幅像素为800×600的JPG格式的图像。并把所有1 000 X镜头下采集的像素为1 600×1 200的气孔图像降采样为像素800×600的JPG格式的图像,最后同样得到500张像素800×600的JPG格式图像。

1.2 数据集制作

用labelimage[19]对以上得到的图像进行标注,每张图像标注后能得到一个xml格式文件,该文件记录着这张图像中所有目标的名称和位置坐标。标注气孔时将气孔露出部分大于70%的图像边缘的气孔也标注正样本。最后用JPG图像和xml文件一起来训练模型。本文制作了3个数据集,500 X数据集(D500 X)、1 000 X数据集(D1 000 X)和混合数据集(Dmix),如表1所示,D500 X数据集中只包含500 X镜采集的经过裁剪后得到的500幅像素800×600杨树叶片气孔图像,D1 000 X数据集中只有1 000 X镜采集的经过降采样得到的500幅像素800×600杨树叶片气孔图像,混合数据集Dmix则是把D500 X数据集和D1 000 X数据集合起来,混合数据集的训练集、验证集和测试集中500 X数据和1 000 X数据各占50%。训练过程中训练集和验证集参与训练和参数优化,测试集最后用来对模型进行测试。每幅气孔图像中的气孔个数不低于10个,因此400幅气孔图像的训练验证集中包含4 000多个气孔目标参与训练。

表1 数据集介绍

1.3 Faster R-CNN的算法和模型训练

Faster R-CNN由两个模块组成,第1个模块的深度神经网络用来提取预选区域,第2个模块的深度神经网络用来检测并识别第一个模块产生的预选区域。第1个模块被称为RPN,即候选区域提取网络。第2个模块被称为Fast R-CNN[23],对RPN提取的候选区域进行回归和分类,Fast R-CNN算法则是由R-CNN[24]算法历经SPP net[25]算法改进而来。在Faster R-CNN算法出现之前,对于图像的预选区域的提取一直使用的是Selective Search[26]算法,但这个算法速度较慢,并且训练模型时需要分开并先执行此算法。因此Faster R-CNN算法创新性的提出了RPN网络进行图像预选区域的提取,并和Fast R-CNN算法共享部分网络,都是基于VGG16[27]网络来提取图像特征图,共享网络大大提高了算法的执行速度和效率,如图1所示。

图1 Faster R-CNN目标检测网络结构图

本文使用了Faster-RCNN_TF算法的开源代码[20]。在NVIDIA的TITAN Xp型号的GPU显卡上来做深度学习训练,训练过程中设置预选框的大小为128×128、256×256和512×512,预选框的位置和真实目标的位置重叠面积大于70%的设定为正样本,重叠面积小于30%的设定为负样本,RPN训练过程中选取128个正样本和128个负样本,利用公式(1)计算RPN网络的损失值。在训练RPN网络时先用image net[28]网络参数初始化RPN和Fast R-CNN共享的网络的参数,其它RPN独有的网络层参数则使用标准差为0.01的零均值高斯分布进行初始化。RPN网络的损失函数如公式(1)[22],

(1)

(2)

(3)

(4)

公式(3)中的x、y、w、h是标注的图像中目标的位置的中心点坐标和宽高,xa、ya、wa、ha是预选框的中心点坐标和宽高,x*、y*、w*、h*则是预测的目标的中心点坐标和宽高。

Fast R-CNN的训练是利用RPN网络提取图像的感兴趣区域,通过得分排序和非极大值抑制算法,得到2 000个感兴趣区域,把这些预选框送给Fast R-CNN网络,进行进一步的识别和坐标回归训练。

训练过程中前50 000次迭代的学习率设为0.001,后20 000次迭代的学习率为设为0.000 1,动量参数为0.9,权值衰减参数为0.000 5。每隔10次迭代保存一次损失值。本文训练了3个模型,500 X模型(M500 X)用D500 X数据集训练得到,1 000 X模型(M1 000 X)用D1 000 X数据集训练得到,混合模型(Mmix)用混合数据集Dmix训练得到。

1.4 模型参数计算方法与公式

模型召回率的计算方法如公式(5),精度的计算方法如公式(6),

(5)

(6)

公式(5)中的NTP为检测结果中真正的气孔的个数,NFN是漏检的气孔个数,NMC为人工计数气孔的个数,这里认为人工计数不存在误检和漏检。公式(6)中NFP是误检的气孔个数。

气孔密度计算方法如公式(7)。公式中Ni为输入的测试集的图像张数,S为一张气孔图像对应的1 000 X镜下杨树叶片的真实面积,本文的测试集中的每张图像对应的VHX-2000数码显微镜下的杨树叶表皮面积相同,S=0.23 mm×0.31 mm,Ns为程序检测并输出的测试集的气孔总个数,D则为杨树叶表皮的气孔密度。

(7)

2 结果与分析

2.1 杨树气孔图像检测结果

实验中,采用人工方法获得气孔数量作为真值。在人工计数期间,对于图像边缘的气孔,采取的办法和标注气孔时采用的方法相同,气孔个体露出超过70%面积就计数一个气孔。数据集D500 X、D1 000 X的测试集气孔数量如表2所示。

表2 各模型对测试集的测试结果

表3 各模型的气孔检测的召回率

采用训练后的模型M500 X、M1 000 X和Mmix分别对数据集D500 X、D1 000 X和Dmix中的测试集图像进行检测,结果如图2所示,检测一张图像仅耗时0.08 s左右。图中标注了气孔的位置,记录了气孔的数量。对气孔图像批检测时,程序统计了这批图像中气孔的总数。各模型下数据集D500 X和D1 000 X的测试集中的气孔总数如表2所示。各模型对两组100张气孔图像中气孔的检测精度和召回率如表3所示。

2.2 白桦气孔图像的模型测试

本文采集了白桦的叶片气孔图像,来检验模型的泛化能力,同样使用100张白桦气孔图像输入给杨树气孔图像训练的M1 000 X模型,检测到白桦气孔1 086个,漏检气孔50个,误检气孔0个,精度为100%,召回率为95.60%,由此可以看出本文提出的模型有一定的泛化能力,图3是白桦气孔图像的检测结果。

2.3 杨树叶片气孔密度计算

采用M500 X、M1 000 X和Mmix模型对D500 X和D1 000 X测试集计算密度的结果如表4所示。

图2 气孔检测结果图

图3 白桦气孔图像检测结果

表4 气孔密度

注:1 mm2内气孔的数量。

2.4 检测算法和模型性能分析

从图2的检测结果图中可以看出,图像中的完整的气孔都能被检测,但是图像边缘的气孔并不能全都检测出来。从表2中也可以看出用模型检测出的两个测试集的各100幅图像中的气孔总数要比人工计数的气孔数要少。从这200张检测结果图像可以看出,几乎所有漏检气孔都是图像中边缘的不完整的气孔,而且没有误检的气孔,模型对气孔检测的精度能达到100%。表3数据表明只用D500 X数据集训练出来的M500 X模型,对500X镜采集的气孔图像识别效果最好,但对1 000 X镜采集的气孔图像检测时,则会出现很多漏检的气孔。同样的情况也出现在用D1 000 X数据集训练的M1 000 X模型。Mmix混合模型是两种数据组合起来训练的模型,Mmix模型的气孔检测召回率虽然比交叉验证的效果好,但还是略低于M500 X模型对D500 X测试集的检测召回率,同样也低于M1 000 X模型对D1 000 X测试集的召回率。这表明500 X下的气孔特征和1 000 X下的气孔特征存在差异。图4中的精度曲线和召回率曲线表明了迭代次数少的模型,召回率高,精度低,即检测结果没有漏检气孔,但有误检气孔;迭代次数多的模型,精度高,召回率低,即0检测结果没有误检气孔,但有漏检气孔。本文认为检测出的气孔都是正确的要好于能检测出全部气孔但却附带有很多被误检为气孔的背景,因此本文选择的是迭代次数多精度高的模型对气孔密度进行计算。图5中训练验证集大小和召回率的关系也说明了训练验证集包含气孔图像增多,模型的召回率也大致呈增大趋势,制作更大的数据集也很有可能使模型有更好的表现效果。

图4 损失值、精度、召回率和迭代次数的关系曲线

图5 训练验证集和召回率的关系曲线

3 结论与讨论

植物叶片气孔密度的计算通常耗时费力,因为需要在显微图像中可视化计数,或者辅助于图像处理软件进行人工计数。传统的气孔密度检测方法主要采用人工计数每张图像中的气孔数量,除以对应的图像在显微镜下的植物叶片的尺寸。该方法耗时费力,且主观性强。Silve Vialet-Chabrand et al.[29]人提出了一种基于级联分类器的植物叶片气孔检测方法,该方法能够自动识别出植物气孔图像中气孔的数量和位置,当忽略位于图像边缘的不完整气孔时,两种树种的误检率和漏检率分别为5%/14.8%和1.9%/0.74%,测试集的气孔检测率能达到85.2%。Kaue T. N. Duarte et al.[30]利用小波和分水岭算法分割高质量气孔数字图像来检测并计数气孔,该方法能达到98.34%的精度和98.24%的召回率。Hiranya Jayakody et al.[31]提出了一种全自动的气孔检测和气孔测量方法,该方法首先用正负样本来训练一个级联分类器,然后在一张气孔图像上进行滑窗,根据分类器的结果识别滑窗中是否为一个气孔。该方法能够达到91.68%的气孔识别精度。Takumi Higaki et al.[32]提出了使用快速遗传算法和CARTA(聚类辅助快速训练)自组图算法来检测叶表皮气孔的方法,这种方法对气孔检测的精度显著依赖于ROI(预选区域)大小和数量参数的设置,需要进行大量实验和试错来对参数进行优化。Yosuke Toda et al.[33]将用于面部识别的方法用于气孔检测和测量,使用HOG(方向梯度直方图)检测气孔的位置,利用一个神经网络对提取的候选位置进行分类,提取出包含气孔的预选位置。朱济友[34]、荐圣淇[35]提出了采用eCognition商用遥感智能化影像分析软件来估算植物叶片气孔密度及气孔面积。该方法的关键在于分割参数的确定及提取规则的建立,需要通过实验得到最适当的参数,这些最佳参数及分类规则阈值需要人为的根据实验结果进行修改,在实验过程中同样需要一定的经验和技巧修改参数以得到最佳结果。Karl C. Fetter et al.[36]提出的气孔检测及标注方法采用AlexNet神经网络提取图像特征图,然后对特征图进行背景和目标的分类,在不考虑图像边缘的气孔时,采用混合训练的模型对400X测试集检测概率可达到98.5%。混合模型的训练所用的数据集包括表皮数据库,香脂杨树,SEM图像以及一些新鲜叶子图像[37]。现有的植物叶片气孔检测方法所采用的图像均是离体并剥下表皮或是指甲油印记法制成玻片在显微镜下成像,图像质量好,气孔清晰。且叶片离体采集并处理得到的气孔图像,气孔性状已经发生了改变,所获取的气孔形貌已不再是其原本的气孔形态。

与这些方法相比,本文使用了基于深度学习的目标检测算法,精确自动快速的检测杨树叶片显微图像的气孔。气孔召回率最高可达到99.32%。本文方法很容易评估大量采样下的气孔密度,为估计叶子特性和研究气孔不同分布模式下对气体交换和适应气候变化方面的影响提供科学的技术手段。

显微图像边缘的不完整气孔影响本文方法的识别率。通过减少迭代次数来增加对边缘气孔的识别率,但是减少迭代次数也会使误检率提高。因此在进行活体采集叶表皮气孔图像时可以尽量避免有很多的边缘气孔出现在视野中,并采集更清晰的气孔图像,模型才能有更高的精度和召回率。

本文所用的气孔图像数据集有限及数据集单一,需要后续进行数据集的扩充,包括不同树种、不同生长期的叶子气孔数据,以进一步验证算法的可靠性和泛化能力。

本文提出了一种依据Faster-RCNN的活体植株叶片气孔快速自动检测算法。该方法不仅能够检测出气孔,同时还能给出气孔的位置以及气孔的数量。单幅图像的检测时间约0.08 s。对现有的数据集的检测召回率最大为99.32%(M1 000 X模型检测D1 000 X测试集数据),最小为89.59%(M500 X模型检测D1 000 X测试集数据),没有出现误检情况。本文提出的方法具有较好的泛化能力,所训练模型对白桦叶片气孔测试,检测召回率为95.60%。本文提出的方法能够自动计算出一批图像的气孔密度,最终得到的杨树叶片气孔平均密度为183个/mm2。

研究结果有助于简化各种活体植物叶片气孔图像中气孔的计数和气孔密度的计算,对开展活体植株叶片气孔的行为研究具有重要的意义。

猜你喜欢
气孔密度叶片
孔内压力对规则多孔Cu-1.3Cr合金气孔形貌的影响
贵州火龙果的气孔特征及其日变化规律
基于改进Mask R-CNN模型的植物叶片分割方法
玉米叶气孔特征对氮素和水分的响应及其与叶气体交换的关系
利用“人工叶片”从无到有生成燃料
我的植物朋友
KD490:一种软包锂离子电池及其制作工艺
“密度”练习
密度的应用趣谈