張凈,張康,劉曉梅,楊寧
(1. 江蘇大學電氣信息工程學院,江蘇鎮江,212013;2. 江蘇科茂信息技術有限公司,江蘇鎮江,212001)
如何充分監測到溫室中生長的植物狀態是目前溫室監測系統的關鍵。在傳統的溫室種植中,通過人工采樣的方法不僅效率低,更重要的是不能及時地做出預警,對于植物的生長狀態不能得到充分的保證。當前物聯網技術多采用Zigbee、GPRS、Sigfox和 NB-loT 等方式,但Zigbee和GPRS等技術普遍存在通信距離短、功耗大且布網復雜等缺點;而Sigfox和NB-loT等技術則由當地運營商管理,只有支付了訂費,傳感器才能進行數據傳輸[1]。此外,還有數據流量和數據包大小的限制,這些問題給數據傳輸造成了較大的麻煩,采用LoRa技術則能夠同時滿足低功耗、深覆蓋和布網簡易等要求[2]。當前圖像處理技術的發展,促進了農作物生長信息監測逐漸轉向信息化、智能化,對于農作物生長趨勢及種類有效識別是目前圖像處理領域較為棘手的一部分。
許多國內外學者對植物視覺監控方及環境因子監測等方面已進行了多種研究,王永干等[3]采用ZigBee協議搭建無線傳感器監測網絡并對植物的葉綠體進行準確測量與實時監測。Paturkar等[4]利用物聯網技術在室外條件下測量并監控不同植物生長時期的各種植物生長和結構參數。Dhillon等[5]利用葉片監測傳感器系統用以監控植物的水分以此來改善生長狀況。Lin等[6]提出了一種基于STM32的智能植物生長柜監控系統的設計方案,并設計了一種STM32模糊控制算法使其能夠為植物生長提供最佳生長環境。
本文所設計的基于物聯網的無線通信的遠程溫室視覺監控系統利用LoRa技術實現了植物生長過程中各項環境參數的實時監測,利用設計的錄屏及截屏功能定時錄制指定區域的農作物圖像,同時使用映像截屏功能將采集到的植物圖片放入葉片分類器中進行預處理,針對于農作物的種類及生長狀態,將處理后的農作物圖像結合克隆選擇算法和樸素貝葉斯算法對植物葉片進行識別,實時監測出植物的種類及狀態,以期達到實時監控并及時做出閾值報警的目的。
本系統主要包含以下幾個模塊,分別為環境因子采集與控制模塊、圖像采集模塊、葉片識別模塊以及集中控制模塊,系統主要工作流程為:通過放置于溫室內的攝像頭來采集農作物圖像,將其傳輸至集中控制模塊處理,然后在葉片識別分類器中進行分類識別,得到農作物種類及其識別率,從而得知農作物生長是否正常,此外利用多個傳感器對農作物生長環境中的溫濕度、二氧化碳濃度、光照強度等數據進行實時采集同時配以排風、補光等功能,以便于更好地對農作物的生長參數進行實時監測,最后通過在Qt上位機監控界面進行實時監控并查詢農作物生長視頻,獲取分類數據,對相應的環境參數及設備實時監控,系統的總體結構如圖1所示。
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 上位機監控設計界面
克隆選擇算法(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模型,并設計一種葉片識別分類器以此來提高識別率和識別時間等。
基于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) 選擇合適的農作物葉片作為樣本,使用訓練后的組合算法對其進行測試識別。
本文所選取的試驗樣本來自鎮江市江蘇科茂鄉下實驗基地所下轄的植物園采集的農作物葉片,采集了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
1) 本文結合了視覺監控與植物生長的管理需求,使用LoRa通信技術設計并實現了關于植物視覺的遠程監控系統,通過設定的錄制與截屏功能實現對農作物圖像的監控。系統主要包含了環境因子采集與控制模塊、圖像采集模塊、控制模塊以及葉片識別模塊,并且經試驗表明該系統能夠平穩運行,系統各部分之間銜接完整,能夠基本滿足用戶的需求。
2) 針對當代農業植株的生長狀態難以實時監控等情況,設計了一種基于克隆選擇算法的樸素貝葉斯分類器的葉片識別分類器,能夠及時調用數據集中的植物葉片并實現對葉片的識別與分類,通過實驗結果分析可知使用CSA+NBM算法識別葉片種類能夠使得其識別率達到95%左右,識別時間能夠達到8.4 ms 左右,相比于其他幾類算法識別有著明顯的提升。
3) 經過在實驗基地測試表明,使用LoRa通信技術來傳輸數據能夠穩定地傳輸,在400 m范圍內能夠使得丟包率保持在0%,而1 km范圍內丟包率能控制在10%左右。綜上所述,本文所提出的系統在成本和功耗方面都能有很大的降低,同時有著不錯的穩定性,對現代化農業的智能化發展有著重大意義。
4) 鑒于本系統實驗目前主要應用于溫室大棚,對于野外空曠環境的條件未進行進一步測試,未來需要在不同環境下進行多方位對比;此外,在未來的監控中還可添加一個自動診斷模塊,用以自動識別病蟲害。