林中琦,牟少敏*,時愛菊,孫肖肖,李磊
(1.山東農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院,山東泰安271018; 2.山東農(nóng)業(yè)大學(xué)化學(xué)與材料科學(xué)學(xué)院,山東泰安271018)
基于Spark的支持向量機(jī)在小麥病害圖像識別中的應(yīng)用
林中琦1,牟少敏1*,時愛菊2,孫肖肖1,李磊1
(1.山東農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院,山東泰安271018; 2.山東農(nóng)業(yè)大學(xué)化學(xué)與材料科學(xué)學(xué)院,山東泰安271018)
為了提高小麥病害圖像分類的效率,提出了一種基于Spark的并行式支持向量機(jī)算法。首先對小麥病害圖像進(jìn)行濾波去噪、灰度壓縮等處理,利用灰度共生矩陣、不變矩陣等從顏色、紋理和形狀3個方面提取49個特征向量;然后通過數(shù)據(jù)集的切分和并行框架的支持,將大數(shù)據(jù)并行處理技術(shù)Spark與支持向量機(jī)結(jié)合,運用Scala語言實現(xiàn)了串行支持向量機(jī)算法的并行化,并將其應(yīng)用于小麥病害圖像識別。針對小麥銹病和白粉病的圖像分類測試結(jié)果表明,當(dāng)測試圖像分別是2 600、3 900、5 120張時,該算法對銹病的分類精度依次是76.03%、81.18%、77.82%,對白粉病的分類精度依次是83.27%、85.91%、83.14%,比串行支持向量機(jī)分類精度有所提升。分類時間依次是13 928.0、18 506.1、24 897.2 ms,明顯低于串行支持向量機(jī)的分類時間。改進(jìn)的算法實現(xiàn)了小麥病害分類精度的小幅度提升,明顯提高了處理速度,具有較快的學(xué)習(xí)收斂速率。
小麥病害;圖像分類;Spark;支持向量機(jī);大數(shù)據(jù);并行計算;圖像特征提取
目前,小麥病害識別基本上是憑借植保專家和務(wù)農(nóng)人員的專業(yè)知識和工作經(jīng)驗進(jìn)行判斷和歸類,費時費力,效率較低,嚴(yán)重影響小麥病害防治工作的精準(zhǔn)性和時效性。近年來,隨著數(shù)字圖像處理技術(shù)的快速發(fā)展,通過計算機(jī)進(jìn)行作物病害識別體現(xiàn)出前所未有的高效性。眾多經(jīng)典的模式識別算法,如支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)等,為農(nóng)業(yè)病害防治奠定了堅實的理論基礎(chǔ)。備受關(guān)注的大數(shù)據(jù)并行處理技術(shù),更是大大加快了計算機(jī)運行速度。因此,將三者結(jié)合,實現(xiàn)小麥病害種類快速而精準(zhǔn)的識別分類,能夠帶來巨大的農(nóng)業(yè)經(jīng)濟(jì)效益和廣闊的開發(fā)應(yīng)用前景。
支持向量機(jī)(SVM)是由Vapnik[1]提出的一種機(jī)器學(xué)習(xí)分類算法,因其嚴(yán)密的數(shù)學(xué)推理和較好的實踐結(jié)果而備受關(guān)注,被廣泛應(yīng)用到農(nóng)作物病害識別中。田有文等[2]將SVM應(yīng)用到葡萄病害的圖像識別中。宋凱等[3]實現(xiàn)了基于SVM的玉米葉片的病害識別。張建華等[4]改進(jìn)了最優(yōu)二叉樹SVM,并將其應(yīng)用于蜜柚葉面的病害識別。任東等[5]利用線性組合核函數(shù)的SVM處理黃瓜病害圖像,取得了較好的試驗結(jié)果。Camargo等[6]以SVM為理論基礎(chǔ),以植物病害的52個特征參數(shù)為試驗材料,得出其最優(yōu)分辨率。
SVM適用于小樣本,在處理大規(guī)模數(shù)據(jù)時,算法的時間、空間復(fù)雜度急劇增加,傳統(tǒng)串行SVM無法較好地處理大規(guī)模數(shù)據(jù)集。針對SVM處理海量數(shù)據(jù)開銷大、速度慢的缺點,研究人員尋求解決方法,目前主要有2種途徑:原始算法改進(jìn)和并行計算[7-10]。Woodsend等[11]將信息傳遞接口(MPI)與開放式信息傳遞接口(OpenMP)混合,實現(xiàn)了多核SVM;Graf等[12]提出基于級聯(lián)算法的層疊SVM; Chang等[13]利用置信區(qū)間牛頓法并行化Linear SVM,加快了運算速度;張奕武[14]實現(xiàn)了基于Hadoop的SVM,但依賴于MapReduce[15],速度提升不明顯;唐振坤[16]利用Spark實現(xiàn)SVM等算法,較大幅度降低了算法時間復(fù)雜度。隨著近年來信息規(guī)模的增長,大數(shù)據(jù)處理技術(shù)快速興起,在Hadoop基礎(chǔ)上發(fā)展起來的內(nèi)存式并行計算框架Spark能夠較好地應(yīng)對大規(guī)模迭代運算,Zaharia等[17]通過數(shù)學(xué)推理和試驗證明對其做了詳細(xì)解釋。目前,尚未見基于Spark的并行式SVM應(yīng)用于大規(guī)模小麥病害圖像分類識別的研究。因此,本研究將Spark與SVM結(jié)合,以實現(xiàn)并行式SVM,并用于小麥病害圖像的識別,在保證不降低分類精度的前提下,提高小麥病害圖像的識別效率,對于小麥病害的自動快速診斷具有一定借鑒價值,同時對促進(jìn)機(jī)器學(xué)習(xí)、圖像處理、大數(shù)據(jù)等技術(shù)在農(nóng)業(yè)工程中的融合應(yīng)用具有重要實際意義。
將大數(shù)據(jù)并行處理技術(shù)Spark與SVM結(jié)合,實現(xiàn)串行算法的并行化,在不降低分類精度的前提下,可以明顯提高算法的分類效率。
1.1 簡介
SVM適用于小樣本,處理大規(guī)模數(shù)據(jù)時,傳統(tǒng)串行SVM處理速度會降低。針對此問題,本研究將并行框架Spark與SVM結(jié)合,實現(xiàn)了基于Spark的SVM。
算法過程分為Map、Combine和Reduce 3個階段,采用分而治之的思想:算法利用Spark框架,將數(shù)據(jù)集分割為若干數(shù)據(jù)子塊,并分配給各線程Executor,進(jìn)行局部性SVM的并行訓(xùn)練,再將各子分類器整合。通過數(shù)據(jù)子塊訓(xùn)練出的子分類器具有局部性,因此要對整合后的全局分類器進(jìn)行再訓(xùn)練。由于Executor的并行訓(xùn)練已使分類器較快地收斂,全局分類器只需在Reduce階段微調(diào)即可,節(jié)省運算時間。
該算法除了提高運算速度外,還能提升分類精度,這是由于采用多道設(shè)計,每個線程能精細(xì)利用分割后的數(shù)據(jù)集子塊,進(jìn)行局部分類子模型的訓(xùn)練,規(guī)避了傳統(tǒng)串行SVM無法較好利用樣本局部信息的缺陷[18-19],一定程度上提升了分類器的性能。
1.2 算法設(shè)計與實現(xiàn)
首先是數(shù)據(jù)集切分。將數(shù)據(jù)樣本上傳到分布式文件存儲系統(tǒng)(HDFS),根據(jù)特征維度和指定分塊數(shù),通過Spark所提供的partitione類中的分割規(guī)則,將數(shù)據(jù)集切分轉(zhuǎn)換成彈性分布式數(shù)據(jù)集(RDD),并分布到各Executor上。
切分塊數(shù)可根據(jù)集群節(jié)點數(shù)和機(jī)器性能等因素自行決定,由于本研究每個Worker設(shè)置2個Executor,集群共有14臺機(jī)器,所以分塊數(shù)為28塊。之后,每個子塊調(diào)用randomSplit()將數(shù)據(jù)集按照7∶3的比例隨機(jī)劃分成訓(xùn)練樣本和測試樣本。
1.2.1 Map階段每個Executor根據(jù)目標(biāo)函數(shù)建立分類器,調(diào)用train()方法,通過數(shù)據(jù)子塊對分類器進(jìn)行迭代訓(xùn)練。為適應(yīng)大規(guī)模訓(xùn)練樣本,本研究采用隨機(jī)梯度下降算法(SGD)進(jìn)行參數(shù)調(diào)優(yōu),每次迭代只有部分樣本參與計算,內(nèi)存開支小,耗時低。
本研究創(chuàng)建setter對象,實現(xiàn)對train()的重寫:設(shè)置迭代次數(shù)numIterations為300,迭代步長step-Size為2,每次迭代樣本參與比例miniBatchFraction為2,為防止過擬合,引入嶺回歸L2 regularization作為修正函數(shù),正則因子regRaram為0.1。
1.2.2 Combine階段Combine是Map和Reduce之間的過渡階段,通過Combiner對象,將所有數(shù)據(jù)子塊以及Map階段訓(xùn)練出的局部分類器合并,交予Reduce階段。
Combine階段不是簡單的線性拼接,它通過實例化shuffledRDD類的對象調(diào)用repartition(),實現(xiàn)原數(shù)據(jù)與子分類器洗牌后的拼接。
1.2.3 Reduce階段接收Combine階段返回的結(jié)果,調(diào)用predictPoint()對合并后的分類器測試。計算測試樣本每條記錄的預(yù)測值,與原始數(shù)據(jù)對比,獲得誤分率,并通過接收器操作特性曲線(ROC)打分。若分值小于閾值,分類器不合格,繼續(xù)優(yōu)化,分值大于閾值,分類器達(dá)到標(biāo)準(zhǔn),測試階段結(jié)束,打印全局最優(yōu)分類器對測試集每條記錄的預(yù)測值和隸屬程度、分類精度、分類時間、ROC系數(shù)等?;赟park的SVM數(shù)據(jù)流如圖1所示。
圖1 基于Spark的SVM數(shù)據(jù)流
2.1 試驗環(huán)境
試驗基于14臺計算機(jī)所構(gòu)成的Spark完全分布式環(huán)境,每臺機(jī)器硬盤容量為1.5 TB,可用內(nèi)存3.8 GB,雙核處理器,處理器型號為Intel(R)Pentium(R)CPU G645@2.90 GHz 2.90 GHz。其中,1臺機(jī)器作為Master,其余13臺機(jī)器作為Slave,運行模式為Standalone。每臺機(jī)器軟件信息如表1所示。
表1 Spark集群機(jī)器軟件信息
2.2 小麥病害圖像的采集和預(yù)處理
為驗證該算法在處理速度和分類精度上的優(yōu)勢,從山東農(nóng)業(yè)大學(xué)和山東省泰安市周邊地區(qū)的濟(jì)麥20號、煙農(nóng)19號小麥生產(chǎn)基地以及試驗田,人工對小麥發(fā)病葉片進(jìn)行高質(zhì)量圖像采集,采集工具為數(shù)碼單反相機(jī)Canon EOS 760D。
由于受到光照不均、設(shè)備抖動等因素的影響,在采集到的小麥病害彩色圖像中,病斑的邊緣、顏色發(fā)生彌散、模糊、反光等現(xiàn)象,圖像降質(zhì)會影響特征提取,進(jìn)而降低后期試驗的準(zhǔn)確性和說服性。為去除噪聲,強化病斑對比度,本研究采用同態(tài)濾波對圖像進(jìn)行增強處理。同態(tài)濾波將圖像的照度模型由乘積形式變?yōu)榧雍托问?,通過照度范圍的壓縮和對比度的增強來提升圖像質(zhì)量。同態(tài)濾波的具體步驟如圖2所示。
圖2 同態(tài)濾波流程
本研究利用Matlab 7.0對小麥病害圖像進(jìn)行同態(tài)濾波處理,效果如圖3所示。圖3(a)是一幅曝光度過高的小麥白粉病葉部原始圖像,由于采光較強,圖像整體發(fā)白模糊,此外,葉片自身彎曲度使葉部存在陰影部分,影響對病斑的顏色、形狀等圖像特征的提取。圖3(b)是同態(tài)濾波去除噪聲后的圖像,同態(tài)濾波可以降低入射光照的低頻分量,增加反射光照的高頻分量,壓縮圖像照度值域的同時,又提高相鄰區(qū)域像素的對比度,消除因光照過強引發(fā)的圖像模糊現(xiàn)象,并對陰影區(qū)域進(jìn)行有效地增強。
圖3 小麥白粉病葉部圖像同態(tài)濾波處理效果
2.3 小麥病害圖像的特征提取
由于眾多病害機(jī)制的差異,不同病害下的小麥葉片呈現(xiàn)出不同外表,合理的圖像特征提取能最大化突出每種葉部病害外觀的特點,有利于計算機(jī)對小麥病害的類別進(jìn)行精準(zhǔn)識別。
本研究以預(yù)處理后的5 120張小麥病害圖像為試驗樣本,圖像樣本如表2所示。圖像大小為5 312×2 988,格式為JPEG,24位圖,分為銹病和白粉病2類病害。
表2 小麥葉部病斑樣本實例
獲得小麥葉片的病變區(qū)域后,從顏色、紋理和形狀3個方面提取49個特征向量,其中顏色特征6個,紋理特征32個,形狀特征11個。具體的小麥病害圖像特征提取參數(shù)如表3所示。
表3 小麥銹病和白粉病圖像特征提取參數(shù)
2.3.1 顏色特征提取以Matlab 7.0為提取平臺,先通過遍歷算法讀取指定文件夾下所有JPEG格式的小麥病害圖像,獲得紋理區(qū)域后,將各顏色分量轉(zhuǎn)化為灰度值,獲得灰度圖像,再將RGB空間轉(zhuǎn)換成HSV空間[20],得到一、二階矩上H、S、V 3個分量的值。
2.3.2 紋理特征提取采用RGB、HSV顏色空間。為減少計算量并提高處理精度,對原始圖像進(jìn)行灰度等級壓縮,將Gray量化成16級。再計算4個灰度共生矩陣,取距離為1,角度分別是0°、45°、90°、135°,再對歸一化的共生矩陣求解4個方向上的能量E、熵H、慣性矩I和相關(guān)性C。
能量E用來衡量圖像灰度分布的均勻程度,計算公式為:
式中,p(i,j)表示在大小為P×P的灰度共生矩陣中,處于坐標(biāo)(i,j)位置上的元素值,下同。
熵H用來衡量病害圖像紋理的非均勻分布的程度,其計算公式為:
慣性矩I用來衡量截面抵抗彎曲的能力,計算公式為:
相關(guān)性C用來衡量灰度共生矩陣的所有元素在行列方向分布的相似度,其計算公式為:
式中,μx和μy表示px(i)和py(j)的均值,σx和σy表示px(i)和py(j)的標(biāo)準(zhǔn)差。
2.3.3 形狀特征提取先用Canny邊緣檢測法[21-22]提取圖像邊緣,保留邊緣灰度圖像,再依次計算面積S、周長L、圓度C、復(fù)雜度E和Hu不變矩陣。
面積S是邊緣封閉區(qū)域內(nèi)像素的總和,計算公式為:
式中,f(x,y)是二值圖像函數(shù),可求得圖像矩陣中位于坐標(biāo)(x,y)位置上像素點的面積。
周長L是保留下來的邊緣的長度,計算公式為:
式中,Δli表示病斑圖形的微元長度。
圓度C用來衡量病斑邊緣的擬圓程度,計算公式為:
式中,S表示病斑面積,L表示病斑周長,下同。
復(fù)雜度E用來衡量小麥病變?nèi)~面區(qū)域的離散程度,計算公式為:
用Otsu[23-24]閾值法為每一幅圖像選定閾值,并用該閾值對圖像進(jìn)行二值化處理。為減少計算過程中的精度丟失,將像素矩陣中各元素的數(shù)據(jù)類型轉(zhuǎn)換成雙精度,之后依次計算灰度圖像的零階幾何矩陣,圖像的二階、三階幾何矩陣,圖像的二階、三階中心矩陣,圖像的歸一化中心矩陣,最后將各階中心矩陣組合獲得Hu的7個不變矩陣。求得Hu不變矩陣算法[25]流程如圖4所示。
圖4 Hu不變矩陣算法流程
2.4 并行SVM與串行SVM圖像識別對比試驗
將基于Spark的并行SVM與串行SVM作對比試驗,兩者的優(yōu)化目標(biāo)均為:
式中,懲罰參數(shù)C設(shè)為10,松弛變量ζ取0.001。
核函數(shù)均采用目前廣泛應(yīng)用的徑向基核函數(shù)(RBF)[26-28],它能將一組無法直接進(jìn)行線性分割的數(shù)據(jù)集映射到高維空間中,較好地解決種類和屬性值之間非線性的情況。徑向基核函數(shù)為:
式中,參數(shù)γ設(shè)為試驗樣本特征向量總數(shù)的倒數(shù),即γ=1/49≈0.02,核函數(shù)的寬度q取3。
試驗共采用5 120張小麥病害圖像,根據(jù)隨機(jī)抽出樣本數(shù)量的不同分為4組,分別命名為Sample_ 1、Sample_2、Sample_3和Sample_4,將每組樣本的70%作為訓(xùn)練集,30%作為測試集,數(shù)據(jù)樣本的具體狀況如表4所示。
表4 試驗樣本分組
本研究將改進(jìn)的并行式SVM與串行SVM在相同條件下進(jìn)行試驗,通過處理樣本數(shù)量依次遞增的4組小麥病害圖像數(shù)據(jù)集,得到兩者的分類精度和分類時間,分析樣本規(guī)模大小對2種算法的影響。通過表5可知,在處理4組不同規(guī)模大小的數(shù)據(jù)樣本時,基于Spark的并行式SVM比串行SVM的分類精度有所提升,原因是并行式支持向量機(jī)采用多道設(shè)計和數(shù)據(jù)集分割,每一線程能夠精細(xì)利用分割后的部分?jǐn)?shù)據(jù)集,規(guī)避了傳統(tǒng)串行SVM無法較好利用樣本局部信息的缺點[18-19],比起串行SVM直接從全部樣本中訓(xùn)練分類器,學(xué)習(xí)效果更好。
表5 基于2種算法的試驗分類精度%
通過表6可知,當(dāng)試驗數(shù)據(jù)集規(guī)模較小時,兩者處理速度持平,甚至串行SVM的效率略高于并行式SVM。這是由于樣本過少,Spark集群在數(shù)據(jù)集切分和任務(wù)調(diào)度上投入過多時間,并行效果不明顯,不如串行SVM直接訓(xùn)練分類器效率高。當(dāng)試驗樣本數(shù)量上漲到一定程度,串行SVM所用時間明顯增加,而并行式SVM所用時間平穩(wěn)增加,可見當(dāng)測試樣本規(guī)模較大時,Spark集群的并行處理效果顯著,從整體上節(jié)省了算法運行時間。
表6 基于2種算法的試驗分類時間ms
復(fù)雜多變的致病機(jī)制決定了小麥葉部病害外觀的多樣性,對大量原始病發(fā)圖像的高清采集,中期圖像的去噪處理,以及后期從顏色、紋理、形狀3個方面提取49個圖像特征,是本研究基于小麥病征進(jìn)行病害種類劃分的依據(jù)。
SVM是基于大量迭代的分類算法,適用于小樣本環(huán)境,在處理大規(guī)模數(shù)據(jù)集時,時間復(fù)雜度較高。本研究提出了基于Spark的SVM的設(shè)計思想,并在Spark平臺上實現(xiàn)算法,可將大規(guī)模數(shù)據(jù)集切分,并應(yīng)用到分類器的并行訓(xùn)練上。通過對大量小麥病害圖像的分類試驗得出結(jié)論:與傳統(tǒng)串行SVM相比,基于Spark的并行式SVM的分類精度有所提升,分類時間明顯縮減,體現(xiàn)出大數(shù)據(jù)技術(shù)Spark并行處理的優(yōu)勢。
[1]Vapink V.The nature of statistical learning theory[J].New York:Springer-Verlag,1995,8(6):988-999.
[2]田有文,牛妍.支持向量機(jī)在黃瓜病害識別中的應(yīng)用研究[J].農(nóng)機(jī)化研究,2009(3):36-39.
[3]宋凱,孫曉艷,紀(jì)建偉.基于支持向量機(jī)的玉米葉部病害識別[J].農(nóng)業(yè)工程學(xué)報,2007,23(1):155-157.
[4]張建華,孔繁濤,李哲敏,等.基于最優(yōu)二叉樹支持向量機(jī)的蜜柚葉部病害識別[J].農(nóng)業(yè)工程學(xué)報,2014,30(19):222-231.
[5]任東,于海業(yè),王紀(jì)華.基于線性組合核函數(shù)支持向量機(jī)的病害圖像識別研究[J].農(nóng)機(jī)化研究,2007(9):41-43.
[6]Camargo A,Smith J S.Image pattern classification for the identification of disease causing agents in plants[J].Computers and Electronics in Agriculture,2009,66(2): 121-125.
[7]Liu H Y,Yuan Q Q,Wang B B.Survey of parallel algorithms for data mining[J].Electronic Science and Technology,2006,19(1):69-72,77.
[8]劉澤燊,潘志松.基于Spark的并行SVM算法研究[J].計算機(jī)學(xué)報,2016,43(5):238-242.
[9]張巍,張功萱,王永利,等.基于CUDA的SVM算法并行化研究[J].計算機(jī)科學(xué),2013,40(4):69-72.
[10]郭欣欣.基于分布式計算的SVM算法優(yōu)化[D].西安:西安電子科技大學(xué),2014.
[11]Woodsend K,Gondzio J.Hybrid MPI/OpenMP parallel linear support vector machine training[J].Journal of Machine Learning Research,2009,10(12):1937-1953.
[12]Graf H P,Cosatto E,Bottou L,et al.Parallel support vector machines:The cascade SVM[C]//Advances in neural information processing systems(NIPS).Cambridge,MA:MIT Press,2004:521-528.
[13]Chang C C,Lin C J.LIBSVM:A library for support vector machines[J].ACM Transactions on Intelligent Systems and Technology,2011,2(3):75-102.
[14]張奕武.基于Hadoop分布式平臺的SVM算法優(yōu)化及應(yīng)用[D].廣州:中山大學(xué),2012.
[15]Dean J,Ghemawat S.MapReduce:Simplified data processing on large cluster[J].Communications of the ACM,2008,51(1):107-113.
[16]唐振坤.基于Spark的機(jī)器學(xué)習(xí)平臺設(shè)計與實現(xiàn)[D].廈門:廈門大學(xué),2014.
[17]Zaharia M,Chowdhury M,F(xiàn)ranklin M J,et al.Spark: Cluster computing with working sets[C]//Proceedings of the 2nd USENIX conference on hot topics in cloud computing.Berkeley:USENIX Association,2010:10.
[18]Cheng H,Tan P N,Jin R.Efficient algorithm for localized support vector machine[J].IEEE Transactions on Knowledge&Data Engineering,2010,22(4):537-549.
[19]Segata N,Blanzieri E.Fast and scalable local kernel machines[J].Journal of Machine Learning Research,2010,11(6):1883-1926.
[20]林慶,徐柱,王士同,等.HSV自適應(yīng)混合高斯模型的運動目標(biāo)檢測[J].計算機(jī)科學(xué),2010,37(10): 254-256.
[21]張帆,彭中偉,蒙水金.基于自適應(yīng)閾值的改進(jìn)Canny邊緣檢測方法[J].計算機(jī)應(yīng)用,2012,32(8): 2296-2298.
[22]薛麗霞,李濤,王佐成.一種自適應(yīng)的Canny邊緣檢測算法[J].計算機(jī)應(yīng)用研究,2010,27(9):3588-3590.
[23]胡敏,李梅,王榮貴.改進(jìn)的Otsu算法在圖像分割中的應(yīng)用[J].電子測量與儀器學(xué)報,2010,24(5): 443-449.
[24]范九倫,趙鳳.灰度圖像的二維Otsu曲線閾值分割法[J].電子學(xué)報,2007,35(4):751-755.
[25]張偉,何金國.Hu不變矩的構(gòu)造與推廣[J].計算機(jī)應(yīng)用,2010,30(9):2449-2452.
[26]Chapelle O,Vapnik V.Choosing multiple parameters for support vector machines[J].Machine Learning,2002,46:131-159.
[27]Osuna E E,F(xiàn)reund R,Girosi F.Support vector machines:Training and applications[D].Cambridge:Massachusetts Institute of Technology,1998.
[28]Dong C X,Yang S Q,Rao X,et al.An algorithm of estimating the generalization performance of RBF-SVM[C]//Proceedings of the fifth international conference on computational intelligence and multimedia applications.USA:IEEE,2003:61-66.
Classification of Wheat Disease Images Using Parallelized Support Vector Machine Based on Spark
LIN Zhongqi1,MU Shaomin1*,SHI Aiju2,SUN Xiaoxiao1,LI Lei1
(1.College of Information Science and Engineering,Shandong Agricultural University,Taian 271018,China; 2.College of Chemistry and Material Science,Shandong Agricultural University,Taian 271018,China)
In order to improve the efficiency of image classification for wheat diseases,a parallelized support vector machine algorithm based on Spark was proposed.First of all,the wheat disease images were denoised by filtering and compressed at gray-scale.Gray level co-occurrence matrix and invariant matrix and others were used to extract 49 feature vectors from color,texture and shape.Secondly,we combined the Spark with support vector machine through the support of segmentation of data sets and parallel framework.Finally,Scala language was used to realize the parallel processing of single support vector machine,and it was applied in the recognition of wheat disease images.The experimental results on the image classification of wheat diseases showed that the classification accuracies of wheat leaf rust were 76.03%,81.18%,77.82%,and the classification accuracyies of powdery mildew were 83.27%,85.91%,83.14%,when the numbers of test images were 2 600,3 900 and 5 120,respectively.The classification accuracy had been improved compared with the single support vector machine.The classification times were 13 928.0 ms,18 506.1 ms,24 897.2 ms respectively,which were obviously lower than that of the single support vector machine.The improved algorithm could make the classification accuracy of wheat diseases get a small increasing while the processing speed get a obvious ascension.Theproposed algorithm owns a faster convergence rate.
wheat diseases;image classification;Spark;support vector machine;big data;parallel computing;image characteristics extraction
S435.121;TP391.41
A
1004-3268(2017)07-0148-06
2016-12-22
山東省自然科學(xué)基金項目(ZR2012FM024);2013年山東省農(nóng)業(yè)重大應(yīng)用技術(shù)創(chuàng)新課題
林中琦(1992-),男,山東泰安人,在讀碩士研究生,研究方向:機(jī)器學(xué)習(xí)、圖像處理、大數(shù)據(jù)。E-mail:18764881210@163.com
*通訊作者:牟少敏(1964-),男,山東泰安人,教授,博士,主要從事機(jī)器學(xué)習(xí)、數(shù)字圖像處理、計算機(jī)視覺和大數(shù)據(jù)處理技術(shù)研究。E-mail:msm@sdau.edu.cn