(廣東白云學(xué)院,廣東 廣州 510000)
隨著數(shù)字圖像處理和計(jì)算機(jī)視覺的發(fā)展,圖片搜索引擎成為當(dāng)今信息檢索的必備功能。圖像識別成為圖片搜索引擎中最具有代表性的技術(shù)之一。圖像識別作為一種數(shù)據(jù)挖掘技術(shù),通過計(jì)算機(jī)處理、分析和理解圖像的相關(guān)信息,能夠把模式不相同的目標(biāo)和對象分類[1]。尤其是在智能農(nóng)業(yè)方面,把計(jì)算機(jī)視覺和圖像處理技術(shù)相結(jié)合對農(nóng)作物葉片識別分類的研究工作已慢慢滲透到實(shí)際應(yīng)用中,為以后實(shí)現(xiàn)田間精耕細(xì)作奠定基礎(chǔ)。近幾年,全球的專家和學(xué)者對植物葉片圖像的識別分類做了深入研究和大量的工作。2000年以前,Guyer等人采用植物葉片形狀特征的方法進(jìn)行識別[2]。2000年,Oide和Ninomiya[3]對大豆葉片進(jìn)行識別,把形狀特征參數(shù)用于Hopfield網(wǎng)絡(luò)的輸入。2007年,Ling等人[4]利用輪廓內(nèi)最小距離改進(jìn)葉片的形狀,利用動(dòng)態(tài)規(guī)劃法對葉片形狀進(jìn)行匹配。2007年,F(xiàn)elzenszwalb等人[5]為了更好地描述葉片的全局形狀與局部紋理,提出一個(gè)分層的形狀樹模型作為形狀描述子,獲得了很好的分類結(jié)果。2013年閻慶等人通過超綠特征去除田間復(fù)雜背景的影響,利用形態(tài)學(xué)方法進(jìn)行閾值分割,將圖片內(nèi)綠色植物區(qū)域作為待判別雜草或作物的識別對象,采用基于Fisher投影的監(jiān)督LLE方法降低圖片內(nèi)的灰度特征的維度,使用支持向量機(jī)方法完成雜草的識別工作[6]。2016年,馬曉丹等人針對大豆葉部病害性狀特征與病種之間的模糊性和不確定性,提出了基于改進(jìn)級聯(lián)神經(jīng)網(wǎng)絡(luò)的大豆病害診斷模型,實(shí)現(xiàn)了大豆葉部病害的高效自動(dòng)診斷和精確測報(bào)[7]。
本文采用兩種識別圖像的方法,一種是通過提取多種特征,使用BP神經(jīng)網(wǎng)絡(luò)等識別算法對玉米、大豆和水稻圖像進(jìn)行識別;另一種是使用卷積神經(jīng)網(wǎng)絡(luò)算法直接對原始圖像進(jìn)行自動(dòng)特征學(xué)習(xí)與識別分類,避免了以往圖像識別分類方法中煩瑣的圖像與處理和特征提取過程。
在黑龍江八一農(nóng)墾大學(xué)試驗(yàn)田中使用SONY DSCW350D型號相機(jī)采集玉米、大豆、水稻的幼苗期圖像各300幅,將拍攝好的圖像導(dǎo)入實(shí)驗(yàn)室的計(jì)算機(jī),操作系統(tǒng)是windows7,所用軟件為MATLAB7,采用jpg格式進(jìn)行保存。為了減少計(jì)算量將圖像裁剪成131×86(用于提取特征)和32×32(用于直接圖像識別)兩種。分別對兩種不同尺寸的圖像進(jìn)行灰度化、直方圖均衡化,然后完成圖片的中值濾波,降低圖片的噪聲。
為了去除圖片的背景影響,本實(shí)驗(yàn)采用K-means算法[8]對圖像進(jìn)行分割。從n個(gè)數(shù)據(jù)中選取k個(gè)對象作為初始聚類中心,再根據(jù)和初始聚類中心的相似度把剩下的對象歸類到和它最相似的聚類中,接下來求得每一個(gè)新聚類的中心,直到標(biāo)準(zhǔn)測度函數(shù)開始收斂結(jié)束,重復(fù)聚類2次,將圖片分成兩個(gè)區(qū)域,消除圖像的背景噪聲,最后顯示完成分割的各個(gè)區(qū)域。分割圖像如圖1所示。
圖1 K-mean聚類算法分割后的對比圖像
本研究依次獲取了顏色、形狀、紋理以及內(nèi)在低維流形特征,共個(gè)22特征參數(shù)。選用Hu矩提取圖像的形狀特征,通過二階和三階歸一化中心矩組成7個(gè)不變矩,計(jì)算出關(guān)于葉片圖像區(qū)域的7個(gè)面積歸一化中心矩;采用HSV模型,通過轉(zhuǎn)化圖片的顏色空間來消除拍攝亮度的影響,非均勻量化每個(gè)顏色分量,使用顏色直方圖計(jì)算出圖像的均值、方差、能量等三個(gè)參數(shù);灰度共生矩陣作為像素距離和角度的矩陣函數(shù),采用分析圖片內(nèi)一定距離與方向的兩點(diǎn)灰度之間的關(guān)聯(lián)程度,體現(xiàn)圖片在方向、間隔、變化幅度等方面的情況。本文利用灰度共生矩陣提取圖像的能量、信息熵、慣性矩、相關(guān)性和局部穩(wěn)定性等紋理特征;選用LLE[9]降維算法作為本研究提取圖像的內(nèi)在低維流形特征的方法,尋找每個(gè)樣本的緊鄰點(diǎn)個(gè)數(shù),然后求得樣本點(diǎn)的局部重建權(quán)值矩陣,再依據(jù)樣本局部重建權(quán)值矩陣及近鄰點(diǎn)計(jì)算出樣本的輸出。本研究把圖像的數(shù)據(jù)降至3維,近鄰點(diǎn)數(shù)量設(shè)置為5。
1980年Kunihiko Fukushima[10]提出了CNN的前身——neocognitron,它是一個(gè)把人工神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)技術(shù)相融合的深層神經(jīng)網(wǎng)絡(luò)模型。卷積神經(jīng)網(wǎng)絡(luò)由卷積層與下采樣層交替構(gòu)成,它具備局部感受區(qū)域、層次結(jié)構(gòu)化、特征提取以及識別過程相結(jié)合的全局訓(xùn)練的特性,這種算法在有效減少計(jì)算時(shí)間的同時(shí)還建立了具有不變形的空間結(jié)構(gòu)[11]。它的識別是一個(gè)前向傳播過程,輸入的圖像在模型中進(jìn)行層層映射,圖像的映射方式由卷積核的大小和下采樣的方式?jīng)Q定,最終實(shí)現(xiàn)圖像的深度表示。上一層的網(wǎng)絡(luò)輸出結(jié)果作為下一層的網(wǎng)絡(luò)輸入,采用激活函數(shù)依次傳遞,然后使用增加的非線性得出目標(biāo)函數(shù)的近似結(jié)構(gòu),得到更好的特性表征。整個(gè)網(wǎng)絡(luò)實(shí)際輸出的計(jì)算公式如下:
當(dāng)前層的輸出可表示為
上述中,l表示網(wǎng)絡(luò)層的數(shù)量,W表示完成訓(xùn)練這一網(wǎng)絡(luò)層的映射權(quán)值矩陣,b表示當(dāng)前網(wǎng)絡(luò)的加性偏置,f表示激活函數(shù),做完卷積映射后激活函數(shù)調(diào)整結(jié)束卷積的輸出結(jié)果,本實(shí)驗(yàn)選用的激活函數(shù)為sigmoid函數(shù)。
和傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)相比,卷積神經(jīng)網(wǎng)絡(luò)最明顯的不同不僅僅是它本身的深度網(wǎng)絡(luò)結(jié)構(gòu),還包括它利用局部感受野以及權(quán)值共享的方法使結(jié)構(gòu)中的相關(guān)參數(shù)減少。其中局部感受野是指不同種卷積核僅僅卷積圖像中的某個(gè)指定區(qū)域,然后在采樣層內(nèi)將卷積特征關(guān)聯(lián)起來,不僅體現(xiàn)圖像中像素在空間上的相關(guān)程度,而且減少了卷積參數(shù)的個(gè)數(shù)。而權(quán)值共享是利用增多同一權(quán)值的不同卷積核種類實(shí)現(xiàn)提取多種特征的目的。
CNN框架由多個(gè)卷積層和子采樣層組成。C代表是卷積層,還叫特征提取層,不同神經(jīng)元的輸入連接上一層的局部感受野[12],同時(shí)獲得上一層局部的特征信息,確定它與其他特征之間位置上的相關(guān)程度。C層中有多個(gè)不相同的二維特征圖用來獲取多種特征,整個(gè)過程中,同一特征圖采用的卷積核大小是一樣的,也是共享的,不相同的特征圖采用不同的卷積核。C層保存不同的局部特征,獲取出具有旋轉(zhuǎn)和平移不變性特點(diǎn)的特征參數(shù)。S代表子采樣層,它主要把C層獲得的特征池化,令它具備縮放不變性。S層進(jìn)行縮放映射時(shí)準(zhǔn)備訓(xùn)練的神經(jīng)元數(shù)量少,計(jì)算容易。在CNN的最后一層通常和幾個(gè)全連接層相連,最后類別數(shù)是輸出節(jié)點(diǎn)數(shù)量,訓(xùn)練就是為了令CNN的輸出與原始標(biāo)簽盡可能一致。
CNN中卷積層和采樣層都由很多map構(gòu)成,每個(gè)map中有很多個(gè)神經(jīng)元,同一map的全部神經(jīng)元可以用同一卷積核,表示一種特征。它是用一個(gè)固定大小的權(quán)重矩陣在圖像上匹配而不是去計(jì)算一個(gè)卷積,此操作與卷積相似,故稱為卷積神經(jīng)網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)在某種程度上也能看作一種特殊的卷積神經(jīng)網(wǎng)絡(luò),而且卷積核能夠作為感知區(qū)域中每層的全部權(quán)重。權(quán)重共享既降低了訓(xùn)練的參數(shù)數(shù)量,又能夠令完成訓(xùn)練網(wǎng)絡(luò)模型具有較強(qiáng)的泛化性。采樣是為了混淆特征的詳細(xì)位置,即使圖片發(fā)生變形或者扭曲也能夠很好地對其進(jìn)行識別。CNN對網(wǎng)絡(luò)中的對象具備較強(qiáng)的魯棒性。CNN通常將卷積層和采樣層交替設(shè)置,卷積層通過將獲得的特征組合成新的特征,完成圖像特征描述工作,CNN也能夠與BP神經(jīng)網(wǎng)絡(luò)相同的全連接層相連。
植物葉片識別分類的研究歷經(jīng)長時(shí)間的探索,也獲得了一定的成績,然而仍然存在著一些問題。傳統(tǒng)的識別方法還是從輸入的葉片圖像中計(jì)算出人為設(shè)置的特征,然后通過識別算法對圖像進(jìn)行分類。識別效果好壞很大程度上取決于人為選擇的特征是否合理,目前采用人為設(shè)置的特征進(jìn)行識別也能夠得到不錯(cuò)的識別精度,然而前期預(yù)處理和獲取特征過程過于煩瑣。針對這一問題,本研究采用一種針對二維圖像設(shè)計(jì)的可以自動(dòng)獲取圖像特征的卷積神經(jīng)網(wǎng)絡(luò)對圖片進(jìn)行識別分類。本研究的CNN由輸入層、卷積層、采樣層以及輸出層組成,輸入層僅有一個(gè)輸出向量,向量與圖片的尺寸相同,是32*32的矩陣;CNN通常由卷積層與采樣層構(gòu)成,卷積層用于獲取特征,然后合成更加抽象的特征,來對圖像完成描述。卷積核大小為5*5,在圖片上逐個(gè)移動(dòng),每次移動(dòng)一步。采樣層是對上一層map的一個(gè)池化處理,采用2*2小區(qū)域的均值,最后CNN后面跟著一個(gè)全連接層。
3.1.1 圖片識別
將裁剪好的32×32彩色圖片灰度化,用于CNN的輸入。本研究采用的卷積神經(jīng)網(wǎng)絡(luò)框架是由兩個(gè)卷積層(C)和兩個(gè)采樣層(S)交替組成,C1層是特征提取層,使用5×5的卷積核獲得6個(gè)28×28二維特征圖;S1層是子采樣層,獲得6個(gè)14×14特征圖,每個(gè)子采樣層的縮放因子設(shè)置為2;C2層也是一個(gè)特征提取層,與C1層相似,但是也有不同。C2層使用的卷積核大小也是5×5,獲得的特征圖尺寸是10×10,但是C2的特征圖是12個(gè);S2層也是子采樣層。輸出層作為全連接層,都與輸出神經(jīng)元相連,共有3個(gè)神經(jīng)元(即圖片種類數(shù)目),形成900個(gè)連接。初始化網(wǎng)絡(luò),將用于訓(xùn)練的數(shù)據(jù)分批然后調(diào)用,設(shè)置批訓(xùn)練中樣本數(shù)量以及迭代次數(shù),驗(yàn)證模型準(zhǔn)確率。
3.1.2 特征識別
本研究獲取顏色、形狀、紋理以及內(nèi)在流形特征共22個(gè),將特征參數(shù)組成特征向量作為BP神經(jīng)網(wǎng)絡(luò)和Elman神經(jīng)網(wǎng)絡(luò)的輸入。在每種農(nóng)作物的圖像集內(nèi)隨機(jī)抽取250幅作為訓(xùn)練樣本,50幅作為測試樣本。采用三層BP神經(jīng)網(wǎng)絡(luò),輸入節(jié)點(diǎn)數(shù)量為22,輸出節(jié)點(diǎn)數(shù)量為3。訓(xùn)練和輸出分為三類,大豆的值為1,水稻的值為2,玉米的值為3。應(yīng)用newelm函數(shù)可以構(gòu)建三層Elman網(wǎng)絡(luò),隱含層函數(shù)通常應(yīng)用tansig傳遞函數(shù),輸出層通常是purelin傳遞函數(shù)。
圖2 批訓(xùn)練樣本數(shù)不同對比圖像
表1 不同神經(jīng)網(wǎng)絡(luò)算法對圖像的識別率
本研究使用CNN對圖像進(jìn)行識別,多次試驗(yàn)發(fā)現(xiàn)批訓(xùn)練樣本數(shù)和迭代次數(shù)對正識率有較大的影響。因此,采用分組的方式進(jìn)行訓(xùn)練,依次在迭代30次、50次、80次、100次、200次的情況下,每組分別取10張和50張圖像,得到測試后的錯(cuò)誤率。
由圖可知,CNN的批訓(xùn)練樣本數(shù)越少,圖像的正識率越高;迭代次數(shù)越多錯(cuò)誤率收斂識別精度越高,相應(yīng)迭代次數(shù)越多時(shí)間越長,所以在相對高效的情況下選取迭代次數(shù)。當(dāng)批訓(xùn)練樣本數(shù)為10,迭代次數(shù)為200時(shí),卷積神經(jīng)網(wǎng)絡(luò)的正識率高達(dá)100%。
為了探究哪一種神經(jīng)網(wǎng)絡(luò)算法更適合作為三種農(nóng)作物葉片的識別方法,本研究采用卷積神經(jīng)網(wǎng)絡(luò)對圖像直接進(jìn)行識別,BP神經(jīng)網(wǎng)絡(luò)和Elman神經(jīng)網(wǎng)絡(luò)對提取的特征向量進(jìn)行識別,得到的識別率如表1所示。
從表1可知,當(dāng)批訓(xùn)練樣本數(shù)為10,迭代次數(shù)為100時(shí),卷積神經(jīng)網(wǎng)絡(luò)的識別效果最好,正識率為100%,明顯高于BP神經(jīng)網(wǎng)絡(luò)和Elman神經(jīng)網(wǎng)絡(luò)的識別率。同時(shí),在使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像識別時(shí),特征檢測層利用訓(xùn)練數(shù)據(jù)隱式地進(jìn)行學(xué)習(xí),因?yàn)槊總€(gè)特征映射面上的神經(jīng)元權(quán)值一致,因此它能夠同時(shí)學(xué)習(xí)。CNN的布局比較接近實(shí)際的生物神經(jīng)網(wǎng)絡(luò),所以它的局部權(quán)值共享的獨(dú)特結(jié)構(gòu)在機(jī)器視覺領(lǐng)域具有一定的優(yōu)勢,權(quán)值共享也降低了網(wǎng)絡(luò)的復(fù)雜程度。卷積神經(jīng)網(wǎng)絡(luò)不僅識別精度高,而且它可以將圖片用于網(wǎng)絡(luò)的輸入,減少了一般識別分類方法中煩瑣的預(yù)處理和特征提取流程。
本文提出一種可以直接對灰度圖像進(jìn)行識別分類的方法。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)識別算法要人為地選擇并提取從葉片圖像中的特征,然后再對圖像識別,這種做法過程煩瑣且數(shù)據(jù)冗余度高,識別準(zhǔn)確度卻不高,具有一定的盲目性。和傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)相比,卷積神經(jīng)網(wǎng)絡(luò)不僅識別效果好,而且將圖像直接用于網(wǎng)絡(luò)的輸入,不必再進(jìn)行煩瑣的特征提取和識別流程中數(shù)據(jù)重建,提高了效率。卷積神經(jīng)網(wǎng)絡(luò)的圖像正識率高達(dá)100%,適合避免了作為本實(shí)驗(yàn)圖像分類的識別算法,具有一定的推廣價(jià)值。