专业视觉方案及设备制造商

以视觉检测为导向
提升产品市场竞争力

手机:13825262003

电话:0755-23594656

视觉检测设备搜索:

推荐产品

联系我们

未耒智能(深圳)有限公司

曾先生13825262003

公司电话0755-23594656

地址深圳市龙华新区观湖街道大和工业区28号深澜产业园6号院

企业资讯 网站首页 >> 企业资讯 >> 绿色柑橘视觉检测

绿色柑橘视觉检测
发表时间:2018-11-22

果蔬采摘是农业生产中劳动强度大、季节性强的一个重要环节,目前国内果蔬采摘作业基本依靠人工完成,其自动化程度仍然很低。机器视觉技术能实现采摘机器人对目标的精确定位,因此开发具有视觉功能的果蔬采摘机器人,对提高农业生产力有较大的应用价值与较强的现实意义。

国内外在水果检测方面的研究取得了一定的进展,但研究对象主要偏向于与背景颜色差异明显的水果,而对未成熟或者成熟后为绿色的水果检测的相关研究相对较少,这是由于绿色水果果实与叶子颜色很相近,识别难度较大,识别准确率较低。

目前一些绿色水果的识别研究成果,如KURTULMUS等结合颜色、圆形Gabor纹理特征和“特征果”算法来检测绿色柑橘类水果,其检测的柑橘果实在图像中的直径为130~210像素,检测准确率为75.3%,漏检率为24.7%,错检率为27.3%。张春龙等在环形闪光灯条件下采集了夜间苹果树图像,设计了以归一化的g分量和HSV颜色空间中H、S分量为特征参数的支持向量机分类器和以超绿算子为特征的阈值分类器的集成方法,实现了绿色苹果在自然环境中的有效识别。ZHAO等结合颜色特征和绝对变换差值和(Sumofabsolutetransformeddifference,SATD)来检测未成熟的绿色柑橘,其算法检测绿色柑橘的准确率为83.4%,漏检率为16.6%,错检率为10.7%。以上对绿色水果的识别方法主要是基于颜色特征和纹理特征,需结合多种纹理特征对绿色水果进行识别,识别准确率较其他颜色的水果也较低,而且不同品种的绿色水果颜色特征和纹理特征都会有些差异,即使同一品种的绿色水果果实在图像中的尺寸不同或在不同光照强度下其颜色特征和纹理特征也会发生改变,因此绿色水果的视觉检测较为困难。

深度学习作为一种特征学习方法,其通过对样本的学习,可以得到较好的识别模型,如赵源深等利用结合Haar-like特征和AdaBoost对番茄进行识别,其对测试集中成熟番茄的识别成功率达93.3%;高震宇等通过卷积神经网络对茶叶进行分选,其对各类茶叶的识别准确率都不低于90%,平均识别准确率为92.4%。

FasterRCNN是继R-CNN和FastR-CNN后REN等提出的最新的目标检测方法,其具有较快的检测速度,同时也具有较高的识别准确率和泛化性能。桑军等将FasterRCNN用于道路监控车辆的车型识别,车型识别率达91.3%;JIANG等将FasterRCNN应用于人脸识别,得到较好的识别结果。

本文基于深度学习方法的识别模型准确度高、运算速度快的特点,以绿色柑橘为主要研究对象,利用FasterRCNN方法进行不同光照和不同尺寸的绿色柑橘识别,考虑自然环境的多种情况,筛选的训练样本包含不同尺寸和不同光照角度的绿色柑橘图像,设计一种自然环境下树上绿色柑橘的视觉检测方法,为农业生产中绿色水果的视觉检测研究提供技术支持。

1材料与方法

1.1图像采集与颜色分析

本文以绿色柑橘为研究对象,进行自然环境下绿色柑橘的识别研究。设计了柑橘图像采集试验,图像采集的时间为2016年11月5日08:00—16:00,使用尼康D5300采集图像,图像分辨率为2992像素×2000像素,在晴天环境下从侧光、顺光和逆光多个光照角度进行拍摄,拍摄距离为50~110cm,共拍摄2126幅图像,其中以图像中的绿色柑橘区域作为正样本,图像中的枝叶背景作为负样本,根据光照角度和柑橘在图像中的尺寸,以保证图像数据的多样性为原则对图像进行筛选,最终经过人工筛选,所得数据集包含拍摄图像1500幅,数据集包含了不同光照角度和不同拍摄距离的柑橘图像,在本研究中,随机抽取80%的数据,即1200幅图像作为训练集,剩余的300幅图像作为验证集。

