联合SAM 与VGG16 的树上柑橘检测方法

2024-04-15 14:04重庆三峡学院江金辉
河北农机 2024年1期
关键词:柑橘图像目标

重庆三峡学院 江金辉

柑橘作为我国南方地区的主要经济作物[1],其生产过程的现代化和智能化对其产业的发展有着非常大的意义。随着人工智能、计算机视觉等技术的快速兴起,诸如采摘机器人、分拣机器人等越来越多的智能农业机械应用到了柑橘的生产过程当中[2]。目标识别作为这些智能农用机械的“眼睛”,在设计和研发以及应用阶段中都扮演了极为重要的角色。为了实现对柑橘果实的精准识别,国内外研究人员提出了许多解决方案。

黄河清等人[3]针对当前柑橘果实目标检测模型多数需在服务器上运行,难以直接在果园部署且识别实时性较差等问题,设计了基于边缘计算设备的便携式柑橘果实识别系统,识别系统对柑橘果实的识别平均准确率达93.01%。易诗等人[4]基于特征递归融合YOLOv4模型,针对小个体柑橘、单株密集柑橘和遮挡柑橘进行检测,检测结果对于果园环境中春见柑橘的平均检测精度达到94.6%。李扬[5]分别对单个柑橘目标和重叠目标进行了识别,并提出一种基于凸壳及距离变换理论的重叠柑橘目标识别方法。试验结果表明,对于单个柑橘的识别,平均识别误差为2.03%。对于重叠目标的识别,仿真试验中的采摘中心点定位误差为6.51%。徐利锋等[6]提出基于改进DenseNet 多尺度特征提取模块的水果检测框架,在多尺度特征提取模块中结合低层与深层特征的优势,建立特征金字塔结构,在目标重叠框筛选任务中嵌入非极大抑制算法,但改进后的框架存在高内存占用率问题。李颀等人[7]为了实现果粒排列密集、相互遮挡的葡萄果实检测,将金字塔结构及遮挡补偿机制引入到ResNet50 网络中,改善对遮挡果粒的识别问题。庄昊龙等[8]提出一种基于改进YOLOv5+Deep-Sort 的柑橘果实识别与计数方法,改进后的模型对于柑橘果实识别的平均准确率达到了93.712%。

可见,以深度学习方法解决果实识别问题是近几年的主流热门方法。但这些方法还存在一些问题:(1)深度学习方法对于数据量的需求较高。由于柑橘数据集并非通用数据集,因此其质量往往较为粗糙,同时数量上也相对较少,而深度学习模型通常需要大量标注数据进行训练,除了会耗费大量人工标注时间外,获取大规模的柑橘一类的果实图像数据集也会面临困难,这限制了深度学习方法在果实识别问题上的应用范围。(2)深度学习方法在处理小样本情况下表现欠佳。对于某些样本数量较少的情况,深度学习模型可能面临着过拟合或者无法充分学习的问题,导致目标漏检、错检。

综上所述,尽管深度学习方法在果实识别问题上取得了显著的进展,但仍然面临数据需求高、小样本识别效果差等问题。

随着深度学习大模型的发展,特别是SAM分割大模型的出现,在柑橘识别任务中提供了新的思路,该模型具备了足够的通用性,可以涵盖广泛的用例,并且可以在新的图像领域上即开即用,无需额外的训练。在柑橘目标检测任务中,我们认为可以先利用SAM大模型对柑橘进行分割,以实现对各个目标的准确定位,然后再对定位结果进行识别。经过实验验证,笔者的方法相较于仅使用通用检测器进行柑橘检测的方法表现更好,并且在实际应用中更加便捷,省去了复杂的数据集制作和调整的步骤。

1 模型架构

1.1 SAM 介绍

2023 年Meta 的Segment Anything(SA)项目孕育出了SAM(Segment Anything Model)。该项目构建了一个功能广泛且适应性强的通用大模型,该模型能够快速适应各种现有和新兴的分割任务,如边缘检测、对象提议生成、实例分割以及从自由文本中提取对象等。模型结构如图1 所示。

图1 SAM 结构图

该模型主要由三个部分组成:强大的图像编码器(MAE 预训练的ViT)、提示编码器(分为稀疏输入和密集输入)以及掩码解码器(使用自注意和交叉注意的提示图像双向变压器解码器)。此外,当输入的提示信息不够明确时,网络会根据置信度对三种可能的掩码输出进行排序。在训练中,使用的SA-1B 数据集包含超过十亿个掩码,为模型的训练和评估提供了充足的高质量数据。实验证明,SAM模型在各种分割任务上展现出了出色的性能和灵活性,无论是面对已知数据分布还是全新数据分布,SAM都能够进行零样本迁移,并取得令人瞩目的效果。

