APP下载

基于改进YOLOv3的温室番茄果实识别估产方法*

2021-05-11成伟张文爱冯青春张万豪

中国农机化学报 2021年4期
关键词:估产红果边框

成伟,张文爱,冯青春,张万豪

(1. 太原理工大学信息与计算机学院,山西晋中,030600; 2. 北京农业智能装备技术研究中心,北京市,100097; 3. 国家农业智能装备工程技术研究中心,北京市,100097; 4. 农业智能装备技术北京市重点实验室,北京市,100097)

通讯作者:张文爱,女,1967年生,山西翼城人,硕士,副教授;研究方向为智能信息处理。E-mail: zhangwenai@tyut.edu.cn

0 引言

中国是番茄的生产和消费大国,种植面积达1 050 khm2[1],人均年消费量约21 kg[2]。通过实时统计和预测番茄果实时序产量信息,并进行相应的生产管控,以实现供货订单的精准响应,对于解决当前番茄产能大幅波动、产程不连续等问题具有重要意义。番茄果实的视觉信息获取是支撑智能化产量估计的重要前提。然而温室内植株丛生、杂乱无序,且其茎、叶、果等密集生长、相互重叠,使得果实图像特征识别成为限制番茄产量精准估计的重要因素。

鉴于农业作业对象外观、姿态和大小的非结构化特征,基于单一阈值的分类方法较难实现其图像特征的准确识别。融合色彩、形态、纹理、位姿等多元信息,建立自适应分类识别模型,实现其复杂特征识别的有效途径。以多层卷积特征提取网络为核心的深度学习模型[3],避免了传统机器学习模型构建的复杂过程,具有更高的识别精度,对于农业作业对象多元视觉信息的感知融合具有独特优势[4-8]。王富春等利用均值聚类算法番茄红果、果柄、叶片图像进行聚类分割,对成熟番茄像素的识别准确率达到83.45%。马翠花等[9]提出了基于显著性检测与圆形随机Hough变换的目标识别方法,对绿色番茄识别准确率为77.6%。孙哲等[10]提出了一种基于Faser R-CNN的自然环境下西兰花幼苗检测方法,平均精度达到91%。Murean等[11]以水果种类识别为目标,提出了针对深度卷积网络结构的优化方法,8类水果分类识别精度达到95%以上。崔永杰等[12]利用可视化方法对比了6类不同深度的卷积神经网络特征提取差异,确定最佳卷积网络Alexnet[13]与Vgg 16识别准确率可达到93%以上。Williams等[14]提出了一种基于深度学习的奇异果识别方法,并应用于其采摘机器人,对密集果实的探测准确率达到76.3%。赵德安等[15]提出了基于YOLOv3深度卷积神经网络的苹果定位方法,果实准确率为97%。以上目标识别算法研究主要针对特定色彩目标,然而番茄时序产量估计需要对不同成熟度的绿果和红果进行识别。

本文针对温室番茄产量精准预测实际需要,以工厂化温室番茄为研究对象,研究针对番茄红果和绿果的动态识别方法,通过改进优化YOLOv3深度学习模型,提高对丛生交错植株内的密集生长番茄的识别精度。研究结果可为番茄生产智能管控系统研发提供技术支撑。

1 作业环境和试验系统

1.1 工厂化温室番茄种植环境

温室内工厂化种植的番茄植株如图1所示,距地面600~1 000 mm和1 000~1 500 mm高度区域分别为红果和绿果的主要生长区域,即估产图像采集区域。随着植株不断生长,通过释放缠绕于主茎的吊线进行落蔓,使得估产区域相对地面保持高度不变,本文以该高度区域内的番茄植株为探测对象。智能估产设备以植株行间轨道为支撑进行移动,其视觉系统实时获取两侧番茄植株图像信息。

图1 工厂化番茄种植环境Fig. 1 Tomato factory-planted environment

1.2 番茄估产图像采集系统

如图2所示,估产视觉系统包括双目视觉摄像机和二自由度云台机构。摄像机选用FL3-U3-13S2C型号相机,配置8 mm镜头,与番茄植株相距800 mm,获得视场区域宽、高分别为500 mm、400 mm。云台可进行垂直和水平旋转,以调整摄像机空间姿态从不同视角采集番茄植株不同区域的图像。

图2 估产视觉系统Fig. 2 Visual system for estimating yield1.旋转云台 2.摄像机

2 改进的YOLOv3识别模型

2.1 YOLO目标识别算法原理

