劉 輝,魏 莉
(安徽廣播電視大學 信息與建筑工程學院,合肥 230022)
各類植物病害在農業(yè)生產中不可避免,導致農業(yè)減產和農產品質量下降,這對農民收入造成很大影響。面對植物病害,一些有經驗的農業(yè)生產者及農業(yè)技術人員也要花費大量的工作和時間來處理,如檢測、分析和噴灑農藥等。而噴灑農藥對人身體會產生一定的傷害,因此需要研究新的噴灑農藥的方法。另外,目前大量的農村勞動力進城務工,這就使得農業(yè)勞動力人口大量減少,人力資源的可用性越來越少[1],尋找替代人工噴灑農藥的方法顯得尤為迫切,本文研究的噴藥機器人技術是替代人工方法之一。
本文研究的噴藥機器人結構主要是由伺服電機、潛水泵、噴霧器、噴嘴和浮動傳感器等組成。噴藥機器人采用無線傳輸的方式連接到工作人員的電腦和智能手機上,它的主要功能是:接收有關任務的指令和將實時視頻流傳輸到工作人員的電腦上。本研究中,我們對噴藥機器人采集到的圖像利用MATLAB軟件進行處理,具體做法是利用安裝在噴藥機器人上的USB網絡攝像頭,將拍攝到的視頻無線傳輸到電腦上,在電腦上捕獲圖像并使用MATLAB軟件對其進行處理,以檢測作物疾病。
關于植物病蟲害圖像處理的技術,王帥帥采用閾值分割方法對高光譜圖像進行處理,利用BP神經網絡對鮮桃進行病害檢測[2],來自高光譜數據的植被指數已顯示用于間接監(jiān)測植物病害,但是他們無法區(qū)分作物上的不同疾病。為了找到疾病作物對應的波長,黃林生等人使用RELIEF-F算法,分析小麥染病早期最敏感波段和波段差,得出白粉病病害指數[3]。而在圖像處理過程中,由于原始圖像是RGB格式,其灰度范圍為0至255,因此很難處理,需要將其轉換為灰色圖像作為增強圖像,從而獲取更高的質量和清晰度。為了增強圖像灰度,楊森等人使用高密度采樣法和K-均值聚類算法對圖像進行了分割識別[4]。對于甘藍遭受蟲害的狀況,高雄等人使用數碼相機捕獲葉片圖像,并使用MATLAB軟件處理圖像,識別蟲害的種類,確?;瘜W藥品使用的準確性[5]。為了精準檢測植物中的病害,SANKARAN S等人將人工神經網絡用于檢測植物的疾病[6],BARBEDO J G A使用模式識別技術來識別水稻疾病[7]。
本文考慮了四種不同的情況(鏈格孢菌、炭疽病菌、細菌枯萎病和尾孢屬真菌葉斑病)對作物的傷害,采用MATLAB圖像處理技術,建立HIS模型對圖像進行分割,然后進行邊界和點檢測,以識別作物的感染部分,最后通過遠程操控噴藥機器人對病害作物進行精準農藥噴灑,達到植物保護的目的。
噴藥機器人的研究與后期的使用不僅能夠減少農業(yè)生產者的工作強度,還會提高噴灑農藥的效率和準確性。本文研究與開發(fā)的噴藥機器人采用Raspberry Pi和Arduino UNO用作微處理器單元[8],結構框架如圖1所示。
噴藥機器人采用HC-05藍牙模塊連接到Arduino UNO,后者又連接到工作人員的智能手機。工作人員可以通過智能手機控制噴藥機器人執(zhí)行前進、后退或轉向運動以及農藥噴灑的動作。USB攝像頭采集到的視頻信息,經過藍牙傳輸到電腦端[9],工作人員使用MATLAB軟件在電腦上對圖像進行處理,通過分析得到作物蟲害疾病的情況,過程如圖2所示。
圖2 圖像采集過程
本文設計的噴藥機器人主要有三個功能,分別是噴藥機器人行進、視頻采集和農藥噴灑。工作人員通過Android應用程序操作噴藥機器人實現機器人的運動和農藥噴灑的動作[10]。植物病害檢測是在電腦端實現的,先將USB網絡攝像頭連接到Raspberry Pi,然后把Raspberry Pi放置在噴藥機器人上,實現實時采集的視頻流傳輸到工作人員的電腦上,利用MATLAB軟件在電腦端運行疾病檢測算法[11],獲得植物病害信息。
噴藥機器人行進,采用直流電機進行驅動。直流電機選擇ZGB37RG型號,其轉矩為55 Nm,轉速300 r/min,這種配置能夠保證噴藥機器人合適的運行速度。另外,直流電機由Arduino UNO在L293D(電機驅動裝置)協(xié)助下進行控制的。HC-05藍牙模塊接收輸入信號,并將其發(fā)送到處理器,處理器通過接收信號發(fā)出指令,啟用特定引腳來打開和關閉直流電動機,控制電機運轉或停止。
借助USB網絡攝像頭和Raspberry Pi,將視頻流傳輸到工作人員電腦端。視頻流傳輸可以通過多種方式來進行,可以通過安裝GSTREAMER軟件來實現,或是在發(fā)送器端和接收器端都安裝VLC播放器。通過比較,我們選擇使用VLC播放器的形式傳輸視頻,這種方式既簡單又方便,工作人員可以從視頻流中獲取快照,以便對作物病害進行檢測。
藍牙模塊通過接口連接到Arduino UNO的數字引腳,該數字引腳與遠程工作人員的智能手機相連,并從安裝在智能手機上的Android應用程序接收信號。噴藥機器人的噴藥機構是由浮動傳感器、潛水泵、噴嘴和軟管組成。浮動傳感器和潛水泵保持在農藥箱內。軟管的小直徑一端連接到潛水泵,另一端連接到噴霧器噴嘴。工作人員在電腦上運行MATLAB程序算法,如果算法結果顯示植物受到某種疾病的侵害,則可以利用Android應用程序啟動噴藥機器人噴灑特定的農藥。
疾病檢測程序算法分為兩個階段,第一個階段是將健康作物與受病害影響的作物的分離,第二個階段是專注于在植物葉片上病害程度的分析。 我們使用MATLAB軟件開發(fā)了一種高效且快速的響應程序算法,具體使用圖像處理進行分類的基本步驟如下:
任何視覺系統(tǒng)的第一階段都是圖像采集階段,計算機獲得圖像后,可以將各種處理方法應用于圖像,以執(zhí)行所需的不同視覺任務[12]。如果未獲取令人滿意的圖像,則可能無法完成預期的任務,即使借助某種形式的圖像增強技術也難以實現。本次研究捕獲的圖像采用RGB形式(紅色、綠色和藍色),為了研究方便,我們將圖像從一種顏色空間轉換為另一種顏色空間。MATLAB包含了圖像處理所需的所有工具,這些工具涵蓋了所有色彩空間的轉換。圖3顯示了圖像加載到MATLAB軟件中呈現的樣式。
圖3 圖像采集
圖像預處理是考慮由于圖像采集可能不理想而需要增強圖像視覺質量的處理過程。在這個過程中,運用圖像邊緣增強、噪聲過濾、銳化等技術,使得圖像增強結果比原始圖像更適合特定的應用[13]。用于圖像處理的輸入顏色是原色,即紅色、綠色和藍色,由于它們的灰度范圍是0到255,而輸入的灰度圖像只包含一個顏色通道信息,無法使用RGB來實現應用程序的加載。因此,使用以下顏色轉換公式將RGB圖像轉換為灰度圖像。
F(X)=0.2989*R+0.5870*G+0.1140*B
其中,F(X)表示圖像灰度值,0.2989,0.5870,0.1140分別表示像素點R分量、G分量、B分量對應的權值。
本研究考慮采用以累積分布函數變換法為基礎的直方圖修正法來消除諸如裁剪之類的噪聲,并進行圖像平滑和增強處理以增加圖像對比度,如圖4所示。
圖4 圖像預處理
圖像分割與其組成要素(處理對象)有關,可以分為需要處理的部分與不需要處理的部分[14]。本研究使用MATLAB算法進行圖像分割及特征區(qū)域提取,包括:邊緣檢測、閾值化、邊界提取、區(qū)域增長、分割和合并,結果如圖5所示。
圖5 圖像分割
在經過圖像分割得到我們感興趣的區(qū)域之后,進行圖像特征提取,通過降維,用較為緊湊的特征向量來表示分割圖像部分的顏色、紋理、熵、均值偏差等。將參數輸入到MATLAB程序中,生成相關數據如圖6所示。
特征提取完成后,將獲得的值與健康葉子的預加載值進行比較,通過比較獲得的值的差異,進行疾病分類。
圖6 特征提取與數值計算
表1中列出植物蟲害的類型和處理方法,是基于文中提出的分析與處理方法得出的最終工作模型。從流視頻中獲取的圖像被加載到MATLAB算法中,以進行疾病檢測。使用MATLAB進行圖像處理的結果如表1所示。
表1 蟲害的類型和處理
本研究通過使用MATLAB圖像處理技術對植物病害進行檢測,實現在植物生長階段及時發(fā)現蟲害,采用噴藥機器人對植物蟲害進行滅殺,達到植物保護的目的。圖像處理的過程是基于MATLAB算法進行的,包括圖像采集、圖像預處理、圖像分割、特征提取與數值計算,最后將獲得的病害圖像的顏色、紋理、熵、均值偏差等與健康葉子的預加載值進行比較,從差異中進行疾病分類,發(fā)現病害。工作人員利用智能手機中安裝的Android應用程序來控制噴藥機器人的行進運動并向植物噴灑農藥,達到滅殺蟲害的目的。