基于改进FasterR-CNN模型的草莓果实识别算法
2023-12-25李佳俊朱子峰刘洪鑫苏昱荣温传闻张原升张慧敏邓立苗
李佳俊 朱子峰 刘洪鑫 苏昱荣 温传闻 张原升 张慧敏 邓立苗
摘要:针对Faster R-CNN模型对自然状态下草莓(Fragaria ananassa Duch.)识别准确率不高的问题,以地垄种植草莓的实拍图片为数据源,采用改进RPN结构和更换主干特征提取网络的方法对Faster R-CNN模型进行了改进。结果表明,改进Faster R-CNN模型识别成熟草莓平均精度(AP)为0.893 0,识别未成熟草莓平均精度(AP)为0.820 7,草莓识别准确率达到较高水平,解决了未成熟草莓识别困难的问题。同时,为了检验模型的自动计数性能,依据模型的识别结果建立了自动计数与人工计数的线性回归,成熟草莓、未成熟草莓的相关系数分别为0.973 7、0.944 7,自动计数与人工计数拥有较高的相关性,表明改进Faster R-CNN模型具有较高的识别性能与计数能力。
关键词:草莓(Fragaria ananassa Duch.);识别;Faster R-CNN模型;ResNet50
中图分类号:S24 文献标识码:A
文章编号:0439-8114(2023)11-0183-08
DOI:10.14088/j.cnki.issn0439-8114.2023.11.032 开放科学(资源服务)标识码(OSID):
Strawberry fruit recognition algorithm based on improved Faster R-CNN model
LI Jia-jun, ZHU Zi-feng, LIU Hong-xin, SU Yu-rong, WEN Chuan-wen,
ZHANG Yuan-sheng, ZHANG Hui-min, DENG Li-miao
(School of Science and Information, Qingdao Agricultural University, Qingdao 266109, Shandong,China)
Abstract: In response to the problem of low recognition accuracy of the Faster R-CNN model for natural strawberries (Fragaria ananassa Duch.), the Faster R-CNN model was improved by improving the RPN structure and replacing the backbone feature extraction network using live images of strawberries planted on ridges as the data source.The results showed that the improved Faster R-CNN model had an average precision (AP) of 0.893 0 when identifying mature strawberries and 0.820 7 when identifying immature strawberries. The accuracy of strawberry recognition reached a high level, solving the problem of difficulty in identifying immature strawberries.Meanwhile, in order to test the automatic counting performance of the model, a linear regression between automatic counting and manual counting was established based on the recognition results of the model. The correlation coefficients of mature and immature strawberries were 0.973 7 and 0.944 7, respectively. The high correlation between automatic counting and manual counting indicated that the improved Faster R-CNN model had high recognition performance and counting ability.
Key words:strawberry (Fragaria ananassa Duch.); identification;Faster R-CNN model; ResNet50
隨着草莓(Fragaria ananassa Duch.)在中国种植面积的逐渐扩大,截至2018年,中国草莓种植面积为11.11万hm2,总产量为296.43万t[1]。草莓种植从业人员老龄化问题日益凸显,加之草莓种植产业属于劳动密集型的高投入高产出农业[2],致使在每年草莓收获的季节都会出现采摘劳动力不足的情况,间接导致劳动成本增高。草莓种植产业亟需引入自动化采摘系统,以提高采摘效率[3],减缓对人工采摘的依赖,降低采摘成本。对草莓进行准确的定位识别是实现自动化采摘的前提与关键,而对生长期草莓的精准计数是进行估产的关键。
近年来,随着计算机相关算法和硬件的不断发展,图像分类[4]和目标检测等机器视觉技术在各种深度学习算法的推动下得到了迅猛进步,并应用于果蔬[5-8]的识别和目标检测。胡庆胜等[9]研究了基于机器视觉的果蔬识别方法,该方法利用Mask R-CNN神经网络框架对果蔬目标进行识别提取,解决了复杂环境下果蔬目标不能很好识别的问题,其中对于草莓的识别率达93.4%,但是使用的数据集较少,导致训练出来的神经网络场景较少,同时研究中并没有提及识别草莓过程中是否区分成熟草莓与未成熟草莓。针对自然状态下草莓果实枝叶遮挡率较高,识别准确率较低等问题,闫勇等[10]提出了Lab色彩模型下梯度Hough圆变换的成熟草莓识别方法,该方法具有较强的稳定性和精确性,在光线较差的环境下,依然能获得较低的偏差,但是当拍摄距离较远或者草莓形状较圆时,识别性能就会下降,同时研究中的方法只能识别成熟草莓,对于未成熟草莓的识别并没有进行描述。刘小刚等[11]改进了YOLOv3识别方法,在复杂环境下对草莓进行连续识别检测,成熟草莓与未成熟草莓的平均精度均值(mAP)为0.875 1,但是并没有对模型的草莓计数能力进行研究。综上,对草莓的识别研究均具有一定的局限性,例如识别场景简单、只针对成熟草莓识别等,为了让草莓识别技术可以真正落地并投入到实际生产中,要求模型可以在真实的草莓种植基地环境下进行识别,为此优化现有的识别模型,使其可以在草莓识别上发挥更好的效果。
1 数据集的建立与方法
1.1 数据集的建立
1.1.1 圖像采集 试验地点为山东省青岛市即墨区环秀街道办事处西驯虎山有机草莓种植基地,大棚地垄式种植。实地采集草莓图像2 757张,如图1所示。图像中成熟草莓为鲜艳的红色,未成熟草莓为绿色或是粉色;背景中叶片为浅绿色或深绿色;薄膜为暗灰色;部分图像背景中存在暴露的土壤,为棕红色。
1.1.2 数据集划分 将拍摄所得的2 757张图片随机均匀地划分为6组,每组图像按照图片中草莓的个数再分为2个数据集,其中图像中草莓数量≤4个的数据集标注为稀疏数据集,图像中草莓数量≥5个的数据集标注为密集数据集,数据集划分结果如表1所示,共产生12个数据集,分别用于不同的试验情境。
1.1.3 数据标注 将采集的2 757张图片压缩至较小且相同的分辨率,方便后期导入模型进行训练,同时利用标注软件对所有图像进行标注,标签分为成熟草莓和未成熟草莓,同一张图像上可以同时存在2种标签,采用POSCAL VOC2007数据集分析[12]。
1.2 方法
1.2.1 改进Faster R-CNN模型 改进Faster R-CNN模型整体结构如图2所示,共享基础卷积层(Conv1至Conv4)是由VGG16或ResNet101[13]等主干特征提取网络组成,用于提取整张草莓图片的特征,在去除全连接层且保留卷积层后输出采样后的特征图像[14]。特征图像分别输入改进的候选检测框生成网络(RPN)和ROIPooling,ROIPooling与分类网络(Softmax和bbox_pred)对RPN产生的候选检测框进行分类,并且第二次调整候选框坐标,最后输出检测结果[15,16]。
1.2.2 RPN网络优化 Faster R-CNN模型[17]的RPN要用1个3×3的slide window去遍历整个feature map,在遍历过程中,如图3所示,每个windows中心点按照1∶2、1∶1、2∶1的基础框比例生成anchor boxes,3个基础框的面积分别为128×128、256×256、512×512[18],在检测较小的草莓时,由于3个基础框的面积较大,很难匹配较小的草莓,导致Faster R-CNN模型在识别较小的草莓时识别效果较差。
考虑到在通常情况下会出现一些未开始发育的草莓,这些草莓较普通草莓更小,所以适当调小基础框面积的下限有利于对未发育草莓的识别,但是在原结构中,3个基础框的最小框已经很小,故在调节时不需要进行大幅度的调节,将3个基框的面积改为112×112、256×256、512×512可以提高对体积较小草莓的识别效果。
在Faster R-CNN模型的RPN结构中,存在1个3×3的slide window,但是草莓果实大小不一,只有1种规格的滑动窗口会降低模型对草莓的识别能力,所以在原RPN的基础上,增加1×1和5×5 2种规格的slide window,扩大其感受野,提高草莓识别性能,得到图4所示的改进后RPN结构。
1.2.3 模型训练 在模型测试时发现识别过程中识别框重叠概率较小,经过多次微调试验,将nms_thresh参数由0.7调至0.8,图像中更多的草莓可以被检测到。训练迭代次数为10 000次,为了让模型在损失曲线收敛时震荡范围更小,提高训练性能,在模型即将完成训练时减小其学习率,因此设置学习率为0.001[19],在完成7 500次迭代后学习率降低。
训练设备为1080Ti显卡[20],操作系统为Windows10,环境为PyThon3.5,Tensorflow1.3.0,训练数据通过PyThon的wandb库传送到wandb云端平台进行损失曲线可视化。
1.2.4 评价指标 采用精度(Precision)、召回率(Recall)、F1、mF1、AP和mAP等作为衡量模型性能的指标[21,22]。各指标参数的计算公式如下:
[Precision=TPTP+FP] (1)
[Recall=TPTP+FN] (2)
[F1=2×Precisionk×RecallkPrecisionk+Recallk] (3)
[mF1=1n2×Precisionk×RecallkPrecisionk+Recallk2] (4)
[AP=01Precision×dRecall] (5)
[mAP=1nAP] (6)
式中,k为图片标号;n为标签种类数;Precision为预测值为真且真实值也为真的样本在预测值为真的所有样本中所占的比例;Recall为预测值为真且真实值也为真的样本在真实值为真的所有样本中所占的比例;TP为实际为真,模型预测也为真的识别实例数量;FP为实际为假,模型预测为真的识别实例数量;FN为实际为真,模型预测为假的识别实例数量;F1为模型准确率和召回率的加权平均;mF1为所有类别F1的均值;AP为平均精度;mAP为所有类别AP的均值,用于衡量模型在所有类别上的好坏。
2 结果与分析
2.1 不同主干特征提取网络下的检测性能
采用不同的图像主干特征提取网络(VGG16、VGG19、ResNet50、ResNet101)对草莓图像进行目标检测[23],所有模型在完成10 000次训练后,对其损失曲线和PR曲线进行分析,综合判断并找到最适合对草莓进行目标检测的主干特征提取网络。
损失率[24]是实际值与期望值之差,损失率越小,模型的鲁棒性越好。经过10 000次训练后,4个模型都出现了收敛的趋势,经过滑动平均(Exponential moving average)处理后,得到图5所示的曲线。在前2 000次迭代中4个模型的损失率逐渐减小,在迭代2 000次左右时4个模型的损失曲线波动幅度均趋于缓和,在8 000次迭代后4个模型的损失率均低于0.5%,4个模型的损失曲线趋于平缓[25]。相比VGG16和VGG19,ResNet50和ResNet101在8 000次训练后损失曲线波动较小,更平稳。
在相同模型下,2类草莓的识别效果不同,在数据集中抽取2 077张图片组成测试集进行测试,分别对4种主干特征提取网络下成熟草莓和未成熟草莓的PR曲线进行分析,如图6所示。对成熟草莓而言,在相同Recall下各主干特征提取网络的PR曲线Precision差异较小,ResNet50较高;未成熟草莓中各主干特征提取网络的PR曲线差异较大,相同Recall下,ResNet50的Precision較其他3个模型更有优势,在相同的Precision下,ResNet50的Recall也更高。
在数据集中选取3张具有代表性的图片,分别使用不同主干特征提取网络的Faster R-CNN模型进行识别,由图7可知,VGG16、VGG19、ResNet50、ResNet101 4种模型对2号至6号草莓的识别效果差距较小,都表现出较高的识别率。1号、7号、8号为未成熟草莓,不仅体积非常小而且其叶片遮挡住了果实,4种模型对其识别效果都有所下降,且下降的程度不同,因此选取有叶片遮挡、体积小、未成熟的草莓图片进一步测试。
图8中只有ResNet50识别出了被叶片遮挡的未成熟草莓(1号),图9中只有ResNet101和ResNet50识别出残缺、体积很小的未成熟草莓(5号),因此选用ResNet50作为模型的特征提取网络[26]。
2.2 模型性能评价
Faster R-CNN模型和改进Faster R-CNN模型的主干特征提取网络均采用ResNet50,对比Faster R-CNN模型和改进Faster R-CNN模型的各类指标,评价模型的检测性能。由图10可知,改进Faster R-CNN模型曲线在Faster R-CNN模型曲线上方,说明在对未成熟草莓的识别上改进Faster R-CNN模型识别效果更好,而在成熟草莓的PR曲线对比中,2个模型识别效果差异不明显。
由表2可知,改进Faster R-CNN模型成熟草莓、未成熟草莓的AP分别比Faster R-CNN模型高0.004 7、0.036 5,改进Faster R-CNN模型成熟草莓、未成熟草莓的F1分别比Faster R-CNN模型高0.016 7、0.031 3。
2.3 不同分布密度下的检测性能
在实地拍摄的草莓图像中,草莓数量有多有少,为了检测使用ResNet50为主干特征提取网络的改进Faster R-CNN模型对含有不同草莓数量图像的检测性能,将原来测试集中草莓数量≤4个的图像设置为稀疏草莓数据集,将草莓数量≥5个的图像设为密集草莓数据集,采用AP、Precision和Recall评估2个数据集,检测结果如表3所示。
稀疏草莓数据集中未成熟草莓和成熟草莓的AP均高于密集草莓数据集,稀疏草莓数据集中成熟草莓的AP高达0.902 8;稀疏草莓数据集中成熟草莓的Precision高于密集草莓数据集,为0.934 7;稀疏草莓数据集中未成熟草莓和成熟草莓的Recall均高于密集草莓数据集;密集草莓数据集中未成熟草莓的Precision和Precision均值均高于稀疏草莓数据集。综上,稀疏草莓数据集在AP和Recall上表现较好,密集草莓数据集在Precision上对未成熟草莓的识别效果较优,所以总体上改进Faster R-CNN模型在识别≤4个草莓图像时的检测性能更好。
2.4 模型的计数性能
对12个数据集的草莓分别进行人工计数和改进Faster R-CNN模型自动计数。由图11可知,成熟草莓的人工计数与自动计数差别较小,而未成熟草莓的自动计数数值普遍高于人工计数,说明在未成熟草莓的计数方面存在高估现象。根据线性回归分析,成熟草莓的相关系数为0.973 7,与最理想的1∶1标准线非常接近,说明成熟草莓的计数效果较好。
3 讨论
3.1 模型架构
本研究通过改进Faster R-CNN模型中的RPN结构和多次试验测定出最适合草莓识别的主干特征提取网络,构建了适用于草莓识别的模型。该模型RPN在原RPN结构中3×3的卷积窗口上增加了1×1和5×5 2个滑动窗口,扩大其感受野,提高识别性能。同时,根据数据集的图像共有特征改进模型中的基础框面积,对图中较大草莓的识别并不会有较大影响。经过试验对比发现,将基础框调小至112×112可以获得较好的识别效果,李林升等[27]对苹果的检测和Li等[28]对粉虱和蓟马的检测中同样也对基础框的大小进行了调整,识别效果均得到显著提升,但是由于与本研究数据集不同,暂时无法比较2个模型的性能。
3.2 未成熟草莓的识别与计数问题
由于未成熟草莓颜色浅且与叶片颜色相似,未成熟草莓的识别难度较大。Sengupta等[29]研究水果识别模型中遮挡、形状不规则和光照多变等问题,与本研究未成熟草莓的识别问题相似,都存在干扰模型识别的因素,导致无法得到较好的识别结果。成熟草莓的体积相对固定,未成熟草莓处于发育期,个体间体积差异较大,还包括未发育完全的带有花托的小草莓,这些未成熟草莓对模型的识别率均会产生影响,赵辉等[30]基于果园复杂环境对YOLOv3模型进行了改进,改进的YOLOv3模型显著提升了对体积小、未成熟苹果果实的识别率。
未成熟草莓果實及其枝叶的颜色虽然相似,但是也存在差异。未成熟草莓的颜色为浅绿色,枝叶为深绿色,且未成熟草莓果实形状同样与其枝叶形状有较大差异,因此可以通过提高训练次数扩大未成熟草莓与枝叶之间的差异来达到提升识别准确率的目的。本研究基于上述未成熟草莓的特点做出改进,通过改进3种基础框的最小框面积来提高对成熟草莓和未成熟草莓的检测性能。
4 结论
为了实现草莓的自动识别与计数功能,本研究改进了原有的Faster R-CNN模型,建立了适用于草莓识别的模型。针对草莓图像特征改进了模型的RPN结构和3种基础框面积,提升了对成熟草莓和未成熟草莓的检测性能。通过对VGG16、ResNet50、VGG19和ResNet101 4种主干特征提取网络下模型识别效果的分析,选择了效果相对较好的ResNet50。在ResNet50中成熟草莓的AP为0.893 0,未成熟草莓的AP为0.820 7,mAP为0.856 9,改进Faster R-CNN模型的识别效果较Faster R-CNN模型有了较大的提高。在计数方面,建立了人工计数和自动计数的线性回归方程, 成熟草莓和未成熟草莓的相关系数分别达0.973 7和0.944 7。本研究中改进Faster R-CNN模型展现了较好的检测性能与计数能力,可为草莓自动化采摘和估产提供理论基础与技术支撑。
参考文献:
[1] 王鸣谦,薛 莉,赵 珺,等. 世界草莓生产及贸易现状[J]. 中国果树,2021(2):104-108.
[2] 肖逸尘,杨 涵.南京草莓产业SWOT分析及发展策略[J].中国林业经济,2021(5):74-77.
[3] 王粮局,张立博,段运红,等. 基于视觉伺服的草莓采摘机器人果实定位方法[J]. 农业工程学报,2015,31(22):25-31.
[4] 林相泽,张俊媛,朱赛华,等.基于K-SVD和正交匹配追踪稀疏表示的稻飞虱图像分类方法[J].农业工程学报,2019,35(19):216-222.
[5] 王丹丹,何东健.基于R-FCN深度卷积神经网络的机器人疏果前苹果目标的识别[J].农业工程学报,2019,35(3):156-163.
[6] OLANIYI E O, OYEDOTUN O K, ADNAN K.Intelligent grading system for banana fruit using neural network arbitration:Intelligent grading system for banana fruit[J]. Journal of food process engineering, 2017, 40(1):e12335.
[7] 谢忠红,徐焕良,黄秋桂,等.基于高光谱图像和深度学习的菠菜新鲜度检测[J].农业工程学报,2019,35(13):277-284.
[8] JUNCHENG M, KEMING D, FEIXIANG Z, et al. A recognition method for cucumber diseases using leaf symptom images based on deep convolutional neural network[J]. Computers and electronics in agriculture, 2018, 154:18-24.
[9] 胡庆胜,符亚云,牛金星.采摘机器人视觉系统的目标识别提取研究[J].河南科技,2020,39(25):5-8.
[10] 闫 勇,陈立夫,郭坤坤,等.Lab色彩模型下梯度Hough圆变换的成熟草莓识别[J].安徽农业大学学报,2020,47(3):488-493.
[11] 刘小刚,范 诚,李加念,等.基于卷积神经网络的草莓识别方法[J].农业机械学报,2020,51(2):237-244.
[12] 任 会,朱洪前.基于深度学习的目标橘子识别方法研究[J].计算机时代,2021(1):57-60,64.
[13] WANG T T, XU L, LI J B. Sdcrkl-gp: Scalable deep convolutional random kernel learning in gaussian process for image recognition[J].Neurocomputing, 2021, 456:288-298.
[14] 席 芮,姜 凯,张万枝,等.基于改进Faster R-CNN的马铃薯芽眼识别方法[J].农业机械学报,2020,51(4):216-223.
[15] 张 磊,姜军生,李昕昱,等.基于快速卷积神经网络的果园果实检测试验研究[J].中国农机化学报,2020,41(10):183-190,210.
[16] ZHONG Z, JIN L,HUANG S.A new approach for text proposal generation and text detection in natural images[A].Ieee international conference on acoustics, speech and signal processing(ICASSP)[C].New Orleans,LA,USA:IEEE,2017.1208-1212.
[17] HE K M,ZHANG X Y,REN S Q,et al. Deep residual learning for image recognition[A]. Ieee conference on computer vision and pattern recognition[C].Las Vegas,NV,USA:IEEE,2016.770-778.
[18] REN S Q, HE KM, GIRSHICK, R, et al. Faster R-CCC: Towards real-time object detection with region proposal networks[J]. Ieee transactions on pattern analysis and machine intelligence,2017,39(6):1137-1149.
[19] 张文静,赵性祥,丁睿柔,等.基于Faster R-CNN算法的番茄识别检测方法[J].山东农业大学学报(自然科学版),2021,52(4):624-630.
[20] 岳有军,孙碧玉,王红君,等.基于级联卷积神经网络的番茄果实目标检测[J].科学技术与工程,2021,21(6):2387-2391.
[21] 陈怡佳. 基于Faster RCNN的目标检测系统[D]. 哈尔滨:哈尔滨理工大学,2019.
[22] 荆伟斌,李存军,竞 霞,等.基于深度学习的苹果树侧视图果实识别[J].中国农业信息,2019,31(5):75-83.
[23] 闫建伟,赵 源,张乐伟,等.改进Faster-RCNN自然环境下识别刺梨果实[J].农业工程学报,2019,35(18):143-150.
[24] 倪建功,李 娟,邓立苗,等.基于知识蒸馏的胡萝卜外观品质等级智能检测[J].农业工程学报,2020,36(18):181-187.
[25] 成 偉,张文爱,冯青春,等.基于改进YOLOv3的温室番茄果实识别估产方法[J].中国农机化学报,2021,42(4):176-182.
[26] 彭明霞,夏俊芳,彭 辉. 融合FPN的Faster R-CNN复杂背景下棉田杂草高效识别方法[J]. 农业工程学报,2019,35(20):202-209.
[27] 李林升,曾平平.改进深度学习框架Faster-RCNN的苹果目标检测[J].机械设计与研究,2019,35(5):24-27.
[28] LI W Y,WANG D J,LI M,et al. Field detection of tiny pests from sticky trap images using deep learning in agricultural greenhouse[J]. Computers and electronics in agriculture,2021,183: 106048.
[29] SENGUPTA S, LEE W S. Identification and determination of the number of immature green citrus fruit in a canopy under different ambient light conditions[J]. Biosystems engineering, 2014, 117: 51-61.
[30] 赵 辉,乔艳军,王红君,等.基于改进YOLOv3的果园复杂环境下苹果果实识别[J].农业工程学报,2021,37(16):127-135.