基于深度学习的苹果树侧视图果实识别
2019-12-11荆伟斌李存军
荆伟斌,李存军,竞 霞,赵 叶,程 成
(1. 北京农业信息技术研究中心,北京100097;2. 西安科技大学测绘科学与技术学院,陕西西安710054)
0 引言
我国是世界上苹果种植面积最大、产量最高的国家。2014—2019年,我国苹果年总产量均达到3 700万t以上,位于世界苹果总产量之首;同时,我国也是苹果消费大国[1-2]。在果实采摘、保鲜储藏、销售等工作中,由于无法及时预估苹果产量,导致储藏成本分配不合理、人工投入比例不合理、销售订单量与果园实际产量无法匹配以及进出口量分配不合理等问题。快速准确地识别树上果实的数量,对果实采收、进出口管理以及储藏成本控制等具有重要意义。
果实识别方法通常是基于颜色信息和轮廓信息进行。基于颜色信息的识别算法有分水岭算法[3]、构建颜色网络的识别分类器[4]等,其在果实近景识别以及简单环境中的识别精度较高,但在广域复杂背景下,由于光照、遮挡等因素影响导致果实识别精度较低,难以有效地分割果实与背景环境。基于轮廓信息的识别算法主要有Sobel边缘提取[5]、K-means多目标提取[6]等,其在果实遮挡面积小、轮廓信息完整的条件下识别精度较高,但是在有遮挡条件下识别精度较低,并且需要根据不同的目标物调整相应的阈值,导致漏判、误判现象较为严重。
为解决广域复杂环境下多目标识别精度低的问题,提高模型的泛化能力,国内外相关学者采用深度卷积神经网络进行果实多目标识别方法研究。在深度卷积神经网络目标识别领域,出现了Faster-RCNN、YOLO、Mask-RCNN等快速高效的网络模型,并被广泛应用于人脸检测[7]、驾驶员手机使用检测[8]、汽车识别检测[9]中。JordiGené-Mola[10]、Anand Koirala[11]、Yunong Tian[12]等基于深度卷积神经网络,采用多目标检测的方法对复杂场景下的树上果实进行识别,在果实近景识别中均取得较好成果,但在广域复杂场景下的研究相对较少。相关学者研究发现[13],Faster-RCNN[14]更适用于小而密集的中小目标物的检测识别,识别效率比其他模型更好。通过对果园实地调查发现,苹果树上果实存在小而密集特点,遮挡情况较为复杂,因此,文章通过Faster-RCNN模型对广域复杂场景下的苹果树上果实进行识别,并对模型的适用性进行分析。
1 材料与方法
1.1 影像采集
为进行苹果树上果实识别研究,该文在北京市昌平区某苹果果园使用佳能EOS1500D数码相机采集的侧视图,采集时间为2019年9月17日和2019年9月23日,影像为RGB格式。该苹果园共有果树40棵,果树高度为3~5 m,果树行间距为4 m(图1)。该果园苹果以富士为主,果实与枝叶间、果实之间存在互相遮挡等情况,如图1c~图1d,受天气、树荫等影响,果实表面颜色分布不均匀。该果园具有通常果园都存在的果实轮廓信息不清、颜色多样、生长环境复杂等特点,是进行广域复杂场景树上果实识别的合理实验场地。
图1 北京市昌平区某苹果园Fig.1 Orchard located on Changping district,Beijing
实验中,根据实际果树分布状况,采用人为定点拍摄的方式进行影像采集(图2)。由于相邻两列果树行间的距离之间差值较小,而且行间距方向非标准垂直向下结构,所以在影像采集时,采集路线非标准的垂直前进路线。在采集影像时,统一面向果树侧面,并在果树中点位置进行影像采集,即横向处于同一水平线两棵果树的中点位置。同一个影像采集点采集4次影像,分别涵盖不同曝光程度下(全自动模式、光圈优先模式、快门优先模式)的果树影像,用于模拟广域复杂环境下不同光照对相机采集影像的影响,增强数据库的丰富性和多样性,提高模型学习的泛化能力。
图2 苹果树侧面影像数据集部分展示Fig.2 Part of apple tree side image data
在模型样本库建立时,共采集该果园160张影像,影像大小为375×500像素(图3),采用labelme软件进行果树侧面苹果标注。为验证模型的泛化能力,选用30棵果树的侧面影像120张用于模型训练数据集,其余10棵果树的40张影像作为模型测试数据集。
1.2 侧视图苹果识别方法
1.2.1 Faster-RCNN模型结构
该文采用Faster-RCNN对苹果树侧面图进行果实目标识别。Faster-RCNN是由Shaoqing Ren提出的一种用于目标检测的深度学习模型[14],是基于RCNN和Fast-RCNN模型改进的一种目标检测模型,舍弃了通过选择性搜索(Selective Search)提取候选框方法,采用区域候选网络(Region Proposal Networks,RPN)法生成目标检测的候选区域。Faster-RCNN模型共由三大模块构成,分别是影像特征提取层、前景候选区域生成网络、分类层(图3)。其中,RPN是在卷积神经网络提取的特征图层(Feature maps)上进行操作,获取目标物特征图像中的地面位置,并在每张图上生成300个候选框,映射到卷积神经网络最后一层输出的Feature maps上,其生成的建候选框质量高、数量少,并且借助GPU强大的计算能力,能极大地提高目标检测的速度。
图3 Faster-RCNN对苹果侧视图进行果实识别的工作流程Fig.3 Faster-RCNN workflow
深度学习模型泛化能力取决于影像特征提取的丰富性与多样性,不同的特征提取网络对模型的鲁棒性以及学习能力均有影响。该文分别选用VGG16[15]和ResNet50[16]作为苹果树侧面图苹果特征提取网络模型。VGG16是由13层卷积层、13层ReLU激活函数和4层池化层组成的深度网络,其网络的深度决定了它能够学习图中的多种深层次信息。ResNet50由8个部分构成,涵盖了卷积层、最大池化层、4个残差网络模块、平均池化层和全连接层。深度卷积网络模型训练误差升高的原因是网络越深,梯度消失的现象就越明显,所以在后向传播的时候,无法有效把梯度更新到前面的网络层,靠前的网络层参数无法更新,导致训练和测试效果变差[16]。因此,为解决深层网络的梯度消失问题,ResNet的4个残差网络模块中增加了1个恒等映射(Identity Mapping),即把当前输出直接传输给下一层网络,同时在后向传播过程中,也是将下一层网络的梯度直接传递给上一层网络。2个特征提取网络具体参数如表1所示。
表1 深度学习特征提取网络模型结构参数Table 1 Deep learning feature extraction network model structure parameters
续表1
1.2.2 模型运行环境
该文基于GPU强大的图像运算能力进行深度学习模型运行环境搭建,GPU显卡为NVIDIA2080Ti,处理器为Inter core i7-9800x,主频为3.8Ghz,128GB内存,华硕x299主板,在ubuntu18.04系统环境下进行TensorFlow框架搭建,并安装GPU显卡深度学习所需运算插件cuda9.2。
1.2.3 模型训练
通过调整模型运行学习率、权重衰减项、迭代次数等参数,对模型进行优化训练并进行测试试验。具体训练过程中,将初始学习率(Learning rate)设置为0.001,权重衰减项(Weight decay)设置为0.000 1,最大迭代次数设置为4万次。基于VGG16和ResNet50特征提取网络,Faster-RCNN最终输出为侧面苹果的识别结果,为提高苹果的识别精度,仅输出置信度大于0.8的目标。
1.3 精度评价指标
该文采用准确率P(perecision)、召回率R(recall)以及OA(averall accuracy)等指标对Faster-RCNN模型计算结果进行精度评价[17],各指标计算公式为:
式(1)~(4)中,N为测试样本的个数,TP为模型正确识别侧面图的苹果个数,FP为将背景误识别为苹果的个数,FN为未识别的苹果个数,P为模型识别苹果的准确率,R为模型识别苹果的召回率,F为模型未识别为苹果的漏判率,OA为准确率P和召回率R的均值,用于评判模型的识别精度。
2 结果与分析
2.1 侧视图苹果识别
该文对样本库中30棵果树的影像数据作为训练数据进行目标标注,利用VGG16和ResNet50进行影像特征提取,RPN生成候选区域,softmax进行模型输出,构建基于Faster-RCNN的苹果树侧视图果实识别模型,并利用剩余10棵树的样本数据进行模型精度评价。如图4为Fater-RCNN对其中2棵样本果树进行侧视图果实识别结果。
图4 Fater-RCNN对苹果树侧视图的果实识别结果:a.样本树1原图;b.样本1的ResNet50识别结果;c.样本1的VGG16识别结果;d.样本树2原图;e.样本2的ResNet50识别结果;f.样本2的VGG16识别结果苹果识别结果展示Fig.4 Side apple recognition results
比较ResNet50和VGG15的识别结果可知,2个模型在识别结果中具有一定的相似性,对于遮挡较小、颜色饱满的苹果,模型的识别精度高,果实识别的置信度也相对较高;在遮挡比较严重即果实轮廓信息不丰富区域,以及果实颜色与地面苹果袋子颜色接近区域,模型的识别精度较低,误判率较高,置信度也相对较低;在果树下方出现的苹果袋子对模型识别结果具有一定的影响,经过统计模型误判为苹果的影响因素全部源于地面苹果袋子。
将训练后的模型用于测试样本的果实识别中,识别精度评价结果如表2所示。比较发现,相同的学习参数下,VGG16作为特征网络的目标检测网络各个指标表现优于ResNet50。2个模型的漏判率相差较小,其中ResNet50的识别误差主要源于召回率,即模型未识别的苹果个数多于VGG16网络。
表2 广域复杂场景下侧视图苹果识别精度评价Table 2 Apple recognition accuracy evaluation of side view in wide complex scene
2.2 遮挡情况下的苹果识别
该文重点针对广域复杂场景下的果实遮挡情况进行讨论,并利用VGG16作为特征提取网络的目标检测模型对测试样本中存在遮挡的影像进行识别验证。对识别结果分析可知,遮挡情况主要有枝叶遮挡和果实间的相互遮挡,遮挡因素导致果实的轮廓信息不完整,对模型的识别精度影响较大。在苹果树样本影像中,部分苹果生长呈现单个或稀疏少量分布,影像中前景目标突出,易于检测识别(图5),而也有部分苹果存在簇生密集生长,使得获取到的影像中前景目标多而密集,易导致多目标果实的识别精度降低的情况。采用VGG16和ResNet50作为特征提取的目标检测模型对部分测试样本中存在遮挡现象较为严重的区域进行果实识别,该文选用同一张影像中不同区域的识别结果进行分析,确保两个模型均在相同的光照以及背景环境下进行识别任务。识别结果表明,基于VGG16特征提取网络的Faster-RCNN模型在遮挡严重区域的识别结果相对较好(图5a-V),但亦存在因果实间相互遮挡以及枝叶遮挡而导致的果实漏识别情况发生(图5b-V、图5c-V),相应的ResNet50的识别结果如图5d-R、图5e-R、图5f-R所示。
图5 不同遮挡情况下模型的识别结果(红框代表识别出的苹果,黄框代表未识别出的苹果)Fig.5 Identification results of models in different masking situations
3 结论
该文针对苹果园产量预估,提出一种基于不同特征提取网络的广域复杂场景下苹果树侧面果实多目标识别方法,实验证明基于VGG16特征提取网络的Faster-RCNN模型在遮挡情况下的识别结果优于ResNet50特征提取网络,识别精度达到91%;基于深度学习的果树侧视图果实识别任务中,单幅图像识别时间约为1.4 s,识别效率高,基于深度学习在广域复杂场景下多目标识别精度及效率高的特点,该方法为果园产量估算提供了有效的技术支持。但是模型受限于系统环境以及GPU的硬件环境,携带不便,在后期研究中考虑将优化训练后的模型移植于便携式树莓派平台中,并搭载相机,进行果园果树侧面果实计数;此外该文中采用的模型训练样本库数量较少且仅限一个果园,在后续研究中将加入多个果园以及不同品种的苹果树样本影像进行特征学习,提高模型对不同品种果实识别的泛化能力。