基于改进YOLOv8的草莓卫士系统的设计与实现

2024-02-09 00:00:00谢丹艳姚文艺孙文博张雨诺
电脑知识与技术 2024年36期

关键词:草莓卫士;病虫害识别;环境监控;YOLOv8;CBAM;多传感器融合

中图分类号:TP391.41 文献标识码:A

文章编号:1009-3044(2024)36-0014-06"开放科学(资源服务) 标识码(OSID):

0引言

习近平总书记在党的二十大报告中提出“强化农业科技和装备支撑,健全种粮农民收益保障机制和主产区利益补偿机制,确保中国人的饭碗牢牢端在自己手中”,这为“智慧农业”的发展指明了方向。中国草莓种植面积居世界第一,截至2023 年,种植面积约250 万亩,产量超过400 万吨,年产值约1000亿元。其中江苏草莓种植面积约32万亩,位居全国第一[1-2]。

然而,草莓种植易受多种病虫害的影响。由于草莓植株矮小,部分病虫害具有隐蔽性,且种类繁多,这些因素给种植带来了巨大的挑战。草莓种植中常见炭疽病、蛇眼病、白粉病、灰霉病等病害以及草莓蚜虫、白粉虱、蓟马、红蜘蛛螨等虫害,每一种病害都可能对产量造成巨大影响[3]。调研发现草莓种植过程中主要存在以下问题:一是草莓种植对环境很敏感,例如,当温度在18~23℃、湿度大于90%时,灰霉病发病概率会大大增加。目前大部分农户仅使用温湿度计,无法实时采取措施调控环境。二是由于草莓植株矮小,早期病虫害很难被发现,在大规模种植时因人工不足,经常出现“发现即爆发”的情形[4]。针对这些问题,近年来,国内外诸多学者在草莓病虫害防治方面进行了广泛而深入的研究,取得了一定成果。目前,在草莓病虫害防治中,化学防治方法仍然占据主导地位。农民和农业技术人员常使用各种化学农药,如杀虫剂、杀菌剂等,来控制病虫害的繁殖和扩散。然而,大量使用农药会导致病虫害产生抗药性,降低防治效果,对生态环境和人体健康都有潜在危害。随着环保意识的提高和农业可持续发展的需求,生物防治技术在草莓病虫害防治中逐渐受到重视。通过引入天敌、微生物农药等方式,实现病虫害的生态控制。这种方法安全、环保,且对非靶标生物安全,具有持久性。然而,生物防治技术也存在见效慢、技术要求高等局限性。除了化学和生物防治方法外,研究者还在探索物理防治技术在草莓病虫害防治中的应用。物理防治技术包括灯光诱杀、色板诱杀等,使用这些手段在一定程度上能够减轻病虫害,且对环境破坏小。这些方案集中在发现病虫害后的处理手段,对于草莓病虫害的预防,考虑到草莓病虫害对环境的敏感性,一般采用多种传感器对草莓生长环境进行实时监测和及时调控[5-7]。近年来,随着计算机视觉的发展,研究人员致力于利用机器学习技术来检测作物的病虫害[8-10]。在农作物病害检测领域,诸多研究者采用了多种深度学习架构,如AlexNet[11]、VGGNet[12] 和Vision Trans⁃ former[13]等。这些模型通过CNN的深度特征提取和集成模型的优势,能够准确地定位和分类植物病虫害。这对于及早发现草莓病虫害具有一定意义,但这些方法无法满足实时物体检测的需求。YOLO算法的出现对于植物病虫害的早期实时发现提供了有效帮助[14]。研究人员通过优化和改进,使其能够适应复杂环境中的植物病虫害检测任务。例如,Tian等人提出了基于深度学习的苹果炭疽病检测方法,利用DenseNet优化YOLOv3模型的低分辨率特征层,提高了神经网络特征的利用率和检测效果[15]。目前有多个YOLO系列算法,包括常用的YOLOv5、YOLOv7、YOLOv8 等,其中YOLOv8整合了大量优化策略,在实际使用中效果较好,但使用YOLOv8算法获得的特征在一定程度上会受到噪声的影响、存在特征信息不足的问题,造成检测过程中出现漏检和错检的现象。为了能够更加有效地识别草莓的病虫害,本文在算法上选择融合CBAM注意力机制[16]的YOLOv8改进算法,解决了草莓病虫害实时检测中精度与速度的适当平衡。为了有效解决草莓种植中环境控制难、病虫害早期发现难的问题,本文结合物联网、人工智能等新一代信息技术,开发了草莓卫士客户端,采用多种传感器融合技术解决草莓种植环境调控难的问题;采用基于改进YOLOv8算法的病虫害识别系统精准识别草莓病虫害,解决早期发现难的问题;软件将获得的环境数据和病虫害图像数据上传至阿里云,利用部署在云端的环境调控系统和病虫害识别系统,有效控制草莓的生长环境并及早发现病虫害,从而减少损失。

