APP下载

基于物联网的远程温室视觉监控系统设计与实现*

2023-02-04张净张康刘晓梅杨宁

中国农机化学报 2023年1期
关键词:分类器农作物抗体

张净,张康,刘晓梅,杨宁

(1. 江苏大学电气信息工程学院,江苏镇江,212013;2. 江苏科茂信息技术有限公司,江苏镇江,212001)

0 引言

如何充分监测到温室中生长的植物状态是目前温室监测系统的关键。在传统的温室种植中,通过人工采样的方法不仅效率低,更重要的是不能及时地做出预警,对于植物的生长状态不能得到充分的保证。当前物联网技术多采用Zigbee、GPRS、Sigfox和 NB-loT 等方式,但Zigbee和GPRS等技术普遍存在通信距离短、功耗大且布网复杂等缺点;而Sigfox和NB-loT等技术则由当地运营商管理,只有支付了订费,传感器才能进行数据传输[1]。此外,还有数据流量和数据包大小的限制,这些问题给数据传输造成了较大的麻烦,采用LoRa技术则能够同时满足低功耗、深覆盖和布网简易等要求[2]。当前图像处理技术的发展,促进了农作物生长信息监测逐渐转向信息化、智能化,对于农作物生长趋势及种类有效识别是目前图像处理领域较为棘手的一部分。

许多国内外学者对植物视觉监控方及环境因子监测等方面已进行了多种研究,王永干等[3]采用ZigBee协议搭建无线传感器监测网络并对植物的叶绿体进行准确测量与实时监测。Paturkar等[4]利用物联网技术在室外条件下测量并监控不同植物生长时期的各种植物生长和结构参数。Dhillon等[5]利用叶片监测传感器系统用以监控植物的水分以此来改善生长状况。Lin等[6]提出了一种基于STM32的智能植物生长柜监控系统的设计方案,并设计了一种STM32模糊控制算法使其能够为植物生长提供最佳生长环境。

本文所设计的基于物联网的无线通信的远程温室视觉监控系统利用LoRa技术实现了植物生长过程中各项环境参数的实时监测,利用设计的录屏及截屏功能定时录制指定区域的农作物图像,同时使用映像截屏功能将采集到的植物图片放入叶片分类器中进行预处理,针对于农作物的种类及生长状态,将处理后的农作物图像结合克隆选择算法和朴素贝叶斯算法对植物叶片进行识别,实时监测出植物的种类及状态,以期达到实时监控并及时做出阈值报警的目的。

1 系统结构及工作原理

1.1 系统总体结构

本系统主要包含以下几个模块,分别为环境因子采集与控制模块、图像采集模块、叶片识别模块以及集中控制模块,系统主要工作流程为:通过放置于温室内的摄像头来采集农作物图像,将其传输至集中控制模块处理,然后在叶片识别分类器中进行分类识别,得到农作物种类及其识别率,从而得知农作物生长是否正常,此外利用多个传感器对农作物生长环境中的温湿度、二氧化碳浓度、光照强度等数据进行实时采集同时配以排风、补光等功能,以便于更好地对农作物的生长参数进行实时监测,最后通过在Qt上位机监控界面进行实时监控并查询农作物生长视频,获取分类数据,对相应的环境参数及设备实时监控,系统的总体结构如图1所示。

1.2 系统工作过程

1.2.1 系统硬件设计

系统环境因子采集终端采用STM32F103C8T6最小系统单片机及S3C6410控制模块来采集温湿度、光照强度、二氧化碳浓度等环境因子数据,其中LoRa模块采用了ATK型号的模块,其采用高效的ISM频段射频SX1278扩频芯片,最远距离可达3 km,工作频率在410~441 MHz免费频段,其精度和稳定性相比于SX1276等有着明显的优势[7];温湿度采集模块采用的是AM2305湿敏电容复合传感器,供电电压为3.3 V,采集精度为±2%,其反应灵敏、抗干扰能力强、性价比极高;二氧化碳采集模块采用了SGP30气体传感器,供电标准为3.3 V,具有抵抗实际应用中污染气体的能力,从而实现优异的长期稳定性和低漂移,使用时需要接电平转换方可接入开发模块中;光照强度采集模块采用的是TEMT6000传感器,供电标准为3.3 V,工作温度为-40 ℃~85 ℃,可识别光强范围为1~1 000 Lux,具有良好的线性输出和响应快等优点;WiFi模块采用的是超低功耗的UART-WiFi透传模块,供电标准为3.3 V,仅需要通过串口使用AT指令控制,就能满足大部分的网络功能需求;系统根据预先设定的阈值范围来调控灯光、排风等装置,并将采集到的各项传感器数据经由ESP8266无线模块传输并显示于上位机监控界面并存储于数据库中,图2为通信部分的电路原理图。

