基于Faster R-CNN复杂背景的茶芽检测
2022-10-10李赫王玉范凯丁兆堂
李赫,王玉,范凯,丁兆堂,2
(1.青岛农业大学园艺学院,山东青岛 266109;2.山东省农业科学院茶叶研究所,山东济南 250108)
茶芽检测在茶树栽培管理和生产加工中具有重要意义:可以为快速判断茶树品种农艺性状提供支持,从而加速茶树育种;可以为茶园产量测定、采收时间的判断提供依据;可以为研发茶叶采摘与加工智能化设备提供技术支持。传统茶芽检测方法主要有3种:第1种依靠茶芽颜色和形状特征来检测,主要根据茶芽和老叶的颜色差异来区分茶芽和背景[1];第2种基于传统机器学习方法检测茶芽[2];第3种通过调整阈值将茶芽和背景分割以检测茶芽[3]。然而在复杂背景下,传统茶芽检测方法准确率低、稳定性差,很难精准地检测到茶芽。
近年来,基于深度学习的目标检测算法发展迅速,这为精确定位并检测目标提供了技术支持。首先,R-CNN(region-convolutional neural network)作为将深度学习应用于目标检测领域的先驱算法,创新性地将传统机器学习和深度学习结合起来,推动了目标检测算法的发展[4];随后,研究人员通过改变网络结构,提出了SPP Net(spatial pyramid pooling network)[5]、Fast R-CNN[6]、Faster R-CNN[7]、YOLO(you only look once)[8]等目标检测优化算法。但目前将基于深度学习的目标检测技术应用于茶芽检测难度较大,相关研究较少。
本文提出一种基于Faster R-CNN算法的茶芽检测方法,该方法分别使用AlexNet[9]、ResNet50[10]、VGG19[11]3种网络模型作为特征提取器提取茶芽特征,通过比较3种网络模型对茶芽检测的准确率和召回率,筛选出茶芽特征提取能力和泛化能力好、检测速度快、综合性能优的网络模型。
1 材料与方法
1.1 设备与软件
EOS 6D数码相机,佳能(中国)有限公司;iPhone 8p手机,苹果(中国)有限公司。数据分析操作环境为Windows 10,图像数据分析软件为MATLAB 2020。
1.2 图像采集及数据集的划分
需要采集足够多的训练图像[12]。茶芽图像采集于2019年4月在山东省青岛市瑞草园(36°42′N,120°56′E)和山东省日照市御园春(35°29′N,119°29′E)茶园进行。使用数码相机(分辨率为5 184像素×3 456像素)和手机(分辨率为4 512像素×3 008像素)采集茶树树冠图像,共拍摄400张,图像存储格式为JPEG,拍摄角度和拍摄距离随机。将400张图像按照4∶1划分,用于训练集和测试集。拍摄茶芽图像中,茶芽以外的信息为背景,背景主要包括茶树老叶和枝干等。图1为拍摄的一张茶树树冠照片。
图1 茶树树冠照片Fig.1 A canopy photo of tea tree
1.3 数据增强和标记
为提高检测泛化能力,对采集的图像从光照、尺度和颜色等方面进行数据增强处理,包括调整图像光照强度,加深图像颜色,调整图像分辨率至730像素×530像素,水平翻转图像。然后,在MATLAB软件中使用image labeler 9.2功能对320张增强处理后的图像进行标记,得训练集,其余80张图像作为测试集以验证检测性能。目标标签对应的茶芽类型为一芽一叶或一芽两叶。图2为茶树树冠标记处理后的图像。标签数据以MAT格式保存,将它转换为表格数据集格式并输入Faster R-CNN算法中。
图2 茶树树冠图像的标记处理Fig.2 Image labeling processing of tea tree’s canopy
1.4 茶芽检测方法的设计
利用Faster R-CNN算法进行茶芽检测,主要包括4步处理,分别为特征提取、区域候选网络、感兴趣区域层池化和分类回归,基本流程如图3所示。
图3 茶芽检测方法的基本流程Fig.3 Basic flow of tea bud detection method
1.4.1 特征提取
特征提取器是Faster R-CNN算法的重要组成部分[13],它的性能直接影响目标检测的性能。选取AlexNet、ResNet50、VGG19 3种性能较优的网络模型作为特征提取器来提取图像特征,得到特征图。3个特征提取器包含层的数量分别为8、50和19。一般来说,特征提取器包含层的数量越少,训练速度越快,特征提取器的性能越好。
1.4.2 区域候选网络
区域候选网络是一个二分类网络,负责接收特征提取器提取到的特征图,并将特征图分为目标茶芽与背景,然后使用接近于茶芽尺寸的方框框选出目标茶芽。区域候选网络只能粗略区分目标茶芽与背景,无法对目标茶芽和背景进行细致区分。
1.4.3 感兴趣区域池化
感兴趣区域池化层可以显著提高训练和测试速度、检测精度,对目标茶芽和背景进行细致区分。感兴趣区域池化层从区域候选网络读取不同区域的提名,并结合特征图进行池化操作,从而获得特征表达。
1.4.4 分类回归
分类回归由全连接层构成,可以获得区域的精确位置,去除背景,并框选出目标茶芽。从感兴趣区域池化层获得的特征表达输入全连接层后被分为两组,分别进行回归处理和目标茶芽与背景的分类处理,从而框选出目标茶芽。
1.5 参数设置
使用训练集对AlexNet、ResNet50、VGG19 3种网络模型进行训练,使用测试集中的20张图像进行测试,并在MATLAB 2020软件中将最大迭代次数和学习率分别设置为20和0.05。根据检测效果调整学习率,最终确定最大迭代次数和学习率分别为20和0.01。图4为两种学习率条件下VGG19网络模型的茶芽检测结果。从图4可以看出,学习率影响茶芽检测效果:学习率为0.01时,检测到的目标茶芽数量较多,检测效果较好。
A.学习率为0.05;B.学习率为0.01。图4 不同学习率条件下的茶芽检测结果Fig.4 Tea bud detection results under different learning rates注:使用的网络模型为VGG19。
1.6 网络模型性能评估
为比较AlexNet、ResNet50和VGG19 3种网络模型性能,使用准确率P、召回率R[14]、F1分数S来评估。
其中,T为能够检测出茶芽并可确定为茶芽的样本数量,F为能够检测出茶芽但确定为非茶芽的样本数量,N为不能检测出茶芽的样本数量。
1.7 茶芽数量级别划分
为进一步比较不同茶芽数量条件下3种网络模型的性能,将采集图像分为3级,第1级茶芽数量1~5个,第2级茶芽数量6~10个,第3级茶芽数量超过10个[15]。每一级使用30张图像进行测试。
2 结果与讨论
2.1 网络模型的性能
根据表1,使用ResNet50网络模型时,茶芽检测准确率最高,为89.1%,但召回率最低,仅为73.3%。因此,ResNet50网络模型不能很好地检测茶芽。使用AlexNet网络模型时,茶芽检测准确率和召回率都较低,这与AlexNet网络模型结构过于简单有关。使用VGG19网络模型时,茶芽检测准确率和召回率都超过85.0%,可以很好地检测茶芽。比较三者的F1分数,VGG19的最大,说明它的综合性能最优。图5是VGG19网络模型检测到的一个茶芽。
表1 3种网络模型的茶芽检测结果Table 1 Tea bud detection results of three network models
图5 使用VGG19网络模型检测到的一个茶芽图像Fig.5 An image of tea bud detected by VGG19 network model注:方框内是检测到的一个茶芽。
2.2 茶芽数量对检测性能的影响
由表2可知,随着茶芽数量级别的提高,3种网络模型茶芽检测准确率和F1分数都逐渐降低,这说明随着茶芽数量的增加,使用3种网络模型茶芽检测综合性能均下降。其中,VGG19茶芽检测准确率保持在80.0%以上,召回率稳定在85.0%以上,F1分数保持在0.850以上,为最优网络模型。
表2 3种网络模型对不同茶芽数量的检测结果Table 2 Detection results of three network models for different numbers of tea bud
2.3 Faster R-CNN与SVM的比较
为比较深度学习方法和机器学习方法在茶芽检测方面的性能,选择VGG19网络模型为特征提取器,比较Faster R-CNN算法与支持向量机(SVM)的茶芽检测性能,结果如表3所示。由表3可知,基于Faster R-CNN算法茶芽检测准确率和召回率较高,综合性能较好。
表3 Faster R-CNN与SVM茶芽检测性能比较Table 3 Comparison of tea bud detection performance between Faster R-CNN and SVM
2.4 讨论
比较了基于Faster R-CNN算法的AlexNet、ResNet50和VGG19 3种网络模型对茶芽的检测性能。VGG19茶芽检测具有较高的准确率和召回率,F1分数最高,综合性能最好。ResNet50茶芽检测虽然准确率最高,但召回率最低,F1分数最低,综合性能最差。与ResNet50相比,VGG19在茶芽检测时具有较快的运行速度,这使得VGG19在训练大型数据集时具有优势。AlexNet茶芽检测准确率和召回率都较低,性能不突出。对不同茶芽数量的图像检测性能比较结果表明,随着茶芽数量的增多,3种网络模型的综合性能均下降,但VGG19茶芽检测的F1分数始终保持在0.850以上,进一步说明它具有良好的综合性能。综上所述,VGG19网络模型在茶芽检测方面综合性能好,能较好地解决复杂背景茶芽检测准确率低、稳定性差等问题。Faster R-CNN算法与SVM算法比较结果表明,Faster R-CNN算法的茶芽检测准确率和召回率大于SVM算法,这与以往研究结果一致[17]。因此,深度学习可以应用于复杂背景中的茶芽检测,为茶树产量特性评价、茶叶采摘与加工智能化机械设备研究提供技术支持。下一步可使用不同的深度学习算法或更多的采集数据进行研究,还可以探索使用多光谱成像或高光谱成像设备来扩增数据质量,进一步提高检测性能。
3 结论
以Faster R-CNN算法为框架,分别以AlexNet、ResNet50和VGG19网络模型为特征提取器对复杂背景茶芽图像进行检测。结果表明,使用VGG19的茶芽检测准确率为86.3%,召回率为96.1%,综合性能最好。表明本文提出的基于Faster R-CNN算法、以VGG19网络模型为特征提取器的茶芽检测方法可以应用于复杂背景茶芽检测。