基于迁移学习和数据增强的小样本柑橘缺陷检测研究

2024-01-30 03:10贾惠伍希志薛洋李玉彤
农业与技术 2024年2期
关键词:柑橘样本图像

贾惠 伍希志 薛洋 李玉彤

(中南林业科技大学材料科学与工程学院,湖南 长沙 410000)

柑橘是我国南方种植较多的一类水果,其经济效益较高。随着农林业机械化的不断进步,柑橘的采摘已经逐渐从人工过渡到结合机器视觉方法。传统的机器视觉需要对实时采集的图像进行数据图像处理操作,效率很低[1];近些年神经网络快速发展,机器视觉结合深度学习方法进行检测成为主流[2-5]。目前采用深度学习方法进行柑橘缺陷检测存在一个关键问题:深度学习方法需要预先采集大量训练样本得到训练模型,而在实际采摘柑橘的场景应用中,预先进行大量的缺陷柑橘数据获取和高质量标注会耗费大量精力。因此,如何使用较少的特征数据样本获得较好的检测效果是学者一直在研究的新方向。

小样本学习最初受启发于人类学习模式,人类擅长从极少样本中快速学习到新事物的特征,并做出准确的预测,这种高效率的学习能力正是当前机器学习模型所需要的。为解决因大量高质量标注样本带来的困难,2003年,Li等[6]首次在论文中提出小样本学习的概念,其使用了一种基于贝叶斯方法的无监督一次性学习物体类别方法,从仅有少量图像样本中学习物体类别。此时小样本主要是进行分类任务,随着研究的不断深入,学者开始同时兼顾分类和定位任务。2018年,Dong等[7]利用大量未标注图像和每个类别只有少数标记的图像进行目标检测,与只使用大量图像标签的先进弱监督方法相比,产生了非常有竞争力的结果。近年来对于基于小样本的检测研究越来越多,史燕燕等[8]、李芳琳[9]将小样本目标检测分为4类,并讨论了在公共数据集上各方法的效果。杨明欣等[10]将数据进行增强,使用改进的MobileNetV2进行训练,最终改进模型在对照实验中具有更优秀的效果。李红光等[11]基于元学习方法解决了遥感图像样本小且易与背景混肴的问题。杜鹃等[12]基于迁移学习对小样本连接器数据集检测,在YOLOv5的基础上进行权重迁移和模型调整,最终该方法检测精度和收敛速度都有很大提升。唐泽宇等[13]在研究如何提取和识别通信辐射源的目标特征时提出了基于迁移学习的小样本识别方法,结合数据增强,最终加快了模型的收敛速度,提高了模型识别率和鲁棒性。黄友文等[14]在小样本数据集上使用了融合分类校正和样本扩增的Faster-R-CNN网络,在样本数量很少的情况下,效果有显著提升。吴晗等[15]提出了基于样本扩增的小样本目标检测算法,采用生成对抗网络进行样本数据增强,并在YOLOv3的基础上添加了空间注意力机制模块,新算法在自己数据集上提升了近20%的平均精确率。马鹏等[16]针对智能变电站设备的自动化检测提出了基于迁移学习的小样本检测方法,在单阶段多框检测器的算法基础上根据数据集添加特征提取层,改进特征预测框和非极大抑制部分,最终实验精度达到91.1%,为小样本电力设备智能化检测奠定了基础。

综上所述,目前在小样本目标检测的研究上已经取得了一定的成就,但一些研究多数是以公共数据集进行实验,对于单一种类样本的数据集研究较少。笔者认为,单一目标的数据集样本之间相似性较高,能够更快速地学习到样本特征,从而实现目标的缺陷检测。因此,针对收集的柑橘数据集,本论文采用基于迁移学习和数据增强的方法进行柑橘小样本的缺陷检测,以减少数据采集和标记的工作量以及算法学习的复杂度。

1 数据集

1.1 数据收集

本实验收集了13种不同的柑橘缺陷类型图片,每类有5~30张图片。这些类别分别是柑橘白癞病、疮痂、褐腐疫霉病、黑星病、黄龙病、花皮(蓟马危害)、溃疡、裂果、煤烟病、日灼、砂皮果、炭疽、锈螨。实验数据均是来自互联网搜索,并在查阅资料后进行缺陷分类,部分样本如图1所示。

图1 柑橘病害缺陷样本

1.2 数据集制作

