羅匡男, 彭 琳, 齊偉恒
(云南農業大學云南省高校農業信息化重點實驗室,云南昆明 650201)
三七是我國的名貴中草藥,屬典型的陰生植物,必須在人為遮陰條件下進行栽培[1],其特殊的生長環境,常誘發各種病害。圓斑病與黑斑病近年來已成為三七地上部分的主要病害,且已成為眾多三七科研工作者的研究熱點[2]。三七病害的診斷也成為刻不容緩的問題,其中楊濤等通過建立人工抗病性鑒定方法來診斷三七的黑斑病[3];王志敏等通過人工檢疫法來識別三七的黑斑病和圓斑病[2]。以往的三七病斑識別都是人為識別或者生物試劑識別,這些傳統的識別方法往往很難實現且時效性差,給廣大三七種植戶帶來了較大的經濟影響。人工智能技術和農業信息化技術的不斷發展,使得用圖像處理和模式識別對作物病害進行識別成為可能。1989年穗波信雄等利用計算機視覺技術分別對缺乏鈣、鐵、鎂營養元素的茨菇葉片進行了基礎研究[4];2009年Carmargo等采用圖像處理的方法識別植物病害的視覺特征[5];2014年劉濤等通過計算機視覺技術對水稻病斑進行特征提取和識別[6],這些國內外研究為機器視覺識別植物病害提供了理論和實踐基礎,然而在三七葉片病斑識別方面卻鮮見通過機器視覺方法對病斑進行自動識別的研究。在此背景下,本試驗主要針對三七在雨季常發的2種病害(黑斑病、圓斑病)的自動識別進行研究。
本研究的樣本為三七發病率較高的黑斑病、圓斑病(三七發病率較高的2種病)的圖片。病斑圖片是在云南農業大學農學院三七研究實驗室的幫助下進行采集的。由于受光照不均或者其他外界環境的影響,采集的圖片即使經過預處理也很難去除圖像的陰影和噪聲,因此需要將采集后的圖片進行人工選取,選擇光照較均勻的圖片作為樣本。選取黑斑病、圓斑病的病斑葉片圖片各60張,共計120個樣本。
本研究采用東京大學Shibata教授團隊提出的一組基于方向邊緣對圖像和視頻中關鍵特征進行提取和表示的方法進行樣本圖片特征提取。其中Yagi博士等提出的投影主要邊緣分布(projected prcipal-edge distribution,簡稱PPED)特征[7]是一種較優的全局特征表示方法,能夠將分辨率為64×64的圖像(或圖像的局部區域)通過1個64維的特征向量進行表示。相比于其他全局特征提取算法,Yagi博士等提出的PPED特征提取方法具有提取速度快、獲取的向量維度較低且在硬件電路上的實現比較容易等優點。
算法的具體實現包括圖片的預處理、特征向量的計算、特征向量的濾波等步驟。
1.2.1 三七圖片預處理 圖像在進行特征提取前需進行預處理,這里主要是將其轉化為分辨率64×64的灰度圖像。圖1為三七黑斑病葉片的原圖像,圖2為經過上述處理后的圖像。

1.2.2 邊緣檢測
1.2.2.1 給定模板卷積 為檢測4個方向的邊緣信息,這里給定了水平、垂直、正負45°方向的卷積模板(圖3)。依次用卷積模板與目標圖像中的每個5×5區域進行卷積運算,對于圖像邊緣的像素,為了方便卷積運算,可以把圖像分辨率擴展為68×68,多余的部分都補充為0。4個方向的模板都卷積完成后,即可得到4個方向上包含邊緣信息的矩陣。圖4為卷積后的輸出圖像。

1.2.2.2 動態閾值 利用閾值運算法(閾值法)提取邊緣檢測出來的形狀,閾值的選取對最終結果有很大的影響。這里采用的是動態閾值法,具體的思路是在目標圖像的5×5區域塊中,分別計算各相鄰像素水平方向、垂直方向數值差的絕對值。計算完畢后,可以得到40個值,然后求出這40個值的中值(t),該中指即為動態閾值。1個點與4個方向的模板卷積后得到4個值,分別記為b、c、d、e,用max_con表示4個值中的最大值。當max_con大于t時,則最大值所在方向的對應值設為1,其他方向為0;當max_con小于t時,則4個方向的值都設為0,最終可以得到4個對應值都是1或0、分辨率為64×64的矩陣,4個矩陣分別用Br、Cr、Dr、Er來表示,圖5為動態閾值后的圖像。



