APP下载

复杂环境下香蕉多目标特征快速识别研究

2022-01-27吴烽云叶雅欣陈思宇艾璞晔邹湘军段洁利

华南农业大学学报 2022年2期
关键词:花蕾香蕉精度

吴烽云,叶雅欣,陈思宇,艾璞晔,邹湘军,段洁利

(华南农业大学 工程学院,广东 广州 510642)

野外环境下断蕾机器人需对多特征多目标进行识别,特别是农业机器人在切断香蕉花蕾和估产时,要同时识别香蕉果串、果轴和花蕾3种不同特征的目标,其单一目标的大小是一种变量,每次检测的目标尺寸和位置都不一样。另外,目标还受到树叶、遮挡及光照影响,研究复杂环境下的视觉检测方法意义重大。因此,针对香蕉、花蕾及果轴的识别问题,本研究提出多特征目标的快速识别方法。

断蕾机器人的关键视觉技术是对目标进行自动定位,视觉检测一直被认为是最具挑战性的问题之一[1-6]。Tang等[7]用多目视觉跟踪钢管的动态变形,探索其破坏机理;Dai等[8]把深度学习算法用于交通管理;研究还将视觉技术应用于水果采摘机器人识别[9-13]、估产[14]和病虫害检测[15]等。

在植物目标的视觉定位检测中,常用基于颜色、阈值分割、边缘检测等经典的图像处理算法[16]。罗陆锋等[17]结合颜色和聚类方法识别葡萄,精确度达87.63%。Hočevar等[18]基于 HSL(色调、饱和度、亮度)识别估算苹果花。然而,颜色与阈值等识别方法受光照变化、枝叶或遮挡等因素影响。与经典模型和手工特征提取方法相比,深度卷积神经网络在识别方面取得了较好的性能[11],在野外环境中检测目标具有优势。深度学习用于香蕉及果轴的多特征图像检测,可让模型自我学习目标特征,实现自动分类识别。

深度学习算法主要有2种类型的对象检测器,第1类为两阶段目标检测算法,它将检测分为2个阶段。以香蕉为例,第1阶段使含有香蕉的候选区域 (Region proposal networks,RPN)生成 1 个包含待检感兴趣的候选框,选定后再作后续处理;第2阶段是把所感兴趣的香蕉区域提议发送到通道中,进行分类和边界框回归,用卷积神经网络(Convolutional neural network,CNN)完成对候选框中候选香蕉位置与类别的预测,例如R-CNN、Fast R-CNN、Faster R-CNN 或 Mask R-CNN。CNN 是一种前馈神经网络,其卷积计算具有很深的结构,Mask R-CNN增加了图像分割功能,准确率较高,但速度较慢[19]。第2类为单阶段检测器,省去了第1阶段的RPN,直接用卷积神经网络模型预测目标边界,通过获取输入图像将对象检测视为回归问题,同时学习边界框坐标和类标签概率。与2阶段的探测器相比,该算法速度较快,但准确率稍低。常见的单阶段目标检测算法有SSD(Single shot multibox detector)、YOLO(You only look once)及其改进的系列算法 YOLOv2、YOLOv3 等[1,20]。

对于第1类方法的研究,Alexe等[21]提出了一种线索综合性的方法来达到更好、更有效的预测效果。Lin等[22]提出一种具有重叠影响的草莓花识别系统,试验表明 R-CNN、Fast R-CNN、Faster R-CNN的目标检出率分别约为63%、77%和86%。Tian等[23]提出改进Mask-R-CNN的图像分割算法,用于苹果花的多特征检测,准确率为96%。对于第2类方法的研究,Koirala等[24]用YOLO和R2CNN检测芒果花穗,认为YOLOv3模型用于计数时较优,R2CNN模型用于分类时较准确。陈燕等[25]改进了YOLOv3算法,用于检测荔枝串,平均检测精度为94%,结果可用于采摘机器人的预定位。