1 基于改进YOLOv8算法的草莓病虫害识别算法

YOLOv8是目前YOLO系列算法中应用较为广泛的目标检测算法。该算法主要用于图像分类、物体检测和实例分割等任务,被认为是这类任务的最佳选择之一。YOLOv8的设计受到了YOLOv5、YOLOv6、YOLOX等模型的启发,并结合了它们的设计优点[17-18]。

1.1 YOLOv5和YOLOv8的网络结构的区别

图1展示了YOLOv5和YOLOv8的网络结构,其中图1(a) 是YOLOv5的网络结构,图1(b) 是YOLOv8的网络结构。

相比YOLOv5网络结构,YOLOv8在结构上进行了多项优化。例如,在Backbone 中YOLOv8 将YO⁃ LOv5中的C3模块替换为C2f模块,实现了进一步轻量化,同时沿用YOLOv5中的SPPF模块,并对不同尺度的模型进行精心微调,大幅提升了模型性能。在Head部分相比YOLOv5改动较大,YOLOv8采用了解耦头结构(Decoupled-Head) ,分离了回归分支和预测分支,并在回归分支中采用Distribution Focal Loss策略中提出的积分形式表示法。

1.2 基于CBAM 的YOLOv8算法的改进

注意力机制是一种聚焦于局部信息的机制,其基本思想是让系统更加关注重点信息。这种机制在图像识别、物体检测和人脸识别等任务中都发挥了重要作用。注意力机制的实现方法有多种,其中包括空间注意力模型、通道注意力模型、空间和通道混合注意力模型等。其目的是提取图像中的关键信息,同时抑制无关信息来提高整个模型的性能[19-20]。通过引入注意力机制,计算机视觉系统可以更加高效地处理图像数据,减少计算资源的浪费,同时提高模型的性能和准确性。

将CBAM(Convolutional Block Attention Module) 注意力机制[19]引入YOLOv8网络,CBAM结合了通道注意力和空间注意力来提高卷积神经网络的性能,其结构如图2(a) 所示。其中通道注意力模块通过对输入特征图进行最大池化和平均池化操作,将每个通道的空间信息压缩为一个单独的值,从而实现对全局空间信息的压缩和提取。空间注意力模块则是关注输入的数据在不同空间位置上的重要程度,通过学习针对不同空间位置的权重,模型能够更加关注重要的空间位置,从而使得模型的性能和泛化能力有所提升。

通道注意力模块(Channel Attention Module,CAM) 如图2(b) 所示,通过在通道维度上对输入的特征图进行池化处理,包括最大池化和平均池化,然后将池化结果输入到一个全连接层中,最后输出一个通道注意力权重向量。这个权重向量可以用来对输入特征图的每个通道进行加权,增强重要的通道特征,同时抑制不重要的通道特征。

空间注意力模块(Spatial Attention Module,SAM) 如图2(c) 所示,类似于通道注意力模块,空间注意力模块也是通过对输入特征图进行操作来计算每个像素的重要性。它通常使用全局平均池化来获取每个像素的特征向量,然后通过一个全连接层来输出每个像素的权重。这些权重可以用于加权输入特征图的每个像素,以强调图像中的重要区域并抑制不重要的区域。

通过将CAM和SAM串联起来,可以得到一个完整的CBAM模块以提升模型性能。通过CAM得到的通道权重乘以原始的特征图X,调整每个通道的重要性。然后,将这个调整后的特征图输入SAM,进一步调整每个位置的重要性。应用CAM后再应用SAM通常效果更好,这是因为一旦确定了最重要的特征通道,再去调整这些通道中各个位置的重要性,能够更精确地强化有用的信息,抑制不必要的信息。CBAM 可以显著提高计算机视觉任务的性能。

1.3 评价指标

选择常见指标来评价检测算法的性能,包括精准率、召回率和F1分数。F1分数是一个综合指标,结合精准率和召回率来评价算法的整体表现。在图像精度评价中,混淆矩阵用于比较训练好的草莓病虫害类别的分类结果和实际预测的数值,混淆矩阵如表1所示。

