基于无锚框检测网络的茶叶嫩芽识别方法研究

2023-07-04 02:51毛腾跃朱俊杰帖军
关键词:嫩芽特征提取预处理

毛腾跃,朱俊杰,帖军

(中南民族大学 计算机科学学院 & 湖北省制造企业智能管理工程技术研究中心, 武汉 430074)

在劳动力紧缺和成本持续提升的大环境下,全程机械化、智能化是茶叶生产的必然趋势[1].目前大宗茶采具有较为成熟的机械化采摘技术,但这种采摘方式对采摘目标不加以选择,对茶叶的破坏性大,会造成一定经济损失;而名优茶采摘需要围绕茶叶分类品级要求进行,采摘要求高、限制大、机械化作业难[2].近年来计算机视觉的快速发展,在茶叶采摘领域衍生出了一批能有效指导茶叶采摘的智能识别方法,这些方法克服了茶叶机械化采摘过程中的问题,有助于推进茶叶采摘智能化.由于国外的茶叶产业结构相比国内有较大差异,较少对茶采方法投入研究,故茶叶智能识别方法基本上都诞生于国内.

目前茶叶嫩芽识别的研究主要使用预处理搭配目标检测算法的方法.如王子钰等人[3]将茶叶图像数据集经过颜色特征提取、OTSU分割和形态学处理等预处理后对SSD[4]进行模型训练,得到的SSD模型的茶叶嫩芽识别准确率为91.5%.孙肖肖等人[5]先使用OSTU算法进行预处理,然后将YOLO网络架构[6]中的多尺度检测修改为大尺度和中尺度检测,并利用修改后的YOLO模型对茶叶嫩芽进行检测,识别准确率为84.2%.张雯娟等人[7]使用UNet网络提取茶叶嫩芽的分割图像,然后利用多特征融合的SSD模型对分割图像进行一芽、一芽一叶、一芽两叶的检测识别,mAP(mean Average Precision)为87.9%.这类方法首先通过预处理获取图像中茶叶嫩芽的主体部分,以规避复杂背景对识别效果的影响,然后使用目标检测模型对嫩芽主体部分进行精确的识别,从而保障了嫩芽识别的准确率.

近年来,也有少量基于无预处理茶叶嫩芽识别方法的研究出现.如吕军等[8]提出一种基于AlexNet卷积神经网络的茶叶嫩芽状态智能识别算法,对全开面、半开面和未开面三种的状态茶叶嫩芽的平均识别率达到88.0%.许高建等[9]使用基于VGG-16特征提取网络的Faster-RCNN[10]深度网络模型检测识别一芽一叶、一芽两叶、无梗茶叶嫩芽,mAP为82.17%.使用预处理的最大问题是效率过低,对嫩芽进行识别时,花费在预处理上的时间可能超过识别嫩芽本身,无预处理茶叶嫩芽识别方法通过去除预处理规避了这种缺陷,同时也对所使用的目标检测网络有了更高的要求.

无锚框检测网络使用基于关键点检测的思想并抛弃了传统检测算法中使用的锚框,这降低了它对特定尺度目标的偏好,有助于复杂背景图像中目标的检出,降低了对预处理的依赖,对目标的识别效果有所保证.本文围绕茶叶品级分类标准,提出一种不依赖预处理的、基于无锚框检测网络的茶叶嫩芽识别方法.

1 实验数据集构建

1.1 数据集采集

由于无法通过公共数据集和网络搜索获取到能够满足实验条件的茶叶图像,本文使用自建数据集来完成实验.自建数据集中所有的茶叶嫩芽图像是在湖北省孝感市肖港镇的一个茶园中拍摄所得,使用的拍摄工具为iPhoneXR手机,拍摄得到的图像尺寸为3024×4032(图1).为了获取更接近实际采茶环境下的茶叶嫩芽图像,图像的采集工作分别在晴天、阴天的8点、10点以及12点三个时间段进行,共采集到200张自然背景下的茶叶嫩芽图片.

图1 茶叶嫩芽样本图像Fig.1 Image of tea bud sample

1.2 预训练数据集

利用自建数据集从头开始训练一个网络时,可能遇到模型收敛速度慢的情况,此外,在这种情况下,需要的数据集的规模也有相当高的要求[11].为了避免模型收敛慢甚至无法收敛的情况,本文采用预训练加微调的方式对模型进行训练[12],预训练使用的数据集为公共标准数据集Pascal VOC2007.