视觉检测及深度学习算法主要用于香蕉果实(果串)及树干(假径)、荔枝果串等单一目标检测[26-28]。但是机器人作业时需了解香蕉果实、花蕾及果轴情况,为切下花蕾提供定位信息。不同香蕉果树的香蕉果实、花蕾和果轴大小不等,且部分目标被遮挡,增加了检测复杂度,多特征目标的视觉精确识别方法仍然有待完善。

多种算法在检测精度和速度方面各有特点,目标图像分类识别的结果最终应用于视觉机器人作业控制。因此,研究者需要在目标检测的准确性和速度之间取得平衡[29]。机器视觉对香蕉多目标的快速精确识别成为关键问题。为了能够实现对果轴的精确切割,在图像采集设备将待采摘区域的图像数据输入视觉识别系统后,视觉识别系统应迅速查找画面中的果实、果轴和花蕾,使回归框的各边界准确地与目标边缘相切,并将回归框区域中的画面提取出来,以便进行进一步形态学处理和计算。对此,本文提出一种探索多特征多目标检测方法,优选模型参数,融合聚类算法优化YOLOv3模型的网络结构参数,并建立损失函数模型,形成YOLO-Banana模型。分别选用Faster R-CNN和YOLO-Banana进行多目标分类,对香蕉、花蕾及果轴进行试验验证算法的有效性,为复杂场景多目标多特征精确快速识别提供支持。

1 试验设备和数据采集

1.1 试验设备

试验设备由硬件设备与软件组成。图像处理使用的计算机主要配置为:i7-7700K 处理器,内存为16 G、2 400 MHz;显卡为 GTX1080Ti、11G。样本采集时,用普通相机和高像素的手机,图像分辨率是1 600万像素。

1.2 图像与数据采集

香蕉树通常只有香蕉果实串、花蕾及连接花蕾与香蕉的花序轴,简称果轴,花蕾及果轴朝下。为了提高产量,当香蕉果实串生长到一定时期,需要从果轴部位切下花蕾,称断蕾。本次采集样品包括香蕉果实、花蕾和果轴(图1),以便为机器人断蕾提供定位信息。

图1 顺、逆光下的香蕉果实、花蕾和果轴Fig.1 Banana fruit,flower bud and fruit axis target detection under frontlight and backlight

野外机器人作业时无法通过增加标记或靶标等辅助手段来提高精度[3,7],而是采用无标记的目标定位。为了适应实际作业场景,视觉检测时不在目标上做定位靶标。在采样时,我们的策略是,只要有香蕉和花蕾就采样,以便机器人学习判别香蕉开花,做出决策。

香蕉多目标样本试验图像采集拍摄分2批进行。2020年7月25日,晴天,拍摄地点为广东省广州市水果世界岭南鲜果基地。2020年8月4、5日,晴天转阴天,拍摄地点为广东江门果园。采集图像时,包括香蕉果实、果轴、花蕾。图像采集过程中,将相机与花蕾间的距离保持在600 mm左右,在不同背景和光照条件下共采集1 285幅图像。通过Labelimg标注软件对图片数据进行批量标注,通过编写脚本按比例自动随机选取训练样本集合、验证样本集合以及测试样本集,其中训练集1 029张,占总样本80%;验证集64张,占总样本5%;测试集192张,占总样本15%。

2 算法描述

2.1 图像的多目标分类

单个采样点会稍微变动拍摄角度来采集多幅图像,因此图片按照默认序列进行训练与检测时可能会出现测试集、验证集等均为少数采样点的若干相似图像的情况,使得训练、检测效果与样本本身有较强的关联性。为了避免这种关联性、减少随机性,在筛去无效图像以后,我们将剩余的图片随机打乱顺序,并按照1个标准格式进行命名。命名完成后,采用Labelimg软件对图像中的目标进行手工标注,并生成1个和图像同名的标签数据文档。图像数据与标签数据将按照VOC2007数据集格式进行分组与整理,按照6∶2∶2的比例划分为训练集、验证集和测试集。采集样图的像素为721×960,在进行图像处理需要把它缩放至像素为416×416。通过输入一张任意大小图片,缩放至像素为416×416,作为网络的输入,即网络的输入是1张像素为416×416、3通道的RGB图。对于比例不为1∶1的图片,通过在图片的上、下或者左、右分别添加2块区域,并将补上的区域以全黑(0,0,0)或全白(255,255,255)像素填充,将其补齐为一张1∶1的3通道图片,由于补齐的区域不包含任何与待检测目标相似的内容,所以对检测结果没有影响。补齐以后通过升或降采样的方式将图片统一为416×416×3的图片,即可输入网络。

