APP下载

基于Android和深度学习的外来入侵植物智能识别系统

2021-11-12刘万学蒯乃阳韩爽等

植物保护 2021年4期
关键词:识别率客户端服务器

刘万学 蒯乃阳 韩爽等

中图分类号:S 431.9 文献标识码:A DOI:10.16688/j.zwbh. 2020267

随着全球经济一体化的飞速发展,外来生物入侵已经成为与一个国家的经济发展、生态安全、国际贸易与政治利益紧密关联的重大科学问题,也是国际社会、各国政府、科学家与民众共同关注的社会热点。我国是世界上外来生物入侵危害最为严重的国家之一,在已报道的600多种外来入侵物种中占300多种,严重威胁着我国的生态安全和农林业生产甚至对人畜健康和军事防卫构成严重威胁。实现对入侵植物早期监测预警和早期及时防治的一个重要的前提是实时识别入侵植物的种类。目前,入侵植物识别主要通过形态学分类鉴定和分子生物学鉴定等方法。其中,形态学识别方式主要依靠调查鉴定人积累的经验,或者参考相关书籍和网络资料进行判定,对于难以辨认的种类则需要专家鉴定。由于入侵植物种类繁多,且有些种类之间形态相似,种内也有可能出现变异或发育阶段的可塑性形态变化。这些因素导致对入侵植物进行识别时容易出现误判,调查监测的实时性也很差;此外,由于专家人数有限和专业领域的差异等,也不可能随时到现场对入侵植物进行识别。因此,亟须建立和开发一种入侵植物智能识别工具,为用户提供便捷、高效、实时、准确的入侵植物识别诊断服务。

随着图像处理技术和机器学习理论的发展与应用,有很多学者开始利用植物叶片图像来研究植物种类识别的方法s。首先通过图像采集设备拍摄单张叶片图像,然后进行叶片图像的预处理和背景分割,提取和筛选叶片特征,主要包括全局特征中的颜色、形态和纹理特征,局部特征中的尺度不变特征变换(scale invariant feature transform)、方向梯度直方图特征、局部二值模式、Gabor、基于主曲率的区域检测器和多特征融合等,最后筛选出有效特征后训练不同的分类器进行植物叶片的识别,分类器主要包括支持向量机、神经网络、K最邻近分类和稀疏表示分类器。

由于植物种类繁多,植物叶片存在种间变异和类间相似的现象,上述这种传统的模式识别方法在自然环境下难以获得高识别率,模型泛化能力差。近几年,深度学习方法中的卷积神经网络(CNN)在大规模图像识别任务中表现出色,可以从图像中自动提取成千上万的特征用于识别图像中的目标。已有学者将深度学习方法应用到植物种类识别中,建立卷积神经网络模型,利用迁移学习方法,微调训练好的模型参数,获得了较高的识别率,这些研究结果为外来入侵植物智能识别提供了较好的理论支撑。随着智能手机的日益普及,移动应用的开发呈现井喷态势,这为实现便携的外来入侵植物智能识别提供了良好的载体与环境。将深度学习与手机移动设备两者结合实现移动端快速拍照、识别的应用越来越多,例如“形色”“识花”“花伴侣”等应用软件,通过使用手机拍摄花朵或是植物图像,进行实时智能识别,可以获得较高的准确率,为植物和花卉爱好者提供了一个便捷的智能识别工具。本文利用安卓编程语言和深度学习方法建立了基于移动终端的外来入侵植物智能识别系统,实现客户用手机拍摄未知植物,系统将自动识别结果实时反馈给用户,并提供我国入侵植物信息、危害信息、防治方法和发生分布信息等信息的查询功能。

1材料与方法

1.1系统设计

外来入侵植物智能识别系统是基于客户端(cli-ent)/服务器(server)模式的应用开发,由手机客户端APP、云端服务器和深度学习模型组成。用户可通过客户端APP拍照或者图库选取相册中的入侵植物图像,经预览、裁剪等处理操作后上传至云服务器,云服务器调用算法对图像进行自动识别后再将结果反馈给客户端,客户也可通過远程专家诊断功能进行在线咨询。系统技术路线如图1所示。

1.2试验数据

本文的图像数据一部分来自中国农业科学院植物保护研究所,一部分来自网络图片,共35科135种16 843幅入侵植物图像,所有图片经过专业人员鉴定。训练集与测试集图像样本量按照4:1分配,其中13469幅图像作为训练集,3 374幅作为测试集。

1.3图像数据增强

通过添加噪声、增强亮度、增加对比度和旋转等方法(图2)对训练图像进行图像数据增强,训练集扩增到原来的5倍。

1.4基于DenseNet的入侵植物识别模型的建立与结果的评价

DenseNet模型的网络结构主要由稠密块dense block和过渡层transition layer组成(图3)。在稠密块中每层之间采用非线性组合函数BN+ReLU+3×3 conv的结构,过渡层包含卷积层和池化层。DenseNet采用密集连接机制和通过特征在channel上的连接来实现特征重用,这些特点让DenseNet在参数和计算成本更少的情形下比ResNet具有更优的性能。

利用识别率来评价模型对外来人侵植物的识别情况。

识别率一测试集中识别正确的图像数/测试集中外来入侵植物图像总数。

1.5基于Android的外来入侵植物识别系统APP的设计