图2 通信部分的电路原理图

传输距离不足及功耗问题是目前物联网监控环境下亟需解决的关键,与几种常见的组网通信方式对比,LoRa具有功耗低和传输距离长的优点,更加适用于物联网的部署[8]。

在传输性能方面,为了测试LoRa网关的通信性能,通过在乡下实验基地的测试场地,在不同的传输距离下测试LoRa采集节点与网关间无线传输的丢包率。由检测到的多组数据统计可知,在1 km范围以内,LoRa无线通信的丢包率在10%以下,400 m以内的丢包率为0%,相比于传统的ZigBee和WiFi组网方式,本系统能够实现高可靠、远距离的组网通信。系统传输距离和丢包率的关系如图3所示。

图3 传输距离与丢包率

植物图像采集模块则由OV9726摄像头对农作物图像进行采集并实时监控,该型号摄像头是一种低电压、高性能的1/6.5英寸720p HD CMOS图像传感器,最大数据传输速率为600 Mbps,采用OmniBSI技术在小封装中提供单芯片WXGA(1 280×800)摄像头的完整功能,在低光条件下有着高灵敏度,能够满足监控系统的实验要求。其主要作用是将采集到的图像存储于核心处理器的SD卡中并进行预处理操作,然后将预处理后的农作物图片放入所设计的叶片识别器中并结合克隆选择算法和朴素贝叶斯算法对其进行识别处理。

Qt上位机结构如图4所示。

图4 Qt上位机设计流程

集中控制模块由ARM11系列的S3C6410芯片和动态随机存取存储器等组成,使用固态继电器来控制排风、灯光等,这主要得益于该继电器性能稳定、耐久性较好且运行较快,最后使用Qt系统所设计的上位机对各项环境因子数据和植物的生长状况进行查看及管理。

1.2.2 系统软件设计

系统选用嵌入式Linux作为整个系统软件开发平台,通常来说Linux系统存储容量及功能是固定的,需要在PC机上搭建系统的交叉编译环境,随后通过S3C6410开发板实现所需的功能。此外,环境开发采用keil uv5开发环境进行系统编译等工作,其中STM32最小系统单片机与LoRa模组之间通过ESP8266进行无线传输,系统的软件设计流程图如图5所示。

图5 软件设计流程图

上位机监控系统设计主要在Linux操作系统中的Ubuntu系统内完成,通过在Qt系统中调用Opencv,进行cmake编译,此处的cmake编译主要用于将Opencv源码编译成Qt Creator能使用的库,从而在Qt系统中实现录制指定区域的功能,此外还实现了对录制的监控视频进行定时录制,即每间隔一小时截取5s的视频图像,并调用mmap(映射)的方式截取所保存视频中的植物图片[9],截取的农作物图片用以放至所设计的叶片识别分类器中进行预处理,能够完成对农作物生长过程的识别与分类,图6为上位机监控界面,该上位机监控界面包含了录制功能、阈值检测、数据库存储、植物识别等多种功能,通过上位机界面所显示的各项环境因子数据以及农作物的实时生长界面,利用设定的阈值对控制设备进行相应的调控。

图6 上位机监控设计界面

2 植物叶片分类识别模型

2.1 建模方法

克隆选择算法(CSA)是一种人工免疫系统AIS(Artificial Immune System)中至关重要的算法,在诸多领域中有着许多经典的应用及成果。它是一种不同生物机制且依赖于做比较的算法,但也显示出了许多有用的特性,例如保持种群的多样性,从而有效地克服诸如早熟等计算本身难以解决的问题,其快速的随机全局搜索能力对植物叶片识别有着卓越的帮助[10];本文利用克隆选择算法中的核心思想,将拟定识别分析的农作物的叶片几何与特征值作为抗原,对抗原进行初始化分析[11]。

其中对抗原进行初始化的方法如式(1)所示。

Ag=(b1(Ag),b2(Ag),L,bi(Ag)L,bN(Ag):G)

(1)

式中:Ag——抗原;

bi(Ag)——抗原的第i个特征值;

G——相应类别。

由于传统的克隆选择算法主要是通过构建记忆细胞来进行全局和局域选择,并通过克隆操作扩展搜索区域,然而传统的克隆选择算法的局部选择精度较低,对于植物叶片识别来说存在一定的不足。因此,提出并采用一种结合克隆选择算法和朴素贝叶斯分类器相结合[12]的组合算法,即CSA+NBM模型,并设计一种叶片识别分类器以此来提高识别率和识别时间等。

2.2 建模设计

