基于卷积神经网络和知识图谱的“慧兴农”系统研究与设计

作者: 李午阳 梁英 何林杰 向明杰

基于卷积神经网络和知识图谱的“慧兴农”系统研究与设计0

摘要:农业病虫害识别是影响农业生产质量的重要问题之一。该项目结合Winograd卷积算法与MobileNetV3模型,开发出了一种高效的病虫害图像分类方法,可以提升农业病虫害的识别效率。同时,利用ChatGPT大语言模型构建知识图谱,增强了系统的可视化效果。该系统不仅为用户提供便捷的病虫害识别服务,还助力农产品线上销售,推动农业现代化,展现了科技在农业领域的巨大潜力。

关键词:病虫害识别;知识图谱;Winograd卷积算法

中图分类号:TP18 文献标识码:A

文章编号:1009-3044(2025)05-0027-03 开放科学(资源服务) 标识码(OSID) :

0 引言

农业是国家稳定与发展的重要经济基础。随着深度学习的发展,计算机视觉在农业中展现出巨大的潜力。农业生产中,病虫害始终是影响农作物产量和质量的关键因素之一,传统的病虫害识别依赖人工经验,效率低下、专业水平要求高,并且最终的农产品往往会面临着销路无法打开、商品滞留的问题。本文采用Winograd快速卷积算法[1]和MobileNetV3[2]模型,结合知识图谱技术,设计了一款集病虫害识别与电商助农于一体的系统。该系统充分发挥神经网络的模式识别能力和知识图谱的知识整合与推理能力,为农业生产全过程提供了全新的解决方案。

1 卷积神经网络和知识图谱技术研究现状

1.1 图像识别技术相关研究

深度学习模型通常参数量较大,难以在资源相对紧缺的移动设备上部署。为解决这一问题,研究人员提出了一些轻量化模型,如SqueezeNet,MobileNet,ShuffleNet[3]等。快速傅里叶卷积算法(FFT) [4]和Wino⁃grad快速卷积算法在特定条件下能够加速模型。在农业病虫图像分类方面,周巧黎等提出了一种基于改进轻量级卷积神经网络MobileNetV3的番茄叶片病害分类识别方法,采用了空洞卷积和感知机结构等改进 [5]。刘奕等人[6]提出一种基于改进的vision trans⁃former模型的水稻叶片病害识别方法;袁培森等人[7]使用ECA注意力机制改进MobileNetV3Small模型实现了水稻病害识别模型的轻量化,使其能够在资源受限的移动设备上部署。

1.2 知识图谱技术

常见的知识图谱包括通用知识图谱(UniversalKnowledge Graph) 、联合知识图谱(UKG) 和领域知识图谱(DKG) 。在农业领域,王巧珍[8]构建了马铃薯产业链领域知识图谱;谭迦瀚[9]通过研究深度学习模型和本体编辑器Protégé,完善了柑橘病虫害知识图谱;丁仕涛[10]利用自然语言处理和深度学习等技术构建了茶叶病虫害知识图谱;利用ChatGPT等大模型助力实体关系的抽取为推动农业病虫害领域知识图谱的构建提供了新的思路。

2“ 慧兴农”系统设计

2.1 整体系统框架

“慧兴农”系统和核心功能是图像识别功能,包括植物识别、动物识别、病害识别和虫害识别;为增强可视化效果,设计了知识图谱模块,以便动态展示识别结果中的大段文字,帮助用户快速提取实体关系;农业生产监控主要是对生产过程当中的环境指标数据进行折线图的形式可视化,以便用户观测到指标的变化趋势;AI模块的引入主要是为了解决用户在使用过程当中产生的疑难问题;种植基地模块主要是对农业生产基地种植的产品、客户进行管理;乡村振兴模块包括:直播带货、农知库,助农商城。为农业生产者提供了学习平台,并能够在此销售农产品与购买生产工具。资讯模块则可以满足用户对于时事新闻动态的需求。系统的主要功能模块如图1所示。

根据人群特征、系统用户可分为以下3类。