Pascal VOC2007为世界级的计算机视觉挑战赛PASCAL VOC挑战赛于2007年提供的标准数据集(图2),该数据集共计9963幅图,包含20个类.使用Pascal VOC2007数据集进行预训练,能够为图像检测工作提供可靠的预训练模型,降低小规模数据集无法使模型收敛的风险,提升模型泛化能力.

图2 Pascal VOC2007部分数据集示意图Fig. 2 Schematic diagram of partial Pascal VOC2007 data sets

1.3 图像数据标注

通过数据集标注来保存模型训练时需要使用的监督信息.为保证采集的数据集的标注信息与预训练数据集一致,使用LabelImg工具来标注图像以获取Pascal VOC2007格式的标注信息.根据茶叶嫩芽的品级分类与采摘要求,将目标标注分为三类,分别为一芽、一芽一叶、一芽二叶,在标注时用“ob”标注一芽,用“obol”标注一芽一叶,用“obtl”标注一芽二叶,标注后信息以XML文件格式进行保存,XML文件的组织形式与Pascal VOC2007的标注信息保持一致,其中记录了茶叶嫩芽图像的目录位置、尺寸以及三种标注目标的类别和位置信息(图3).

图3 茶叶嫩芽图像目标标注Fig.3 Tea bud image target annotation

1.4 数据增强

通过预训练可以获得可靠的预训练模型.为了避免被微调后的预训练模型对自建数据集过拟合,需要对自建数据集进行增广扩容(图4).考虑到自然情况下可能出现的各种自然因素,将自建数据集中的茶叶嫩芽图像进行亮度增强、亮度减弱、对比度增强、对比度减弱、水平镜像翻转、放大和缩小共7种数据增广操作,从而得到1400张增广图像,加上原图像共计1600张茶叶嫩芽图像.

图4 数据增广Fig.4 Data augmentation

2 基于CenterNet的茶叶嫩芽识别方法研究

2.1 茶叶嫩芽识别方法研究

茶叶嫩芽识别面临的最大问题是正负样本失衡[13].茶叶图像中有着复杂的背景,需要识别的目标数目远低于背景中的其他目标的数目.基于茶叶图像中失衡的样本信息训练得到的机器学习模型对嫩芽进行识别时,不可避免地受到嫩芽图像中背景的影响,导致识别效果不佳.

传统茶叶嫩芽识别方法为了解决正负样本失衡问题,在对嫩芽目标进行检测时前添加了一个预处理过程.使用的预处理大多是分割方法,它将嫩芽图像中的图像主体与图像背景分离,然后将图像主体输入识别算法进行嫩芽的具体识别.这个预处理过程的速度一般是极慢的,如文献[7]中使用的预处理过程耗费的时间达到了40毫秒,而该方法对嫩芽主体的识别只需要20毫秒左右,作为附加步骤的预处理反而成为了整个方法的主要时间耗费来源.

2020年,许高建等人[9]尝试去除预处理,对茶叶嫩芽进行直接识别,所得到方法的识别效果虽然不及同期有预处理的其他方法,但也证明了不使用预处理的茶叶嫩芽识别方法是可行的.

2.2 模型简介与分析

CenterNet是一种无锚框检测目标检测模型,于2019年提出;其结构如图5所示,大体分为四个部分:(1)预处理;(2)下采样特征提取网络;(3)上采样;(4)三个Header[14].使用本身就自带有上采样结构的特征提取网络时,CenterNet的下采样部分和上采样部分可以合并看待.

图5 CenterNet整体网络结构Fig.5 Overall network structure of CenterNet

CenterNet最大的特点是其基于关键点检测的思想.基于关键点检测即将图像样本中的识别目标视为一个点,再通过这个点实现目标的检测,该思想由三步实现:(1)训练阶段,模型以图像中目标的标注框中心在下采样特征图上的对应坐标为中心,建立二维高斯分布,获取目标关键点的高斯分布图,该分布图作为图5中的HeatMap的监督信息;(2)基于该高斯分布图,按2.4节中的公式1训练模型对目标中心点的泛化能力;(3)检测阶段,先通过模型估算目标的中心位置,再由此中心回归得到目标检测框.

茶叶嫩芽识别面临的正负样本失衡问题在本质上是无法确认混杂在背景目标中的识别目标的位置,相关研究常利用分割预处理来解决正负样本失衡问题.传统的茶叶嫩芽识别方法中使用的预处理,在本质上是先通过分割方法获取识别目标的一个大概位置,然后再对嫩芽进行识别,这种思想与CenterNet先确认目标中心位置,再进行具体目标识别的思想不谋而合.故CenterNet适合于无预处理情况下对茶叶嫩芽的识别.

