微信小程序在农业图像识别的应用
——以“爱绿助手+”小程序为例
2021-03-11黄中舟朱彦博曹璐婷
蓝 宇,王 健,黄中舟,朱彦博,陈 品,曹璐婷
(广州软件学院 网络技术系,广东 广州 510990)
准确、快速地识别植物病虫害的种类是防治植物病虫害的第一步。长期以来,我国植物病虫害的监测和鉴定主要依靠专家诊断和来自农民的种植经验。由于中国庞大的植物种植面积和病虫害的复杂情况,以及相关领域的专业人员相对较少,可能出现不能及时应对农业病虫害问题,甚至造成问题报告的延迟和错误。而采用深度学习算法训练推算出的图像识别方法,通过微信小程序的方式加以呈现,便于对植物病虫害进行监测和分类。同时该系统具有精度高、实时性好等优点。近年来,随着我国农业现代化的不断发展,越来越多的现代化技术和设备被运用到生产中。此外,人工智能的快速发展,特别是其在图像模式识别领域的优异表现,使以深度学习为代表的技术逐渐成为农业现代化领域的研究重点。
小程序载体的出现,以及其“即用即走”的便利性,这刚好符合我们团队的设计理念——只需要将用户最想要的结果提供给他们。同样,人工智能+小程序的有机结合也是我们团队的探寻方向之一。是我们整体“智慧农业”解决方法的重要一环,目前小程序数据也可以与我们设计好的智能灌溉系统进行联通,正式打通“最后一公里”。
1 应用场景
1.1 扫除用户的疑惑
基于大量数据的深度学习,小程序集合了九大蔬果类的病虫害识别算法模型。可以通过拍照或者图片上传的方式,将图片数据上传至服务器后,经由部署在服务器的算法模型计算得出结果。最后再将结果通过小程序的方式呈现给用户,以提醒用户检测到的病虫害是哪种,帮助用户进行抉择。目前可以实现的蔬果类有玉米、土豆、柑橘、苹果、樱桃、番茄、葡萄、草莓、桃子,识别准确率可达到98%左右。当然,算法模型仍处于更新迭代阶段,将会不断优化算法,整合上线的新蔬果。
1.2 满足用户的好奇
除了能够识别病虫害之外,考虑到用户可能会在生活当中发现很多足以让人驻足的花卉。但会苦恼于不知道这些花卉是什么,那么“爱绿小助手”小程序将会满足你的好奇心。同样,算法模型当中有着大量训练完成的花卉数据集,数据集不仅有来自国内某植物研究所的公开数据集,也有国外可供学习使用的数据集。基于以上条件,是足以识别出大部分“美丽却不知名”的植物。使用过程依然是可以通过拍照或者上传图片的方式,将图片上传至服务器,识别工作就交给算法模型即可。
1.3 不仅仅是小程序
它不仅可以将以上所有的识别数据记录保存至本地(遵循数据隐私保护条约),也是我们团队朝着“互联网+”农业新形态发展方向的有机组成部分。您所看到的小程序是作者所设计的智慧农业方案中的一个重要节点,此外其他节点(例如智能灌溉系统等)都将打通数据流合作,与小程序形成互通有无的格局。
2 前端设计
2.1 总体设计
(1)本小程序主要的功能为对花卉种类以及植物病虫害的识别,一方面可以让用户在户外有需要认识到未知花卉的情况下提供有效帮助,另一方面,也希望能够促进用户有更好的种植经验。
(2)本小程序在设计中采用注重用户体验的原则,在界面、元素、交互设计等方面都有所体现,具有对应的用户操作简易性、交互友好性。
(3)本小程序的操作逻辑以及数据流走向以用户体验为原则出发,主要由用户主动拍照或者上传植物图片,小程序将图片数据上传至作者部署的服务器(数据上传过程遵循隐私保护条约),再由服务器内部署完成的算法模型自动识别图像,最后再由模型将结果返回至小程序端提供给用户查看。具体如图1所示。
图1 “爱绿小助手”小程序功能结构
2.2 logo设计
小程序的logo则是为了体现本小程序“爱绿”的内涵——对植物方面的深入了解,并希望通过对植物的了解延伸到对环境保护意识的提升。这个logo采用了绿色为主要基调,底部是较为荒芜的地面,通过渲染一层代表生机的淡绿色可以不断感化身边的荒漠,并逐渐展现出生机盎然的景色。也是团队成员为生态环境与社会环境都能够焕发生机的愿景。如图2所示。
图2 “爱绿小助手”logo
2.3 图标设计
小程序中出现的植物元素由本团队成员自行设计,采用统一的粗体边框与带色彩的图形元素相结合,通过对相应植物特点的采纳,设计出对应的植物元素图标,在使用本小程序的植物病虫害识别模块中,使用户可以直观地通过图形元素了解到按钮对应的植物模块,增加用户使用友好程度与产品界面的美观程度。如图3所示。
图3 “爱绿小助手”图标
2.4 界面设计
2.4.1 常规界面
小程序首页:点击右上角(…)按钮,弹出小程序常规操作框:可对本小程序进行相应分享、收藏、添加、设置、重新进入等操作。
点击底部菜单栏各个按钮可以进入对应的界面,依次为“:识别病虫害”界面“、花卉百科”界面和“我的”界面。
“识别病虫害”界面可以通过点击等操作进行对病虫害的识别。
“花卉百科”界面可以通过点击等操作进行花卉等植物的识别。
“我的”界面可以进行各项常规操作。
具体界面如图4所示。
图4 常规界面设计
2.4.2 识别病虫害界面设计
在该界面可以通过各种操作对病虫害做出识别指令。
通过点击对应植物种类,可以做出其特定的病虫害识别,此处以玉米病虫害分析为例。如图5所示。
图5 以识别玉米病虫害分析为例
点击玉米病虫害分析按钮后,弹出对话框,可以选择“通过手机相册照片”上传或“通过手机相机拍摄”上传,点击后依次跳转到对应界面。如图6所示。
图6 选择图像来源
在图片上传完成后等待识别过程,识别成功后跳转到识别结果界面。结果为识别出可能出现的植物及其病虫害概率。如图7所示。
图7 返回结果值
2.4.3 识别花卉界面设计
在该界面可以通过各种操作对花卉做出识别等一系列指令。
可以通过点击对应植物百科跳转到对应植物介绍,此处以“兰花”为例,在对应界面可以通过向左滑动(ios系统)或向左向右滑动(安卓系统)返回到“花卉识别”界面。如图8所示。
图8 花卉百科
可以通过点击右下方绿色“识别花卉”按钮进行花卉等植物的识别。如图9所示。
图9 选择图像来源
点击该按钮后自动弹出框,可以选择“通过手机相册照片”上传或“通过手机相机拍摄”上传,点击后依次跳转到对应界面。
在图片上传完成后等待识别过程,识别成功后跳转到识别结果界面,识别结果为识别出可能出现的植物及其概率。如图10所示。
图10 返回结果值
3 架构设计
整个系统以识别病虫害功能作为基础进行设计,且为了方便用户辨识不同的植物病虫害,因此设计了一个基于小程序的识别程序。用户对系统进行操作后,需要对应用有一个操作请求的服务器来处理,同时在操作过程中需要访问已经存在数据库的数据集,方便日后的信息维护与整合。
“爱绿助手+”微信小程序主要由四个部分组成:移动端功能模块、服务器端功能模块、识别病虫害模块、识别花卉模块。如图11所示。
图11 整体架构图
4 深度学习网络模型——VGGNet网络
VGGNet于2014年提出,并在ImageNet1000类图像定位中获得第一、第二名,目前仍常用来提取图像特征。
在网络深度方面,大卷积可以捕捉到原始纹理细节的特征变化,因为原始图像的大尺寸可能会产生冗余。此时,Alexnet网络使用11×11的大卷积核,步长为4像素。由于后期的更深层次可能会在较大的局部范围内失去特征相关性,Alexnet网络转而使用更多的3×3小卷积核来捕捉细节变化。VGGnet使用所有3×3卷积核。
与Alexnet使用3×3大小的池核相比,VGGnet网络都使用2×2大小的池核,这样VGGnet可以获得更详细的原始图像信息。另外,采用最大池化方法,更容易捕捉图像和梯度的变化,使图像局部特征信息变化更大,可以更好地描述纹理信息等细节。
其中,VGG-16是卷积神经网络中分类性能优良的网络之一。VGG-16卷积神经网络模型结构参数图如图12所示。
图12 VGG-16卷积神经网络结构参数图
网络结构有13个卷积层和3个全连接层。在网络开始时,输入一幅224×224的RGB图像,并淡化了21。然后对图像卷积一个3×3的卷积核,步长为1像素,空间填充为1像素。池化层执行最大池化,设置窗口大小为2×2,步长为2像素。网络最终由三个全连接层组成,前两个全连接层有4096个通道,第三个全连接层包含1000个通道,实现1000种图像分类。
5 未来发展方向
最大化利用现有的数据资源库,建立起一个高效并且准确的农业领域专家知识库以及识别机制,使之具有应时性。
针对现有的训练数据集进行扩充和整理,尽可能引入不同来源、效果、方面的数据集,使之训练数据得以增强。或尝试更多的增强方法,如引入对抗学习因素、扩展图像训练维度等等。
优化深度学习算法模型,实现其高效性的特点。尝试不同的网络架构,寻找最优的训练参数,如学习率、迭代次数、批量大小等。