基于级联卷积神经网络的番茄果实目标检测

2021-04-07 12:38岳有军孙碧玉王红君
科学技术与工程 2021年6期
关键词:阈值准确率番茄

岳有军, 孙碧玉, 王红君, 赵 辉,2

(1.天津理工大学电气电子工程学院, 天津市复杂控制理论与应用重点实验室, 天津 300384;2.天津农学院工程技术学院, 天津 300392)

近年来,中国温室番茄种植面积日益增加,而温室内番茄采摘工作主要依靠人工进行,工作效率低,劳动强度大,农业劳动力短缺问题日益严重。研制番茄采摘机器人是解决这个问题的有效手段。Rong[1]采用共熵梯度的简化脉冲耦合神经网络,在夜间环境下对番茄果实进行分割,其最佳分割率达到了91.6%;刘芳等[2]使用改进的YOLO网络对复杂环境下的番茄果实进行了检测识别,其准确率为96.36%;Liu等[3]在YOLOv3的基础上提出了一个密集的体系结构,可以更加精准地匹配番茄,其正确率达到了94.58%。

随着人工智能的不断发展,深度学习逐渐地应用到各个领域[4-5],并取得了很大的成就。其中,深度学习在农业方面也获得了很好的成果,被广泛地应用到农业的果实采摘、果实质量检测、疾病判别等方面[6-9]。深度学习让现代农业变得更加自动化、智能化,弥补了传统农业的不足[10]。

在采摘果实时,采摘机器人通过目标检测对果实进行识别定位。在传统的目标检测方法中,多采用K-means聚类算法、支持向量机法、K最邻近法等方法。陈礼鹏等[11]采用RGB(red,green,blue)分量图对簇状生长的猕猴桃果实和果萼进行阈值分割,取得了较好的识别效果。伴随着深度学习不断地蓬勃发展,卷积神经网络开始应用于目标检测。卷积神经网络主要由以SSD网络,YOLO网络为代表的one-stage网络和以Faster-RCNN、Mask-RCNN为代表的two-stage网络构成。one-stage网络直接由主干网络对目标的种类和位置进行检测。而two-stage网络首先由前端网络进行特征提取,再由RPN(region proposal network)网络生成候选区域,然后再进行进一步的分类与回归处理,最后完成目标检测。赵德安等[12]提出了基于YOLOv3网络的复杂环境下苹果果实的识别定位方法,作者在不同的果实数目、环境和时间段对果实进行了识别,其准确率达到了97%。

现采用改进的Cascade RCNN网络在温室环境下对番茄果实进行目标检测。同时,对番茄的成熟度做了分类。为验证网络的有效性,分别采用改进网络和Faster RCNN网络、YOLOv3网络对不同数量的番茄果实进行了识别检测。

1 网络介绍

1.1 原始网络

Cascade RCNN网络是由几个检测网络级联得到,这几个检测网络是通过基于不同交并比IOU(intersection over union)阈值确定的正负样本训练得到。该网络通过逐步提高网络的IOU阈值来提高网络精度,解决了在卷积神经网络中单纯地提高IOU阈值带来的过拟合和误匹配问题[13]。

Cascade RCNN的网络结构如图1所示,Ci表示分类,Bi表示回归。Cascade RCNN网络在Faster RCNN网络的基础上做了改进,在经过RPN网络生成候选区域后构建了3个阶段的检测网络进行检测框回归和分类。回归公式为

f(x,b)=fT∘fT-1∘…∘f1(x,b)

(1)

式(1)中:fi为回归器;T为级联的个数;x为输入的图片;b为图片所对应的检测框。Cascade RCNN的级联个数为3,3个检测网络的IOU阈值分别为0.5、0.6、0.7。在前一阶段检测完成后,它的检测框的回归结果会作为下一个阶段的输入,再进行进一步的检测。每个阶段提升一点IOU阈值能够保证每个阶段的正负样本保持平衡,减少假正样本出现的次数以获得更精确的检测效果。Cascade RCNN在对检测框进行分类检测时,该网络会取3个阶段的分类结果的平均值作为最后的分类结果。

Cascade RCNN被提出后,相继被用于多个领域,都获得了很好的检测效果。其中,徐昕军等[14]使用Cascade RCNN网络对铁路路基翻浆冒泥病害进行了识别,得到了较好的识别精度。

1.2 改进网络

在进行目标检测时,网络会产生1个检测框集合B,集合B中各个框会有相对应的分数,为了选取效果最佳的检测框,非极大值抑制(non-maximum suppression,NMS)算法会选择分数最高的检测框M,将该检测框放入最终检测结果的集合D中,并且将与其重叠度过大、分数较低的检测框分数置0后删除。但是,在一些场景中,会有2个物体重叠出现的情况,如本文中的番茄果实。番茄果实大多为簇状生长,在生长到绿熟时期,果实会出现不同程度的重叠情况。对番茄果实进行检测时,传统的非极大值抑制算法会因为检测框分数低,将2个重叠度较大的检测框删掉1个,导致对番茄目标的检测失误。所以,在机器人对果实进行采摘的过程中,采摘机器人对相互重叠的番茄果实进行识别时容易出现漏检或果实定位不准确的问题。