绿色柑橘的果实与叶子颜色非常相近,在不同光照角度下颜色特征会发生改变,很难根据其颜色特征进行识别。本文对自然环境下采集的绿色柑橘64农业机械学报2018年图像进行颜色特征分析,图1为顺光条件下绿色柑橘图像的12个颜色分量图像。在12个颜色分量中,正常光照环境下H分量和Cb分量的图像中果实和背景具有较大的对比度,可以选择这2个分量进一步分析不同光照角度下的柑橘图像。

5416165b882fdcf5ffdde36bb05a4f1.


综上所述,自然环境下绿色柑橘与叶子颜色相近,其颜色特征在不同的光照角度下也不同,利用传统分割算法很难达到较好的识别效果。因此本文采用机器学习的方法对自然环境下绿色柑橘进行识别,由于自然环境下采集柑橘图像会存在不同光照角度、不同拍摄距离、柑橘自身大小不同、果实遮挡粘连等情况,采集的图像本身具有比较复杂的结构。为了适用不同的情况,提高FasterRCNN网络模型的泛化性能,在数据筛选阶段,通过选择不同类型的训练样本来逼近图像样本的真实分布,使图像数据具有以下多样性特征:首先是光照角度多样性,如侧光、顺光和逆光;其次是面积尺度的多样性,本文以柑橘果实面积的像素半径作为度量标准,基于摄像机标定的最佳拍摄距离为50~110cm来确定柑橘样本的像素半径和像素面积标准。部分训练样本示例如图3所示。


149ba657ffec6d89f33a6f7e812e481.

图 3 样本多样性示例

Fig. 3 Examples of sample diversity


1.2算法实现流程

本文以深度学习方法来解决自然环境中绿色柑橘的检测问题,选择FasterRCNN作为绿色柑橘识别模型,caffe作为深度学习框架,首先配置caffe的运行环境,并将筛选出来的图像数据按照PASCALVOC2007检测标准进行存储和标注,基于预训练模型进行微调,使预训练模型可用于求解本文的研究问题,算法流程如图4所示。


84e61f42bdf71bb65cc44cd023f24e0.



1.3模型训练与优化

在训练模型与优化参数之前,需要先确定预训模型以及损失函数。FasterRCNN提供了3个预训练好的模型,分别对应小型、中型和大型网络,每个网络都有与之对应的配置文件,当需要对参数进行修改时,可以通过配置文件快捷实现。考虑到试验对象只有绿色柑橘和背景2个类别,综合考虑计算资源和检测效果等因素,选择中型网络作为预训练模型。FasterRCNN结构示意图如图5所示。

1bae32c5b637d6669d8a44645dff0b6.

1.3.1批处理大小

一般情况下,为准确计算损失函数对参数的梯度,需要对整个数据集上的每个样本进行计算,对于深度网络而言,这样的计算量十分巨大。因此,在实践中倾向于从数据集中分批随机采样少量的样本,然后计算这些批样本上的平均值。这种采样策略被称为minbatch或随机minibatch,基于minibatch的梯度下降方法被称为随机梯度下降。随机梯度下降更新参数的算法如下。

算法1:随机梯度下降(SGD)在第k个训练迭代的更新

e53a6759df5b1adc23503214995de8e.


分析minibatch大小与MAP的变化关系,可以看出,试验选定的范围内,minibatch取得越大,MAP也相应随之有所提高,但MAP的增量并非是minibatch线性增量,而是小于线性的。如minibatch从64增加到128以及从128增加到256是成倍的增加,但是与之相应的MAP两次都只提高了约2个百分点。

考虑到增大minibatch后,训练时间增加明显,参数的学习也显得更加缓慢,而小的minibatch训练时需要较小的学习速率以维持稳定性。综合以上两点,试验在此阶段暂时选择候选minibatch大小为64和128。

1.3.2学习速率和动量

学习速率和动量的选取直接影响检测网络的训练速度和结果,本文选取一些较常用的学习速率和动量作为候选值,通过试验确定较为合适的学习速率和动量。试验选择0.1、0.01和0.001作为初始学习速率的候选值,以0.5、0.9和0.99作为动量系数α的候选值,以1.3.1节中选择的64和128作为批处理s候选值。基于这些候选值设计了多组对比试验,首先确定了学习速率,接着确定批处理大小,最终确定动量的大小。参数的组合情况和测试结果如表2所示。


dce14f37e356306432da6042482ada5.

试验首先在不加入动量,批处理大小设置为64的基础上,测试了不同学习速率对检测精度的影响,其中当学习速率为0.1时,训练出现发散,可能原因为0.1作为初始学习速率过大。学习速率为0.001时,MAP略小于0.01对应的值,可能原因为0.001相对于0.01对应的损失函数值迭代到极小值邻域较慢。据此,在第4组试验中,确定0.01为初始学习速率,对比第2组和第4组,当批处理取128时的MAP比批处理取64时的MAP高。最终,试验在第4组参数的条件下加入动量,分别测试了动量系数为0.5、0.9和0.99时的MAP,由表2可以看出,动量系数为0.9时取得的MAP最高。因此,试验最终确定初始学习速率为0.01,批处理为128,动量系数为0.9。

