鄧祺盛,紀爽,李政,馬雪倩,趙璐
(河北農(nóng)業(yè)大學,保定071000)
隨著物聯(lián)網(wǎng)技術在各個領域的興起[1],物聯(lián)網(wǎng)技術也在農(nóng)業(yè)中[2]發(fā)揮了重要作用。在農(nóng)作物生長過程中,會遇到各種各樣的病蟲害使農(nóng)作物染上疾病,而這些疾病往往會導致農(nóng)作物大面積傳染并引起死亡,從而造成經(jīng)濟上非常嚴重的損失。所以設計一種有效的、便捷的設備來進行病蟲害的發(fā)現(xiàn)和處理成為了一件亟待解決的事情。近年來,隨著圖像處理技術[3]的發(fā)展,一些學者也在農(nóng)作物病蟲害識別中廣泛地應用了此項技術。
本設計采用的是基于BP 神經(jīng)網(wǎng)絡的圖像處理技術,通過提取圖像的顏色、紋理特征來更加精準地發(fā)現(xiàn)并識別農(nóng)作物病蟲害,以便有效地實時反饋。
農(nóng)作物病蟲害圖像的采集與診斷系統(tǒng)主要由兩部分組成:病蟲害圖像采集終端和病蟲害圖像處理服務器。其中,病蟲害采集終端由相機模塊和可伸縮桿組成。相機模塊通過萬向輪固定在可伸縮桿的最頂端,可以進行360 度無死角拍攝;可伸縮桿則將相機模塊送入一些人都難以企及的地方,例如農(nóng)作物的根部、作物比較茂盛的區(qū)域進行圖像采集。圖像采集終端設備將采集的圖像傳輸給圖像處理服務器,圖像處理服務器則完成圖像數(shù)據(jù)的接收與存儲,并用BP 神經(jīng)網(wǎng)絡算法進行病蟲害識別與處理,及時進行反饋給用戶。
圖1 農(nóng)作物病蟲害圖像的采集與診斷系統(tǒng)
本設計中的相機模塊主要采用的是訊為電子推出的一款iTOP-4412 核心板,擁有四核處理器,8GB 內(nèi)存容量,同時支持SD 卡擴充。另外該開發(fā)板的續(xù)航能力非常強大,擁有電源管理芯片。而農(nóng)田里的溫度在夏天往往較高,變化幅度也大,而該開發(fā)板能夠在-20℃到70℃范圍內(nèi)能運行正常,該開發(fā)板保證了采集終端設備在農(nóng)地里良好地運行。
本設計中需要iTOP-4412 開發(fā)板實現(xiàn)圖像的采集、地理位置信息的獲取、農(nóng)作物溫度的測量以及圖像數(shù)據(jù)上傳等功能,所以配備的模塊主要有圖像采集模塊、JPEG 編碼模塊、溫濕度傳感器模塊、Wi-Fi 模塊、文件傳輸和圖像處理模塊以及GPS 地理位置信息模塊,因為采集終端是屬于手持可移動的便攜式設備,iTOP-4412 強大的續(xù)航能力給予了保障,所以供電問題可以先不用考慮。而且,本設計中是用定時采集方法采集圖像,定時周期根據(jù)具體效果具體設定。這樣做的好處就是節(jié)省用視頻拍攝所消耗的大部分資源。
圖2 圖像采集終端(相機)模塊結構示意圖
(1)圖像采集模塊
圖3 圖像采集具體流程
該模塊采用的是OV5640 CMOS 圖像傳感器,能夠高分辨率進行拍攝,以保證實現(xiàn)病蟲害圖像清晰識別。本設計主要利用V4L2 的API 接口函數(shù)對設備文件進行設置,用來實現(xiàn)采集終端對于攝像頭圖像數(shù)據(jù)的采集工作。對于圖像傳感器模塊,iTOP-4412 開發(fā)板提供有專用的硬件接口,處理器內(nèi)核有相應的驅動程序。而V4L2 為Linux 下的視頻設備程序提供了一套接口的規(guī)范。具體流程為:首先調(diào)用接口,選擇采集設備、設置分辨率以及圖像幀大小等步驟,通過定時器每隔一段時間進行一次拍攝圖像,使采集設備更加精簡,從而完成圖像的采集工作。
(2)JPEG 編碼模塊
獲得拍攝的圖像數(shù)據(jù)后,為了節(jié)省圖像傳輸所消耗的流量,以及能夠盡可能地提高圖像傳輸效率,以便服務器能夠及時處理并實時反饋給用戶,設計中必須盡可能地節(jié)省采集到傳輸?shù)臅r間,所以必須在無線傳輸前對圖像進行壓縮處理。在該模塊中即完成對拍攝圖像數(shù)據(jù)的壓縮編碼功能。
具體步驟為:
圖像采集模塊收到定時器發(fā)來的拍照命令后,JPEG 編碼模塊初始化、進行一系列的參數(shù)設置、開始編碼完成對圖像的JPEG 編碼。
(3)GPS 位置信息采集模塊
當我們采集完成所需要的圖像后,如何確定該圖像所拍攝的地理位置,進行病蟲害治療,這就需要用到定位模塊來確定了。在本設計中采用傳統(tǒng)的GPS 定位技術來獲取位置信息。當定時器發(fā)出拍攝命令時,系統(tǒng)將更新當前的GPS 經(jīng)緯度、高度以及時間信息,并連同編碼后的JPEG 數(shù)據(jù)寫入到文件中保存。
(4)圖像預處理模塊
在將采集到的圖像進行上傳前,本模塊將進行最后一道操作,即對采集的圖像先進行常用的一些預處理工作,進行圖像增強、特征提取等算法步驟,即上傳的圖像只需要原圖像的特征值信息、地理位置信息等少量數(shù)據(jù),這樣就降低了圖像處理所需要的執(zhí)行周期,減輕服務器處理的負擔,對于實時反饋系統(tǒng)有莫大的幫助。
(5)數(shù)據(jù)傳輸模塊
采集完成并經(jīng)過預處理以及寫入GPS 位置信息的圖像將會通過無線方式傳送到圖像處理服務器。在于本設計中,主要的面向對象是農(nóng)田,而一般可知,農(nóng)田都距離城鎮(zhèn)較遠,傳統(tǒng)的藍牙、Wi-Fi、ZigBee 技術都無法達到長距離傳輸,所以我們采用了GPRS 進行數(shù)據(jù)傳輸。當然,考慮到為了使采集終端設備更加廣泛的應用于農(nóng)業(yè)的各個領域,本設計中也添加了Wi-Fi 模塊,主要用于大棚、果園等距離城鎮(zhèn)、用戶居住地較近的地方進行數(shù)據(jù)傳輸。
圖像處理服務器主要包括病蟲害診斷模塊以及病蟲害反饋模塊。當服務器收到來自病蟲害采集終端發(fā)來的圖像數(shù)據(jù)后,用訓練好的BP 神經(jīng)網(wǎng)絡算法進行病蟲害類型識別,得出對應的病種后通過向用戶發(fā)送帶有位置信息、病蟲害信息以及解決辦法的數(shù)據(jù),完成實時反饋工作。
(1)圖像處理算法
BP 神經(jīng)網(wǎng)絡是一種多個層次并有反饋系統(tǒng)的網(wǎng)絡,該網(wǎng)絡通過輸入樣本值進行大量的練習,來得到期望的輸出。分為三層:輸入層、隱含層、輸出層。它的特點是從輸入層通過隱含層到輸出層逐層傳遞神經(jīng)元,若有誤差,則進行反饋傳遞。當輸出層的結果達不到預期的輸出時,神經(jīng)網(wǎng)絡就會反向傳遞,在反向傳遞的過程中,根據(jù)誤差來調(diào)整網(wǎng)絡權值和閾值,這樣就可以給出BP 神經(jīng)網(wǎng)絡一個樣本,BP 神經(jīng)網(wǎng)絡得到的預測結果就更能接近真實值(期望值),即一個良好的識別預測系統(tǒng)就構成了。
圖4 BP神經(jīng)網(wǎng)絡拓撲結構圖
圖4 中,X1,X2,…,Xn是BP 神經(jīng)網(wǎng)絡的輸入值,Y1,Y2,…,Ym是BP 神經(jīng)網(wǎng)絡的預測值或輸出值,中間的Wij和Wjk為BP 神經(jīng)網(wǎng)絡的權值。
以上是BP 神經(jīng)網(wǎng)絡的整體框架,該網(wǎng)絡可以看成一個非線性函數(shù),當我們需要做預測的時候,首先要做的是把這個非線性函數(shù)訓練好,得到的誤差值越小越好,即預測值逼近真實值。所以,我們需要進行以下的過程。
過程一:初始化
①確定網(wǎng)絡輸入層節(jié)點數(shù)n、隱含層節(jié)點數(shù)l,輸出層節(jié)點數(shù)m;
②輸入層與隱含層和隱含層與輸出層神經(jīng)元之間的權值Wij和Wjk;
③隱含層閾值a,輸出層閾值b;
④給定學習速率和神經(jīng)元激勵函數(shù)。
過程二:隱含層輸出
計算隱含層輸出H:
其中f 為隱含層激勵函數(shù),在本設計中的表達形式為:
過程三:輸出層計算
根據(jù)隱含層輸出函數(shù)H,權值Wjk和閾值b,計算神經(jīng)網(wǎng)絡預測輸出O:
過程四:誤差計算
根據(jù)網(wǎng)絡預測輸出O 和期望輸出(真實輸出)Y,計算神經(jīng)網(wǎng)絡的預測誤差值e:
過程五:權值更新
根據(jù)網(wǎng)絡預測誤差e 更新網(wǎng)絡連接權值Wij和Wjk:
過程六:閾值更新
根據(jù)網(wǎng)絡預測誤差e 更新網(wǎng)絡節(jié)點閾值a,b:
過程七:判斷是否結束算法,當誤差小于我們設定的某一個值時,即預測輸出逼近真實輸出,可以結束算法,否則重復執(zhí)行。
(2)MATLAB 圖像處理
本設計采用MATLAB 作為圖像識別軟件。具體步驟為提取圖像的顏色、紋理特征,本例建立一個基于BP 神經(jīng)網(wǎng)絡的大麥白粉病識別模型,最后可以實驗測試。
上節(jié)已經(jīng)講過,BP 神經(jīng)網(wǎng)絡分為三層結構,首先確定輸入層:由顏色特征中的R、G 分量一階矩和G 分量的二階矩,紋理特征中由熵、能量、慣性矩、相關參數(shù),總共是7 個輸入量來輸入到輸入層,則輸入層的神經(jīng)元為7。再確定隱含層:通過大量的訓練,我們來確定合適的隱含層神經(jīng)元數(shù)量,接下來就可以選取大量的(50 幅以上)得白粉病的大麥圖像作為BP 神經(jīng)網(wǎng)絡的樣本進行訓練,隨著訓練次數(shù)的增加,BP 神經(jīng)網(wǎng)絡的網(wǎng)絡誤差值會逐漸減小,直到逼近真實值某個固定范圍即可。
當大麥的圖像被圖像處理服務器進行病蟲害診斷以后,需要及時反饋給用戶。所以我們需要有一個反饋系統(tǒng)。這個反饋系統(tǒng)所反饋的信息包括:發(fā)現(xiàn)病蟲害的名稱、地理位置信息、時間農(nóng)田溫濕度以及病蟲害解決辦法?;诖?,我們就可以直接和用戶進行通信了。在本設計中,我們選取了兩種辦法結合:一是直接通過采集終端設備的GPRS 模塊進行通信,當有病蟲害的圖像被識別時,服務器直接發(fā)送數(shù)據(jù)到采集終端設備,讓終端設備發(fā)出警報信息;二是在手機端建立一個微信公眾號平臺,進行發(fā)送更加具體的關于病蟲害的名稱、地理位置信息、時間、以及解決辦法信息,并針對具體農(nóng)戶建立一個屬于自己的個性化農(nóng)作物參考。
(1)對象的選取
本設計出的系統(tǒng)選取大麥白粉病來進行實地測試。
通過對白粉病的了解并與正常大麥對比,我們可以發(fā)現(xiàn)得白粉病的大麥圖像和正常的大麥顏色和紋理特征均存在有一定的差異,即我們可以用來作為分類的依據(jù)。
(2)特征的提取
①顏色特征的提取
想要準確地提取病蟲害圖像的顏色,就得選用一種合適的顏色系統(tǒng)。目前,主流的顏色系統(tǒng)包括RGB系統(tǒng)、HIS 系統(tǒng)、CIE 系統(tǒng)等,而RGB 是運用最廣泛的、最基本的顏色系統(tǒng)。本設計就采用RGB 顏色系統(tǒng)。
RGB 顏色系統(tǒng)是基于人眼視覺結構形成的模型,所有的顏色都是三種基本色:紅(R)、綠(G)、藍(B)的不同排列組合,大部分的顯示器都是采用這種顏色系統(tǒng)。在大麥病蟲害中,不同的病所表現(xiàn)的顏色特征大多分布在低階矩陣中。所以我們可以提取病蟲害圖像RGB 顏色體系的一階矩σ1和二階矩σ2:
上式中,Ii(x,y)表示圖像的灰度。
然后用MATLAB 軟件從大麥病蟲害圖像、正常圖像中提取RGB 三通道分量的一階矩和二階矩,形成對比如表1 所示。
表1 圖像顏色矩陣特征參數(shù)
從表1 中可以看出,正常情況下大麥比得白粉病的大麥圖像的一階矩略低,但R 分量和B 分量也有明顯的差距;在二階矩中,正常大麥二階矩明顯低于得白粉病大麥,主要有G 分量。
②紋理特征的提取
紋理所反映的特征就是某些局部是緩慢變化的或者是重復性的,基于此我們就可以提取出不同圖像的紋理特征進行識別。紋理特征是通過像素以及局部紋理信息,即周圍空間的灰度分布來表現(xiàn)的。紋理特征的特點:局部序列性不斷重復、非隨機性、紋理區(qū)域內(nèi)大致均勻的統(tǒng)一體。在識別具有粗細、疏密等方面有較大區(qū)別的圖像時是一種非常有效的方式。
本設計中采用灰度共生矩陣的方法來提取紋理。
灰度共生矩陣(GLDM)的統(tǒng)計方法是20 世紀70年代初由R.Haralick 等人提出的,即通過計算圖像灰度得到它的共生矩陣。這個共生矩陣的特征值即課代表圖像的紋理特征。在本設計中提取了病蟲害圖像的能量、熵、相關性以及能量矩。通過灰度共生矩陣分析紋理特征得到表2 數(shù)據(jù)。
表2 紋理特征參數(shù)
從表2 可以看出,在熵值方面,正常的大麥比得白粉病的大麥圖像高十幾倍(均值),但此時的得白粉病的大麥圖像標準差很大;無論是能量、慣性矩還是相關性正常的大麥總比得白粉病的大圖要高一些,這些都可以作為區(qū)分的一個重要依據(jù)。
本設計是一種基于圖像處理技術的農(nóng)作物病蟲害圖像的采集與診斷系統(tǒng),在該系統(tǒng)中,我們主要從圖像采集終端和圖像處理服務器兩方面考慮的。在圖像采集終端設備,我們是站在前輩的肩膀上向前更近了一步,對于可移動伸縮采集終端進行了優(yōu)化設計,實現(xiàn)固定頻率拍照。從實時性的角度出發(fā),進行圖像預處理,能夠完成積極反饋,使之經(jīng)濟簡單有效,更加符合農(nóng)民的切實考慮需求。在圖像處理服務器中,本設計采用了BP 神經(jīng)網(wǎng)絡算法,通過大量的樣本訓練,用訓練好的BP 神經(jīng)網(wǎng)絡模型進行病蟲害識別,該模型對于大麥病斑(主要有白粉病、云紋病、條銹?。┳R別正確率高達86.7 %。
在此次設計中,還存在著一些不足。對于伸縮桿的伸縮程度并沒有考慮,在采集的位置選擇以及采集時間并沒有過多的探究,采集終端的數(shù)據(jù)傳輸方式還有更多的改善空間,還有對于反饋系統(tǒng)還沒有進行平臺的設計。