2.2 多尺度特征融合

采用多尺度对香蕉多目标进行检测。分辨率对预测的影响主要取决于分辨率信息,也就是像素的数量(图2)。在第2类方法的YOLOv3中,我们采用(类似FPN)上采样(Upsample)和数据融合算法,融合了香蕉图像中的 3个尺度 (13×13、26×26和52×52),在多尺度融合特征图上对目标进行独立检测,以优化效果。本文设计了一种新的分类器,通过设计多标签分类的Logistic分类器,用多个独立的Logistic分类器替代传统的Softmax层解决多标签分类问题,并保持准确性。传统Softmax分类器用于处理目标互斥的多分类问题,传统的Logistic分类器用于处理目标互斥的二分类问题。在采样得到的图片中,果轴、果实和花蕾并不存在明确的分界线,三者在图像上均有一定的重叠区域。若采用传统的Softmax分类器,由于各标签是互斥关系,所以这种区域重叠的情况会出现比较明显的分类错误或回归偏差;若采用传统的Logistic分类器,则无法处理这种多目标的检测问题。本文采用由多个独立的Logistic并联组成的分类器来解决这个问题,既能实现多目标检测,又能实现非互斥目标的准确分类。

图2 基于香蕉多特征目标的YOLOv3网络结构Fig.2 YOLOv3 network structure based on banana multi-feature target

2.3 基于香蕉多特征目标的YOLO v3网络结构

因算法采用多尺度融合特征的图像对多特征香蕉(含轴和花蕾)多目标进行单独检测,有效地增强了对大小不同目标和被遮挡目标的检测效果,并引入跃层连接强化收敛效果。因香蕉树生长于野外,已有的YOLOv3结构仍需要改进(图2)。本文在损失函数的部分进行改进,采用交叉熵损失函数代替方差损失函数,二者均为损失函数,损失函数可以衡量预测模型与真实模型的偏差,其偏差越小(即损失函数的值越小),则预测模型与真实模型越接近。对于单样本的一次梯度下降过程中,有如下关系:

对于均方差损失函数,其损失函数定义为:

对于交叉熵损失函数,其损失函数定义为:

对于一次梯度下降中权重(w)和偏置(b)的更新,有

分别将均方差损失函数与交叉熵损失函数对参数求偏导:

则对于均方差损失函数,有:

对于交叉熵损失函数,有:

可见,对于均方差损失函数,其对参数的偏导中均含有Sigmoid函数的导数,对于Sigmoid函数,其表达式为:

可见,当输入值很大或很小时,其导数趋近于0,这将导致权重和偏置变化速度急剧下降,即梯度消失。而交叉熵损失函数的偏导中不含有Sigmoid的导数项,可以有效避免梯度消失的问题,从而改善网络训练速度。

本文所采用的网络结构中该算法使用Darknet53作为骨架网络进行特征提取,再对特征图进行坐标回归和分类,结构中的最小组件由Conv+BN+Leaky_relu激活函数组成。

2.4 YOLO-Banana模型与评估

在网络模型参数设计与训练中,通常将epoch参数设置为100进行迭代,batch_size为16~32,花费时间和内存消耗相对增加。

在建立的YOLOv3网络中,优化了Iteration、batch_size和epoch这3个参数,使损失函数Loss曲线趋于稳定,再进一步地对YOLOv3模型的目标候选框维度进行聚类优化,以提高分类识别的精度。尽管YOLOv3自带默认的目标候选框数量、高宽比维度,它具有一定的通用性,但应用于野外复杂背景及变化光照环境下的香蕉多目标还需要优化改进。因此,本文融合聚类算法来优化YOLOv3模型,优化后的模型称为YOLO-Banana模型,利用k均值聚类算法,基于训练数据集,重新获得适应于预测的目标候选框个数、新的高与宽,并进行聚类分析,优化参数见表1。