1.4模型测试

使用上节得到的超参数,基于原始训练集,对模型进行训练以学习模型参数。该阶段使用的训练集为原始数据集,模型参数使用Xavier方法初始化,当检测网络和RPN网络迭代到20000和40000步时,损失函数值趋于平稳,如图6所示为FasterRCNN第2轮训练时,RPN网络和检测网络的损失值变化曲线。最终损失函数值稳定在[0.1,0.2]区间的邻域内,模型在验证集上的MAP为85.49%,使用GeForceGTX1080显卡运行检测一幅绿色柑橘图像的平均时间为0.4s。

cac436dd1bc4e844ec5b9be578fa323.

图 6  Faster RCNN 训练阶段损失值变化情况

Fig. 6 Changing conditions of loss value in training stage of Faster RCNN


分析误差出现的原因可能在于:试验数据考虑了多种状态的样本,可能在某些状态下,柑橘的特征不如其他状态明显,比如逆光和阴天等条件下收集到的样本,从而提高了错误识别率。另一个可能原因在于,模型对小尺度的物体检测不敏感,比如远距离拍摄的柑橘图像,图像中的柑橘尺度较小,不容易被检测到。为了直观感受FasterRCNN的检测效果,使用该模型在测试图像上进行效果测试,得到的部分检测结果如图7所示。

104393b7f74884b77396931823119a0.

2试验与讨论

2.1试验评价指标

为了进一步验证模型的有效性,试验选择基于Otsu阈值分割法的传统图像处理方法作为参照,对比FasterRCNN和Otsu2种算法的检测效果。分别从图像中果实个数、果实面积半径和拍摄的光照角度3个方面进行对比分析,每个分析变量又分别设置了3次对比试验。为了对比2种算法的检测效果,首先需要对检测效果和评价指标进行约定。

由于正确率和召回率在某些情况下会出现矛盾情况,所以需要综合考虑。FasterRCNN中使用了MAP,是基于候选框的类别概率排序,而Otsu算法并没有根据概率或其他参考值对包围框进行排序,同时,Otsu算法每次产生的包围框个数较少,使用少量包围框样本的召回率和正确率来计算MAP会存在计算复杂度与计算误差相对较大的问题。因此,本试验定义一个F值作为对比评价指标,具体计算公式为

6f6ab3d4370a10c41a14f8b8016b43e.

其中,P、R分别表示正确率和召回率,P等于模型检94第4期熊俊涛等:自然环境下绿色柑橘视觉检测技术研究索到的正确的正样本数除以模型检索到的正样本总数;R等于模型检索到的正确的正样本数除以所有正样本总数。在试验中,为每个对比条件收集100个样本,同时为所有对比条件收集30个背景样本,每次对比试验中,从每个条件的100个样本和30个背景样本的组合集中随机抽取100个样本,组成该次试验的测试集,将测试集中的背景样本作为负样本,其余样本作为正样本。若算法能有效检测出正样本中超过50%的柑橘目标,则认为该正样本被检索到,利用被检索到的正样本数、被检索到的所有样本数和正样本总数计算召回率和正确率进而得到F值。每个对比条件重复3次对比试验,取3个F值的均值作为评价结果。

2.2不同果实个数对比试验

在实际柑橘图像中,往往包含不同个数的果实对象,对检测造成不同的影响,如在单果图像中,果实对象一般比较完整清晰,识别难度低,在多果图像中,有可能存在果实粘连甚至相互遮挡等情况,增加了检测的难度。因此本节对比试验共设置了3个梯度,分别为图像中具有1个果实、2~5个果实以及5个以上果实,目的是对比2种算法在图像包含不同果实个数下的检测性能,分析2种算法在哪个梯度范围内表现较佳。图8为2种算法对含不同个数果实图像的检测效果。

5e2a3dc0e85b5cd75005382fb6991dc.

图8   2种算法对含不同个数果实图像的检测效果

Fig. 8 Detection results of two algorithms on imageswith different amounts of fruits


试验首先从原始测试集中随机抽取若干幅图像,对应3个梯度进行分类,再次随机抽取直到3个梯度类别中均达到100幅图像,在每个梯度的样本中加入30幅背景图像组成该梯度的数据集。分3次从每个梯度的数据集中抽取出100幅作为试验的测试集,使用2种算法对测试集的图像进行检测,检测结果如表3所示。

ae6df815fe39a191eff105bfff5c1f2.