表1中,TP表示预测结果是正例,实际结果也是正例,预测正确;FN表示预测结果是负例,实际结果却是正例,预测错误;FP 表示预测结果是正例,实际结果是负例,预测错误;TN 表示预测结果是负例,实际也是负例,预测正确。

1.4 数据集介绍

由于公开数据集中没有专门的有价值的草莓病虫害数据集,团队拍摄整理了6280张草莓各种病虫害的图像,包括角叶斑、炭疽病、枯萎病、灰霉病、叶斑病、果白粉病、叶白粉病7类草莓常见的病虫害图像。样本标签通过草莓种植技术专家确认,最大限度保证了数据的准确性。数据集中7类样本数量分布如表2 所示。

1.5 识别结果

为了验证算法的优势,本文首先对比了轻量级的YOLOv5s和YOLOv8s模型,这两种模型在减少参数数量和降低计算复杂度的同时,仍保持了较高的检测性能。对比结果如表3所示。

在比较分析中,同样是轻量级的模型,YOLOv8s的召回率为0.960 18,F1为0.96013,而YOLOv5s的召回率为0.95615,F1为0.95830。相比YOLOv5s,YOLOv8s 的召回率提高约0.42%,F1提高约0.19%,精确度降低约0.39%。综合评估表明,YOLOv8s的性能优于YOLOv5s。为了更有效地满足草莓病害实时检测的需要,在YO⁃ LOv8s模型基础上融入CBAM注意力机制,以进一步提高性能。模型改进前后的对比结果如表4所示。

YOLOv8s+CBAM模型的精确度为0.975 19,召回率为0.961 94,F1为0.968 52。与原始YOLOv8s模型训练结果相比,三个值分别提高了1.57%、0.18%、0.87%,证明在YOLOv8s模型中融入CBAM注意力机制能够提升模型的性能。

2 草莓卫士软硬件系统的设计和实现

图3为产品架构图,草莓卫士通过集成温湿度、光照度、二氧化碳浓度等多种传感器,精确采集草莓种植环境的相关数据,通过边缘设备将数据同步上传至云服务器,同时在云服务器中部署病虫害识别模型。用户可以通过草莓卫士客户端实时查看大棚环境的各项数据,从而实现对草莓种植环境的全面监控。当环境数据超出预设阈值时,草莓卫士将自动触发智能插座的控制机制,利用草莓大棚内现有的加热、通风等设施进行精准的环境调节,具体技术路线如图4所示。

2.1 硬件系统的设计

在草莓种植过程中,环境控制一直是一个重要的挑战。由于草莓对生长环境的要求较高,温度、湿度、光照等因素的波动都可能对其生长产生不利影响。传统的环境控制方法一般需要依赖人工经验及定时巡检,不仅耗费人力、效率低下,而且难以保证获得的环境参数的准确性和稳定性。为了解决这个问题,本文设计了一款用于实时监控草莓生长环境的设备,包括温湿度传感器、光照度传感器、二氧化碳浓度传感器、土壤温湿度变送器、智能插座和摄像头,硬件系统的设计如图5所示。

设备包含温湿度传感器、光照度传感器、二氧化碳浓度传感器、土壤温湿度传感器、智能插座以及摄像头元件,共同构建了一个智能化的监测系统。所有元件均具备Wi⁃Fi连接能力,能够将采集到的数据实时传输至边缘设备进行处理,并定期同步至云端,确保数据的及时性与准确性。用户可借助草莓卫士客户端轻松获取环境信息,实现大棚环境的全面预警与监控。此外,设备支持MQTT通信协议,能够智能判断检测值是否超出预设阈值。一旦超出阈值,智能插座将立即启动自动控制功能,对草莓大棚内现有的通风、加热等设施进行调控,有效防范草莓病虫害的发生,确保草莓的产量与品质得以充分保障。硬件系统工作流程如图6所示。

2.2 软件系统的设计

草莓卫士旨在帮助草莓种植者监测和管理草莓植株的生长环境,通过温湿度显示、远程控制和病虫害图像识别预警等功能,提高草莓产量和质量。产品框架主要包括4个方面,即应用层、平台层、网络层以及感知层。

应用层是用户与客户端直接交互的界面层。从图中可以看到,应用层包含了实时视频监控、环境监测、远程控制、AI问诊以及AI专家在线等功能。这些功能简单易操作,使用户能够实时监控大棚中草莓的生长情况,对环境进行监测和调节,以及对草莓园进行远程控制和管理。

平台层是支撑应用层功能的后端服务和技术支持层。平台层包括了调用科大讯飞的大语言模型的SDK接口、云服务、AI识别服务、云视频以及MQTT通信服务等。这些服务和技术为应用层提供了强大的数据处理、分析和存储能力。