农业生产者:主要是种植大户、家庭农场、农民合作社等各类农业生产主体,这些人是病害识别小程序的主要使用客户。他们可以使用病害识别结果、防治建议以及实时的病虫害预警信息。

农业技术人员:主要是农业技术推广人员、植保专家等,他们可以利用病害识别小程序辅助诊断病害,提高工作效率。小程序能够提供专业性的病害识别结果、详细的防治方案以及最新的病虫害研究成果。

普通用户:可以使用商城购物功能。在小程序下单农产品,浏览农业相关资讯。

2.2 系统架构设计

本系统采用前后端分离的开发模式,微信小程序作为前端,是用户与系统交互的接口;Flask 作为后端,主要负责病虫害识别系统的核心业务逻辑部分,包括数据采集和管理、病虫害识别模型、快速卷积神经网络(FCNN) 与MobilenetV3模型等。同时,还以提供一些数据分析和处理功能。数据库与数据存储层利用MySQL数据库存储采集到的原始数据,包括病虫害识别系统的基础数据和其他相关数据,该层也可提供数据恢复和备份,以及数据加密等功能。此外还将项目部署到腾讯云服务器,方便前端随时随地对后端服务器发送请求获取数据。系统技术架构如图2 所示。

2.3 系统主要模块设计

2.3.1 病虫害识别

病虫害识别是本系统的核心功能。对于病害、虫害识别是基于改进后的MobilNetV3,采用的数据集有PDR2018、PlantVillage、FGVC8。图片统一裁剪为256×256大小作为输入。在训练的适合对数据集进行归一化处理,结合图像变换、随机剪切、水平翻转、垂直翻转和旋转等数据增强方法,经过70轮训练后得到的模型精度约为95.3%,但考虑到数据集数量有限,实际应用中的动物和植物数量之多,普通动植物识别调用了百度API接口。百度API识图系统模块中的动物图像识别模块服务能够准确识别图片中的动植物的名称、类别、位置,反馈动植物名称等多种信息。

移动端设备算力资源有限且具有实时性要求,Mobilenet因其参数规模较小,同时能够保持一定的精度而经常用于移动端的设备部署。相较于传统的卷积神经网络,MobileNetv3的性能在某种程度上受到了模型规模的限制,有没有一种方法可以适当权衡模型大小和模型运算速度的关系呢?这时候考虑将在小卷积核上面拥有较强性能的Winograd算法引入Mo⁃bileNetV3,代替原有的卷积,利用Winograd的特性,可以适当增加模型的参数量大小以增强模型的精度,与此同时保持MobileNet原有的时效性。

Winograd算法的核心思想是以更多的加法次数代替部分乘法以此达到加速的目的。比如,直接实现一个m输出、r的参数的FIR滤波器 F (m , r)一共需要m×r 次乘法运算;但使用Winograd算法,忽略变换过程的话,仅仅需要 m + r−1次乘法运算。进行图像分类的推理阶段,卷积核上的元素是固定的,与Wino⁃grad变化相关的参数可以提前算好,从而减少计算次数,达到加速的目的。公式(1) 是Winograd算法的数学表达式:

S = AT[[GgGT ] ] ⊙[ BT dB A (1)

对于“慧兴农”系统的图片识别接口设计,请求参数的参数有:image、baike_num、top_num。微信小程序端在获取病虫害识别作业数据后,会以base64编码的方式将图片将数据上传至Flask后端中。在后端发起请求的过程当中,top_num、baike_num的值都设置为1,以便在返回结果列表中进行呈现。在这里,选择了HTTPS协议,从而实现了微信小程序与服务器端的通信。在HTTPS协议的请求头部、请求体和响应体部分携带了图片识别数据以及返回信息。接口的返回参数详情如表1所示。

在微信小程序端,对获取的识别数据进行处理和展示。将客户端与百度百科进行结合,对百度百科网页内容进行界面自适应处理,最终可以通过文字、图像、视频的方式对病虫害进行展示和介绍,对识别内容进行了详细的介绍。

2.3.2 知识图谱模块

知识图谱能够清晰地呈现实体之间的关系,广泛用于复杂文本的可视化呈现,以帮助读者更加快速地梳理各个关键实体之间的关系。为解决传统的知识图谱依赖于手工提取文本内容的实体关系对,较为耗时费力这一痛点,本系统采用ChatGPT大语言模型的动态推理能力,对病虫害识别结果的文本进行实体关系对的抽取,对抽取出来的实体关系对进行处理后存入数据库以便进行查询和检索,通过数据转换进一步封装数据后,将其转换为ECharts 框架能够识别的数据格式,选择合适的关系图表类型,在设置图表类型后,将处理后的数据和配置信息(如标题、提示框、节点样式等) 传递给ECharts。框架会根据当前的配置信息渲染出可视化的知识图谱,并将其嵌入小程序中,方便用户进行交互。当知识图谱的数据发生变更时,可以利用 ECharts 的数据更新接口对图表进行实时更新,从而提升用户体验。

2.3.3 农情监控平台

在农业生产过程当中,治得好不如防得好。利用已有技术动态监测环境因素是保证农业生产安全稳健的重要因素。本系统设计了农业监控模块,能够持续监测农田环境参数,如气候、土壤湿度、温度等。利用Echats技术,将传感器收集的气候、土壤湿度等数据进行可视化,绘制出数据变化曲线,以便用户可以及时观测到有关影响作物生产的环境指标的变化趋势。本系统为环境温度、湿度等指标设置了阈值,一旦当这些指标超出阈值范围,系统便发出警告,以便农业生产者及时处理突发因素。

2.3.4 AI 问答模块

在农业生产过程当中用户往往会产生较多的问题,如某种病害是如何产生的、某种作物种植的最佳时节、农药使用错误会怎样等众多问题,为了能够帮助用户快速解答疑问,本系统采用ChatGPT API开发了AI问答模块。在获得ChatGPT API域名和APIKEY 后即可对ChatGPT API调用进行访问。本系统调用的模型是gpt-3.5-turbo。首先在本地导入openai 函数库,然后就可以对gpt-3.5-turbo进行调用。接口输入主要有7个参数:model、messages、temperature、max_to⁃kens、top_p、frequency_penalty、presence_penalty、stream。model 是对模型进行选择,可供选择的模型有:Da⁃vinci、Curie、Babbage 和gpt-3.5-turbo,本文选取的是gpt-3.5-turbo;message字段对role和content参数进行指定即可;max_tokens字段是对返回字数的限制,最大返回数量是4 096个字符。

为了方便地将客户的问答历史记录记录到MySQL数据库中,系统在Flask后端对接口进行调用,微信小程序采用POST请求方式向Flask后端发起请求,同时将病虫害识别结果依次存储到MySQL数据库中。微信小程序端对返回的json格式的数据进行处理,以便动态展示到对话框页面当中。

2.3.5 乡村振兴模块

乡村振兴页面提供农业视频讲解,农业知识科普以及农产品商城页面。 通过智能化的农业知识图谱整合海量农业知识资源,通过知识图谱技术实现智能检索与推荐,助力农民科学种植与管理。便捷的助农电商平台搭建线上、线下相结合的农产品交易与服务桥梁,促进农产品流通与农民增收。

对于农知库模块,有农业知识书籍阅读、生产知识视频、农业种植者生产交流等功能,以便种植者能够学习到有用的农业生产知识,以便于更好地帮助农业生产。对于助农商城主要是采购模块和销售模块,一方面方便农业种植者购买所需要的物资,如化肥、农业、种子等。另一面可以对农业种植者所生产的产品进行销售,扩展销售渠道,解决农产品的滞销问题。

2.3.6 资讯模块

资讯页面为用户间的交流搭建了一个小平台,用户可观看官方农业咨讯获取动态信息。在此模块,用户可以发表评论,与其他技术人员交流农业生产生活过程中的疑难问题,进一步提高农业生产水平。

3 总结与展望

3.1 系统评估

系统在微信小程序端进行了全面的功能测试,设计的测试用例覆盖了注册登录、病虫害拍照识别、病虫害科普、病虫害咨询、农业预警、乡村振兴、新闻资讯等主要功能模块。部分测试用例如表2所示。

3.2 总结与展望

经典小说推荐

杂志订阅