1.2.3 特征向量計算
1.2.3.1 水平方向 把Br的每行元素相加得到64個數據,用cCrPositive 45表示,再把這64個數據中連續的4個數據相加得到16個數據,存入bBrTemp。
1.2.3.2 垂直方向 把Dr的每行元素相加得到64個數據,再把這64個數據中連續的4個數據相加得到16個數據,存入dDrTemp。
1.2.3.3 正45°方向 該方向的處理比水平方向和垂直方向復雜。把正45°方向的所有數據相加,得到127個數據,存入positive45中,并采用公式(1)進行數據處理,公式中positive45代表正45°方向投影向量,k代表向量維數。最終得到64個數據,用cCrPositive 45表示,再把64個數據中連續的4個數據相加得到16個數據,存入cCrTemp。
cCrPositive45(k)=positive45(2×k)/2+positive45(2×k+1)+prositive45(2×k+2)/2;
k=0 ∶63;
positive45(0)=positive45(128)=0。
(1)
1.2.3.4 負45°方向 處理過程和正45°方向類似,最后把處理完的數據存入eErTemp中。最終得到的特征向量如圖6所示。

1.2.4 特征向量濾波 由于向量中的高頻成分可影響圖像匹配時的準確性,因此要對不同方向的特征向量進行濾波處理。濾波時有2種選擇,一種是只對水平和垂直方向的向量進行濾波;另一種是完全濾波,即對4個方向的特征向量都進行濾波處理。經過對比試驗,完全濾波的效果更佳。對特征向量進行濾波后的結果如圖7所示。

以水平方向為例,濾波后的值用bFilter表示,其濾波公式為
bFilter(k)=bBrTemp(k-1)/4+bBrTemp(k)/2+bBrTemp(k+1)/4;
k=1 ∶16;
bBrTemp(0)=bBrTemp(17)=0。
(2)
通過投影主要邊緣分布方法提取出圖像的特征向量后,利用機器學習中的聚類算法來區分不同特征的圖像。學習分為有監督學習和無監督學習,聚類算法屬于無監督學習。聚類算法的實質是對未知所屬類數據進行分組,將相似的數據分為同一組,不相似的數據在不同組。k-means算法是聚類算法的典型代表,該算法計算聚類的相似度是基于簇中對象的平均值來進行的[8-10]。
1.3.1k-means 本研究使用k-means算法識別三七病斑的具體步驟為:
(1)從120個三七病斑特征向量中,任意選取2個向量作為初始中心點;
(2)分別計算剩余118個向量到這2個中心點的距離d,本研究使用歐幾里得距離,其計算公式為

(3)
(3)找到每個向量的最小距離d,將其歸入到與中心點相同的簇中;
(4)遍歷完所有向量后,重新選擇每個簇的中心點;
(5)重復步驟(2)、(3)、(4),這個過程循環進行,直到最后1次選擇的中心點和倒數第2次選擇的中心點相同。
1.3.2k-means++ 由于k-means聚類算法的初始中心點是隨機選取,所以聚類的結果屬于局部最優值。而Arthur等提出的k-means++算法[11-13],可以很好地解決這個問題,該方法改進了初始中心點的選取方法,使聚類結果可以獲取全局最優值。k-means++算法的基本步驟:
(1)從給定數據集X中隨機選取1個簇中心點A1;