基于CSA的NBM分类算法流程图如图7所示。

图7 基于CSA的NBM分类算法流程图

针对所设计的叶片分类器的训练过程,克隆选择算法的优化是前提条件,这意味着克隆选择算法是该分类器的较为关键的一点,其中就包括了根据比例选择亲和度大小、抗体突变等一系列操作。而亲和度即为叶片识别分类的准确度,将朴素贝叶斯分类器幂加权的权值拟定为抗体,通过训练获得的最优抗体为记忆抗体,通过这种拟定旨在解决叶片识别过程中所存在的识别精度等一系列问题。

将克隆选择算法中的抗体作为朴素贝叶斯分类器的权值,对朴素贝叶斯中的特征值进行幂加权[13-14],能够得到式(2)。

(2)

式中:p(cj)——通过统计训练得到的cj出现的概率;

p(aip|cj)wki——条件aip出现的条件概率;

wki——第k个抗体的第i个属性幂加权的值,找到亲和度最高的wk,通过最佳的wk获得比原来合理的p(aip|cj)wki,最后更加准确的预测D(xp)的类别。

根据预先设定好的基于克隆选择算法的朴素贝叶斯识别分类器的原理,主要算法步骤如下所示。

1) 针对采集到的农作物叶片数据首先进行归纳统一样本的统计分布性,对处理后的数据进行初始化操作,接而对算法中的抗体规模等参数依据要求进行后续的初始化,这里可令K为抗体群,根据需求传输抗体数目,产生对应初始抗体,K中第i个抗体用Ki={yi1,yi2,...,yii}。

2) 其次生成初始抗体群Dat并从抗体群中遴选出理想值,以抗体群为样本,对设定后的样本进行解码操作,使用朴素贝叶斯算法的训练集大小计算出亲和度范围。

3) 依据所需结果,拟定亲和度阈值以此来筛选最优抗体。从抗体群Dat中筛选出x个最优抗体Px,将筛选出的抗体组成解码后符合标准的克隆种群Dac。

只有转变传统的档案管理理念,才能将大数据技术更好地应用在档案管理中。基于此,档案管理部门应当不断强化大数据思维宣传教育,使得档案管理人员能够充分意识到大数据的价值所在,从而推动档案管理的信息化。一方面,档案管理部门应定期组织档案管理人员参加各种培训活动。例如,邀请专家到本部门进行演讲、开展各种知识竞赛等,这不仅有助于档案管理人员更好地了解大数据技术,还有助于培养档案管理人员的信息素养。另一方面,档案管理部门还应当获得其他部门的拥护,使各部门都能意识到大数据的重要性,并相互配合促进档案管理的信息化。

4) 对上一步骤所得的克隆种群Dac进行高频的变异操作,经此操作后,能够得出新的抗体群Da*。

5) 对亲和度阈值大小再次进行拟定,对阈值较低的抗体进行删除操作,得到一个新的抗体群Dal。

6) 计算所得到的Da*表示抗体群的亲和度,筛选出对应的锲合度最大抗体,从而将组合得到的最大抗体和Dal构成新的抗体群Dan,使用事先组合好的算法处理该抗体群,得到最新的抗体群。

7) 如果优化搜索过程完成则推算下一步,否则继续进行筛选最优抗体。

8) 输出优化参数结果,计算新的抗体和抗原亲和度,亲和度最高的可作为记忆抗体来使用。

9) 使用获取的幂加权的权值并且特定的训练方法来训练叶片特征的朴素贝叶斯模型[15]。

10) 选择合适的农作物叶片作为样本,使用训练后的组合算法对其进行测试识别。

3 系统试验

本文所选取的试验样本来自镇江市江苏科茂乡下实验基地所下辖的植物园采集的农作物叶片,采集了25个种类并在采集过程记录农作物的名称。经过摄像头进行采集之后,每个种类抽取20个叶片作为训练样本,15个作为测试样本,使用四种不同的算法训练对农作物叶片的识别率等进行多个因素进行分析。

1) 读图,通过对话框函数获取图片路径,选取要进行拼接的图片,将其和数据集中的植物图像作对比,然后用imshow函数进行显示,最后将读取出的植物图片显示到GUI展示区的识别区域[16]。

2) 图像预处理,将图像所需的灰度值归一化到0到1之间,接着进行二值化操作,并将阈值定为0.4。

3) 图像运算,这里主要先进行了闭运算,而后再进行开运算,进而能够实现图像边界区域的平滑,同时不影响其整体区域[17]。

4) 图像训练,首先将提取出的农作物图像进行训练样本,并将其标记于图像边缘,然后提取不变矩特征,最后将数据集中的样本与训练样本进行匹配。

