李 博,肖永财,胡金湘,谢 光
(三亚学院信息与智能工程学院,三亚 574000)
自古以来我国就是农业大国,人口基数大,随着时代的前进,传统的农业管理方式也快步向着农业信息化、智能化管理的方向发展。中国每年都在农业信息化的发展投入大量资金,早期从国外引进先进的技术和科学的管理理念,合理运用智慧信息技术让传统农业走向智慧化农业。
智慧农业是农业中的智慧经济,由精准农业(精细农业)、信息化农业、智能农业、数字农业等名词演化而来,其技术体系主要包括农业大数据、农业云平台和农业物联网三个方面。
小麦是中国第二大粮食作物,其生长过程经历的环境复杂多变,冬小麦在其整个生命期不仅要经过漫长的严冬,而且在次年早春处于冷热剧烈交替的环境之中。干旱、霜冻害等发生频繁, 对小麦苗情影响巨大。如何针对小麦生长发育过程,准确预测环境胁迫和气象灾害、作物长势等重大农情,实现远程异地诊断管理,是目前农业精准管理中亟待解决的重大技术难题。所以需要利用现代信息技术改进管理模式,提高农业生产效率。
随着深度学习、机器学习和物联网等高新技术的不断更新和完善,这些高新技术的产物出现在我们日常工作和生活中的每一个地方。智慧农场充分运用信息技术改进传统的农业模式,对农产品的生长信息、光照强度、温湿度以及病虫危害等信息及时掌握,确保农产品在合适的环境和科学的管理方式下生长,进而提高农产品的生产率,进一步实现农场现代智能化,提升农产品的品质,减少管理成本,提高农场的收益。
智慧农场麦苗监测系统主要实现在规模化种植下的麦苗生长健康监测,做到对其健康状况的实时把控,科学有效地增加其质量和产量。通过实时的温度监控,定时采集麦苗健康数据进行测控,为麦苗的生长提供保障。
智慧农场麦苗监测系统分为三个模块:信息采集模块、平台控制模块、分析模块。信息采集模块通过农场内置的传感器以及全景摄像头和单目摄像头收集麦苗的温度、湿度、麦苗杆的粗细和麦苗叶的图像等信息。通过平台控制模块实现对收集到的数据分析后的可视化界面,控制农场麦苗生长的湿度、光照强度和温度。分析模块对采集到的数据采用深度学习的方式进行训练,然后通过和数据库中的数据对比,最终得出麦苗当前的生长情况,反馈到平台控制模块实现麦苗生长的智能化控制以及温度、湿度和麦苗病虫害的危害程度的相关预警。
智慧农场麦苗监测系统通过传感器网络和信息网络的高度结合,实现了农场麦苗养殖信息的快速、精确传输,确保了信息的实时性,正确性。同时也结合了深度学习对获取到的数据进一步处理,深度神经网络结合应用层对麦苗农场实现了半自动化的控制,最终达到降低管理成本以及提高麦苗生产率的目的。
信息采集模块通过农场内安装的多种传感器收集信息。选用搭建Contex-M4 内核的阿波罗STM32F429 芯片为主控单元,是信息采集模块的核心部分。STM32F429 采用Contex-M4 内核,带FPU 和DSP 指令集,STM32F429 还拥有多达256K 的片内SRAM,支持SdRam、带TFTLcd1 控制器、带图形加速器(Chorme ART)、带摄像头接口(DCMI)、加密处理器(CRYP)、USB 高速OTG、真随机数发生器、OTP 存储器等。最高运行频率可达180Mhz;STM32F429 拥有ART 自适应实时加速器,可以达到相当于FLASH 零等待周期的性能。STM32F429的FSMC采用32 位多重AHB 总线矩阵,总线访问速度快。STM32F429 的功耗为208uA/Mhz。TM32F42 9/39 系列,自带了Lcd1 控制器和SdRam 接口,对于想要驱动大屏或需要大内存的使用是一个很好的选择。
主控单元主要实现有:接收并判断传感器数据类型;数据格式的判定和转换;处理数据、控制数据传输;建立数据链路,实现网络数据的收发、打包与解包;控制继电器执行动作。
温度={ (-)/_} + 25
其中:
-= 25℃时的值
-_= 温度与曲线的平均斜率(以/℃或/℃表示)
主函数直接调用温度传感器的初始化函数,并在while 循环中不停地获取采集后的温湿度值,代码如下:
HalInit();
Stm32clockinit(180,25,2,4);
delayinit(180);
uartinit(115400);
LedInit();
KeyInit();
SdRamInit();
Lcd1Init();
WeAdcInit();
PointColor=Red;
Lcd11ShowString(40,40,400,32,32,“apollo32”);
Lcd1ShowStr(40,40,400,32,32,“Temperature Test”);
Lcd1ShowStr(40,90,400,32,32,“atom”);
Lcd1ShowStr(40,110,400,32,32,“2021/12/13”);
PointColor=Red;
Lcd1ShowStr(40,140,400,32,32,“Temp:00.00C”);
while(1)
{
temp=GetTemprate();
if(temp<0)
{
temp=-temp;
Lcd1ShowStr(40+10*8,140,32,32,32,“-”);
}else Lcd1ShowStr(40+10*8,140,32,32,32,“”);
Lcd1ShowxNum(40+11*8,140,temp/100,2,32,0);
Lcd1ShowxNum(40+14*8,140,temp% 100,2,32,0);
Led0=!Led0;
delayms(500);
}
}
利用光环境传感器AP3232c,实现光照强度(ALS)、接近距离(PS)、红外光强(IR)等的测量,将数据经过分析处理后显示在农场实时Led屏中。主函数直接调用光敏传感器的初始化函数,并在while 循环中不停地获取ADC3 采集后的光照强度值,代码如下:
int main(void)
{
u32 ir,als,ps;
HalIni(t);
Stm32clockini(t180,25,2,4);
delayini(t180);
uartini(t115400);
LedIni(t);
KeyIni(t);
SdRamIni(t);
Lcd1Ini(t);
PointColor=Red;
Lcd11ShowString(40,40,400,32,32,“apollo32”);
Lcd1ShowStr(40,40,400,32,32,“AP32c”);
Lcd1ShowStr(40,90,400,32,32,“atom”);
Lcd1ShowStr(40,110,400,32,32,“2032/1/32”);
while(AP32cIni(t))
{
Lcd1ShowStr(40,140,400,32,32,“AP32失败”);
delayms(500);
Lcd1ShowStr(40,140,400,32,32,“ 请选择!”);
delayms(1000);
Led0=!Led0;
}
Lcd1ShowStr(40,140,400,32,32,“AP3232C 准备!”);
Lcd1ShowStr(40,320,400,32,32,“IR!:”);
Lcd1ShowStr(40,180,400,32,32,“PS!:”);
Lcd1ShowStr(40,400,400,32,32,“ALS!:”);
PointColor=Red;
while(1)
{
AP32ReadDatas(&ir,&ps,&als);
Lcd1ShowNum(40+32,320,ir,5,32);
Lcd1ShowNum(40+32,180,ps,5,32);
Lcd1ShowNum(40+32,400,als,5,32);
Led0=!Led0;
delayms(240);
}
}
利用全景摄像头和定点单目摄像头对麦苗每日定时拍照,将获取的图片上传到服务端中。
分析模块主要分为两部分,一部分是关于温湿度、光照等数据信息进行的训练;另一部分是针对麦苗图像部分的处理。本分析模块在深度学习网络模型的训练过程,也分为三部分数据:训练数据集、验证数据集和测试数据集。其中,训练数据集用来构建机器学习的基础模型,也是用于模型拟合的基础数据样本;验证数据集是用来辅助搭建模型,为麦苗模型提供无偏估计数据,帮助更好地调整参数;测试数据集用来评估模型的最终泛化。
关于温湿度、光照强度等基础信息的训练,主要控制获取到的数据与数据库中健康麦苗所需要的环境信息进行对比训练,最终得出当前麦苗所处的环境是否科学合理,得到结果后自动根据所需要的改变通过平台控制模块控制麦苗现场的设备调节环境。麦苗图像的处理主要根据卷积神经网络来对图像进行识别。识别的方向主要有两部分,一部分是对当前麦苗的生长情况进行识别,判断当前麦苗生长是否符合当前环境麦苗的生长状况。另一部分是针对麦苗的病虫害进行识别。因为中国农业农场规模都比较小,得到的数据集规模比较小,所以所获得的麦苗病虫害数据也较小。为了得到一个准确率高的麦苗深度模型,采用数据增强方法来对已有图像样本进行数据扩充。采用对图像样本进行旋转、水平平移、垂直平移、透视、缩放、水平翻转六种操作来达到数据的增强。使用边缘检测对麦苗图像进行边缘检测,并对图像进行特征提出和特征向量归一化处理,将归一化后的特征输入神经网络分类器,由分类器对这组特性进行分类、判断,得出识别结果。边缘检测算法的主要实现代码:
Mat roberts(Mat SIma)
{
Mat dstImage=SIma.clone();
int nRows=dstImage.rows;
int nCols=dstImage.cols;
for(int k=1;k for(int m=1;m int t1=(SIma.at int t2 =(SIma.at //计算g(x,y) dstImage.at } } return dstImage; } 通过在信息采集模块采集获取到的包括空气温度、湿度、光照强度和定时采集的麦苗图像等数据上传到数据库的数据,分析模块对这些数据库中的数据进行分析,最后呈现在Web和手机App 端的可视化控制模块,实现半智能化控制和管理。 该系统采用B/S模式,由Web端和服务端两部分组成。Web 端的功能包括图像上传、训练结果、麦苗病害防治建议、备注功能以及控制麦苗农场设备控制功能。服务端的功能包括图像的接收和存储、图像处理和病害识别检测。其中Web 系统服务端采用的Python+Sweet 框架+Orcale数据库。 智慧农场麦苗监测系统对麦苗现场环境信息进行采集,麦苗现场环境信息经过深度训练,在应用层通过可视化的方式将这些参数信息呈现出来,根据显示的不同麦苗现场的数据信息对麦苗生产过程进行科学有效的指导,对麦苗现场出现的意外状况实时处理,达到了麦苗农场的智慧化管理。2.3 平台控制模块
3 结语