李 博,肖永財,胡金湘,謝 光
(三亞學院信息與智能工程學院,三亞 574000)
自古以來我國就是農業(yè)大國,人口基數(shù)大,隨著時代的前進,傳統(tǒng)的農業(yè)管理方式也快步向著農業(yè)信息化、智能化管理的方向發(fā)展。中國每年都在農業(yè)信息化的發(fā)展投入大量資金,早期從國外引進先進的技術和科學的管理理念,合理運用智慧信息技術讓傳統(tǒng)農業(yè)走向智慧化農業(yè)。
智慧農業(yè)是農業(yè)中的智慧經濟,由精準農業(yè)(精細農業(yè))、信息化農業(yè)、智能農業(yè)、數(shù)字農業(yè)等名詞演化而來,其技術體系主要包括農業(yè)大數(shù)據(jù)、農業(yè)云平臺和農業(yè)物聯(lián)網(wǎng)三個方面。
小麥是中國第二大糧食作物,其生長過程經歷的環(huán)境復雜多變,冬小麥在其整個生命期不僅要經過漫長的嚴冬,而且在次年早春處于冷熱劇烈交替的環(huán)境之中。干旱、霜凍害等發(fā)生頻繁, 對小麥苗情影響巨大。如何針對小麥生長發(fā)育過程,準確預測環(huán)境脅迫和氣象災害、作物長勢等重大農情,實現(xiàn)遠程異地診斷管理,是目前農業(yè)精準管理中亟待解決的重大技術難題。所以需要利用現(xiàn)代信息技術改進管理模式,提高農業(yè)生產效率。
隨著深度學習、機器學習和物聯(lián)網(wǎng)等高新技術的不斷更新和完善,這些高新技術的產物出現(xiàn)在我們日常工作和生活中的每一個地方。智慧農場充分運用信息技術改進傳統(tǒng)的農業(yè)模式,對農產品的生長信息、光照強度、溫濕度以及病蟲危害等信息及時掌握,確保農產品在合適的環(huán)境和科學的管理方式下生長,進而提高農產品的生產率,進一步實現(xiàn)農場現(xiàn)代智能化,提升農產品的品質,減少管理成本,提高農場的收益。
智慧農場麥苗監(jiān)測系統(tǒng)主要實現(xiàn)在規(guī)?;N植下的麥苗生長健康監(jiān)測,做到對其健康狀況的實時把控,科學有效地增加其質量和產量。通過實時的溫度監(jiān)控,定時采集麥苗健康數(shù)據(jù)進行測控,為麥苗的生長提供保障。
智慧農場麥苗監(jiān)測系統(tǒng)分為三個模塊:信息采集模塊、平臺控制模塊、分析模塊。信息采集模塊通過農場內置的傳感器以及全景攝像頭和單目攝像頭收集麥苗的溫度、濕度、麥苗桿的粗細和麥苗葉的圖像等信息。通過平臺控制模塊實現(xiàn)對收集到的數(shù)據(jù)分析后的可視化界面,控制農場麥苗生長的濕度、光照強度和溫度。分析模塊對采集到的數(shù)據(jù)采用深度學習的方式進行訓練,然后通過和數(shù)據(jù)庫中的數(shù)據(jù)對比,最終得出麥苗當前的生長情況,反饋到平臺控制模塊實現(xiàn)麥苗生長的智能化控制以及溫度、濕度和麥苗病蟲害的危害程度的相關預警。
智慧農場麥苗監(jiān)測系統(tǒng)通過傳感器網(wǎng)絡和信息網(wǎng)絡的高度結合,實現(xiàn)了農場麥苗養(yǎng)殖信息的快速、精確傳輸,確保了信息的實時性,正確性。同時也結合了深度學習對獲取到的數(shù)據(jù)進一步處理,深度神經網(wǎng)絡結合應用層對麥苗農場實現(xiàn)了半自動化的控制,最終達到降低管理成本以及提高麥苗生產率的目的。
信息采集模塊通過農場內安裝的多種傳感器收集信息。選用搭建Contex-M4 內核的阿波羅STM32F429 芯片為主控單元,是信息采集模塊的核心部分。STM32F429 采用Contex-M4 內核,帶FPU 和DSP 指令集,STM32F429 還擁有多達256K 的片內SRAM,支持SdRam、帶TFTLcd1 控制器、帶圖形加速器(Chorme ART)、帶攝像頭接口(DCMI)、加密處理器(CRYP)、USB 高速OTG、真隨機數(shù)發(fā)生器、OTP 存儲器等。最高運行頻率可達180Mhz;STM32F429 擁有ART 自適應實時加速器,可以達到相當于FLASH 零等待周期的性能。STM32F429的FSMC采用32 位多重AHB 總線矩陣,總線訪問速度快。STM32F429 的功耗為208uA/Mhz。TM32F42 9/39 系列,自帶了Lcd1 控制器和SdRam 接口,對于想要驅動大屏或需要大內存的使用是一個很好的選擇。
主控單元主要實現(xiàn)有:接收并判斷傳感器數(shù)據(jù)類型;數(shù)據(jù)格式的判定和轉換;處理數(shù)據(jù)、控制數(shù)據(jù)傳輸;建立數(shù)據(jù)鏈路,實現(xiàn)網(wǎng)絡數(shù)據(jù)的收發(fā)、打包與解包;控制繼電器執(zhí)行動作。
溫度={ (-)/_} + 25
其中:
-= 25℃時的值
-_= 溫度與曲線的平均斜率(以/℃或/℃表示)
主函數(shù)直接調用溫度傳感器的初始化函數(shù),并在while 循環(huán)中不停地獲取采集后的溫濕度值,代碼如下:
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);
}
}
利用光環(huán)境傳感器AP3232c,實現(xiàn)光照強度(ALS)、接近距離(PS)、紅外光強(IR)等的測量,將數(shù)據(jù)經過分析處理后顯示在農場實時Led屏中。主函數(shù)直接調用光敏傳感器的初始化函數(shù),并在while 循環(huán)中不停地獲取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?。骸保?/p>
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);
}
}
利用全景攝像頭和定點單目攝像頭對麥苗每日定時拍照,將獲取的圖片上傳到服務端中。
分析模塊主要分為兩部分,一部分是關于溫濕度、光照等數(shù)據(jù)信息進行的訓練;另一部分是針對麥苗圖像部分的處理。本分析模塊在深度學習網(wǎng)絡模型的訓練過程,也分為三部分數(shù)據(jù):訓練數(shù)據(jù)集、驗證數(shù)據(jù)集和測試數(shù)據(jù)集。其中,訓練數(shù)據(jù)集用來構建機器學習的基礎模型,也是用于模型擬合的基礎數(shù)據(jù)樣本;驗證數(shù)據(jù)集是用來輔助搭建模型,為麥苗模型提供無偏估計數(shù)據(jù),幫助更好地調整參數(shù);測試數(shù)據(jù)集用來評估模型的最終泛化。
關于溫濕度、光照強度等基礎信息的訓練,主要控制獲取到的數(shù)據(jù)與數(shù)據(jù)庫中健康麥苗所需要的環(huán)境信息進行對比訓練,最終得出當前麥苗所處的環(huán)境是否科學合理,得到結果后自動根據(jù)所需要的改變通過平臺控制模塊控制麥苗現(xiàn)場的設備調節(jié)環(huán)境。麥苗圖像的處理主要根據(jù)卷積神經網(wǎng)絡來對圖像進行識別。識別的方向主要有兩部分,一部分是對當前麥苗的生長情況進行識別,判斷當前麥苗生長是否符合當前環(huán)境麥苗的生長狀況。另一部分是針對麥苗的病蟲害進行識別。因為中國農業(yè)農場規(guī)模都比較小,得到的數(shù)據(jù)集規(guī)模比較小,所以所獲得的麥苗病蟲害數(shù)據(jù)也較小。為了得到一個準確率高的麥苗深度模型,采用數(shù)據(jù)增強方法來對已有圖像樣本進行數(shù)據(jù)擴充。采用對圖像樣本進行旋轉、水平平移、垂直平移、透視、縮放、水平翻轉六種操作來達到數(shù)據(jù)的增強。使用邊緣檢測對麥苗圖像進行邊緣檢測,并對圖像進行特征提出和特征向量歸一化處理,將歸一化后的特征輸入神經網(wǎng)絡分類器,由分類器對這組特性進行分類、判斷,得出識別結果。邊緣檢測算法的主要實現(xiàn)代碼:
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; } 通過在信息采集模塊采集獲取到的包括空氣溫度、濕度、光照強度和定時采集的麥苗圖像等數(shù)據(jù)上傳到數(shù)據(jù)庫的數(shù)據(jù),分析模塊對這些數(shù)據(jù)庫中的數(shù)據(jù)進行分析,最后呈現(xiàn)在Web和手機App 端的可視化控制模塊,實現(xiàn)半智能化控制和管理。 該系統(tǒng)采用B/S模式,由Web端和服務端兩部分組成。Web 端的功能包括圖像上傳、訓練結果、麥苗病害防治建議、備注功能以及控制麥苗農場設備控制功能。服務端的功能包括圖像的接收和存儲、圖像處理和病害識別檢測。其中Web 系統(tǒng)服務端采用的Python+Sweet 框架+Orcale數(shù)據(jù)庫。 智慧農場麥苗監(jiān)測系統(tǒng)對麥苗現(xiàn)場環(huán)境信息進行采集,麥苗現(xiàn)場環(huán)境信息經過深度訓練,在應用層通過可視化的方式將這些參數(shù)信息呈現(xiàn)出來,根據(jù)顯示的不同麥苗現(xiàn)場的數(shù)據(jù)信息對麥苗生產過程進行科學有效的指導,對麥苗現(xiàn)場出現(xiàn)的意外狀況實時處理,達到了麥苗農場的智慧化管理。2.3 平臺控制模塊
3 結語