入侵昆虫识别微信小程序设计与实现

作者: 黄亦其 沈豪 王福宽 钱万强 董双玉 乔曦

入侵昆虫识别微信小程序设计与实现0

摘要 [目的]为解决由于公众对于入侵昆虫知识了解甚少导致入侵昆虫未能得到及时有效的防治,进而导致入侵昆虫造成社会生产生活及对于生物多样性的危害,设计开发了一个针对入侵昆虫的识别的微信小程序。[方法]此小程序采用前后端开发分离的设计思路,前端框架采用微信原生的weui框架,后端基于SSM框架、MySQL数据库,GoogLeNet识别网络进行全栈开发。[结果]应用现有的开发框架,根据系统需求设计并实现了针对入侵昆虫的识别、信息报告上传、昆虫数据库查看等功能,满足用户对入侵昆虫的自助鉴别需求。[结论]该系统方便科研人员收集科研数据,帮助官方机构对入侵昆虫的定位管理,利于入侵昆虫学科知识的推广科普,为入侵昆虫防治打下良好基础。

关键词 识别;微信小程序;入侵昆虫;Java;深度学习;通信

中图分类号 S 126  文献标识码 A  文章编号 0517-6611(2023)01-0222-09

doi:10.3969/j.issn.0517-6611.2023.01.050

Design and Implementation of WeChat Mini Program for Invasive Insect Recognition

HUANG Yi-qi1, SHEN Hao1, 2, WANG Fu-kuan1,2 et al

(1. School of Mechanical Engineering, Guangxi University, Nanning, Guangxi 530004;2. Agricultural Genomics Institute at Shenzhen, Chinese Academy of Agricultural Sciences, Shenzhen, Guangdong 518120)

Abstract [Objective] The public had little knowledge about invasive insects leads to the failure of timely and effective prevention and control of invasive insects. This problem led to the harm of invasive insects to social production and life and biodiversity. In order to solve this problem, we designed and developed an identification method for invasive insects WeChat applet. [Method] This small program adopted the design idea of separation of front-end and back-end development. The front-end framework adopted WeChat’s native weui framework, and the back-end was based on SSM framework, MySQL database, and GoogLeNet identification network for full-stack development. [Result]The existing development framework was used to design and realize the functions of identifying invading insects, uploading information reports and viewing insect database according to system requirements, so as to meet the needs of users for self-service identification of invading insects. [Conclusion] This system facilitated scientific research personnel to collect scientific research data, helped official institutions to locate and manage invasive insects, facilitated the popularization of invasive insect knowledge, and laid a good foundation for invasive insect control.

Key words Identification;WeChat applet;Invasive insects;Java;In-depth learning;Communication

基金项目 国家重点研发计划项目“外来病虫害高效检测关键技术与装备研发”(2021YFD1400100,2021YFD1400101,2021YFD-1400102);深圳市孔雀团队项目(KQTD20180411143628-272);2018年国家自然科学基金青年科学基金项目(31801804);深圳市大鹏新区科技创新和产业发展专项资金资助项目(PT202001-06)。

作者简介 黄亦其(1973—),男,广西隆安人,副教授,博士,从事农业信息获取与计算机视觉研究。通信作者,副研究员,博士,从事农业信息获取与计算机视觉研究。

收稿日期 2021-11-01;修回日期 2022-01-06

生物多样性在世界范围内严重衰退,外来入侵物种(IAS)已成为全球生物多样性面临的主要威胁之一[1-2]。近年来我国入侵生物中昆虫入侵种类显著增长,每年因入侵昆虫导致的疫情也出现爆发性增长,因此在防治入侵生物中,针对入侵昆虫的防治就显得尤为重要[3]。

防治入侵昆虫首先的任务就是要对其进行识别,判断入侵昆虫物种。现在对于昆虫的识别系统也已经十分成熟,部分软件识别准确率达到98%,但识别数据库较小,识别的昆虫种类单一,部分软件功能冗杂缺少针对昆虫的查询功能或者后端的联系反馈[4]。相比针对入侵植物和大型入侵动物的识别应用程序的广泛应用地理信息的报告、数据集的收集和识别功能,针对入侵昆虫的识别软件市场至今鲜见报道。

相比于Android和iOS的移动应用,微信小程序设备适配性好、对系统要求低,具有“轻、简、精、快”的轻量化特征,具备现代移动互联网的显著特点[5-6]。为了完善入侵昆虫的管理防治体系,加强公众的生态防护意识,拓宽相关科研数据收集渠道,笔者基于成熟的开发平台与设计实现流程,设计开发了一个针对入侵昆虫的微信小程序,旨在提高公众生态保护意识,有助于科研数据的收集,完善入侵昆虫数据库,为入侵昆虫的防治打下良好基础。

1 需求分析

1.1 需求概述

