中国计量大学学报Journal of China University of Metrology Vol.32No.1 Mar.2021
第32卷第1期
2021年3月
【文章编号】2096-2835(2021)01-0093-08DOI:10.3969/j.issn.20962835.2021.01.013
基于深度学习的温室大棚小番茄果实计数方法
魏超宇,韩文,刘辉军
(中国计量大学计量测试工程学院,浙江杭州310018)
【摘要】目的:以小番茄果实簇为目标,将果实计数任务转化为果实簇的检测和分类两个子任务,有效避免了果实间的重叠、遮挡问题,并大大减少了标注工作量,进而提出两种基于深度学习的番茄果实计数方法(方法:方法1采用YOLOv3网络直接对果实簇进行检测和分类,实现果实计数;方法2首先采用YOLOv3网络检测果实簇,再通过ResNet50网络根据果实数不同对果实簇进行分类,最后统计总的果实数(结果:实验表明,两种方法均能实现小番茄果实的计数,其中方法2采用两种网络分别进行果实簇的检测和分类,计数精度高于方法1,在测试样本上的预测果实数与实际果实数之间的均方根误差(Root m
ean square error,RMSE)为6.37个,平均绝对百分误差率(Mean absolute percentage error,MAPE)为13.89%(结论:本文所提以果实簇为目标的计数方法可有效实现小番茄果实的计数,对簇状果实的产量估计研究具有一定参考价值(
【关键词】产量估计;果实计数;深度学习;果实簇
【中图分类号】TP391.4【文献标志码】A
Countingmethodofcherytomatofruitsingreenhousesbasedondeplearning
WEIChaoyu,HAN W2n,LIU huijun
(College of Metrology and Measurement Engineering,China Jiliang Universty‘Hangzhou310018,China)
[Abstract]Aims:In this paper,the fruit counting task was transformed into two subtasks:detection and classificaionoffrui4clus4ers,whiche f ecivelyavoided4heproblem ofseriousoverlapping be4weensingle frui4sandgrea4lyreduced4helabeling workload.Twokindsof4oma4ofrui4couning me4hodsbasedondeep learningwereproposed.Methods%Me4hod1usedYOLOv3ne4work4ode4ec4andclassifyfruiclus4ersdirecly
andrealizedfrui coun ing.Me4hod2firs4applied YOLOv3ne4work4o de4ec4frui clus4ersand4henuilized ResNe450ne4work4oclassifyfrui clus4ersaccording4ofrui numbersandcoun4ed4he4o4alnumberoffrui4s.
Results%The experimen4alresulsshowed4ha44he4wo kinds of me4hodsachieved cheeryfrui4couning.
Method2used two networks to detect and classify fruit clusters respectively)and the counting accuracy was higherthan Method1.Therootmeansquareerror(RMSE)andthemeanabsolutepercentageerror(MAPE) of the test sample were6.37and13.89%,respectively.Conclusions%The counting method with fruit clusters asthetargetproposedinthispapercane f ectivelycountcherrytomatofruits,whichhascertainreferencevalue fortheyieldestimationresearchofclusterfruits.
[Keywords]yield estimation;fruit counting;deep learning;fruit clusters
【收稿日期】2021-01-06《中国计量大学学报》网址:zgjl.cbptki
【基金项目】国家自然科学基金项目(No.51606181)
【通信作者】刘辉军0979-),男,副教授,博士,主要研究方向为农业智能化技术与装备研究。E-mail:**************
94中国计量大学学报第32卷
产量估计是农业生产中的一个重要环节,对于种植者了解产量变化、规划劳动力安排和指导作物采收等具有重要意义。精准农业的发展使得播种、估产和收获等的自动化成为了可能,但其应用领域目前主要局限于小麦、水稻和玉米等作物*1+。果蔬植株的冠层结构复杂,果实的重叠、遮挡情况严重,多数果园仍通过人工抽样计数的方式对整个果园的产量进行估计,该方法费时费力且难以保证精度。如何实现果蔬的智能化估产是一个亟待解决的问题。
果实的准确计数是实现果蔬智能化估产的关键。部分学者采用RGB-D相机、光谱相机和雷达等设备采集果实数据并结合相关算法取得了较高的果实检测精度24,但这些设备价格昂贵或易受环境条件制约,难以较好地应用于实际的农业生产。RGB相机具有简单、高效和成本低的特点,现已成为了主流的果实数据获取方式。早期的果实计数研究中主要利用人工设计的特征,如颜、形状和纹理等,并结合分类器对果实目标进行检测,分类器可以是有监督的分类算法,如K最近邻、支持向量机等56+,或是非监督的聚类算法,如模糊聚类、K-means聚类等78。这些方法在特定的条件下可达到较高的精度,但当果实形态、光照情况和相机视角等发生变化时,这些方法往往需要重新设计特征或者优化分类器的参数选择,其鲁棒性较差。
近些年,随着深度学习的发展,出现了许多先进的目标检测网络,如Faster RCNN9、YOLOv3*10+和SSD等*11+,在人脸识别、自动驾驶和智能医疗等领域得到了广泛的应用;随着农业智能化的推进,目标检测在农业领域也取得了一定的发展。Bargofi等*12使用Faster RCNN检测杏、芒果和苹果等,其中芒果的F1值达到了0.907。但是,也有较多的错误实例来自密集的果实集,这些果实的重叠情况较严重,易产生漏识别。Koirala等*13+采用卷积层替换下采样层设计了Mango Y OLO,对芒果的F1值达到了0.89,并讨论了不同阈值下非极大值抑制(Non-maximum suppression,NMS)对检测结果的影响,结果表明NMS会降低对重叠果实的检测精度。薛月菊等*14+将密集连接引入YOLOv2网络对未成熟芒果进行识别,有效提高了重叠、遮挡果实的检测计数精度,但网络仍会将密集的芒果集误识别为一个果实。赵德安等*15+使用YOLOv3对个数不同的苹果果实集进行检测,单个独立果实的检测精度最高,集果实越多,检测精度越低。基于深度学习的目标检测方法多针对于以独立果实为主的苹果、芒果和柑橘等对象,并通过对特征提取网络进行改进,在一定程度上提高了重叠、遮挡情况下果实的检测精度。但以单果为目标的检测方法难以应用于像小番茄这类果实呈簇状的对象,目前对于簇状果实的计数研究鲜有且存在较大的挑战。这一方面是因为果实簇是由多个果实聚集在一起形成的,果实间的重叠、遮挡情况严重,单果的标注精度难以保证;另一方面是因为目标检测网络需要采用NMS删除冗余的候选框,但这使得目标在严重重叠的情况下,准确的候选框也会被删去。另外,目标检测网络是通过矩形框实现目标的识别和定位,但定位不是果实计数任务的必要,通过目标检测进行果实计数会增加不必要的定位开销。
本文以小番茄植株为研究对象,根据果实特点把果实簇作为目标,果实簇的可见果实数作为类别,将复杂的果实计数任务转化为果实簇的检测和分类两个子任务,从而有效避免了果实间的重叠、遮挡问题,并大大地减少了标注工作量,于是提出了两种基于深度学习的番茄果实计数方法:方法1采用目标检测网络直接对果实簇进行检测和分类。方法2先采用目标检测网络检测果实簇,再通过分类网络对果实簇进行分类。在自制小番茄数据集上对两种方法进行测试,以期实现果实的准确计数。
1实验数据
1.1数据采集
实验果园位于杭州市钱塘江南岸(经度30.26。,纬度120.30。),小番茄植株采用温室大棚种植,其果实呈簇状,颜不一,果实间重叠情况较严重。图像采集时间段为2019年12月8日上午8:00—11;00和下午2:00—5:00…图像采集装置由相机、云台、滑轨和三脚架组成,如图1(为模拟实际作业情况,将三脚架置于植株行间,相机高度通过三脚架调节至离地1.4m,使果实落入相机视野中,滑轨长2.5m,相机型号为索尼A6000,分辨率为1920像素X1080像素,匀速推动相机从滑轨的一端到移动至另一端以采集番
第1期
魏超宇等:基于深度学习的温室大棚小番茄果实计数方法
95
茄植株视频数据(
注:1—相机;2—云台;3—滑轨;4—三脚架
图1图像采集装置
Figure  1 Image  collection  devices
1.2数据集制作1.
2.1
单果标注
通过检测单个果实进行计数是一种直接的方 式,适用于果实分布稀疏的果蔬。图2为小番茄果
实的单果标注示例,可以看到,果实呈簇状,具有严
重的重叠情况,对单果进行标注存在以下问题:
1)果实数较多,标注工作量大,且果实重叠严重,标
注精度难以保证;2)目标检测网络需要通过NMS
删除重合度较高的冗余框,当果实目标存在严重重
叠时,一些重合度较高的真实框也会被删去。
1.2.2 果实簇标注通过图像采集装置共采集了 65段视频,随机
图2单果标注示例
Figure2 Annotatingexampleofsinglefruit
选取45段,每段视频隔100帧抽取一张图像,共
获取631张图像作为训练集,剩余20段视频以相
同方式获取了 211张图像作为测试集。为减少实
验的运行时间,将图像缩放至960像素X416像 素。为满足后续不同方法的数据需求,采用了不 同的标注方式得到了三个数据集,如图3O 数据
集A :使用Labellmg 标注工具以最小外接矩形框 的方式对番茄果实簇进行标注,类别标注为
"Tomato 数据集S :为了训练网络对不同果实簇
的分类能力,在数据集A 的基础上,根据果实簇的 可见果实数对每个目标框进行类别标注,并赋予不 同颜进行区分。数据集C :提取数据集A 标注的
所有果实簇,归一化到100像素X100像素作为样
本,将果实簇的可见果实数作为类别,用于训练分 类网络。从原图和标注结果图可以看出,由于果实
簇的分布较为稀疏,多表现为独立的状态,所以不
同果实簇的标注框之间的重叠遮挡情况较少,而且 所需要的标注量相比于单果标注也大大减少。
□□□□□□□
23456789
注:□
tomato  1
(a)原图(b)数据集A (c)数据集B
(d)数据增强(e)数据集C
图3数据集处理过程
Figure3
Processofdataset
96中国计量大学学报第32卷
整个数据集共标注了4377个果实簇,果实簇所含果实数在1到9之间,其中训练集标注3268个果实簇,测试集标注1109个果实簇,其类别分布如图4所示。果实簇是由多个果实聚集形成的,可以看到,大多果实簇所含果实集中在4到8之间,而类别1和类别2的果实簇样本相对较少,不同类别的数据之间存在样本不平衡的问题。针对该问题,在原图上随机裁剪类别1和类别2的果实簇样本并进行水平翻转作为数据增强样本,如图3(d),然后采用与原图相同的标注方式对数据集A、B和C分别进行扩充。综合考虑下,将类别1和类别2的果实簇样本各增加100,以较好地平衡不同类别的果实簇。
■训练集
图4果实簇的分布
Figure4Distributionoffruitclusters
2基于深度学习的小番茄果实的计数方法
本文根据小番茄果实的特点,把果实的计数任务转化为果实簇的检测和分类两个子任务,利用图像分类网络和目标检测网络实现果实计数。
2.1图像分类网络
图像分类是根据图像信息中所反映的特征进行分类的图像处理方法。图像分类网络主要由卷积层、池化层和全连接层组成,卷积层和池化层进行特征提取,全连接层用于分类。随着深度学习的兴起,现已涌现了一系列的图像分类网络,女口AlexNet、VGGNet、GoogleNet和ResNet等。ResNet采用了图5的残差结构,可通过短接将输入的恒等映射与输出进行融合:16:,从而有效缓解了网络层数增加带来的梯度消失问题,更利于提取番茄果实的特征,提高果实簇的分类精度。本文选择ResNet50网络用于番茄果实簇的分类。番茄的种植方法
图5残差结构
Figure5Residualmodule
2.2目标检测网络
目标检测网络可分为基于区域生成和基于回归两类,各自的代表性网络为Faster RCNN和YOLOv3。Faster RCNN是二阶段的目标检测网络,它先通过区域生成网络(Regionproposal network, RPN)提出初步的候选框,再通过检测网络对候选框进行进一步的分类和坐标回归。YOLO v3是一阶段的目标检测网络,可同时进行目标的分类和坐标回归。YOLO v3的精度高、速度快,是主流的目标检测网络,本文选用YOLO v3用于番茄果实簇的检测,其网络结构如图6,由特征提取网络、检测网络和NMS三部分组成。其特征提取网络为DarkNet53,由CBL和多个残差模块resn组成,CBL由卷积层、批标准化(
Batch normalization,BN)和ReLU激活函数组成,esn由CBL通过残差连接构成,可有效提取番茄果实特征。检测网络借鉴了特征金字塔(Feature pyramid networks,FPN)的思想*7+,将
深层、分辨率低的特征图,通过反卷积实现上采样与浅层、分辨率高的特征图进行融合,获得了13X 13,26X26和52X52不同尺度的预测层*8+ ,包含了预测框的类别和坐标信息,使网络具有多尺度检测的能力,能够对不同尺度的番茄果实簇进行识别。检测网络输出的检测结果存在冗余,NMS 可根据候选框之间的重合度删去冗余框,使得对于每个目标均有唯一的检测框
第1期
魏超宇等:基于深度学习的温室大棚小番茄果实计数方法
97
图6 YOLOv3网络结构
Figure  6 Structure  of  YOLOv3 network
2.3计数方法
为了较好地实现小番茄果实的计数,本文
以果实簇为目标,提出两种基于深度学习的果 实计数方法,通过对果实簇进行检测和分类实 现计数,如图7。方法1,采用数据集B 训练
YOLO v 3网络,使单个网络同时具有对果实簇
的检测和分类能力,进而实现果实计数。方法
2,先采用数据A 训练YOLOv3网络,使网络
具有检测果实簇的能力,再采用数据集C 训练
ResNet50网络,使网络能够区分不同个数的果
实簇,最终结合两种网络的结果,达到果实计 数的 目 的 。
数据集B
Yolov3
Yolov3
(a)方法1
(b)方法2
图7小番茄果实计数方法
Figure  7 Counting  method  of  cherry  tomato  fruit
3实验与结果
3. 1实验平台
本试验运行在windows  10系统下,基于
NVIDIA  GTX1080TI  GPU 的硬件平台上搭建
Tensorflow 深度学习框架,python 版本为3. 6。
设置超参数批尺寸为16,学习率为0.001,迭代次
数为20 000。梯度下降方式采用自适应矩估计
(Adaptive  moment  estimation , Adam),可 自 适应
地计算每个参数的学习率。YOLO v 3网络的9
个Anchor 参数由K-means 算法对数据集标注框 进行聚类得到,分别为18 X  22,23 X  33,23 X  47,
34X  47、27 X  65、31X86、43X71、50 X  103 和
140X134