李 睿,王 莹,王 恒
(1.上海工程技术大学电子电气学院,上海 201620;2.中国交通信息科技集团有限公司智慧交通事业部,北京 100032)
室内植物不仅有净化空气、降温增湿的作用,还能美化空间,缓解压力[1]。但是室内植物栽培过程中受环境因素影响或人为操作不当,经常会出现各种病虫害,导致植物发育不良、生长衰弱的问题,甚至死亡并传染其他植物。目前,市场上已有的室内植物培育系统一般只能根据植物土壤中的水分和空气温度实现自动灌溉的基本功能[2-4],忽视了病虫害对植物生长的影响[5-8],应用范围不广。为了保障室内植物的正常生长,该文在实现自动灌溉功能的基础上,加入病虫害识别功能,设计了一种基于树莓派(Raspberry Pi)的室内植物病虫害识别系统,保证植物生长所需水分和湿度的同时预防严重病害。
文中提出的室内植物病虫害识别系统包含3 个功能:浇水、病虫害识别和信息发送,重点在于后两个功能。系统的总体设计方案框图如图1 所示。检测模块和摄像头模块组成系统的输入端,浇水模块、显示模块和传输模块组成系统的输出端,树莓派3B+模块作为系统集成和控制端,此外还有供电模块。检测模块由土壤水分检测传感器和温度检测传感器组成,浇水模块由微量注射泵和水管组成,供电模块由锂电池和降压模块组成,传输模块由树莓派自带的WIFI 和微信小程序云服务器组成。
图1 总体设计方案框图
该文采用树莓派3B+[9]作为主控制模块。树莓派是一种只有银行卡大小的、基于ARM 的微型电脑主板,能完成相同的IO 引脚控制,运行相应的操作系统,完成更复杂的任务管理与调度,实现物联网的云控制和云管理。树莓派开发板通用性和扩展性强,具备了PC 端的所有基本功能[10]。与树莓派3B 相比,树莓派3B+拥有性能更高的64 位1.4 GHz CPU、更快的网络以及双频2.4 GHz 和5 GHz 无线局域网[11]。
1)供电模块
由于整个系统基于树莓派3B+,所以只需对树莓派3B+进行供电即可。供电电池选用大容量12 V的锂电池,树莓派3B+的电源输入参数为5 V,所以选用AMS1117-5V 芯片作直流降压处理。供电模块电路如图2 所示,还可以通过Micro USB 接口进行直流供电,防止锂电池电量不足。
图2 供电模块电路设计图
2)检测模块
土壤水分检测传感器选用了YL-69(FC-28)土壤湿度传感器,其工作电压为3.3~5 V,当土壤中的湿度发生变化时,YL-69(FC-28)的湿敏电容介质发生改变,则湿敏电容中的电容数值发生变化,通过该部件外围电路将电容的变化转换为模拟电压值[12]。空气温度传感器选用LM75A 温度传感器,其工作电压为2.8~5.5 V,可以在-55~+125 ℃范围内将温度直接转换为数字信号,并可实现0.125 ℃的精度。
3)摄像头模块
摄像头模块选用树莓派专用的CSI 摄像头进行图片采集,使采集到的图片达到500 万像素,使用时其可通过排线直接接入树莓派主板CSI 接口。
4)传输模块
传输模块采用树莓派自带的WIFI 模块与微信小程序云服务器进行无线传输。树莓派3B+内集成WIFI 模块,可以直接开启WIFI 功能并联网。微信小程序云服务器[13-14]依附于微信APP,具有庞大的用户基数,还拥有5G 的免费存储空间,操作简单,同时支持IOS 与Android 两大操作系统,性价比高。
5)显示模块
显示模块选用DFRobot 在2018 年推出的5 寸树莓派LCD 触摸屏,具有800 dip×480 dip 分辨率,显示区域达到108 mm×64.8 mm,可直接安装树莓派进行DSI 驱动。采用树莓派供电设计,无需外接电源。同时,还可以通过旋转屏幕背后的电位器调节背光亮度。
6)AD 采集模块
AD 采集模块使用PCF8591 芯片,该芯片具有单片集成、单独供电、低功耗、8 bit CMOS 数据获取等特点,AD 采集模块电路图如图3 所示。
图3 AD采集模块电路图
根据对系统功能的需求分析,设计系统整体装置结构如图4 所示。其中,1~11 分别为土壤水分检测传感器、花盆、空气温度检测传感器、树莓派、Micro USB 接口、显示屏、锂电池、微量注射泵、摄像头模块、水管、排线。
图4 系统整体装置设计图
由于树莓派3B+性能有限,且植物病虫害识别模型的训练需要消耗大量的内存和资源,因此基于采集的样本数据在PC 端进行模型训练和测试,最后将模型移植到树莓派3B+中。
当系统工作时,土壤水分检测传感器和空气温度检测传感器会自动检测花盆里面的水分与室内的温度,通过外接A/D 转换器将采集到的模拟信号转换为数字信号,并通过排线与树莓派3B+相连,实现数据通信,将检测到的信息传输给树莓派3B+。树莓派3B+根据预先设置的植物灌溉模型的参考值判断植物当前的水分和温度,当检测出的信息为植物当前处于缺水状态,树莓派3B+根据预先编写好的灌溉程序控制微量注射泵,通过水管对植物进行精确灌溉。树莓派3B+上方的摄像头每小时对植物进行一次拍摄,将拍摄的图片传输到树莓派3B+,根据预先移植的植物病虫害模型对图片进行识别,判断植物是否产生病虫害。检测信息将在LCD 显示屏幕中显示,包括当前土壤水分、空气温度和植物病虫害识别结果。这些检测结果同时通过WIFI 模块上传至微信小程序服务器,方便通过微信小程序提醒用户。
整个系统使用锂电池进行供电。采用锂电池供电时,通过连接降压模块给树莓派3B+供电,也会显示电池剩余电量,提醒用户进行充电。
卷积神经网络(Convolutional Neural Network,CNN)是以卷积层作为网络基本元素的深度神经网络,包含数据输入层、卷积层、池化层、全连接层及Softmax输出层,一般用于图像处理。因此,该文的病虫害识别方法采用了卷积神经网络中的Inception V3 为主干网络进行多类别学习,在保留其固定权值的倩况下进行模型的训练。
1)卷积层
输入图片时,图片的尺寸越大,连接的参数也会变多,导致计算量大,卷积神经网络通过对局部区域内的像素进行感知,在更高层将局部信息综合起来得到全局信息。区域的权值为卷积核,这种模式用到了卷积神经网络中减少参数的重要神器:局部感受野。Inception V3 网络卷积层能将较大的n×n二维卷积分解成较小的1×n和n×1 一维核卷积来减少计算。卷积操作第l层第j个特征图可由式(1)表示,Mj为感受野,k为卷积核,b为偏置。
2)池化层
池化层采用最大池化进行特征降维,取局部区域中最大值,保留了该区域的最佳匹配结果。主要设计了3×3 和8×8 两种尺寸,步长均为1。其过程可由式(2)表示:
3)Inception V3
Inception 模块的作用就是增加网络深度和宽度的同时减少参数。与Inception V2 相比,Inception V3主要对Inception模块的结构进行了优化,拥有35×35、1 7×17 和8×8 3 种结构[15],在8×8 结构中使用了分支,并在模块中加入了BN 辅助分类器。
4)全连接层
全连接层起到利用特征向量分类的作用,通过卷积、激活函数、池化等深度网络后,再经过全连接层对结果进行识别分类[16]。为了防止因参数过多出现过拟合,采用Dropout 技术,设概率为0.3,移除一些节点和输入、输出,采用tf.nn.softmax 函数作为输出分类器,yi的softmax 值可由式(3)表示,i为y的类别,根据输出概率得出分类结果。
该文在PC 端基于Linux 系统和TensorFlow 深度学习平台进行实验。选取室内植物常见的6 种病虫害:炭疽病、叶斑病、叶枯病、棉铃虫、介壳虫及红蜘蛛。从网上收集相关图片1 409 张,通过对图片进行旋转、调整亮度和对比度等操作得到846 张,共2 255张图片作为原始数据集,其中正常1 476 张,病虫害图片779 张。因为图片尺寸不同,所以先对数据集进行预处理,统一调整为648 dip×480 dip,避免较大的图片在卷积时耗时太长而影响训练的速度。通过人工对数据集进行标注分类后,训练集与测试集按照4∶1 的比例用于网络的训练。
为了保证实验的有效性,实验采取0.000 1的学习率并以500次为一阶段对网络进行迭代,根据图5可以看出,当迭代3 000次时,识别准确率基本上达到稳定。
图5 识别准确率随迭代次数变化曲线
神经网络训练完成后,需要移植到树莓派3B+中,在树莓派3B+上搭建了与PC 端相同的Linux 系统与TensorFlow 平台。为了保证识别的准确率,对其在PC 端和树莓派端分别进行验证测试。验证测试采用了同样的测试集,通过网络再次收集数据集,包括炭疽病118 张、叶斑病112 张、叶枯病101 张、棉铃虫90 张、介壳虫100 张及红蜘蛛90 张。训练完成的模型对测试集在PC 端和树莓派端分别进行识别,准确率如表1 所示。从表1 可以看出,移植前后的识别准确率相同,测试集在构建的模型中总体识别效果较好,平均识别率可以达到91.80%左右。
表1 验证测试识别准确率
在训练完成后,需要将神经网络模型移植到树莓派3B+中。为了能够保证良好的测试效果,在树莓派3B+上搭建了与PC 端相同的Linux 系统与TensorFlow 平台。整个室内植物害识别系统的流程图如图6 所示。
图6 系统流程图
用户端采用微信小程序,可以使用户方便快捷地获取植物状态,软件设计流程如图7 所示。
图7 软件设计流程
服务器采用微信小程序云服务器,通过wx.request请求服务器数据,实现与系统的数据交互。微信小程序界面如图8 所示。
图8 微信小程序界面
基于树莓派3B+的室内植物病虫害识别系统,利用了树莓派3B+成本低、功能强大的特点,配合训练好的病虫害识别模型,加上微信小程序云服务器稳定及时的特点,在实现基本灌溉功能的基础上,对室内植物常见病虫害加以识别,保证了室内植物的正常生长,具有一定的应用价值。