本文所使用的方法分别需要原始数据和增强后的数据。原始图片进行筛选和预处理后得到260张样本,图片统一处理为640像素规格。计算机视觉领域的数据增强是指借助图像处理技术或深度学习技术,使之产生更多有效数据。本文将采用图像处理方法将原始数据进行旋转、裁剪、高斯模糊,将数据总量扩充至1000张图片以提高样本多样性。使用LabelImg软件将图片标注为VOC标签格式,该标签格式涵盖了较多的图像信息,在后续使用时可以方便转为另外2种标签格式,以避免重复标注。

2 小样本柑橘缺陷检测算法

2.1 基于迁移学习的方法

迁移学习的目标是将旧任务中学习到的知识和技能应用到新任务中[17],基于迁移学习的小样本目标检测方法是先在含有大量图像的数据集上对模型进行预训练学习大量目标样本泛化的特征,进行模型参数的微调,将该模型应用到新的小样本任务中。本实验采用基于迁移学习的微调方法,具体使用了3种实验模型:由Yan等[19]提出的FRCN ft-full以及Wang等[18]提出的TFA w/fc和TFA w/cos。如图2所示,3种模型均是由基础训练阶段和微调阶段组成,在类型丰富的基础数据集上训练整个目标检测器来初始化模型,冻结主要部分,对包含新颖类别的小型平衡训练集进行微调。

TFA方法的主要思想是在Faster R-CNN模型中添加1个称为Target Few-Shot Adapter的微调模块,如图2b所示,该模块添加在模型的最后一层,专门用于处理少量目标类别的微调;其中,TFA w/fc使用全连接层作为适配器,而TFAw/cos使用余弦相似度作为适配器。微调模块在进行新类微调时,冻结了模型的主干网络、RPN和ROI特征提取3部分,在新类的小样本集合上,微调检测模型最后一层的边界框分类器和回归器,以适应新的目标类别。而FRCN ft-full使用完全微调的方法,没有冻结任何层。

图2 TFA方法流程

2.2 基于数据增强的方法

基于数据增强的方法主要是对于数据进行修改,不改变训练模型。小样本学习的根本问题在于目标任务数据量少,难以训练出鲁棒的识别模型。因此,扩充数据可以从根本上解决小样本问题。本实验采用最基础的传统方法,在原始数据上做高斯模糊和旋转等操作,如图3所示,为部分增强图像的示例。以增强后的数据为目标数据集,使用主流的目标检测方法进行检测。目前根据网络模型阶段来划分,目标检测算法可以分为2类,一阶段算法和两阶段算法。本文使用的是在小目标检测中表现优秀的典型算法,分别是一阶段算法中的YOLOv8和两阶段算法中的Faster R-CNN。

图3 部分增强数据

2.2.1 Faster R-CNN算法

Faster R-CNN是一种用于目标检测的深度学习算法,相较于R-CNN和Fast R-CNN算法,Faster R-CNN引入了RPN(Region Proposal Network)直接生成候选区域,从而提高了检测效率。其网络模型结构包括特征提取,RPN网络生成候选框,最终的目标分类与位置回归[20]。

2.2.2 YOLOv8算法

YOLO系列算法是一种用于目标检测的深度学习算法,采用端到端的思路,在速度和准确性之间取得了平衡。YOLOv8是目前最先进的模型,建立在旧YOLO版本的基础上,引入了新的功能和改进,以进一步提升性能和灵活性。YOLOv8的工作流程如图4所示,输入图像经过卷积层提取特征得到3个尺度的特征图;每个尺度都会输出1组边界框和对应的置信度;根据置信度和阈值,筛选出置信度高的边界框,并采用非极大值抑制(NMS)来去除重叠的边界框;得到检测结果,包括目标类别、边界框位置和置信度。

图4 YOLOv8工作流程图

YOLOv8的网络结构图如图5所示,从图5可以看出,网络分为主干网络(Backbone)、特征增强网络(Neck)和检测头(Head),3个部分。主干网络将之前的C3结构换成了梯度流更丰富的C2F结构,并对不同尺度的模型调整了不同的通道数;检测头部分换成了解耦头结构,将分类和检测模块分离;同时采用了更有效的Anchor-Free检测方法和更精确的损失函数,大幅提升了模型的性能。

图5 YOLOv8网络结构图

3 实验

3.1 实验环境