外来物种已经对世界范围内的生物多样性造成严重影响,成功管理这些物种需要公民意识到并参与防止新物种的引入和支持控制干预措施[2]。针对入侵昆虫的防治,帮助扩大民众对入侵昆虫的了解,首先的任务就是要对其进行识别,判断入侵昆虫物种种类。

虽然有效利用公民科学的优点已经在广泛传播,但它在农业领域的应用并不像其他行业那样广泛[7]。对于生物农业领域,学科专业性较强,民众接受相关知识渠道往往受限于书籍和传统媒体,对于昆虫的鉴别也只能局限于难以科学记录的经验描述以及无法大范围推广的专家指导。与入侵植物与大型入侵动物相比,在野外的入侵昆虫受到季节性的影响较大,而且由于易转移和体型小难以发现的特点,非相关从业人员对于入侵昆虫的检测识别难度很大。

在信息化时代,大数据、云计算、人工智能的全面发展为入侵生物数据库的建立提供了强有力的技术支撑,外来有害生物的数据和信息在防控外来生物进入、定殖、扩散成灾中均发挥着举足轻重的作用,大量的基础数据还能对入侵物种的影响进行评估,这也是入侵科学研究的一项重要任务,而图像在农业信息化过程中是十分重要的信息载体[1,8-9]。近年来,配备高质量摄像头的智能手机越来越多。这意味着,使用智能手机可以很容易地捕捉到大型动植物群的高质量图像。此外,进行复杂数学计算的软件(如Matlab)也可用于高精度的图像处理,这对开发图片处理应用提供了一个方便的后端计算处理平台。

随着目前移动互联网的高速发展,越来越多的研究者在探索将计算机系统与的生物农业管理联系起来。现行几种植物识别APP应用流行的识别网络数据库虽庞大,但由此导致的训练效果粗放,识别准确率有待提高[10]。针对入侵植物和大型入侵动物的识别应用程序已广泛应用到地理信息的报告、数据集的收集和识别功能,而对于昆虫应用程序的开发较少,而且对于专门针对入侵昆虫的识别应用至今鲜见报道。

为了更好促进知识服务的扩大和深化,推动学科服务继续向用户延伸,建立科研与用户之间的有效链接[11],系统基于微信小程序的开发优势[5-6],在面向入侵昆虫识别的问题上,应用现存的技术框架、设备发展优势以及推广优势,设计开发一个针对入侵昆虫的微信小程序。系统集成图片拍照识别,信息库功能和报告上传功能的综合可提供用户多方位的使用需求。

1.2 总体功能需求分析 对于开发入侵昆虫小程序而言,其主体功能中应包括图片识别、昆虫信息库的应用和昆虫

信息在线报告三大模块。对平台用户来说,可登录小程序的使用界面,使用昆虫信息库查找功能,在线昆虫识别查看以及对入侵昆虫的位置图片信息的上传报告功能,其中具体包含七大具体的使用功能。用户功能需求用例如图1所示。

2 系统设计

2.1 系统框架

在小程序进行需求分析的基础上,对系统的架构进行设计。首先对系统的各个结构组成进行分析设计。系统整体结构如图2所示。

可以看到该系统采用的是一个经典的前后端交互设计,移动终端通过数据网络访问系统服务器,服务器进而对数据库和识别网络文件路径进行访问。通过分层设计降低系统各部分的耦合度,让系统具有一定的独立性和良好的扩展性。

根据对系统的需求分析和概要设计,整个识别系统基于C/S架构,采用前后端分离的开发模式,由2部分组成,包括用户小程序端和服务端,其中服务端又包括数据库模块,识别算法模块以及由Java语言进行编码的系统后端。该研究总体采用MVC(Model-View-Controller)软件架构模式,其模块间的低耦合使得项目开发效率更高。考虑到后续的继续开发研究任务,后台基于SSM(Spring-Spring MVC-MyBatis)框架进行设计,由于其也是目前主流的Java EE框架,由Spring和MyBatis开源框架组合而成(其中Spring MVC属于Spring的部分内容)[7-8]。Spring是一个基于J2EE环境下的轻量级开源框架,利用容器对各组件进行选择调用,降低了组件间的耦合,通过注入机制在运行时为组件配置资源,实现组件的即插即用,此外组件无需指定数据接口,因此也可以对组件进行分离[9]。Spring MVC属于Spring提供的一个构建web端的MVC框架,将模型层(Model)分为业务层(Service)和持久层(Dao),在Service层可以访问持久层也可以访问非数据库层,大大提高系统开发效率。MyBatis作为后端的数据持久层框架,使得JDBC操作数据库的过程更加轻量化,通过Xml或注解的方式将Java对象和Sql语句结合映射为最后要执行的Sql语句,其中JDBC为Java提供专门用于数据库连接的接口。整体架构如图3所示。

经典小说推荐

杂志订阅

友情链接