YOLO算法基本原理在于,将输入图片划分为S×S的栅格化单元格,若被检测的目标中心落入特定单元格,则该单元格负责检出该目标,即自身有目标的概率Probj=1。预设每个单元格产生B个先验边界框,每个边界框与真实值边界框之间的重合度指标为IOU,则图像内目标位置和类别预测可以用S×S×B×(4+1+C)的张量表示,其中4表示先验证框坐标(x,y)、宽高(w,h)和1表示的置信度分数5个特征参数,C表示所用数据集目标的类别数量。通过训练对真实边界框不断地回归,可得到最终预测目标的位置、置信度和类别信息。最终,通过保留中置信度最高的边界框,筛选最佳识别结果。

图3 YOLO目标识别算法原理Fig. 3 Target detection principle of YOLO

2.2 基于DarkNet53的多尺度特征提取

YOLOv3算法中使用DarkNet53特征提取网络获取多尺度图像特征,克服YOLO前期版本对图片内显著尺度差异目标的漏检问题。Darknet53以416像素×416像素的图像为输入,分别进行32倍、16倍和8倍下采样,获得不同层次的特征图,然后通过上采样和张量拼接,将不同层次的特征图融合转化为维度相同的特征图。其包含的多尺度图像特征,有利于改善算法对小目标检测的精度。鉴于本文检测红果和绿果两类目标,DarkNet53特征提取最终分别输出像素为13×13、26×26、及52×52三种尺度的特征图,分别作为远近景尺度视场内果实目标回归检测的依据。

图4 DarkNet53多尺度特征提取原理Fig. 4 Multiscale feature extraction based on DarkNet53

2.3 先验框设置

YOLOv3根据目标样本边框标注信息,预先设置先验框进行回归检测,以提高目标识别效率。本文采用K-means聚类算法,以1-IOU为聚类指标,为3个不同尺度的特征图分别获得9个不同规格的先验框,并根据特征图层次等级进行分配,如表1所示。

表1 不同尺度特征图的先验框分配Tab. 1 Anchors boxes matched with various feature map

因此对于416像素×416像素的图像,对于分别以13×13、26×26和52×52网格划分后,每个网格设置3个先验框,识别红果和绿果需要进行13×13×3+26×26×3+52×52×3=10 647次预测判断。

2.4 损失函数及其改进

(1)

式中:Losscoord——目标位置损失函数;

估产视觉系统采集图像过程中,番茄相对摄像机的距离动态变化,使得果实在图像中形态呈现多尺度变化特征。若采用欧式距离对番茄目标边框偏差进行评价,损失函数数值与果实大小相关,不具有尺度不变性,容易造成图像中小果漏检问题。因此本文采用具有尺度不变性的广义交并比[16](GIOU)参数作为目标真实边框与预测边框偏差的评价指标。如图5所示,黑色边框为果实真实边框,蓝色边框为预测边框,边框交集区域面积为J,二者最小包围边框(红色)面积为A,则其包含目标的单元格i的先验框j与目标真实边框的GIOUij可由式(2)得到。

(2)

图5 番茄果实边框GIOUFig. 5 Tomato fruit border box GIOU

3 模型训练

3.1 图像样本集

图像样本通过估产视觉系统在温室内采集获得,共采集图像2 000幅。为了保证样本多样性,在不同时段、空间位置采集图像,并且采集图像过程中随机调节镜头焦距,获得不同视场尺度下的图像。考虑到番茄果实姿态多样、形态各异,对采集的图像进行随机旋转和缩放,使得总样本数量扩大2倍。使用Labelimg标注工具标注番茄红果、绿果区域,得到YOLO数据集。4 000幅图像样本中包含800幅测试样本,3 200幅训练样本。

图6 番茄果实图像样本Fig. 6 Tomato fruits image simples

3.2 算法运行环境

算法运行平台为深度学习工作站,其配置处理器Intel I7-9700K、显卡Nvidia 1080TI、内存DDR4 16G、主板Intel Z390。软件平台采用Ubuntu18.04操作系统下的Pytorch1.3深度学习框架和CUDA10.0并行计算构架。

3.3 训练过程与结果

采用YOLOv3官方权重参数,结合样本识别分类需求,调整模型输出层参数。基于改进的损失函数对模型进行训练,训练参数设置如表2所示,整体算法流程图如图7所示。

表2 训练参数Tab. 2 Training parameters

700次迭代周期中,损失函数的如图8所示,前400次迭代周期中损失函数值明显减小、且趋势变缓。为了确保模型收敛精度,在400次以后的迭代周期中减小学习速率,最终模型在700次迭代周期后,损失函数值降至2附近小幅波动,则认为模型达到稳定收敛。

图7 算法流程图Fig. 7 Algorithm flow chart

