董松 徐曉輝 宋濤
摘要 為解決黃瓜生長(zhǎng)過(guò)程中出現(xiàn)的病害問(wèn)題,提出一種基于計(jì)算機(jī)視覺(jué)的病害遠(yuǎn)程自動(dòng)化識(shí)別方案,Android手機(jī)客戶端完成圖像采集和結(jié)果獲取,PC服務(wù)器端實(shí)現(xiàn)病害的自動(dòng)識(shí)別及信息反饋。采集黃瓜常見(jiàn)的霜霉病、白粉病、靶斑病3種病害各100幅圖像,在服務(wù)器端進(jìn)行預(yù)處理操作,之后提取病害顏色、形狀和紋理3方面的12個(gè)特征數(shù)據(jù),基于支持向量機(jī)實(shí)現(xiàn)對(duì)病害的分類識(shí)別?;贏ndroid SDK開(kāi)發(fā)病害識(shí)別系統(tǒng)軟件客戶端,通過(guò)HTTP協(xié)議實(shí)現(xiàn)與服務(wù)器的信息交互。經(jīng)測(cè)試,系統(tǒng)的客戶端和服務(wù)器端信息交互良好,3種病害的識(shí)別率分別達(dá)95%、87.5%、90%,Android客戶端自由便攜,在一定程度上實(shí)現(xiàn)了黃瓜葉部病害遠(yuǎn)程自動(dòng)判別,為農(nóng)業(yè)物聯(lián)網(wǎng)構(gòu)建提供一種技術(shù)途徑。
關(guān) 鍵 詞 黃瓜病害;計(jì)算機(jī)視覺(jué);支持向量機(jī);病害識(shí)別;信息交互
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è)輸出保障了社會(huì)的發(fā)展需求,然而病害是果蔬產(chǎn)業(yè)的一大阻力,黃瓜作為人類餐桌上的日常蔬菜,也容易在生長(zhǎng)過(guò)程中產(chǎn)生各種病害。以前工作者依靠自己的經(jīng)驗(yàn)來(lái)進(jìn)行管理,隨著計(jì)算機(jī)視覺(jué)技術(shù)的發(fā)展壯大,研究者開(kāi)始在果蔬病害識(shí)別智能化的領(lǐng)域做出研究和探索[1-2]。劉濤等[3]利用mean_shift算法實(shí)現(xiàn)水稻葉部病斑分割并構(gòu)建了一種病健交界特征參數(shù),提高了識(shí)別精度;楊倩[4]采用顏色矩和LBP均勻模式綜合特征參數(shù)提取大麥病斑特征,識(shí)別正確率達(dá)84.745 8%;孫世鵬等[5]提取3方面分量特征,建立Bayes線性判別函數(shù),冬棗黑斑類病害識(shí)別率達(dá)89.6%;Huang[6]提取蝴蝶蘭秧苗軟腐病、褐斑病的顏色和紋理特征,基于前饋神經(jīng)網(wǎng)絡(luò)進(jìn)行分類,識(shí)別率達(dá)89.6%;Camargoa等[7]提取不同空間內(nèi)的顏色特征,通過(guò)閾值法分割獲得病斑圖像。
對(duì)于果蔬的病害研究現(xiàn)在仍是一個(gè)重要課題,但大多識(shí)別方法依賴于體積較大的電腦,局限于硬件設(shè)備,無(wú)法自由移動(dòng),研究結(jié)果不能滿足實(shí)際培育和生產(chǎn)中自由移動(dòng)識(shí)別的應(yīng)用需求。本研究提出一種黃瓜病害遠(yuǎn)程自動(dòng)化識(shí)別的設(shè)計(jì)方案,通過(guò)Android客戶端和PC服務(wù)器的信息交互來(lái)實(shí)現(xiàn)。在服務(wù)器端提取黃瓜葉部霜霉病、白粉病、靶斑病等3種病害中的特征數(shù)據(jù),應(yīng)用支持向量機(jī)對(duì)提取的特征數(shù)據(jù)進(jìn)行分類訓(xùn)練,旨在通過(guò)計(jì)算機(jī)視覺(jué)技術(shù)實(shí)現(xiàn)一種能對(duì)黃瓜葉部3種病害準(zhǔn)確識(shí)別的方法。然后在Android手機(jī)上開(kāi)發(fā)病害識(shí)別系統(tǒng),與PC服務(wù)器交互獲取病害識(shí)別結(jié)果,實(shí)現(xiàn)病害圖像采集與處理識(shí)別兩部分的分離,為黃瓜葉部病害識(shí)別的自動(dòng)化提供一種新的途徑。
1 病斑圖像的獲取及預(yù)處理
1.1 圖像的獲取
為保證研究結(jié)果的準(zhǔn)確性,黃瓜3種病害的圖像一部分采集自某種植基地,另一部分來(lái)自網(wǎng)絡(luò)。霜霉病、白粉病和靶斑病3種病害均挑選拍攝效果較為理想、病斑特征明顯的圖像,在種植基地拍攝采集的過(guò)程中以白板作為拍攝背景,盡量減少干擾信息,每種病害圖像各100幅,共300幅,并統(tǒng)一裁剪成400 × 300標(biāo)準(zhǔn)的大小。
1.2 圖像的預(yù)處理
病斑圖像在采集過(guò)程中由于光照、灰塵、水霧等環(huán)境因素影響會(huì)使圖像中包含一定的噪聲[8],影響圖像質(zhì)量,這對(duì)后期的圖像處理會(huì)造成干擾,因此采用對(duì)于圖像隨機(jī)噪聲降噪能力較為理想且造成圖像模糊程度較低的中值濾波對(duì)裁剪好的圖像進(jìn)行濾波處理。
在OpenCV中提供了cvCvtColor()函數(shù)來(lái)得到相應(yīng)的灰度圖像,用于后期紋理特征的提取。對(duì)于病斑的圖像分割采用最大類間方差分割法(OTSU)[9],它不需給出特定的閾值參數(shù)依然可以得到較好的分割結(jié)果。在OpenCV庫(kù)中可以調(diào)用cvThreadhold()函數(shù)實(shí)現(xiàn)OTSU分割方法,并獲取病斑的二值化圖像。同時(shí)為濾除二值化圖像的干擾信息,對(duì)圖像進(jìn)行開(kāi)運(yùn)算,先腐蝕后膨脹,消除圖像中獨(dú)立的小部分及纖維處分離部分,然后通過(guò)與原圖像的與操作獲取病斑圖像[10]。
對(duì)于RGB三分量的提取,通過(guò)調(diào)用OpenCV庫(kù)中的cvCvtColor()函數(shù)實(shí)現(xiàn)顏色空間的轉(zhuǎn)化,再調(diào)用cvSplit()函數(shù)實(shí)現(xiàn)RGB顏色空間模型三分量的分割提取。霜霉病RGB三分量如圖1所示,黃瓜3種病害的二值化圖像和彩色分割圖像如圖2和圖3所示。
2 病斑圖像特征提取
2.1 顏色特征提取
病態(tài)的黃瓜葉片通常會(huì)局部呈現(xiàn)出不正常顏色,不同病害產(chǎn)生的病斑顏色也有很大差別,那么根據(jù)病斑顏色構(gòu)成之間的差距可以提取病斑圖像獨(dú)有的顏色特征,從而作為分類器的一種判斷依據(jù)。最常用的彩色圖像模型就是RGB三通道模型,Stricker提出采用顏色矩來(lái)描述彩色圖像中的顏色分布情況,圖像顏色的主要分布情況大部分都可以用顏色空間的一階矩和二階矩來(lái)表示[11],所以本研究提取病斑圖像RGB 3個(gè)通道的一階矩和二階矩也即圖像的平均顏色和標(biāo)準(zhǔn)差,這樣可以獲得6個(gè)顏色特征數(shù)據(jù),計(jì)算公式可表示為:
調(diào)用OpenCV庫(kù)[12]中的cvSplit()函數(shù)獲取RGB圖像的R、G、B 3個(gè)分量,再通過(guò)cvAvgSdv()函數(shù)提取每一個(gè)通道顏色的一階矩、二階矩,計(jì)算每種病害訓(xùn)練樣本的各個(gè)顏色特征數(shù)據(jù)。
2.2 形狀特征提取
形狀特征主要體現(xiàn)對(duì)象的幾何特征,一般是指對(duì)于圖像經(jīng)位移變換、旋轉(zhuǎn)變換及尺度變化等干擾下仍有效的深層次特征的提取。普通的形狀特征不具有對(duì)于位置變換的不敏感性,病斑圖像的復(fù)雜性會(huì)造成普通形狀特征有較大的誤差,通過(guò)圖像中病斑的面積即像素總和A和病斑邊緣的像素?cái)?shù)總和即為周長(zhǎng)L可以得到3個(gè)具有較大穩(wěn)定性的形狀特征數(shù)據(jù)[13-14]。
調(diào)用OpenCV庫(kù)中的cvContoursArea()函數(shù)計(jì)算圖像中病斑的輪廓面積A,cvArcLength()函數(shù)計(jì)算病斑的輪廓長(zhǎng)度L,以此為基礎(chǔ)數(shù)據(jù)計(jì)算圓形度[R1]、形狀復(fù)雜度[R2]和內(nèi)接圓半徑[R3]。
2.3 紋理特征提取
紋理特征是圖像識(shí)別中重要的特征之一,相對(duì)其他特征描述起來(lái)相對(duì)困難,但卻是圖像描述中的一個(gè)重要視覺(jué)特征。20世紀(jì)70年代初Haralick等[15]假定圖像各個(gè)像素之間的分布關(guān)系中包含著圖像的紋理特征,提出灰度共生矩陣(Gray-Level Co-occurrence Matrix,GLCM)的統(tǒng)計(jì)方法?;叶裙采仃嘯P(i,j|d,θ)](i,j=0,1,2,…,L-1)代表兩個(gè)像素出現(xiàn)的概率。兩個(gè)像素的灰度級(jí)用i和j來(lái)表示,空間位置關(guān)系為[d=(Dx,Dy)],L為灰度級(jí),[θ]為GLCM的生成方向。通過(guò)灰度共生矩陣的分析計(jì)算,紋理特征可以表示為以下4個(gè)參數(shù):
灰度共生矩陣計(jì)算參數(shù)中包括方向[θ],計(jì)算時(shí)應(yīng)取[(0°,45°,90°,135°)] 4個(gè)方向的灰度共生矩陣的紋理數(shù)據(jù)的均值作為紋理特征向量的各個(gè)分量值。
3 基于支持向量機(jī)的分類識(shí)別
3.1 SVM理論
1995年Vapnik等[16]提出了SVM理論,其核心思想是通過(guò)變化尋找某一最符合分類條件的分類超平面,該平面可以同時(shí)兼顧分類間隔的最大化和分類精度的精細(xì)化。為實(shí)現(xiàn)分類器的高效分類性能,通過(guò)某種函數(shù)變化將所需問(wèn)題映射到某一高維空間,在高維空間中變得線性可分,這樣就能夠做出分類判斷,這即為需要核函數(shù)映射的SVM,這個(gè)過(guò)程需要經(jīng)反復(fù)驗(yàn)證之后確定懲罰參數(shù)C以及相應(yīng)的核函數(shù)參數(shù)。SVM分類器決策核函數(shù)公式為
式中,γ是核參數(shù),默認(rèn)值是1/num-features。本研究采用徑向基核函數(shù)的原因有2個(gè),首先徑向基核函數(shù)可以將數(shù)據(jù)映射到高維空間,以處理標(biāo)簽和屬性之間的非線性關(guān)系;其次過(guò)多的參數(shù)會(huì)影響模型的復(fù)雜度,徑向基核函數(shù)只需要經(jīng)交叉驗(yàn)證后確定懲罰參數(shù)C和γ,結(jié)果偏差性較小。本文采用由臺(tái)灣大學(xué)林智仁教授等開(kāi)發(fā)的LIBSVM軟件包進(jìn)行分類訓(xùn)練。LIBSVM開(kāi)源軟件包支持Windows、Linux、Matlab等多個(gè)平臺(tái)使用,編譯好的Windows平臺(tái)程序可以直接在PC端運(yùn)行。
3.2 SVM分類識(shí)別方法
黃瓜3種代表性病害采集的各100幅圖像中,每種病害隨機(jī)挑選出60幅圖像作為訓(xùn)練樣本,另外40幅作為測(cè)試樣本,識(shí)別方式分成以下2種:
1)單獨(dú)采用顏色、形狀、紋理特征數(shù)據(jù)進(jìn)行訓(xùn)練識(shí)別;
2)3種特征數(shù)據(jù)結(jié)合進(jìn)行訓(xùn)練識(shí)別。
每種訓(xùn)練方法反復(fù)進(jìn)行3次,60幅訓(xùn)練圖像也隨機(jī)抽取3次以保證結(jié)果的準(zhǔn)確性,最后計(jì)算平均識(shí)別率,在計(jì)算識(shí)別結(jié)果的平均數(shù)量時(shí)均采取四舍五入取整的方式。
為消除特征數(shù)據(jù)中較大數(shù)據(jù)對(duì)小數(shù)據(jù)的干擾,在對(duì)樣本數(shù)據(jù)進(jìn)行測(cè)試之前需要對(duì)其進(jìn)行歸一化處理。本研究采用默認(rèn)歸一化范圍[-1,1]。經(jīng)交叉驗(yàn)證后確定懲罰參數(shù)C = 32,核函數(shù)參數(shù)γ = 1,建立最優(yōu)數(shù)據(jù)模型采用上述3種方式進(jìn)行分類識(shí)別。表1和表2分別是以上2種識(shí)別方式的結(jié)果。
3.3 結(jié)果分析
特征數(shù)據(jù)單獨(dú)識(shí)別時(shí),綜合來(lái)看紋理特征對(duì)于識(shí)別率貢獻(xiàn)要比其他兩組大一些。3種特征結(jié)合進(jìn)行訓(xùn)練識(shí)別,霜霉病、白粉病、靶斑病識(shí)別成功率分別達(dá)到95%、87.5%、92.5%。對(duì)比兩種識(shí)別方式,顏色、形狀和紋理特征對(duì)于病害識(shí)別均有不同程度的貢獻(xiàn),相比單獨(dú)的某一種特征數(shù)據(jù)識(shí)別率要更高,黃瓜病害識(shí)別系統(tǒng)服務(wù)器端綜合3種特征數(shù)據(jù)對(duì)采集的圖像進(jìn)行病害識(shí)別。
4 黃瓜病害識(shí)別系統(tǒng)的實(shí)現(xiàn)
4.1 客戶端開(kāi)發(fā)
本研究的移動(dòng)平臺(tái)硬件采用紅米NOTE4? Android智能手機(jī),處理器是Helio P22,運(yùn)行內(nèi)存4 GB,主頻2.0 GHz。服務(wù)器運(yùn)行環(huán)境是搭載Window7系統(tǒng)的PC,CPU是Intel Core i3-2330M(2.6 GHz),GPU是AMD Radeon HD6700 M Series。
手機(jī)客戶端[17]的黃瓜病害識(shí)別系統(tǒng)分為3個(gè)部分,分別是病害圖像的獲取、圖像裁剪和上傳、遠(yuǎn)程識(shí)別結(jié)果的獲取與顯示。Android SDK中調(diào)用ImageView、Button、TextView控件實(shí)現(xiàn)圖片加載、按鈕點(diǎn)擊、信息獲取等,在AndroidMainfest.xml文件中注冊(cè)信息寫(xiě)入和讀取權(quán)限,通過(guò)CAMERA_CODE、GALLERY_CODE和CROP_CODE調(diào)用相機(jī)、相冊(cè)和裁剪功能。
承載服務(wù)器的PC和手機(jī)連接在實(shí)驗(yàn)室的局域網(wǎng)內(nèi),手機(jī)客戶端通過(guò)內(nèi)部布署的URL(Uniform Resource Locator)路徑和HTTP(Hyper Text Transfer Protocol)協(xié)議訪問(wèn)服務(wù)器,將采集的病害圖像上傳至服務(wù)器,服務(wù)器端通過(guò)SVM分類器對(duì)圖像進(jìn)行識(shí)別并向客戶端返回識(shí)別結(jié)果,手機(jī)接收反饋信息展示給用戶。為增強(qiáng)軟件實(shí)用性,系統(tǒng)還提供病害百科信息及病害圖像的存儲(chǔ)功能。黃瓜病害識(shí)別系統(tǒng)各部分界面如圖4所示,系統(tǒng)交互流程圖如圖5所示。
4.2 識(shí)別系統(tǒng)測(cè)試
手機(jī)客戶端隨機(jī)選擇40幅每種病害圖像上傳至服務(wù)器進(jìn)行識(shí)別,統(tǒng)計(jì)結(jié)果如表3所示。經(jīng)測(cè)試,黃瓜病害識(shí)別系統(tǒng)客戶端與服務(wù)器交互良好,上傳識(shí)別的交互時(shí)間大概在2~3 s,霜霉病、白粉病、靶斑病的識(shí)別成功率為95%、87.5%、90%。對(duì)比PC端的結(jié)果,由于樣本的差異性,識(shí)別率有微弱浮動(dòng),但基本穩(wěn)定,識(shí)別結(jié)果符合預(yù)期。
5 結(jié)語(yǔ)
以黃瓜葉部常見(jiàn)病害霜霉病、白粉病、靶斑病為研究對(duì)象,設(shè)計(jì)了一種采集功能和識(shí)別功能分離的病害遠(yuǎn)程識(shí)別系統(tǒng)。在PC服務(wù)器端提取了病害圖像顏色、形狀、紋理3個(gè)方面的12個(gè)特征數(shù)據(jù),通過(guò)SVM對(duì)特征數(shù)據(jù)進(jìn)行分類訓(xùn)練和識(shí)別,實(shí)現(xiàn)了基于計(jì)算機(jī)視覺(jué)技術(shù)的黃瓜病害識(shí)別方法。手機(jī)客戶端通過(guò)Android SDK開(kāi)發(fā)了黃瓜病害識(shí)別系統(tǒng)用于病害圖像獲取與判別結(jié)果顯示。經(jīng)測(cè)試,基于手機(jī)客戶端與PC服務(wù)器的黃瓜病害識(shí)別系統(tǒng)能夠?qū)崿F(xiàn)良好的交互,基本上可以達(dá)到實(shí)時(shí)性傳輸,霜霉病、白粉病、靶斑病的識(shí)別成功率分別達(dá)到95%、87.5%、90%,可有效識(shí)別3種病害,并且極大程度上增強(qiáng)了系統(tǒng)的移動(dòng)性和實(shí)用性,實(shí)現(xiàn)了黃瓜葉部病害遠(yuǎn)程自動(dòng)化判別,對(duì)于農(nóng)業(yè)物聯(lián)網(wǎng)中果蔬病害智能化管理有一定的借鑒意義。
本研究的病害圖像未將病害的發(fā)展程度、病害的混合性考慮在內(nèi),研究?jī)?nèi)容僅限于霜霉病、白粉病、靶斑病3種病害,其他病害仍需進(jìn)一步研究驗(yàn)證。
參考文獻(xiàn):
[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ì)算機(jī)視覺(jué)的水稻葉部病害識(shí)別研究[J]. 中國(guó)農(nóng)業(yè)科學(xué),2014,47(4):664-674.
[4]? ? 楊倩,高曉陽(yáng),武季玲,等. 基于顏色和紋理特征的大麥主要病害識(shí)別研究[J]. 中國(guó)農(nóng)業(yè)大學(xué)學(xué)報(bào),2013,18(5):129-135.
[5]? ? 孫世鵬,李瑞,謝洪起,等. 基于機(jī)器視覺(jué)的冬棗病害檢測(cè)[J]. 農(nóng)機(jī)化研究,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ò)在黃瓜葉部病害識(shí)別中的應(yīng)用[J]. 江蘇農(nóng)業(yè)學(xué)報(bào),2018,34(1):56-61.
[10]? 陳曉倩,唐晶磊,王棟. 基于SLIC方法的光照偏強(qiáng)農(nóng)田圖像分割研究[J]. 計(jì)算機(jī)工程與應(yīng)用,2018,54(2):177-181.
[11]? 宋麗娟. 基于顏色特征碼本的病害圖像分類算法研究[J]. 安徽農(nóng)業(yè)科學(xué),2018,46(4):198-202.
[12]? 王勝輝,劉鵬,馮宏恩,等. 基于OpenCV的高壓電氣設(shè)備放電紫外成像檢測(cè)圖像量化參數(shù)提取[J]. 計(jì)算機(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ì)算機(jī)視覺(jué)的葡萄葉部病害識(shí)別研究[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.