实验采用了一台配备Intel Core i7处理器和NVIDIA GeForce GTX 3060显卡的台式计算机,内存容量为16GB,实验运行在Ubuntu 18.04操作系统上,采用Anconda环境和Python语言,运行软件为Pycharm。

3.2 实验参数与模型训练

3.2.1 基于迁移学习的方法

基于迁移学习的方法引入了一个新概念N-way K-shot,其中N代表类别数量,K代表样本数量,实验数据使用原始样本,将数据进行随机分类,使用prepare_voc_few_shot.py文件将原始数据集分成多组随机种子,每组均为13个类别的样本,每个类别按照K=1,2,3,5,7,10,20进行实例抽样。在进行模型训练时,对于3种算法模型各自进行7组训练,每组样本数量分别为K的不同取值。实验采用Faster R-CNN作为训练模型,其他参数设置与基于数据增强的法中Faster R-CNN模型的设置一致。

3.2.2 基于数据增强的方法

2种算法均使用相同图片样本,图片大小为640像素,采用增强前的260张原始图片和增强后的1000张图片做对照组,学习率为0.001,batch size为1,采用SGD优化器。模型的训练过程中,采用有监督的学习方式,通过设计损失函数的回归以及优化柑橘缺陷检测准确率模型,选择的训练轮次为各类模型损失函数基本趋于稳定时的轮次。

3.3 结果分析

3.3.1 基于迁移学习方法的结果分析

基于迁移学习3类算法的结果如表1、图6所示。

从表1可以看出,在TFA模型算法中,TFA w/cos在1-shot下的表现优于TFA w/fc,然而除1-shot外,TFA w/fc在所有其他实验条件下的表现均高于TFA w/cos。这表明使用全连接层作为适配器在柑橘的小样本检测任务中的效果略优于使用余弦相似度的算法;此外,FRCN ft-full方法在1-shot条件下的mAP值达到25.134%,已经比TFA算法在20-shot条件下的mAP值还高出6.917%;在20-shot下,FRCN ft-full方法的mAP值更是高达69.823%。这些数据充分证明FRCN ft-full方法在该任务中的性能远超TFA模型算法。

从图6可以看出,在算法的3个评价指标中,AP50表现最为出色,这表明在IoU为0.5时,准确率达到最佳水平。随着IoU值的增加,准确率开始下降,说明模型的检测框的精准度较差,存在能识别到物体但是无法准确定位整个物体的情况。

本研究发现,3类算法的性能均随着图像数量的增加而提高。在数据量较少的情况下,增加少量图片能够带来显著的算法性能提升。然而,在10-shot到20-shot的实验中,尽管增加的图片数量较多,但算法性能的提升程度反而并不显著。这表明随着图像数量的增加,图片数量的影响逐渐降低,即图片数量对于算法性能的提升作用呈现出饱和趋势。

图6 迁移学习方法结果对比图

3.3.2 基于数据增强方法的结果分析

2种算法进行数据增强前后mAP值的对比见图7。其中,Faster R-CNN算法在增强前的mAP值为48.2%,增强后为84.7%,增加了36.5%;而YOLOv8算法在增强前的mAP值为52%,增强后为85.3%,增加了33.3%。这表明数据增强对于提高模型准确率具有显著效果。同时。从图8可以看出,YOLOv8算法在增强前比Faster R-CNN高出3.8%,在增强后,YOLOv8算法仍比Faster R-CNN高出0.6%。这表明,YOLOv8算法在性能上优于Faster R-CNN算法。

图7 数据增强前后的mAP值对比

3 结论

本研究采用了迁移学习方法和数据增强方法进行小样本柑橘检测,实验结果表明,基于数据增强方法在检测准确率方面优于基于迁移学习方法;基于数据增强方法学习特征单一,容易造成过拟合;基于迁移学习方法泛化性强,但检测框定位稍差。未来的研究需要继续优化模型的结构和训练方法,以提高小样本数据目标检测的精准度和鲁棒性,进一步提高模型的性能。

猜你喜欢
柑橘样本图像
改进的LapSRN遥感图像超分辨重建
吃柑橘何来黄疸——认识橘黄病
用样本估计总体复习点拨
有趣的图像诗
推动医改的“直销样本”
随机微分方程的样本Lyapunov二次型估计
柑橘大实蝇综合治理
“五及时”柑橘冻害恢复技术
村企共赢的样本
柑橘实蝇防治一法