在Android开发环境Android Srudio下实现入侵植物识别的客户端APP,其核心功能包括用户登录、入侵植物信息查询、入侵植物图像采集和上传、识别结果的反馈、入侵植物拍摄点的地理信息和专家远程诊断等。

利用Material Design控件设计UI界面。用户登录模块使用post请求携带用户名和密码等信息参数访问服务器,服务器接受请求后返回回调信息。

利用ViewPager组件、RecyclerView自定义控件、SearchView和PhotoView图片查看库实现入侵植物信息查询模块。

利用百度提供的Android地图SDK接口,通过使用GPS或网络定位功能获取手机当前位置,使用post请求携带位置信息访问服务器数据库,服务器接受请求后将附近的入侵植物信息以Json数据格式返回,客户端解析后结合Glide图片加载库在地图上提供实时的入侵植物位置信息,通过GPS距离换算可显示入侵植物与用户位置的距离。

图片选择提供了自定义相机拍照与图库选取两种方式。自定义相机调用Camera2 API接口,获取摄像头管理器CameraManager openCamera打开摄像头,调用takePreview在SurfaceView中进行预览拍照,使用ImageReader回调方法将拍摄的图像进行显示。也可以从图库中选择入侵植物图像,无论通过什么方式获得待识别植物图像,均可以对图像进行裁剪。手机与云服务器传输模式是基于HTTP协议。使用post方法以表单形式向服务器发出上传请求,然后将发送内容按HTTP协议标准以二进制流的方式进行包装,发送至Web服务器端,服务器解析二进制数据流后根据识别请求调用相应的识别算法实现入侵植物的识别;最后将识别结果按Json数据格式反馈回客户端。客户端解析获得识别结果后按相似度最高的5种入侵植物排序显示在手机屏幕上,为用户提供参考,如果第一种植物特征不符合待识别植物,则选择下面4种植物中的一种或者以上均不是的结果,选定“是”,这幅待识别的图像将保存在服务器中,有待于专家远程鉴定,丰富入侵植物图像数据库种类和数量。

1.6服务端入侵植物识别模型的部署

利用JDBC与MySQL建立数据库管埋系统,包括用户注册信息数据表、第三方登录信息数据表、入侵植物图像信息数据表以及诊断信息数据表。通过使用DAO模式将业务代码和数据库操作代码分离,利用连接池来减少频繁的连接创建,提高数据库整体的操作性能。

利用JSP和Servlet实现基于HTTP协议的客户端与服务器端的通信,同时编写Servlet业务逻辑,利用Commons Fileupload开源类库实现二进制数据流的接收与解析,通过压缩识别后的入侵植物图片,提高客户端缓存图片的速率以及地图模块入侵植物分布的显示效果。

为了解决算法模型的调用问题,采用JNI本地方法接口,通过生成DLL动态链接库来进行实现,添加模型文件,均值文件,权值文件,标签文件即可实现远端服务器的识别检测。

2结果与分析

2.1模型识别结果

基于DenseNet的入侵植物识别模型对135种入侵植物进行识别,以最大相似度的识别结果为正确结果的识别率为85. 3%,以最大相似度前5个结果中有正确结果的识别率为96. 2%。结果表明基于DenseNet的入侵植物识别模型可以实现对多种入侵植物的识别。

2.2基于Android的外来入侵植物识别系统APP

2.2.1用户注册、登录与地图显示

用户可以进行注册和登录操作,登录时可选择记住密码和直接登录,若选择直接登录则下次打开软件时会跳过登录界面,默认使用上次登录的用户(图4a)。登录成功之后进入主界面,以地图显示拍照附近的位置(图4b),主界面中用BottomNavigationView控件实现底部导航栏,用户可以点击底部导航栏或者滑动切换功能模块。

2.2.2入侵植物信息查询模块

可以对35科135种入侵植物按照中文或拉丁文的学名进行快速查询(图5a),点击植物详情可查看该植物的基本情况、发生地区分布、分类地位、形态特征、生物防治、药剂防治、首次发现或引入的地点及时间、危害特性、生境类型、可能扩散的区域和预防控制管理措施等信息(图5b),可以查看该植物的更多图片(图5c)。

2.2.3图像采集、裁剪与识别模块

用户可以通过自定义相机拍照或图库选取待识别的植物图像(图6a,b),可以对图像进行裁剪,使植物处于图像的中间,使植物区域图像最大化(图6c)。将裁剪后的图像发送到服务器,Web服务器端调用入侵植物识别模型进行识别,并将识别结果按相似度从高到低列出前5种入侵植物反馈到用户的手机端(图6d)。如果给出的5种植物均不符合待识别的植物,可请求专家进行远程鉴定。

一幅入侵植物图像从上传到服务器到识别反馈到客户端,在GPU模式下识别响应时间在1~2s,滿足实际应用需求。

3结论与讨论

本研究开发建立的外来入侵植物识别系统APP可以为基层科技人员、科研教学单位人员、学生以及

猜你喜欢

识别率客户端服务器
2018年全球服务器市场将保持温和增长
虚拟专用网络访问保护机制研究
新闻客户端差异化发展策略
档案数字化过程中OCR技术的应用分析
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展
浅析IEEE 802.1x及其客户端软件
用独立服务器的站长注意了
定位中高端 惠普8路服务器重装上阵