1.2 VGG16 介绍

VGG16 是一个由牛津大学计算机视觉组开发的深度卷积神经网络模型,具有16 层深度,结构如图2 所示。在柑橘分类任务中,使用VGG16 模型具有以下优势:(1)准确性高,VGG16 模型通过多层卷积操作能够有效地提取图像特征,从而提高了柑橘分类任务的准确性。(2)易于训练:VGG16 模型的结构相对简单且层次清晰,参数数量可控,因此相对容易训练,适合应用于柑橘分类等中小规模任务。(3)应用范围广,作为经典的深度学习模型之一,VGG16 在业界拥有广泛的应用和研究基础,相关的开源实现和优化技巧丰富,便于使用者参考和借鉴。

图2 VGG16 结构图

综上,将VGG16 模型应用于柑橘分类任务中能够带来较高的准确性、良好的泛化能力和相对简单的训练过程,是一种有效且可靠的选择。

2 实验过程与结果分析

2.1 数据集

在目标检测任务中,传统方法通常需要人工采集、制作大量的数据集,再将数据集按比例划分为训练集、验证集、测试集,利用庞大的数据集输入到网络模型中进行长时间的训练,以求达到良好的检测效果。而在分类任务中,分类数据集的制作相对简单且模型对数据集的需求量少,并且对于简单二分类任务而言,所需训练时长较短。本文实验方法的优势在于仅需要简单的类别标定制作分类数据集,无需传统检测方法那样标注包围框。

本文数据集所用柑橘图像均采集于重庆市万州区某果农自种果园,在不同的天气状况、光照环境、拍摄角度、远近距离的条件下进行拍摄,经过对数据集的初步筛选,剔除不含柑橘或难以标记的样本后选取了1200 张柑橘图片样本。部分图像如图3 所示。

图3 柑橘图像

对柑橘图像筛选完成后,为了测试本文方法的应用性能,笔者利用Labelme 工具进行标注,制作了包含1000 张柑橘图片样本的数据集。将剩余200 张图像进行处理后,制作了包含柑橘与非柑橘两类的分类数据集,该分类数据集用于训练分类器。

2.2 实验流程

本文实验总体流程如图4 所示。将柑橘图像输入到SAM后,通过对SAM模型参数进行调整,生成分割目标小图像以及基于原图的编号和定位信息,再将从原图上裁剪出的目标小图像输入到微调后的VGG16分类模型中,分类器将类别为“orange”的图像编号返还到原图上生成检测目标框。

图4 实验流程

2.3 实验结果

本文对比实验选取了YOLOV4 原始模型,将标注过的1000 张柑橘图像数据集按照6:2:2 的比例划分为模型训练集、验证集、测试集,输入到YOLOV4 模型中进行训练,其实验结果作为本文方法的对照组。

将本文方法记为SAM-VGG16,在这一部分中,我们将本文方法的检测结果与测试集进行计算,得到该实验方法的mAP。两种方法的mAP 结果对比如下表:

通过结果对比,笔者发现本文方法可以利用少量的分类数据集实现柑橘检测任务,比经过训练的yolov4模型效果高出1.4%。由此,笔者认为,本文的方法在缺少实验样本的条件下达到了柑橘目标检测任务的要求,能够避免在缺少数据集时无法进行训练识别的问题,在识别效果上也能够为下一步的采摘任务提供支持,为柑橘识别项目提供了另一种思路。

3 讨论

针对自然环境下树上柑橘数据集难以获取、数据集人工标注难度大等问题,本文提出一种联合SAM与VGG16 模型的柑橘检测方法。该模型通过SAM将输入图像进行分割,然后将分割后的结果输入到VGG16 分类模型中,对图像中的柑橘目标进行识别,实验结果表明,该方法能够在数据集数量不足、质量不好或者没有数据集的情况下,仍能够在柑橘目标检测项目中达到不错的效果。当然,该实验方法也存在一些有待改进的地方,例如由于SAM大模型的加入使模型推理速度变慢、分类器是否有更合适的模型、该方法在其他检测任务中是否具有同样的零样本泛化能力等,在后续的实验过程中我们将进行更深一步的探索。

猜你喜欢
柑橘图像目标
改进的LapSRN遥感图像超分辨重建
吃柑橘何来黄疸——认识橘黄病
有趣的图像诗
柑橘大实蝇综合治理
“五及时”柑橘冻害恢复技术
我们的目标
柑橘实蝇防治一法
遥感图像几何纠正中GCP选取
趣味数独等4则
新目标七年级(下)Unit 3练习(一)