训练过程每10次迭代周期,输出一次模型,对测试集图像进行识别处理。以平均精度均值[17](mAP)作为评价指标,选择具有最高精度的模型作为最优模型。对相同训练过程的YOLOv3和其改进模型进行比较,如表3所示。传统YOLOv3的mAP值为92.1%,经过改进的YOLOv3的mAP值为95.7%,提高了3.6%,且改进后的算法检测效率与传统算法基本相同,载入模型后单幅图像平均检测时间为15 ms。

图8 训练损失函数Fig. 8 Loss function of training

表3 算法性能对比Tab. 3 Performance comparison of algorithms

4 试验与结果分析

4.1 材料与方法

为了验证模型的泛化性能,2019年10月20日在北京特菜大观园番茄温室内进行了现场试验,随机选择200个视场区域采集,由估产视觉系统实时采集番茄植株图像,并分别由人工、YOLOv3和改进YOLOv3对图像内番茄果实进行计数估产试验。

试验方法如下:(1)在采摘区域内,对番茄植株随机采集图像。为保证数据多样性,采集过程包括全天不同光照时段,且图像包含远近景不同尺度视场;(2)以人工识别结果为对照,统计试验图像内红果、绿果数量,选取果实稀疏、密集和遮挡情况对应的特殊图像样本;(3)分别利用YOLOv3和改进YOLOv3模型对试验图像进行处理,对视场内果实进行计数,并与人工计数结果进行对照比较,评估估产模型精度。

4.2 试验结果分析

以人工识别红果、绿果计数结果为参考,对YOLOv3和改进YOLOv3识别计数结果进行评价。两个模型对红果、绿果及果实总数的识别数量与人工识别数量的比值,分别作为其各自红果、绿果和总体估产精度。统计如表4所示,可见YOLOv3模型改进后,对于番茄的估产精度均得到改善,其中红果、绿果和总体估产精度分别达到97.0%、95.5%和96.3%,比算法传统YOLOv3识别精度分别提高0.8%、3.7%和2.7%。

表4 番茄果实估产精度Tab. 4 Tomato yield estimation precision %

此外,在图像采集过程中,由于图像采集系统与番茄植株的相对位姿不断变化,并且果实自身随机无序生长,从而番茄果实在视场内呈现稀疏、密集和遮挡等3种特殊情况,如图9所示。估产模型对特殊视场内果实的识别精度是验证模型估产泛化性能的重要参考。

(a) YOLOv3模型识别稀疏、密集和受遮挡果实

(b) 改进YOLOv3模型识别稀疏、密集和受遮挡果实图9 特殊视场果实识别效果Fig. 9 Tomato identification in special fields

分别选择果实稀疏、密集和遮挡视场各30幅图像,两个模型的估产精度统计如表5所示。改进的YOLOv3模型对于稀疏红果、绿果的估产精度分别提高2.5%、1.4%,对于密集红果、绿果分别提高5.5%、9.4%,对于受遮挡红果、绿果分别提高9.5%、11.3%。可见模型改进前后,对于三种特殊视场下的番茄估产精度均有提高,且对于密集果实和受遮挡果实估产改善效果更加明显。

表5 特殊视场估产精度Tab. 5 Estimating yield precision in special fields %

5 结论

1) 针对温室番茄智能化估产需要,本文研究了基于改进YOLOv3的温室番茄果实识别方法,以对自然生长状态下番茄果实进行计数估产。通过改进传统YOLOv3位置损失函数,建立了自然生长状态下番茄绿果和红果的识别模型。改进的YOLOv3对样本的识别精度得到改善,最终模型mAP值为95.7%,比改进前传统YOLOv3模型值提高3.6%。

2) 为了验证识别模型的有效性和泛化性能,进行了现场试验。试验表明,改进YOLOv3模型相比较传统YOLOv3模型,对于番茄红果、绿果和总体的估产精度均得到改善,分别达到97.0%、95.5%和96.3%。

3) 改进YOLOv3模型对于密集果实和受遮挡果实具有更显著的改善效果,更具有鲁棒性,对于密集红果、绿果分别达到95.3%、95.1%,对于受遮挡红果、绿果分别达到95.4%、94.8%。且改进后的算法载入模型后单幅图像平均检测时间为15 ms,满足实时性要求。本文研究结果可为温室番茄时序产量的实时估计相关研究提供参考。

猜你喜欢

估产红果边框
红果(摄影作品)
小刺猬送红果
红果果富了口袋袋
基于无人机多光谱遥感数据的烟草植被指数估产模型研究
遥感技术在大豆种植情况监测中的应用
Decision-Making of a Single Supplier and Multiple Loss-Averse Retailers under Partial Trade Credit
用Lightroom添加宝丽来边框
给照片制作专业级的边框
摆脱边框的束缚优派
基于地级市的区域水稻遥感估产与空间化研究