5) 图像配准,采用了图像配准算法中的基于图像特征配准算法[18],其次利用该匹配算法根据不同训练标准进行配准,并且使用不同的训练结果进行命名,以此来实现植物图像的有效分类。

叶片分类器的主要训练为以下过程:将提取好的农作物样本图像导入,经过对农作物样本进行图像预处理等操作后,再将样本放入分类器中进行训练,输入测试样本得到识别结果,选取的植物样本与最终识别出的植物叶片图像均可在GUI界面显示,同时提供了CSA+NBM、BP神经网络、CSA和NBM四个算法以不同方式进行对比,点击GUI界面中对应的识别按钮能够查看不同算法的识别结果,其系统的功能结构如图8所示。

图8 分类器结构框图

打开所设计的分类器系统后,在系统的GUI界面点击对应的启动文件按键,能够将摄像头所采集的待识别农作物图像找出,此时在GUI界面左侧显示所调出的农作物图像,然后进行特征值导入,在界面内使用所需训练的算法对植物种类进行叶片识别,最后系统选出样本库中与待识别农作物图片特征值数据匹配的图像,完成最终的识别。以生菜植物叶片为例,在分类器界面分别使用CSA、NBM、CSA+NBM、BP算法后的识别效果对比图如图9所示。

(a) CSA算法识别效果

以生菜叶子为例对同一批植物样本进行测试,运用基于CSA的NBM分类器、BP神经网络分类器、CSA分类器和NBM分类器四种算法分别进行叶片识别的训练时间、识别速度和识别率结果进行测试对比,在测试过程中对同种植物样本采用以上所述的四种算法分别进行多次训练,并将最终训练所得的结果归纳整理于表格内进行分类对比,测试65次的对比结果如图10所示。

(a) 四种算法的识别时间

试验结果如表1所示。由表1可知,本文所采用的四种算法分类器中,当使用CSA+NBM分类器时,对农作物叶片的平均识别率可达到95.3%,此外在样本识别时间也优化至8.4 ms,相比于另外三种算法分类器有着明显的提升;由图10可知,随着训练次数的增加,本文提出的CSA+NBM算法训练次数在第53代左右时达到最佳稳定值,另外三种算法的最佳稳定值则在第60代左右;虽然在农作物叶片的样本训练时间上相比于CSA算法还有所缺陷,但在样本识别时间方面有了显著的缩短,同时在叶片识别率方面有着较好的提升,并且在调用叶片数据集以识别叶片方面,叶片识别效果明显优于其他几种算法的识别,表明基于CSA的NBM的分类识别方法能够符合要求,能够符合系统对于叶片数据的识别需求。

表1 算法训练对比Tab. 1 Comparison of algorithm training

4 结论

1) 本文结合了视觉监控与植物生长的管理需求,使用LoRa通信技术设计并实现了关于植物视觉的远程监控系统,通过设定的录制与截屏功能实现对农作物图像的监控。系统主要包含了环境因子采集与控制模块、图像采集模块、控制模块以及叶片识别模块,并且经试验表明该系统能够平稳运行,系统各部分之间衔接完整,能够基本满足用户的需求。

2) 针对当代农业植株的生长状态难以实时监控等情况,设计了一种基于克隆选择算法的朴素贝叶斯分类器的叶片识别分类器,能够及时调用数据集中的植物叶片并实现对叶片的识别与分类,通过实验结果分析可知使用CSA+NBM算法识别叶片种类能够使得其识别率达到95%左右,识别时间能够达到8.4 ms 左右,相比于其他几类算法识别有着明显的提升。

3) 经过在实验基地测试表明,使用LoRa通信技术来传输数据能够稳定地传输,在400 m范围内能够使得丢包率保持在0%,而1 km范围内丢包率能控制在10%左右。综上所述,本文所提出的系统在成本和功耗方面都能有很大的降低,同时有着不错的稳定性,对现代化农业的智能化发展有着重大意义。

4) 鉴于本系统实验目前主要应用于温室大棚,对于野外空旷环境的条件未进行进一步测试,未来需要在不同环境下进行多方位对比;此外,在未来的监控中还可添加一个自动诊断模块,用以自动识别病虫害。

猜你喜欢

分类器农作物抗体
高温干旱持续 农作物亟须“防护伞”
俄发现保护农作物新方法
夏季农作物如何防热害
厉害了!农作物“喝”上环保酵素
单克隆抗体在新型冠状病毒和其他人冠状病毒中的研究进展
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
抗HPV18 E6多肽单克隆抗体的制备及鉴定
Galectin-7多克隆抗体的制备与鉴定
基于层次化分类器的遥感图像飞机目标检测