(3)重復執行步驟(2),直到k個聚類都被選完為止;
(4)以選取簇中心點使用k-means算法進行聚類。
算法的本質是在選擇初始簇中心時,選擇距離絕對值最大的向量作為初始簇中心點。本研究在使用k-means++算法的過程中首先從輸入的120個特征向量中隨機選擇1個向量作為第1個簇中心點,對于其他119個特征向量,計算與第1個簇中心點的距離D,選擇較大距離D的向量作為第2個簇中心點,使用這2個簇中心點運行標準的k-means算法。
圖像中包含大量的信息,對圖像進行處理時,為方便處理,都需要通過某種方式來提取圖像信息中最能代表該圖像獨特特征的信息,同時去除掉大量冗余的信息。這樣在后序的處理過程中就可以節省大量的資源,從而快速提高數據處理的速度。特征提取是圖像處理中的第1步,選取合適的特征進行提取和特征表述算法對于后序的處理有著至關重要的作用。將使用PPED特征提取方法提取的2種類型的病斑特征向量圖進行對比,由圖8可以看出,此算法可將分辨率 64×64的圖片用64維特征向量表示。

為避免結果的隨機性,確保試驗的準確性和可靠性,試驗分4組進行,其中前3組由每類三七圖片各選20張組成,最后1組把所有的三七圖片進行分類識別,最終的試驗結果見表1。由表1可知,每組的識別率都在80%以上,其中黑斑病的平均識別率為85.825%,圓斑病的平均識別率為 90.425%,說明本算法在三七病斑的分類識別上有良好的效果。

表1 不同樣本組的識別結果
本研究通過對三七的雨季常見病(黑斑病,圓斑病)圖片進行采集,并采用機器視覺的方法對這2種病進行識別,解決了傳統人工識別時效性差的缺點,為三七黑斑病和圓斑病的快速識別提供了一種有效的方法和途徑。
使用投影主要邊緣分布(PPED)特征法提取三七病斑的特征向量,與傳統的特征提取方法相比,PPED特征提取和表示方法的運算復雜度低,特征的辨識能力強,適用于硬件電路上的運算。
使用結合k-means++的k-means算法進行病斑識別,平均識別率為85.825%,達到了較好的識別效果。
[1]林良斌,劉彥中,楊志新. 植物基因工程在應用中存在的問題及對策[J]. 云南農業大學學報,2001,16(2):144-147.
[2]王志敏,皮自聰,羅萬東,等. 三七圓斑病和黑斑病及其防治[J]. 農業與技術,2016,36(1):49-51,53.
[3]楊 濤,陳昱君,段承俐,等. 三七黑斑病抗性人工鑒定方法的建立[J]. 云南農業大學學報,2006,21(5):549-553,559.
[4]賴軍臣,李少昆,明 博,等. 作物病害機器視覺診斷研究進展[J]. 中國農業科學,2009,42(4):1215-1221.
[5]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.
[6]劉 濤,仲曉春,孫成明. 基于計算機視覺的水稻葉部病害識別研究[J]. 中國農業科學,2014,47(4):664-674.
[7]Yagi M,Shibata T. An image representation algorithm compatible with neural-associative-processor-based hardware recognition systems[J]. IEEE Trans Neural Networks,2003,14(5):1144-1161.
[8]Zhu Q,Yeh M C,Cheng K T,et al. Fast human detection using a cascade of histograms of oriented gradients[C]. IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2006:1491-1498.
[9]Shi C,Yang J,Han Y,et al. A 1000 fps vision chip based on a dynamically reconfigurable hybrid architecture comprising a PE array processor and self-organizing map neural network[J]. IEEE Journal of Solid-State Circuits,2014,49(9):2067-2082.
[10]Kanungo T,Mount D M,Netanyahu N S,et al. An efficientk-means clustering algorithm:analysis and implementation[J]. IEEE Transactions on Pattern Analysis and Machine Inbelligence,2002,24(7):881-892.
[11]Arthur D,Vassilvitskii S.k-means++:the advantages of careful seeding[C]. Proceedings of the Eighteenth Annual ACM-SIAM Symposium on Discrete Algorithms,2007:1027-1035.
[12]岑梓源,李 彬,田聯房. 基于k-means++聚類的體繪制高維傳遞函數設計方法[J]. 計算機應用,2012,32(12):3404-3407.
[13]鄧繼忠,李 敏,袁之報,等. 基于圖像識別的小麥腥黑穗病害特征提取與分類[J]. 農業工程學報,2012,28(3):172-176.