CenterNet使用的特征提取网络是Hourglass-104,Hourglass-104的主干部分可以看成两个Hourglass-52的主干部分级联[15].Hourglass-52的整体网络结构如图6所示,网络整体上分为下采样与上采样两个部分,下采样与上采样之间用残差结构相连,网络中每经过两次卷积就会进行一次残差连接,这些设计使得Hourglass具有较强的特征提取能力,同时也使得网络的特征提取速度较慢,结构复杂,网络的规模也比同样深度的其他网络大许多.本文的目标是探寻一种不使用预处理的茶叶嫩芽识别方法,这类方法的主要优势是识别效率高;使用Hourglass作为CenterNet的主干提取网络能够得到一个比较好的识别效果,但是它复杂的结构和低效的运行速度将会抵消掉这一类识别方法的主要优势,故考虑将Hourglass主干特征提取网络替换为一种更简单且兼具性能的网络.

图6 ResNet-50和Hourglass-52整体网络结构Fig.6 Overall network structure of ResNet-50 and HourGlass-52

2.3 更换特征提取网络

将CenterNet的特征提取网络更换为ResNet-50[16],选取ResNet-50的原因如下:(1)CenterNet原文中使用了ResNet家族的ResNet-18和ResNet-101作为CenterNet的主干,基于这两款特征提取网络的CenterNet识别准确率虽然不如基于Hourglass的CenterNet,但性能依旧出色[13];(2)本文使用的自建数据集较小,为防止模型过拟合,不考虑浅层的模型,为保证模型的识别效率,不考虑过深的模型,权衡之下,选用ResNet家族中兼具深度与识别效率的ResNet-50;(3)ResNet-50设计简洁,识别高效,且经过了计算机视觉各领域多年的考验.综上所述,ResNet-50能够胜任CenterNet的特征提取网络.ResNet-50的网络结构如图6所示,同样使用了残差结构,但是结构清晰简洁,其深度为50,达到了深度网络的水平,能够较好地提取图像中的特征信息.

2.4 模型损失

模型损失是衡量模型预测结果好坏的标准,也是指导模型梯度下降从而收敛的指标.对应三个输出头,CenterNet的损失分为三个部分,分别是中心点损失、中心偏移损失与尺度损失.

中心点损失如公式(1):

中心偏移损失如公式(2):

尺度损失如公式(3):

整体损失为公式(4):

其中,λoff和λsize为超参数,设定值分别为1和0.1.

3 结果分析与实验对比

对模型进行训练.为检验模型的训练效果,对模型的训练结果进行分析;为检验数据增广操作和更换骨干操作对模型的影响、了解本文提出的嫩芽识别方法是否有所进步,设置实验进行对比.

3.1 实验环境及训练设置

本节所有实验的实验环境相同,软件环境的搭建主要使用的是TensorFlow-2.6.0.硬件的具体配置信息如表1所示.

表1 计算机硬件配置Tab.1 Computer hardware configuration

训练模型使用的学习率调度策略为指数调度策略,迭代步数为一个Epoch,使用的梯度下降优化器为Adam优化器.训练共分为冻结训练与解冻训练两个阶段,两个阶段的训练参数配置如表2所示.预训练时的参数配置与解冻训练阶段相同.

表2 训练参数配置Tab.2 Training parameter configuration

由于自建数据集规模较小,在所有实验中,将训练模型所使用的数据集按9∶1的比例划分为训练集与测试集,为检测模型是否过拟合,又将训练集分为简化训练集与验证集,比例为9∶1,通过模型在验证集上的损失评估模型是否过拟合.

3.2 评价标准

茶叶嫩芽直接识别方法的优势是识别高效与实现简洁,故在对比实验中,模型的评价标准包括精确率(Precision)、召回率(Recall)、mAP(mean Average Precision)、模型的识别速率与模型的大小.精确率指的是模型识别出的所有目标中被正确识别的所占比重,召回率指模型需要识别的所有目标中被正确识别出来的所占比重;mAP是针对“召回率越高,精度越低”的权衡提出的综合反映模型识别性能的一项评价指标,其计算过程分为两步:先针对模型要识别的每一个类,将模型对于某类目标处于不同召回率时的精确度求和,计算这些精度的平均值得到模型对于该类目标的平均精度(AP),然后计算各类目标的AP的平均值得到mAP.精确率、召回率和mAP的计算方式如下:

其中,TP是真正类(即预测类别和实际类别都为正类)的数量,FP是假正类(即预测类别为正类,而实际类别为负类)的数量,FN是假负类(即预测类别为负类,而实际类别为正类)的数量.在目标检测领域,预测框与标注框的IoU(Intersection over Union,预测框与标注框的重叠面积与它们的联合面积的比值)大于指定值的为正类,小于指定值的为负类.K为在Precision-Recall坐标系Recall轴上的插值抽样数目,N为识别目标的类别数目.

3.3 训练结果分析

实验在CenterNet深度网络模型,基于ResNet-50特征提取网络分别采用原始数据集和增广数据集进行训练,基于Hourglass特征提取网络采用原始数据集进行训练,最后得到的整体训练损失对比与验证损失对比如图7所示.为描述方便,后文将使用ResNet-50特征提取网络和原始数据集训练得到的模型、使用ResNet-50特征提取网络和增广数据集训练得到的模型、使用Hourglass特征提取网络和原始数据集训练得到的模型分别简称为模型A、B、C.

图7 整体损失对比Fig.7 Overall loss comparison

三次训练的训练损失和验证损失都随着Epoch的增加逐渐趋于平缓,故模型都得到收敛且未出现过拟合的现象.其中模型B和模型C的训练损失都达到了相近的更低水平,表明这两个模型的训练效果更好.

3.4 实验对比

为了解数据集增广对模型训练效果的影响,设计了数据集增广对比实验;为了解基于ResNet-50与基于Hourglass的CenterNet模型的在识别效率和模型规模上的差异,设计了主干对比实验.将两个实验汇总到本节来进行统一分析.

如表3所示,为A、B两个模型的精确度、召回率、mAP的对比结果.在增广后的数据集上进行训练后,模型B相比模型A无论是在精确度、召回率还是mAP上都有14个以上的百分点以上的提升,识别效果更好.

表3 数据集对比Tab.3 Comparison of data sets

表4为A、B、C三个模型的训练时间、对单张图片的检测时间和模型大小的对比结果.模型A和模型B在检测速度方面比模型C快了6倍,在模型大小方面,它们比另外模型C也小了6倍.可见通过更换特征提取网络,提高了CenterNet模型的识别效率,减小了模型的规模.

表4 特征提取网络对比Tab.4 Comparison of feature extraction networks

图8所示分别为原始标注的茶叶嫩芽图像和在A、B两个模型上的识别结果图像.可以看出,模型B检测嫩芽得到的检测框的偏移较小,识别效果较佳.

图8 识别效果对比Fig.8 Comparison of recognition effects

3.5 研究对比

表5展示了本文使用的方法与文献[7]和文献[9]的识别结果对比.本文与文献[9]都是使用的直接对嫩芽进行识别的方法,而文献[7]使用的是先进行预处理、后进行嫩芽识别的方法.与文献[9]相比,本文所提出方法的精确率虽然有所下降,但是召回率提升了6%,mAP提升了5%,整体识别效果更好.与文献[7]相比,本文所提出方法的精确率、召回率和mAP都十分接近.本文与文献[9]提出的无预处理方法的识别速度都比文献[7]提出的有预处理方法快了接近3倍.可见,本文所提出的茶叶嫩芽识别方法能够在保持良好识别效果的前提下,以较快的速度进行茶叶嫩芽识别.

表5 识别结果对比Tab.5 Comparison of recognition results

4 结论

本文以探索茶叶嫩芽的直接识别方法为研究目的,尝试去除传统研究中所使用的低效预处理步骤.利用无锚框检测网络CenterNet的基于关键点检测思想与传统方法中先分割、后识别的思想在本质上的相同点,使用CenterNet进行茶叶嫩芽的直接识别.通过数据增广操作扩充小样本茶叶嫩芽数据集和使用预训练方法,避免了模型训练慢和过拟合的问题.对比了同领域的其他研究成果,得出基于ResNet-50的CenterNet深度网络模型兼具识别速度与识别效果的结论,给茶叶嫩芽的智能化采摘提供了一种嫩芽识别方案.由实验结果可见,该方法的识别效果有所不足,如对大目标的一叶二芽的检测框的大小有所偏差,识别的mAP相比同类研究没有达到最好的水平.后续可以借助丰富数据集、改进模型等方法来解决.

猜你喜欢
嫩芽特征提取预处理
小嫩芽
嫩芽
嫩芽的面积
基于Daubechies(dbN)的飞行器音频特征提取
基于预处理MUSIC算法的分布式阵列DOA估计
Bagging RCSP脑电特征提取算法
希望的嫩芽
浅谈PLC在预处理生产线自动化改造中的应用
络合萃取法预处理H酸废水
基于自适应预处理的改进CPF-GMRES算法