劉彩玲 岳荷荷
(山西農(nóng)業(yè)大學(xué)軟件學(xué)院 山西 太谷 030800)
將計(jì)算機(jī)視覺(jué)技術(shù)和農(nóng)作物圖像識(shí)別相結(jié)合可以減緩人工識(shí)別結(jié)果的主觀(guān)性和提升識(shí)別的速度。圖像的特征表示是識(shí)別的關(guān)鍵,常見(jiàn)的特征有圖像的大小、顏色、形狀、紋理等。采用PCA[1]、KPCA[2-3]等算法對(duì)圖像矩陣降維后表示特征,這些特征都是低層特征,文獻(xiàn)[4-7]研究者采用該方法對(duì)雜草種子圖像進(jìn)行識(shí)別,取得了較好的結(jié)果。組合低層特征形成較高層次的特征,即深度特征學(xué)習(xí)[8-10],相比低層特征,大部分采用深度特征表示圖像的方法有更好的識(shí)別率。提取圖像高層特征的關(guān)鍵是特征提取網(wǎng)絡(luò)中的特征模板。常見(jiàn)的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)有DNN[11]、CNN[12]、RNN[13]、GAN[14]等,而PCANet[15-19]是其中一種簡(jiǎn)單的特征提取CNN網(wǎng)絡(luò),其采用PCA算法計(jì)算特征模板,在雜草種子圖像識(shí)別上取得了較好的識(shí)別率。LDA算法和KPCA算法都是比較常見(jiàn)的降維方法,但是LDA方法是有監(jiān)督的降維方法,需要知道每一個(gè)訓(xùn)練樣本的類(lèi)別,而特征提取網(wǎng)絡(luò)是將一個(gè)圖像分割為多個(gè)分片,提取每一個(gè)分片的特征。因此考慮將同一類(lèi)圖像的所有分片作為一類(lèi),但是實(shí)驗(yàn)結(jié)果表明,采用LDA算法計(jì)算特征模板的識(shí)別率遠(yuǎn)不如PCA算法,所以將同一類(lèi)圖像的所有分片作為一類(lèi)不合適。雖然KPCA算法考慮了圖像的高階相關(guān)性,但是由于一個(gè)圖像會(huì)分割成大量的分片,導(dǎo)致計(jì)算量很大。
采用PCA等算法計(jì)算特征模板時(shí),需先將二維圖像表示為一維向量,然后計(jì)算協(xié)方差矩陣,并計(jì)算特征向量,這種方法不僅計(jì)算量很大,而且在計(jì)算相關(guān)性時(shí)可能會(huì)破壞圖像的二維結(jié)構(gòu),丟失像素點(diǎn)行列之間的關(guān)系信息。而本文改進(jìn)后的(2D)2-PCANet采用(2D)2-PCA[20]計(jì)算網(wǎng)絡(luò)的特征模板。2DPCA[21-23]算法是直接對(duì)二維矩陣求協(xié)方差矩陣,然后計(jì)算特征向量進(jìn)行特征提取的,不需要轉(zhuǎn)換為一維向量后再計(jì)算協(xié)方差矩陣,不僅計(jì)算量小,而且相比PCA方法,保留了行列之間的相關(guān)性信息。但是2DPCA算法相比PCA需要更多的空間表示圖像,因此圖像識(shí)別速度較慢。本文采用(2D)2-PCA計(jì)算特征模板,先對(duì)行進(jìn)行降維,再對(duì)列進(jìn)行降維,相比2DPCA算法減少了所需空間,但也導(dǎo)致可能丟失更多圖像信息。為了彌補(bǔ)減少輸出個(gè)數(shù)、加快識(shí)別速度而降低的圖像識(shí)別率,本文對(duì)計(jì)算出的特征模板進(jìn)行特征訓(xùn)練,通過(guò)減小每一層圖像的重構(gòu)誤差來(lái)進(jìn)一步提高識(shí)別率。實(shí)驗(yàn)結(jié)果表明,相比PCANet,使用帶特征訓(xùn)練的(2D)2-PCANet取得了較高的識(shí)別率。
本文實(shí)驗(yàn)采用的雜草種子圖像數(shù)據(jù)集包括211個(gè)類(lèi)別,共9 191幅彩色圖像,每幅種子圖像的大小為110×80像素。部分種子圖像如圖1所示。
圖1 部分種子圖像
本文構(gòu)建了兩個(gè)兩層特征提取網(wǎng)絡(luò)PCANet和(2D)2-PCANet。首先采用PCA和2D2-PCA算法計(jì)算每層的特征模板,然后通過(guò)該層的輸入和相應(yīng)的特征模板做卷積即可得到每一層的輸出,并將最后一層的輸出二值化,減少圖像表示特征的維數(shù),最后將網(wǎng)絡(luò)的輸出輸入到SVM分類(lèi)器中進(jìn)行圖像識(shí)別。
PCA與2DPCA算法都是主要用于提取圖像特征表示圖像并進(jìn)行圖像識(shí)別的,本文將這兩種算法分別用于兩層網(wǎng)絡(luò)的圖像分片的特征提取中。設(shè)N個(gè)m×n圖像矩陣Ii(i=1,2,…,N)是獨(dú)立同分布的隨機(jī)圖像樣本,它們的列拉直向量為ai(i=1,2,…,N)。
1.2.1PCA特征模板
假定Ii∈Rm×n×3表示每幅彩色種子輸入圖像,為了構(gòu)建兩層卷積特征提取網(wǎng)絡(luò),首先需確定特征模板值,然后采用該模板和每幅輸入圖像做卷積得到輸出。因此為了計(jì)算方便,在網(wǎng)絡(luò)的第一層,首先將輸入圖像分割為大小為k1像素×k1像素×3通道有重疊的分片,為了將圖像中所有的特征都提取出來(lái),設(shè)分割步長(zhǎng)為1,則每幅輸入圖像可分割為s1s2個(gè)有重疊的分片,其中,s1=m-k1+1,s2=n-k1+1。然后將每個(gè)圖像分片去均值并表示成一個(gè)列向量ai,j∈R3k1k1,將每幅圖像的所有分片向量表示成矩陣Ai=[ai,1,ai,2,…,ai,j,…,ai,s1s2],其中ai,j表示圖像i的第j個(gè)分片。假設(shè)訓(xùn)練集中有N幅種子圖像,則訓(xùn)練集中所有圖像的分片向量構(gòu)成矩陣A=[A1,A2,…,AN]。
(1)
通過(guò)類(lèi)似的方法計(jì)算該兩層PCANet卷積網(wǎng)絡(luò)模型中每層的特征提取模板。
1.2.2(2D)2-PCA特征模板
(2)
通過(guò)類(lèi)似的方法計(jì)算兩層卷積網(wǎng)絡(luò)模型中每層的特征提取模板。
p=1,2,…,d1q=1,2,…,d2k=1,2,3
(3)
實(shí)驗(yàn)表明,對(duì)于彩色圖像,如果對(duì)輸出結(jié)果進(jìn)行稀疏,即增強(qiáng)每幅圖像中的明顯特征,同時(shí)弱化圖像中的不明顯特征,可以提升圖像的識(shí)別率。對(duì)每個(gè)輸出結(jié)果采用式(4)進(jìn)行稀疏處理,其中:sign()表示符號(hào)函數(shù);max()表示求最大值函數(shù);abs()表示求絕對(duì)值函數(shù)。
(4)
l=1,2,…,L2p=1,2,…,g1q=1,2,…,g2
k=1,2,…,U
(5)
(6)
(7)
對(duì)于Ii在第二層的R個(gè)輸出,本文將每個(gè)輸出分為B塊,每塊的大小為b1×b2。對(duì)于每個(gè)輸出中的每塊,計(jì)算十進(jìn)制0至2L2-1的直方圖,將每塊化作長(zhǎng)度為2L2的向量。然后將這B塊對(duì)應(yīng)的向量連接起來(lái)作為
(8)
雖然特征網(wǎng)絡(luò)在采用權(quán)值初始化方法初始化各層的權(quán)值后,不需要再增加權(quán)值訓(xùn)練即可取得較好的識(shí)別率,但是當(dāng)網(wǎng)絡(luò)的輸出個(gè)數(shù)較少時(shí)會(huì)丟失部分主成分,而當(dāng)網(wǎng)絡(luò)的輸出個(gè)數(shù)較多時(shí),會(huì)增加表示圖像特征向量的長(zhǎng)度,從而增加分類(lèi)的復(fù)雜性,并且圖像的識(shí)別率不會(huì)隨著輸出數(shù)量的增加而一直增加。因此可以在保持輸出個(gè)數(shù)一定的情況下,對(duì)網(wǎng)絡(luò)的權(quán)值進(jìn)行訓(xùn)練,提升圖像識(shí)別率的同時(shí),并且分類(lèi)時(shí)間不長(zhǎng)。
(9)
(10)
(11)
(12)
由于Yi是稀疏的,故本文采用Sparse Orthonormal Transforms(SOTs)[25]稀疏正交交換權(quán)值訓(xùn)練方法,其在滿(mǎn)足輸出矩陣稀疏的條件下,通過(guò)求使得跡最小的權(quán)值矩陣來(lái)訓(xùn)練權(quán)值。SOTs不僅所需的訓(xùn)練時(shí)間較短,并且不會(huì)隨著訓(xùn)練集中樣本的增加而占用更大的內(nèi)存,占用內(nèi)存的大小只與每個(gè)樣本圖像分片的大小有關(guān),而與訓(xùn)練集中樣本的數(shù)量無(wú)關(guān)。
(13)
(14)
本文采用逐層訓(xùn)練方法,首先訓(xùn)練第一層的行列權(quán)值模板,然后固定第一層的模板。采用類(lèi)似的方法訓(xùn)練第二層的權(quán)值。
本文將深度卷積網(wǎng)絡(luò)的輸出輸入到SVM[26]分類(lèi)器中,對(duì)雜草種子圖像進(jìn)行分類(lèi)。雜草種子圖像訓(xùn)練集中共包含N幅訓(xùn)練圖像,經(jīng)過(guò)兩層(2D)2-PCANet后即可得到所有訓(xùn)練圖像的特征表示,用矩陣F=[f1,f2,…,fN]∈RN×2L2UB表示。每幅圖像都有確定的類(lèi)別mi,若將所有圖像的類(lèi)別表示為一個(gè)向量M,則M=[m1,m2,…,mN]∈RN。根據(jù)任意兩類(lèi)種子圖像的特征和類(lèi)別,為它們構(gòu)建一個(gè)SVM模型。對(duì)于測(cè)試數(shù)據(jù)集中的每幅圖像,首先根據(jù)(2D)2-PCANet得到圖像的特征表示,然后將其輸入到每一個(gè)SVM模型中,得到該測(cè)試種子圖像的可能類(lèi)別。每個(gè)SVM模型會(huì)給出一個(gè)預(yù)測(cè)類(lèi)別和預(yù)測(cè)概率,SVM分類(lèi)器將最大概率的類(lèi)別作為該測(cè)試種子圖像的最終類(lèi)別。
本文隨機(jī)地將數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集兩部分,其中80%的種子圖像,共7364幅圖像作為訓(xùn)練數(shù)據(jù),20%的種子圖像,共1827幅圖像作為測(cè)試數(shù)據(jù)。
對(duì)于本文設(shè)計(jì)的兩種兩層特征網(wǎng)絡(luò),第一層的特征數(shù)為18,第二層的特征數(shù)為9。對(duì)于(2D)2-PCANet第一層的18個(gè)輸出,將第{x,x+6,x+12}(x=1,2,…,6)個(gè)輸出作為第二層網(wǎng)絡(luò)的一個(gè)輸入;對(duì)于PCANet的第一層的18個(gè)輸出,將第{(x-1)×3+1,(x-1)×3+2,(x-1)×3+3}(x=1,2,…,6)個(gè)輸出作為第二層網(wǎng)絡(luò)的一個(gè)輸入。因此第二層共6個(gè)輸出。如表1所示,通過(guò)實(shí)驗(yàn)比較(2D)2-PCANet在不同分片大小下的識(shí)別率可知,當(dāng)k1=5,k2=7時(shí)識(shí)別率較高,為97.04%,由此網(wǎng)絡(luò)得到的圖像表示向量為138240維。
表1 不同分片的識(shí)別率
對(duì)于PCANet的第一層的18個(gè)特征模板,取PCA特征矩陣的前18個(gè)特征值較大的特征向量作為特征模板,每個(gè)特征模板是75維的向量,由于原始圖像為彩色圖像,因此可以將其表示成一個(gè)5×5×3的矩陣,每個(gè)5×5的矩陣用于提取1個(gè)顏色通道的特征。類(lèi)似第一層計(jì)算特征模板的方法,可以計(jì)算出PCANet第二層的9個(gè)特征模板,每個(gè)特征模板是147維的向量,由于將第一層的每3個(gè)輸出組合作為第二層的1個(gè)輸入,因此將其表示成1個(gè)7×7×3的矩陣,分別用于每幅輸入圖像的特征提取。
(2D)2-PCANet采用(2D)2-PCA計(jì)算特征模板,從行和列的角度同時(shí)降維的,因此既有行特征模板又有列特征模板,經(jīng)過(guò)多次實(shí)驗(yàn),得出當(dāng)行特征模板為5×3的矩陣、列特征模板為5×2的矩陣時(shí)的識(shí)別率較高。(2D)2-PCANet將原始圖像的3個(gè)顏色通道看作3幅圖像,因此每幅圖像經(jīng)過(guò)第一層的特征提取后有18個(gè)輸出。類(lèi)似第一層計(jì)算特征模板的方法,可以計(jì)算出(2D)2-PCANet第二層的2個(gè)特征模板,經(jīng)過(guò)多次實(shí)驗(yàn),得出當(dāng)行特征模板為7×3的矩陣、列特征模板為7×1的矩陣時(shí)的識(shí)別率較高,由于將第一層的每3個(gè)輸出組合作為第二層的1個(gè)輸入,因此每幅圖像經(jīng)過(guò)第二層的特征提取后有9個(gè)輸出。
圖2為(2D)2-PCANet深度卷積網(wǎng)絡(luò)模型,每一層只列出了部分輸出。原始的種子圖像經(jīng)過(guò)第一層的特征提取后,會(huì)得到18個(gè)輸出,圖中只列出了第一層的3個(gè)輸出,第一層的每3個(gè)輸出組合在一起作為第二層的1個(gè)輸入,因此每幅圖像在第二層會(huì)產(chǎn)生6組輸入,每組輸入經(jīng)過(guò)第二層的特征提取會(huì)產(chǎn)生9個(gè)輸出,圖中只列出第二層的1個(gè)輸入和其3個(gè)輸出。然后將第二層的1個(gè)輸入產(chǎn)生的9個(gè)輸出二值化并轉(zhuǎn)換成1個(gè)十進(jìn)制矩陣。最后計(jì)算直方圖,得到該圖像的一個(gè)表示向量,將其輸入到分類(lèi)器中進(jìn)行分類(lèi)??梢钥闯?,相比一層網(wǎng)絡(luò),兩層網(wǎng)絡(luò)可以提取圖像更多的特征,可以更好地表示圖像,因此深度網(wǎng)絡(luò)可以提高圖像的識(shí)別率。
圖2 (2D)2-PCANet深度卷積網(wǎng)絡(luò)模型
圖3分別為存在0%、5%、10%、15%、20%缺損的種子圖像,存在0%缺損的測(cè)試集是由所有訓(xùn)練網(wǎng)絡(luò)的訓(xùn)練集和測(cè)試集中的種子圖像構(gòu)成的,共9 189幅圖像。表2為兩種網(wǎng)絡(luò)對(duì)不同缺損程度的雜草種子圖像的識(shí)別效果,由識(shí)別結(jié)果可知,相比PCANet,(2D)2-PCANet對(duì)存在缺損的種子圖像的識(shí)別率會(huì)更好一些,對(duì)于存在20%缺損的種子圖像,(2D)2-PCANet的識(shí)別率為74.05%,而PCANet的識(shí)別率為71.78%。
(a)0% (b)5% (c)10% (d)15% (e)20%
表2 兩種網(wǎng)絡(luò)對(duì)缺損圖像的識(shí)別率
圖4分別為存在0°、30°、60°、90°旋轉(zhuǎn)的種子圖像,表3為兩種網(wǎng)絡(luò)對(duì)不同旋轉(zhuǎn)程度的雜草種子圖像的識(shí)別效果。對(duì)于存在旋轉(zhuǎn)的種子圖像,在識(shí)別時(shí)首先采用PCA方法對(duì)圖像進(jìn)行旋轉(zhuǎn),如圖5所示,先通過(guò)增加背景的方式使長(zhǎng)和寬相等,然后采用PCA方法計(jì)算主向量,計(jì)算旋轉(zhuǎn)角度,使得圖像不再有大幅度的旋轉(zhuǎn),將旋轉(zhuǎn)后的圖像通過(guò)切割背景的方式和原圖像等長(zhǎng)寬,最后再將旋轉(zhuǎn)后的種子圖像輸入到兩個(gè)網(wǎng)絡(luò)。由表3的識(shí)別結(jié)果可知,相比PCANet,(2D)2-PCANet對(duì)存在旋轉(zhuǎn)的種子圖像的識(shí)別率會(huì)更好一些,對(duì)于存在90°旋轉(zhuǎn)的種子圖像,(2D)2-PCANet的識(shí)別率為70.65%,而PCANet的識(shí)別率為68.66%,對(duì)于存在10°旋轉(zhuǎn)的種子圖像,(2D)2-PCANet的識(shí)別率為98.38%,而PCANet的識(shí)別率為93.06%。
(a)0° (b)30° (c)60° (d)90°
表3 兩種網(wǎng)絡(luò)對(duì)存在旋轉(zhuǎn)的圖像的識(shí)別率
圖5 采用PCA旋轉(zhuǎn)圖像
圖6和圖7分別為在y方向和x方向存在偏移的圖像。表4和表5分別為兩種網(wǎng)絡(luò)對(duì)不同方向偏移的種子圖像的識(shí)別效果??梢钥闯?,相比PCANet,(2D)2-PCANet對(duì)存在缺損的種子圖像的識(shí)別率會(huì)更好一些。對(duì)于向右存在10 px偏移的種子圖像,(2D)2-PCANet的識(shí)別率為73.03%,而PCANet的識(shí)別率為63.68%;對(duì)于向下存在10 px偏移的種子圖像,(2D)2-PCANet的識(shí)別率為66.64%,而PCANet的識(shí)別率為63.41%。
圖6 在y方向存在偏移的圖像
圖7 在x方向存在偏移的圖像
表4 兩種網(wǎng)絡(luò)對(duì)在x方向存在偏移的圖像的識(shí)別率
表5 兩種網(wǎng)絡(luò)對(duì)在y方向存在偏移的圖像的識(shí)別率
為提高圖像的識(shí)別率,給網(wǎng)絡(luò)增加了權(quán)值訓(xùn)練,表6列出了β為不同值時(shí)的識(shí)別率,由表可知,當(dāng)β=0.005時(shí),識(shí)別率最高,達(dá)到97.84%。
表6 增加權(quán)值訓(xùn)練的網(wǎng)絡(luò)對(duì)圖像的識(shí)別率
盡管采用增加了模板訓(xùn)練的(2D)2-PCANet取得了較好的識(shí)別效果,但還是有部分種子會(huì)被識(shí)別錯(cuò)誤,圖8列出了部分被識(shí)別錯(cuò)誤的種子圖像,可以看出,有的被錯(cuò)誤分類(lèi)的圖像間是非常相似的,這也說(shuō)明提取的圖像的特征區(qū)分度不夠。
圖8 錯(cuò)誤識(shí)別的種子圖像
本文基于(2D)2-PCANet提取雜草種子圖像的特征,并采用SVM進(jìn)行分類(lèi),取得97.04%的識(shí)別率,相比PCANet的96.44%的識(shí)別率要更好一些,增加權(quán)值訓(xùn)練的(2D)2-PCANet最高取得97.84%的識(shí)別率。采用兩種網(wǎng)絡(luò)分別對(duì)存在缺損、旋轉(zhuǎn)和偏移的種子圖像進(jìn)行識(shí)別,(2D)2-PCANet的識(shí)別率更高。下一步將優(yōu)化特征模板的初始計(jì)算方法,且對(duì)于兩層以上的網(wǎng)絡(luò),可以采用重構(gòu)到初始輸入的方法來(lái)訓(xùn)練特征模板。