为了改善这种情况,采用Soft-NMS[15](soft non-maximum suppression)算法对网络进行了改进。传统的非极大值抑制算法会直接将与分数最大的检测框重叠的检测框分数强制归0,而Soft-NMS算法会基于重叠部分的大小,为相邻检测框设置1个衰减函数,与其重叠度越大,分数衰减得越厉害。也就是说,当1个检测框与分数最大的检测框大部分重叠时,该检测框会有1个较低的分数而不是被直接置为0[14]。Soft-NMS算法表示公式为

(2)

式(2)中:si表示当前检测框的得分;bi表示当前检测框;M为得分最高的检测框;iou(M,bi)表示当前检测框和得分最高的检测框的重叠度;σ表示高斯函数的方差;D表示最终的检测框集合。在数据集PASCAL VOC和MS-COCO上,Soft-NMS算法有助于提高大部分检测算法对重叠物体的检测精度。

原始算法中部分锚框的形状与本研究的番茄形状并不符合,对原始的锚框形状进行了调整,采用了适合番茄形状的锚框。

2 试验及结果

2.1 试验设备

试验采用的服务器为Intel Xeon(R)CPU E5-2650 v4@2.20 HZ×48/12 GB的GeForce GTX1080Ti×2 GPU,运行内存64 GB,操作系统为Ubuntu18.04,深度学习框架为TensorFlow。

2.2 数据集准备

试验收集了1 200张温室环境下大果番茄图片,将图片分辨率统一设置为640×512,使用labelImg对目标果实进行标注后获得了3 526个成熟番茄样本和3 014个不成熟番茄样本。在采摘番茄时,基于对番茄储藏运输时存在时间损耗的问题,一般会将半成熟的番茄进行采摘储藏。所以,在实验中,标记红色和偏红色的番茄为成熟番茄,类别名为red。标记绿色番茄为未成熟番茄,类别名为green。

2.3 试验结果对比与分析

对以ResNet-101为基础网络的Cascade RCNN网络进行改进。对改进网络进行了100 000次训练,原始网络与改进网络的检测结果如图2所示。

图2 检测结果Fig.2 Test results

由以上结果可以看到,改进的Cascade RCNN可以将番茄果实准确地识别出来,并且对于重叠度较高的番茄果实也有很好地识别效果。

改进网络的总损失曲线如图3所示,网络经过训练,分类损失和回归损失处于接近于0的状态,总损失值在0.03左右,网络的损失函数可以达到很好的收敛效果。

图3 总损失曲线Fig.3 Total loss curve

原始网络与改进网络的性能对比如表1所示。

表1 两种网络性能对比Table 1 Comparison of two network performance

2.4 果实成熟度分类检测

在同1个番茄植株上会存在不同成熟程度的果实,所以,在进行番茄采摘时需要采摘机器人在识别出番茄果实后,对番茄的成熟度做出分类判断,选择已经成熟的和半成熟的果实进行采摘,保留还没有成熟迹象的青色番茄果实。成熟番茄和不成熟番茄都识别出来可以避免机器人对未不成熟的番茄造成伤害。改进网络对果实成熟度分类效果如图4所示。

图4 果实成熟度检测图Fig.4 Fruit maturity survey

由图4可以看出,网络通过训练可以很好地将成熟番茄与不成熟番茄进行分类。对于半成熟的番茄,网络可以正确地判断为成熟果实。对于被枝叶遮挡的绿色果实也能够准确地识别。

3 不同网络检测效果对比

为了验证改进网络的性能,分别用Faster RCNN网络、YOLOv3网络和改进的Cascade RCNN网络对温室环境下的番茄果实进行检测,各网络的准确率如表2所示。

表2 各网络准确率对比Table 2 Comparison of network accuracy

番茄果实的生长状态为簇状生长,每簇生长的果实数量不等。并且番茄果实品种较多,植株的大小也会因品种不同而有一定的差别。在采摘过程中,相机捕获的番茄果实数量会因为番茄植株品种、生长状态以及对番茄果实拍照的方位距离不同,造成相机捕获的番茄果实数量有所不同,所以按照番茄果实数量分类分别检验了各个网络的检测效果,如图5所示。

图5 各个网络检测效果Fig.5 Detection of each network

由图5可以看到,3个网络对数量较少并且没有重叠和被遮挡的番茄果实的识别效果相差不大,3个网络都可以准确地将番茄果实识别出来。对于簇状生长数量较多的情况,前2个网络会出现漏检和误检的现象。而Cascade RCNN网络相较于前2个网络表现较好,检测的精确度和准确率都可以得到保障,没有出现定位不准确和遗漏果实的现象。

4 结论

提出了基于Cascade RCNN的番茄果实检测方法,该方法选用的Cascade RCNN网络使用了Soft-NMS算法进行非极大值抑制,并选取了适合的锚框,提高了网络对重叠果实的检测能力,网络的准确率提升了近2%。通过与Faster RCNN、YOLOv3网络的对比实验,可以看出,Cascade RCNN网络可以有效地将温室环境下的番茄果实识别出来,检测时间在0.2 s左右,可以为采摘机器人高效准确地识别番茄果实目标提供技术支持。

猜你喜欢
阈值准确率番茄
秋茬番茄“疑难杂症”如何挽救
土石坝坝体失稳破坏降水阈值的确定方法
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
番茄果实“起棱”怎么办
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
HOME家系列
辽宁强对流天气物理量阈值探索统计分析