网络层是连接感知层和应用层的媒介,负责数据的传输和通信。网络层包括了控制网络传输、Wi⁃Fi 以及云台控制等功能。这些功能确保了感知层采集到的数据能够准确地传输到应用层进行处理,同时实现了对远程设备的可靠控制。

感知层作为客户端的底层,负责采集和获取草莓园内的各种环境信息和设备状态。从图中可以看到,感知层包括了温湿度传感器、浇灌设备、通风设备以及AI摄像头等。这些传感器和设备能够实时监测和采集草莓园内的温度、湿度、光照等关键参数,并将数据上传到网络层进行传输和处理。

项目整体利用Android Studio进行开发环境搭建和代码编写。使用Java语言和MVVM架构进行客户端开发。

2.2.1 病虫害识别模块

客户端接收用户上传的草莓病虫害图片,进行图像识别和预警。病虫害识别采用深度学习技术,通过对草莓病虫害图像进行预处理,包括裁剪、缩放、灰度化、平衡化等操作,然后采用改进的YOLOv8网络模型进行训练。然后将模型部署在服务器上,服务器使用Docker进行部署,在服务器上安装Python环境,安装flask等相关依赖,将原本的模型打包拷贝到服务器上,运行Python脚本,启动flask服务。将部署的模型转为API接口,在客户端调用在服务器部署的病虫害识别模型的API,将拍摄的照片上传至服务器进行识别,结果呈现在客户端界面上。通过调用服务器上接口的URL,通过get请求,返回所有查询过的病虫害信息,返回JSON格式的信息及图片,提取信息,并呈现在客户端上。图7是病虫害识别和预警模块的设计,其中图7(a) 是病虫害识别模块流程图,图7(b) 是病虫害预警模块流程图。

2.2.2 环境监测及预警模块

环境监测模块实时监测大棚内的环境参数,如温度、湿度、光照、二氧化碳等数据,并展示给用户。利用智能Wi-Fi插座,实现远程控制。此插座内含有一块型号为ESP8266 的Wi-Fi 芯片,它可以通过连接WLAN网络,从而受客户端的控制。用户从客户端下达打开或关闭的命令,通过MQTT通信服务,通过Wi- Fi发布命令,插座的芯片来订阅对应主题,从而控制插座的状态,然后得以实现通风、灌溉等远程操作。用户可在网页端设置环境参数的阈值,当参数超过或低于设定值时,利用MQTT通信协议向客户端推送预警通知。图8是环境模块的设计,其中图8(a) 是环境监测模块流程图,图8(b) 是环境预警模块流程图。

2.3 草莓卫士功能的实现

草莓卫士是一款集环境监控、病虫害识别、农田监控功能于一体的软硬件结合系统,用户可通过客户端主页查看环境变化曲线,获取详尽的温湿度、光照度、二氧化碳浓度、土壤温湿度等数据。用户可以通过客户端设置环境阈值,超过阈值会自动报警,还可借助智能插座实现对大棚内设施的精准调控,以满足草莓生长所需的最优环境条件。客户端界面如图9所示,分别为主页、环境监控页面、病虫害识别页面和识别结果显示。

3 结论

基于改进YOLOv8算法的草莓卫士系统致力于解决草莓种植过程中环境控制和病虫害监测的难题。通过整合温湿度、二氧化碳浓度、光照度、土壤温湿度等多种传感器数据,实现对草莓大棚环境的实时监控,为种植者提供有力支持。系统采用融入CBAM注意力机制的改进YOLOv8模型训练草莓病虫害数据集,改进模型的训练结果与目前常用的YOLOv5 和YOLOv8训练结果相比,其精确度、召回率和F1分数均高于改进前的模型,显示出良好的性能。将模型部署在阿里云平台并与客户端相连,用户通过拍摄照片即可实现病虫害种类的识别,为草莓种植者提供了便捷高效的检测手段。综上所述,草莓卫士系统的设计与实现为草莓种植产业的智能化和自动化发展提供了重要支持。该系统不仅提升了生产效率,减少了人工成本,更重要的是有效监控了环境与病虫害情况,有助于提高草莓产量和质量,推动整个行业朝着智能化、可持续发展的方向迈进。未来将进一步优化病虫害识别算法的准确性,拓展系统在不同作物中的应用,提升系统的泛化能力,使其更加智能、全面地服务于草莓种植者,为农业领域的数字化转型提供更多有益的思路和实践经验。