基于深度学习的农业有害生物识别监测系统

2022-08-19 06:18周为鹏方定磊顾仕杰颜新云
电子测试 2022年15期
关键词:界面可视化数据库

周为鹏,方定磊,顾仕杰,颜新云

(1.金陵科技学院网络与通信工程学院,江苏南京,211100; 2.南京农业大学人工智能学院,江苏南京,210018;3.杭州电子科技大学计算机学院,浙江杭州,310018)

0 引言

本文针对智慧农业对有害生物的高效识别、生态监测的需求,提出了一个基于深度学习与数据分析的农业有害生物识别监测系统。该系统通过对手移动端拍照识别害虫信息,并提供统计分析,有利于提高农业信息化水平,且作为害虫防治的关键步骤,具有重要的研究价值和研究意义。

1 系统设计

1.1 系统架构设计

本系统使用YOLOv5目标检测算法,训练出一个可以智能识别15种、39个类别农业有害生物的深度学习模型。然后将训练得到的pytorch模型转换成onnx模型,使用onnxsimplifier量化onnx模型,提升模型的推理速度。最后使用onnx2ncnn将onnx模型转换为NCNN模型,完成深度学习模型在手机端的部署。通过整合SQLite数据库相关技术,实现了有害生物的基本信息与防治方法等资料以及识别到的有害生物种类、位置、时间信息的本地存储。采用WebService技术实现服务端与手机端的数据交换,通过WEB平台完成了统计分析、位置标定、昆虫百科、注册登录功能的部署。

图1 系统架构图

1.2 功能模块设计

通过对系统的需求分析,将系统功能主要划分为手机端和PC WEB端。如图2所示,手机端实现用户注册、用户登录、拍照上传有害生物、识别有害生物、查看有害生物详情、昆虫百科等功能;PC WEB端实现有害生物统计分析、有害生物分布情况显示等功能。

图2 功能模块图

1.3 逻辑流程设计

因手机端上传图片识别时,存在一定离线情况,识别算法支持离线状态的功能。如图3所示,当终端处于离线状态时,选择拍照或者从相册选图的方式输入待检测的图像,使用NCNN调用模型推理输入的图像并输出图像推理结,然后在SQLite数据库中查询推理结果,并在手机端显示,最后将GPS、识别时间、推理结果等信息存入SQLite数据库并尝试上传,若上传失败则存入数据库,等待联网后再次上传。

图3 业务处理流程图

当终端处于在线状态,识别以及昆虫详情信息显示部分与离线状态一致,在尝试上传成功后,更新上传标识。同时WebService获取SQLite中共享数据,经ETL处理后将数据写入服务器端SQL Server数据库。WEB平台支持发布可视化统计结果及分布信息。Web平台通过WebService获取SQL Server数据,使用ECharts显示统计分析结果。

2 软件实现

2.1 软硬件配置

本系统的YOLOv5训练环境在Ubuntu 20.04上搭建,PyTorch版本为1.8.1、CUDA版本为11.1。硬件方面使用了i7-7700HQ CPU、GTX 1070 8G 显卡,内存为16GB。系统客户端在安卓设备上测试运行,处理器为HAUWEI Kirin 990,运行内存为8GB。

2.2 模型训练

(1)实验参数设定

模型训练超参数设定见表1。

表1 实验参数

(2)数据增强

系统采用调整训练超参数的方式开启mosaic及mixup等方法进行数据增强。mosaic数据增强随机选取4张图片进行随机缩放,再随机分布进行拼接,以扩充检测数据集,由于随机缩放增加了小目标的数量,因此增强了网络检测小目标的能力。

mixup数据增强采用四张样本按比例混合,分类的结果按比例分配,从而扩充数据集。

(3)学习率及余弦退火参数调整

根据精度与召回率波动幅度及mAP调整超参数,表2为学习率与余弦退火参数调整过程,图5为相应的精度与召回率变化情况。

表2 学习率及余弦退火参数调整过程

图5 可视化训练结果

从第15次训练得到的可视化的训练结果可以看出:GIoU损失函数(见公式1)均值在训练轮数达到250轮时趋于恒定,精度及召回率波动较小,mAP值为93.07%,测试精度为71.57%,由此可见取得了较好的训练效果。可视化训练结果如图6所示。

图6 最终可视化训练结果

2.3 模型转换

首先将训练得到的模型转换成onnx开放神经网络交换格式模型,使用onnx-simplifier优化onnx模型,以提升模型的推理速度。然后使用onnx2ncnn将量化完成的onnx模型转换为NCNN模型,其中,第一个卷积块中8个卷积替换为YoloV5Focus。

2.4 数据更新

(1)手机端数据库更新

手机端数据更新时,首先获取并上传数据库版本号,然后判定手机端版本号是否与服务端一致,若一致则结束更新;若不一致则从服务端获取最新数据。数据获取成功结束更新;数据获取失败重复上述流程。

(2) 检测记录上传

为了让用户了解地区出现过哪些有害生物,手机端会上传检测记录,用户可以通过检测记录汇总网页查看数据。系统手机端完成识别后将识别结果写入数据库并标记为未上传,开启新线程,获取数据库中所有标记为未上传的记录并上传。若上传成功则将相应记录标记为已上传并结束线程;若上传失败则直接结束线程,等待下次手机端启动或识别完成后再次尝试上传

(3)服务器端数据处理

服务器需要对接收到的数据进行处理并保存。接收到的经纬度坐标会被传给百度地图API进行反解析,获取到地理区域信息(获取GPS前,使用者需同意对应隐私协议,否则不获取位置信息)。

3 结果展示

3.1 手机端

输入图像进行推理后,在控制台中可以看出推理耗时122.01ms(测试设备CPU为HAUWEI Kirin 990)。在拥有嵌入式神经网络处理器(NPU)的设备上,推理速度普遍在100ms左右,目前从一部搭载高通骁龙865的设备上得到过推理速度89ms的数据。在没有NPU的设备上,推理速度约为300ms。

图7 NCNN推理速度展示

图8为APP各界面及功能展示,a为主界面、b为识别界面、c为详情界面、d为注册登陆界面、e为昆虫百科界面、f为虫害分布界面。

图8 APP各界面及功能展示

3.2 WEB端

可视化统计结果页面通过图表展示,直观查看分布信息,可以了解到地区出现某种有害生物的可能性,上传次数多的有害生物更可能是这个地区当前所存在的。支持国家、省、市、区等维度查询。

4 结论

本篇文章介绍的基于深度学习的农业有害生物识别监测系统,集AI识别、数据采集、数据挖掘于一体,有效解决了基层从业者缺乏专业背景,面对突发虫害时很难正确判断并做出有效应对的问题,大幅提升了工作效率。长远来看,本系统可分析生态发展规律,预测生态发展情况,以便及时进行人为干预,对推动绿色生态发展具有重大意义。在将来,将增加用户上报和纠错等功能扩充数据集,同时尝试以算法改进的方式进一步提高识别结果。

图9 可视化统计结果页面

猜你喜欢
界面可视化数据库
自然资源可视化决策系统
不同截面类型钢管RPC界面粘结性能对比研究
思维可视化
微重力下两相控温型储液器内气液界面仿真分析
国企党委前置研究的“四个界面”
基于知识图谱的我国短道速滑研究可视化分析
复变函数级数展开的可视化实验教学
复变函数级数展开的可视化实验教学
数据库
数据库