董松 徐曉輝 宋濤



摘要 為解決黃瓜生長過程中出現(xiàn)的病害問題,提出一種基于計算機視覺的病害遠程自動化識別方案,Android手機客戶端完成圖像采集和結(jié)果獲取,PC服務(wù)器端實現(xiàn)病害的自動識別及信息反饋。采集黃瓜常見的霜霉病、白粉病、靶斑病3種病害各100幅圖像,在服務(wù)器端進行預(yù)處理操作,之后提取病害顏色、形狀和紋理3方面的12個特征數(shù)據(jù),基于支持向量機實現(xiàn)對病害的分類識別。基于Android SDK開發(fā)病害識別系統(tǒng)軟件客戶端,通過HTTP協(xié)議實現(xiàn)與服務(wù)器的信息交互。經(jīng)測試,系統(tǒng)的客戶端和服務(wù)器端信息交互良好,3種病害的識別率分別達95%、87.5%、90%,Android客戶端自由便攜,在一定程度上實現(xiàn)了黃瓜葉部病害遠程自動判別,為農(nóng)業(yè)物聯(lián)網(wǎng)構(gòu)建提供一種技術(shù)途徑。
關(guān) 鍵 詞 黃瓜病害;計算機視覺;支持向量機;病害識別;信息交互
Abstract To solve the problem of disease in the process of cucumber growth, a remote automatic identification scheme based on computer vision was proposed. The Android mobile phone client completed image acquisition and result acquisition, and the PC server realized automatic disease identification and information feedback. Collect 100 images of common downy mildew, powdery mildew and target spot disease in cucumber, perform pretreatment operation on the server side, and then extract twelve characteristic data of disease color, shape and texture based on support vector. The machine realizes the identification of diseases. The disease identification system software client was developed based on the Android SDK, and the information interaction with the server was realized through the HTTP protocol. After testing, the client and server information of the system interacted well, and the recognition rates of the three diseases were 95%, 87.5%, 90%. The Android client was freely portable, and the remote automatic discrimination of cucumber leaf disease was realized to some extent. The research provided a technical approach to the construction of agricultural Internet of Things.
Key words cucumber disease; computer vision; support vector machine; disease identification; information exchange
0 引言
大面積的果蔬產(chǎn)業(yè)輸出保障了社會的發(fā)展需求,然而病害是果蔬產(chǎn)業(yè)的一大阻力,黃瓜作為人類餐桌上的日常蔬菜,也容易在生長過程中產(chǎn)生各種病害。以前工作者依靠自己的經(jīng)驗來進行管理,隨著計算機視覺技術(shù)的發(fā)展壯大,研究者開始在果蔬病害識別智能化的領(lǐng)域做出研究和探索[1-2]。劉濤等[3]利用mean_shift算法實現(xiàn)水稻葉部病斑分割并構(gòu)建了一種病健交界特征參數(shù),提高了識別精度;楊倩[4]采用顏色矩和LBP均勻模式綜合特征參數(shù)提取大麥病斑特征,識別正確率達84.745 8%;孫世鵬等[5]提取3方面分量特征,建立Bayes線性判別函數(shù),冬棗黑斑類病害識別率達89.6%;Huang[6]提取蝴蝶蘭秧苗軟腐病、褐斑病的顏色和紋理特征,基于前饋神經(jīng)網(wǎng)絡(luò)進行分類,識別率達89.6%;Camargoa等[7]提取不同空間內(nèi)的顏色特征,通過閾值法分割獲得病斑圖像。
對于果蔬的病害研究現(xiàn)在仍是一個重要課題,但大多識別方法依賴于體積較大的電腦,局限于硬件設(shè)備,無法自由移動,研究結(jié)果不能滿足實際培育和生產(chǎn)中自由移動識別的應(yīng)用需求。本研究提出一種黃瓜病害遠程自動化識別的設(shè)計方案,通過Android客戶端和PC服務(wù)器的信息交互來實現(xiàn)。在服務(wù)器端提取黃瓜葉部霜霉病、白粉病、靶斑病等3種病害中的特征數(shù)據(jù),應(yīng)用支持向量機對提取的特征數(shù)據(jù)進行分類訓(xùn)練,旨在通過計算機視覺技術(shù)實現(xiàn)一種能對黃瓜葉部3種病害準確識別的方法。然后在Android手機上開發(fā)病害識別系統(tǒng),與PC服務(wù)器交互獲取病害識別結(jié)果,實現(xiàn)病害圖像采集與處理識別兩部分的分離,為黃瓜葉部病害識別的自動化提供一種新的途徑。
1 病斑圖像的獲取及預(yù)處理
1.1 圖像的獲取
為保證研究結(jié)果的準確性,黃瓜3種病害的圖像一部分采集自某種植基地,另一部分來自網(wǎng)絡(luò)。霜霉病、白粉病和靶斑病3種病害均挑選拍攝效果較為理想、病斑特征明顯的圖像,在種植基地拍攝采集的過程中以白板作為拍攝背景,盡量減少干擾信息,每種病害圖像各100幅,共300幅,并統(tǒng)一裁剪成400 × 300標準的大小。
1.2 圖像的預(yù)處理
病斑圖像在采集過程中由于光照、灰塵、水霧等環(huán)境因素影響會使圖像中包含一定的噪聲[8],影響圖像質(zhì)量,這對后期的圖像處理會造成干擾,因此采用對于圖像隨機噪聲降噪能力較為理想且造成圖像模糊程度較低的中值濾波對裁剪好的圖像進行濾波處理。
在OpenCV中提供了cvCvtColor()函數(shù)來得到相應(yīng)的灰度圖像,用于后期紋理特征的提取。對于病斑的圖像分割采用最大類間方差分割法(OTSU)[9],它不需給出特定的閾值參數(shù)依然可以得到較好的分割結(jié)果。在OpenCV庫中可以調(diào)用cvThreadhold()函數(shù)實現(xiàn)OTSU分割方法,并獲取病斑的二值化圖像。同時為濾除二值化圖像的干擾信息,對圖像進行開運算,先腐蝕后膨脹,消除圖像中獨立的小部分及纖維處分離部分,然后通過與原圖像的與操作獲取病斑圖像[10]。
對于RGB三分量的提取,通過調(diào)用OpenCV庫中的cvCvtColor()函數(shù)實現(xiàn)顏色空間的轉(zhuǎn)化,再調(diào)用cvSplit()函數(shù)實現(xiàn)RGB顏色空間模型三分量的分割提取。霜霉病RGB三分量如圖1所示,黃瓜3種病害的二值化圖像和彩色分割圖像如圖2和圖3所示。
2 病斑圖像特征提取
2.1 顏色特征提取
病態(tài)的黃瓜葉片通常會局部呈現(xiàn)出不正常顏色,不同病害產(chǎn)生的病斑顏色也有很大差別,那么根據(jù)病斑顏色構(gòu)成之間的差距可以提取病斑圖像獨有的顏色特征,從而作為分類器的一種判斷依據(jù)。最常用的彩色圖像模型就是RGB三通道模型,Stricker提出采用顏色矩來描述彩色圖像中的顏色分布情況,圖像顏色的主要分布情況大部分都可以用顏色空間的一階矩和二階矩來表示[11],所以本研究提取病斑圖像RGB 3個通道的一階矩和二階矩也即圖像的平均顏色和標準差,這樣可以獲得6個顏色特征數(shù)據(jù),計算公式可表示為:
調(diào)用OpenCV庫[12]中的cvSplit()函數(shù)獲取RGB圖像的R、G、B 3個分量,再通過cvAvgSdv()函數(shù)提取每一個通道顏色的一階矩、二階矩,計算每種病害訓(xùn)練樣本的各個顏色特征數(shù)據(jù)。
2.2 形狀特征提取
形狀特征主要體現(xiàn)對象的幾何特征,一般是指對于圖像經(jīng)位移變換、旋轉(zhuǎn)變換及尺度變化等干擾下仍有效的深層次特征的提取。普通的形狀特征不具有對于位置變換的不敏感性,病斑圖像的復(fù)雜性會造成普通形狀特征有較大的誤差,通過圖像中病斑的面積即像素總和A和病斑邊緣的像素數(shù)總和即為周長L可以得到3個具有較大穩(wěn)定性的形狀特征數(shù)據(jù)[13-14]。
調(diào)用OpenCV庫中的cvContoursArea()函數(shù)計算圖像中病斑的輪廓面積A,cvArcLength()函數(shù)計算病斑的輪廓長度L,以此為基礎(chǔ)數(shù)據(jù)計算圓形度[R1]、形狀復(fù)雜度[R2]和內(nèi)接圓半徑[R3]。
2.3 紋理特征提取
紋理特征是圖像識別中重要的特征之一,相對其他特征描述起來相對困難,但卻是圖像描述中的一個重要視覺特征。20世紀70年代初Haralick等[15]假定圖像各個像素之間的分布關(guān)系中包含著圖像的紋理特征,提出灰度共生矩陣(Gray-Level Co-occurrence Matrix,GLCM)的統(tǒng)計方法。灰度共生矩陣[P(i,j|d,θ)](i,j=0,1,2,…,L-1)代表兩個像素出現(xiàn)的概率。兩個像素的灰度級用i和j來表示,空間位置關(guān)系為[d=(Dx,Dy)],L為灰度級,[θ]為GLCM的生成方向。通過灰度共生矩陣的分析計算,紋理特征可以表示為以下4個參數(shù):
灰度共生矩陣計算參數(shù)中包括方向[θ],計算時應(yīng)取[(0°,45°,90°,135°)] 4個方向的灰度共生矩陣的紋理數(shù)據(jù)的均值作為紋理特征向量的各個分量值。
3 基于支持向量機的分類識別
3.1 SVM理論
1995年Vapnik等[16]提出了SVM理論,其核心思想是通過變化尋找某一最符合分類條件的分類超平面,該平面可以同時兼顧分類間隔的最大化和分類精度的精細化。為實現(xiàn)分類器的高效分類性能,通過某種函數(shù)變化將所需問題映射到某一高維空間,在高維空間中變得線性可分,這樣就能夠做出分類判斷,這即為需要核函數(shù)映射的SVM,這個過程需要經(jīng)反復(fù)驗證之后確定懲罰參數(shù)C以及相應(yīng)的核函數(shù)參數(shù)。SVM分類器決策核函數(shù)公式為
式中,γ是核參數(shù),默認值是1/num-features。本研究采用徑向基核函數(shù)的原因有2個,首先徑向基核函數(shù)可以將數(shù)據(jù)映射到高維空間,以處理標簽和屬性之間的非線性關(guān)系;其次過多的參數(shù)會影響模型的復(fù)雜度,徑向基核函數(shù)只需要經(jīng)交叉驗證后確定懲罰參數(shù)C和γ,結(jié)果偏差性較小。本文采用由臺灣大學(xué)林智仁教授等開發(fā)的LIBSVM軟件包進行分類訓(xùn)練。LIBSVM開源軟件包支持Windows、Linux、Matlab等多個平臺使用,編譯好的Windows平臺程序可以直接在PC端運行。
3.2 SVM分類識別方法
黃瓜3種代表性病害采集的各100幅圖像中,每種病害隨機挑選出60幅圖像作為訓(xùn)練樣本,另外40幅作為測試樣本,識別方式分成以下2種:
1)單獨采用顏色、形狀、紋理特征數(shù)據(jù)進行訓(xùn)練識別;
2)3種特征數(shù)據(jù)結(jié)合進行訓(xùn)練識別。
每種訓(xùn)練方法反復(fù)進行3次,60幅訓(xùn)練圖像也隨機抽取3次以保證結(jié)果的準確性,最后計算平均識別率,在計算識別結(jié)果的平均數(shù)量時均采取四舍五入取整的方式。
為消除特征數(shù)據(jù)中較大數(shù)據(jù)對小數(shù)據(jù)的干擾,在對樣本數(shù)據(jù)進行測試之前需要對其進行歸一化處理。本研究采用默認歸一化范圍[-1,1]。經(jīng)交叉驗證后確定懲罰參數(shù)C = 32,核函數(shù)參數(shù)γ = 1,建立最優(yōu)數(shù)據(jù)模型采用上述3種方式進行分類識別。表1和表2分別是以上2種識別方式的結(jié)果。
3.3 結(jié)果分析
特征數(shù)據(jù)單獨識別時,綜合來看紋理特征對于識別率貢獻要比其他兩組大一些。3種特征結(jié)合進行訓(xùn)練識別,霜霉病、白粉病、靶斑病識別成功率分別達到95%、87.5%、92.5%。對比兩種識別方式,顏色、形狀和紋理特征對于病害識別均有不同程度的貢獻,相比單獨的某一種特征數(shù)據(jù)識別率要更高,黃瓜病害識別系統(tǒng)服務(wù)器端綜合3種特征數(shù)據(jù)對采集的圖像進行病害識別。
4 黃瓜病害識別系統(tǒng)的實現(xiàn)
4.1 客戶端開發(fā)
本研究的移動平臺硬件采用紅米NOTE4? Android智能手機,處理器是Helio P22,運行內(nèi)存4 GB,主頻2.0 GHz。服務(wù)器運行環(huán)境是搭載Window7系統(tǒng)的PC,CPU是Intel Core i3-2330M(2.6 GHz),GPU是AMD Radeon HD6700 M Series。
手機客戶端[17]的黃瓜病害識別系統(tǒng)分為3個部分,分別是病害圖像的獲取、圖像裁剪和上傳、遠程識別結(jié)果的獲取與顯示。Android SDK中調(diào)用ImageView、Button、TextView控件實現(xiàn)圖片加載、按鈕點擊、信息獲取等,在AndroidMainfest.xml文件中注冊信息寫入和讀取權(quán)限,通過CAMERA_CODE、GALLERY_CODE和CROP_CODE調(diào)用相機、相冊和裁剪功能。
承載服務(wù)器的PC和手機連接在實驗室的局域網(wǎng)內(nèi),手機客戶端通過內(nèi)部布署的URL(Uniform Resource Locator)路徑和HTTP(Hyper Text Transfer Protocol)協(xié)議訪問服務(wù)器,將采集的病害圖像上傳至服務(wù)器,服務(wù)器端通過SVM分類器對圖像進行識別并向客戶端返回識別結(jié)果,手機接收反饋信息展示給用戶。為增強軟件實用性,系統(tǒng)還提供病害百科信息及病害圖像的存儲功能。黃瓜病害識別系統(tǒng)各部分界面如圖4所示,系統(tǒng)交互流程圖如圖5所示。
4.2 識別系統(tǒng)測試
手機客戶端隨機選擇40幅每種病害圖像上傳至服務(wù)器進行識別,統(tǒng)計結(jié)果如表3所示。經(jīng)測試,黃瓜病害識別系統(tǒng)客戶端與服務(wù)器交互良好,上傳識別的交互時間大概在2~3 s,霜霉病、白粉病、靶斑病的識別成功率為95%、87.5%、90%。對比PC端的結(jié)果,由于樣本的差異性,識別率有微弱浮動,但基本穩(wěn)定,識別結(jié)果符合預(yù)期。
5 結(jié)語
以黃瓜葉部常見病害霜霉病、白粉病、靶斑病為研究對象,設(shè)計了一種采集功能和識別功能分離的病害遠程識別系統(tǒng)。在PC服務(wù)器端提取了病害圖像顏色、形狀、紋理3個方面的12個特征數(shù)據(jù),通過SVM對特征數(shù)據(jù)進行分類訓(xùn)練和識別,實現(xiàn)了基于計算機視覺技術(shù)的黃瓜病害識別方法。手機客戶端通過Android SDK開發(fā)了黃瓜病害識別系統(tǒng)用于病害圖像獲取與判別結(jié)果顯示。經(jīng)測試,基于手機客戶端與PC服務(wù)器的黃瓜病害識別系統(tǒng)能夠?qū)崿F(xiàn)良好的交互,基本上可以達到實時性傳輸,霜霉病、白粉病、靶斑病的識別成功率分別達到95%、87.5%、90%,可有效識別3種病害,并且極大程度上增強了系統(tǒng)的移動性和實用性,實現(xiàn)了黃瓜葉部病害遠程自動化判別,對于農(nóng)業(yè)物聯(lián)網(wǎng)中果蔬病害智能化管理有一定的借鑒意義。
本研究的病害圖像未將病害的發(fā)展程度、病害的混合性考慮在內(nèi),研究內(nèi)容僅限于霜霉病、白粉病、靶斑病3種病害,其他病害仍需進一步研究驗證。
參考文獻:
[1]? ? BARBEDO J G A. A review on the main challenges in automatic plant disease identification based on visible range images[J]. Biosystems Engineering,2016,144:52-60.
[2]? ? JEON W S,RHEE S Y. Plant leaf recognition using a convolution neural network[J]. The International Journal of Fuzzy Logic and Intelligent Systems,2017,17(1):26-34.
[3]? ? 劉濤,仲曉春,孫成明,等. 基于計算機視覺的水稻葉部病害識別研究[J]. 中國農(nóng)業(yè)科學(xué),2014,47(4):664-674.
[4]? ? 楊倩,高曉陽,武季玲,等. 基于顏色和紋理特征的大麥主要病害識別研究[J]. 中國農(nóng)業(yè)大學(xué)學(xué)報,2013,18(5):129-135.
[5]? ? 孫世鵬,李瑞,謝洪起,等. 基于機器視覺的冬棗病害檢測[J]. 農(nóng)機化研究,2018,40(9):183-188.
[6]? ? HUANG K Y. Application of artificial neural network for detecting Phalaenopsis seedling diseases using color and texture features[J]. Computers and Electronics in Agriculture,2007,57(1):3-11.
[7]? ? CAMARGO A,SMITH J S. An image-processing based algorithm to automatically identify plant disease visual symptoms[J]. Biosystems Engineering,2009,102(1):9-21.
[8]? ? REVATHI P,HEMALATHA M. Cotton leaf spot diseases detection utilizing feature selection with skew divergence method[J]. International Journal of Scientific Engineering and Technology,2014,3(1):22-30.
[9]? ? 張善文,謝澤奇,張晴晴. 卷積神經(jīng)網(wǎng)絡(luò)在黃瓜葉部病害識別中的應(yīng)用[J]. 江蘇農(nóng)業(yè)學(xué)報,2018,34(1):56-61.
[10]? 陳曉倩,唐晶磊,王棟. 基于SLIC方法的光照偏強農(nóng)田圖像分割研究[J]. 計算機工程與應(yīng)用,2018,54(2):177-181.
[11]? 宋麗娟. 基于顏色特征碼本的病害圖像分類算法研究[J]. 安徽農(nóng)業(yè)科學(xué),2018,46(4):198-202.
[12]? 王勝輝,劉鵬,馮宏恩,等. 基于OpenCV的高壓電氣設(shè)備放電紫外成像檢測圖像量化參數(shù)提取[J]. 計算機應(yīng)用與軟件,2016,33(9):167-170,189.
[13]? EBRAHIMI M A,KHOSHTAGHAZA M H,MINAEI S,et al. Vision-based pest detection based on SVM classification method[J]. Computers and Electronics in Agriculture,2017,137:52-58.
[14]? 王利偉,徐曉輝,蘇彥莽,等. 基于計算機視覺的葡萄葉部病害識別研究[J]. 江蘇農(nóng)業(yè)科學(xué),2017,45(23):222-225.
[15]? HARALICK R M,SHANMUGAM K,DINSTEIN I. Textural features for image classification[J]. IEEE Transactions on Systems,Man,and Cybernetics,1973,SMC-3(6):610-621.
[16]? HSU C W,LIN C J. A comparison of methods for multiclass support vector machines[J]. IEEE Transactions on Neural Networks,2002,13(2):415-425.
[17]? GAVALAS D,ECONOMOU D. Development platforms for mobile applications:status and trends[J]. IEEE Software,2011,28(1):77-86.