表1 香蕉多目标候选框参数Table 1 Parameters of banana multi target candidate box for banana

为了评估模型的泛化能力并逐步优化模型,评估参数包括精度(Precision)、召回率(Recall)和二分类模型精确度的指标F1。计算公式如下:

式中,TP表示正类判定为正类;FP表示负类判定为正类,“存伪”;FN表示正类判定为负类,“去真”。

训练中,batch size设计为8,即每次Iteration训练8张图片,故Iteration为128,对每个香蕉目标的全数据集进行1次运行,每次运行可得到1组Precision和Recall。当对模型算法设定不同的阈值时,会得到多组Precision和Recall,进而画出1条PR曲线,该曲线的面积为平均精度 (Average precision,AP)。

3 结果与分析

用上文提出的方法,在野外环境中完成香蕉多目标样本采集和训练模型。通过采样建立各类图像数据库,训练模型。

用视觉平台在香蕉果园采集香蕉、花蕾和果轴样本。软件系统主要以 OpenCV函数库与 YOLOv3为基础编写而成,硬件设备为有限通用水果采摘机器人及其视觉平台[28],为末端执行器切断花蕾提供定位 (图 3)。

图3 视觉机器人平台Fig.3 Visual robot platform

将本文数据集在YOLO-Banana模型的神经网络中进行训练和检测,选择训练的最优模型在验证集中进行验证,YOLO-Banana模型网络结构中的Neck部分采用的是FPN结构,通过多尺度反复提取主干层和检测层的特征,以提升网络检测微小目标效率。

用YOLO-Banana模型和Faster R-CNN模型进行比较。分别获得香蕉花蕾、香蕉果实和香蕉果轴的精度、召回率等评价参数。效果见图4、图5。

图4 顺光下香蕉测试结果对比图Fig.4 Comparison of banana test results under frontlight

图5 逆光下香蕉测试结果对比Fig.5 Comparison of banana test results under backlight

从图4、图5可看出,香蕉和花蕾的检测精度较高,YOLO-Banana对较长的果轴检测精度较高,与Faster R-CNN检测结果接近;当果轴很短为小目标时,部分被向上长的花瓣遮挡,背景复杂且逆光,用YOLO-Banana检测目标的置信度很低,仅为0.35,Faster R-CNN则为0.999(图5)。在这种极端条件下目标的检出置信度会有所下降,但对回归位置没有显著影响。此外实际应用中这种极端条件出现频率极低,此处仅展示在极端恶劣检测环境下的检出效果。

YOLO-Banana与Faster R-CNN的香蕉多目标特征检测结果见表2。表2表明,Faster R-CNN对香蕉果实、花蕾、果轴的多特征目标的总平均识别精度为95.16%,平均每张图像处理的时间为0.434 s。YOLO-Banana对香蕉果实、花蕾、果轴的多特征目标的平均识别精度为91.03%,平均每张图像处理的时间为0.237 s。YOLO-Banana对香蕉多目标精度精度比Faster R-CNN对香蕉多目标精度要低4.13%,但是其识别速度要比Faster RCNN的快。

表2 YOLO-Banana与Faster R-CNN的香蕉多目标特征检测结果的对比Table 2 Comparison of multi-target feature detection results for banana between YOLO-Banana and Faster R-CNN

为了测试野外光照的影响,选用了144个图片组,每个图片组内图片均为对同一个样本进行采样,包含香蕉、花蕾、果轴这3个部位的顺光与逆光图片进行识别试验(图4和图5),分别用本文提出的YOLO-Banana模型及Faster R-CNN进行试验,结果见表3。表3表明,本文提出的YOLO-Banana模型在顺光时的平均识别精度与Faster R-CNN精度相近,误差仅为0.06%。

表3 YOLO-Banana与Faster R-CNN的顺光逆光下的香蕉多目标检测结果的对比Table 3 Comparison of multi-target detection results for banana between YOLO-Banana and Faster R-CNN under frontlight and backlight conditions %