表3中的综合结果计算方式为:将每次试验的数据集样本数、正样本总数、被检测到的样本数和被检测到的正样本数分别求和,然后采用与每次试验相同的方法计算总体的召回率、正确率和F值。从综合结果来看,FasterRCNN的检测效果优于Otsu,FasterRCNN的F值比Otsu的F值高22.24个百分点,特别是对于果实个数大于5的图像,FasterRCNN的F值约为Otsu的2倍,说明相对于Otsu,FasterRCNN不仅能提高其对单果的检测精度,而且能够对多果进行较精确的检测。经过分析,使用FasterRCNN多果识别效果比单果识别效果差的主要原因是多果靠得太近或存在相互遮挡时,被识别成是一个果实区域,或被遮挡太多的果实没有被识别出来。

2.3不同果实尺寸对比试验

与不同果实个数的情况类似,如果图像中的果实半径较大,则枝叶背景对识别过程的影响相对较小,如果果实半径较小,则往往出现被枝叶遮挡,难以检测等情况。与2.2节试验方法相同,结合摄像机标定的有效拍摄距离50~110cm,分别设置了3个测试梯度:半径大于50像素,半径在30~50像素之间,半径在30像素以下。图9为2种算法对不同尺寸果实的检测效果图像。

依照2.1节的抽样方法,从原始测试集中分别抽取出3个梯度的试验数据。对每个梯度相应的测试样本,使用2种算法分别进行3次检测试验,得到的统计结果如表4所示。

从表4可以看出,2种算法的最佳检测效果均出现在半径大于50像素范围,FasterRCNN的F值为85.76%,比Otsu高出约17个百分点,同时相对于另外2个对比条件,2种算法在半径小于30像素的试验组中均表现较差,FasterRCNN的F值为

539a1b642175db06fd7576674e241d8.


54.84%,Otsu的F值为27.45%。综上数据可知,FasterRCNN对果实半径大于30像素的图像的检测效果较好,可以用于识别半径大于30像素的果实。而FasterRCNN在半径小于30像素的图像上表现不足的可能原因为样本丰富度不够,采集图像时拍摄的半径较小果实图像较少,导致半径较小果实数据集的样本较少。

2.4不同光照角度对比试验

前两组试验主要分析了果实个数和面积因素对检测效果的影响,在试验数据中,除了以上内部因素外,还存在其他外部影响因素,比如拍摄时的光照角度。本节试验选择了侧光、顺光和逆光作为研究变量,设计了3个对比试验进行分析。图10为2种算法对不同光照角度下果实的检测效果。

从图10可以看出,侧光时,果实与枝叶的颜色相近,但纹理差异较明显,在顺光条件下,果实和枝叶的局部表面亮度增强,部分遮挡的枝叶会在果实表面留有阴影,在逆光条件下,果实与枝叶的亮度均变暗,颜色与纹理差异均不明显。试验使用与2.2节相同的方法,针对3种光照角度,通过重复随机抽样采集了3组测试集,使用2种算法对每组测试集分别进行3次检测试验,统计结果如表5所示。

e707693365483bc7f03a5067128b073.


6f5a773ad4eadfee98ff062ed30b18d.


从表5可以看出,不同光照下Otsu算法的检测效果均低于FasterRCNN,同时两种检测算法的检测效果在侧光条件下达到最佳,在逆光时两种算法的检测效果最差,经过分析导致逆光条件下检测效果差的原因为:逆光条件下,果实和树叶在图像中显现的灰度均很低,边缘没有明显的梯度,纹理特征也被弱化,大大增加了该条件下的检测难度。综上所述,3组对比试验证明了基于FasterRCNN算法进行绿色柑橘检测的有效性,试验结果表明,FasterRCNN算法不仅适用于单果的检测,对于多果的检测精度也较高,可用于果园采摘机器人的定位检测,同时,适用于对中小面积半径的果实的检测,可用于中小型果园的产量预估。

3结论

(1)提出了一种基于FasterRCNN的绿色柑橘15第4期熊俊涛等:自然环境下绿色柑橘视觉检测技术研究视觉检测方法,基于FasterRCNN深度框架,结合自然环境绿色柑橘的颜色特征,通过多次模型的参数调整,确定了适用于绿色柑橘检测的学习速率、批处理大小和动量系数,最终训练得到的模型在验证集上的MAP为85.49%,检测一幅图像的平均运行时间为0.4s,满足实时检测的要求。

(2)为了验证该方法的有效性和可行性,设计了3种条件下的对比试验,从图像中柑橘的个数、柑橘的半径和自然环境下拍摄柑橘图像的光照角度3方面进行FasterRCNN检测柑橘的效果分析,与Otsu检测结果进行对比分析,FasterRCNN具有较高的泛化性能以及检测精度。