分析原因可知,因特征明显,且形状和色彩相似度高,花蕾识别精度最高;香蕉果实特征明显,但大小形状有一些差异,有时会被树叶遮挡,识别精度比花蕾低;果轴因其形状为近似小圆柱形,常被花瓣部分遮挡,识别率相对较小,特别是在逆光环境下,精度低。本文采用了多尺度检测算法,图像会以不同的分辨率进行检测识别,对不同大小的目标均有较好的检测效果。

断蕾主要考虑的技术指标是识别率,关键在于识别断蕾切割点所在的果轴,因此研究致力于提升果轴的识别率,比如通过聚类算法对各类别求出大小和比例不一的锚框进行网络训练。一般而言,果轴部分在整个生长周期中一直呈绿色,与未成熟的果实和香蕉叶片颜色相近,且四周均被香蕉果实包围,光照条件较差,边界纹理不清晰,且有些果轴短小易被遮挡,所以果轴的识别相对较难,效果不能达到果实和花蕾同时识别的要求。回归框位置的准确性会影响后续断蕾,针对特定目标框进行图像处理,不同类别进行的图像处理方式不一致(纹理色彩等不一致),如对果轴而言,检测框越准确越能更好地进行后续边缘分割,从而获得果轴主方向,便于果轴切割。

由于深度学习无法确定断蕾位置,作者采用经典图像算法融合几何计算来确定断蕾点位置。在对多目标进行分类识别后,计算花蕾的边缘对称中心及其质心,建立花序轴求解方程,获取花序轴上的切断点。用边缘算法求得花蕾和花序轴图像边缘,利用花蕾的对称性求解花蕾质心与几何对称中心;然后,用几何方法计算花序轴上的切断点,该方法先求解检测到所有直线到质心之间的距离,再通过点线距离最小约束选取距离最短的直线作为切断点所在花序轴的位置,取线段中点坐标作为切断点。

在断蕾时,对切断果轴的轴向尺寸的精度属于自由精度范围,考虑到机器人在夹持切割机构及控制上具有一定的容错性,末端执行器对香蕉果轴检测角度具有一定的鲁棒性,当检测所得的香蕉果轴空间指向与实际香蕉果轴空间指向在一定锥角内,末端执行器均能自适应地修剪,并能获得较为一致的修剪效果。因此,野外断蕾机器人作业时,可以选择本文提出的YOLO-Banana算法。

4 结论

为了提高野外作业机器人综合工作效率,考虑了检测精度和速度之间的平衡关系,研究了果园环境下用YOLOv3对香蕉多目标的分类识别方法,提出对香蕉目标进行多尺度特征提取及分类模型,对YOLOv3模型的一些参数进行了修改,并在此基础上,提出基于k均值聚类算法改进的YOLOBanana模型,阐述了损失函数的误差原理,在置信度和分类误差模型中采用交叉熵的损失函数。研究了光照对香蕉果实、花蕾及果轴识别精度的影响。试验结果表明,用YOLO-Banana模型对香蕉果实、花蕾、果轴的检测精度分别为97%、95%和81%,多特征的目标总平均精度为91.03%,平均每张所需时间为 0.237 s。Faster R-CNN 对香蕉果实、花蕾、果轴的检测精度分别为99%、98%和89%,多特征的目标总平均精度为95.16%,平均每张所需时间为0.434 s。对比表明,前者速度快1.83倍,后者精度高。用YOLO-Banana模型与Faster R-CNN在顺光和逆光环境下进行了对比,两者顺光识别精度的误差很小,仅为0.06%,YOLO-Banana的顺光识别精度高于逆光识别精度,误差为8.26%。研究数据为机器人视觉识别与定位提供了参考。

猜你喜欢

花蕾香蕉精度
基于不同快速星历的GAMIT解算精度分析
数字化无模铸造五轴精密成形机精度检验项目分析与研究
快手香蕉饼
近似边界精度信息熵的属性约简
瓶里有香蕉
香蕉
我来了
Paper blossoms
我来了
浅谈ProENGINEER精度设置及应用