(楊紅云 黃 瓊 孫愛珍 王映龍 肖小梅 羅建軍
(江西農(nóng)業(yè)大學(xué)軟件學(xué)院1,南昌 330045)
(江西農(nóng)業(yè)大學(xué)計(jì)算機(jī)與信息工程學(xué)院2,南昌 330045)
水稻是我國(guó)種植面積最大的農(nóng)作物,加強(qiáng)水稻生產(chǎn)技術(shù)可以有效促進(jìn)農(nóng)業(yè)發(fā)展和提高國(guó)民經(jīng)濟(jì),而水稻種子的純度是影響水稻生產(chǎn)重要因素。水稻種子純度差會(huì)造成水稻的發(fā)芽率、成苗率、抗病性和豐產(chǎn)性等多項(xiàng)指標(biāo)下降,因此采用稻種品種的單粒鑒別是有效保證種子純度質(zhì)量、糧食安全和農(nóng)業(yè)生產(chǎn)安全的重要手段。經(jīng)典的農(nóng)作物品種鑒定方法有人工目測(cè)法、化學(xué)鑒定及熒光掃描等,以上方法因隨意性大、效率低、鑒定成本高和易對(duì)環(huán)境產(chǎn)生污染難以在實(shí)際生活中得到普遍推廣,因此迫切需要探索一種高效環(huán)保的識(shí)別方法來選育出優(yōu)質(zhì)的稻種品種以提高水稻生產(chǎn)質(zhì)量。
機(jī)器視覺具有成本低,客觀性強(qiáng)等優(yōu)點(diǎn),利用機(jī)器視覺對(duì)水稻種子進(jìn)行識(shí)別可彌補(bǔ)傳統(tǒng)識(shí)別方法的不足,目前已普遍應(yīng)用在農(nóng)作物種子識(shí)別方面。很多研究者[1-4]通過獲取光譜信息和圖像信息結(jié)合SVM、RF模型來識(shí)別農(nóng)作物種子品種,識(shí)別率普遍較高,但高光譜儀的成本高,不利于實(shí)際推廣,而通過獲取圖像數(shù)據(jù)特征可降低成本。如部分研究者[5,6]通過利用BPNN對(duì)水稻種子的顏色形狀特征進(jìn)行分類,識(shí)別準(zhǔn)確率較高。 Mebatsion等[7]利用最小二乘法對(duì)5類麥種的形狀和顏色特征進(jìn)行分類,準(zhǔn)確率為99.6%。吳尚智等[8]利用粗糙集和BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法對(duì)麥種進(jìn)行分類,識(shí)別準(zhǔn)確率可達(dá)到95.24%。這些方法都是通過獲取圖像的顏色或形狀等數(shù)據(jù)后采用分類器進(jìn)行分類,獲取方法成本較低,但特征選擇具有經(jīng)驗(yàn)主觀性且算法繁瑣,不能實(shí)現(xiàn)直接端對(duì)端的稻種圖像識(shí)別,不具便捷性。近年來,卷積神經(jīng)網(wǎng)絡(luò)憑借強(qiáng)大的特征提取功能在圖像領(lǐng)域取得了成效,與傳統(tǒng)的圖像外觀特征相比,學(xué)習(xí)的深度特征是對(duì)輸入圖像的語(yǔ)義描述,因而可對(duì)外觀特征起到替代或補(bǔ)充作用。端對(duì)端的深度學(xué)習(xí)不需要前期繁瑣的人工特征設(shè)計(jì)和提取,在實(shí)踐中更容易實(shí)現(xiàn)。如祝詩(shī)平[9]采用卷積神經(jīng)網(wǎng)絡(luò)的4種經(jīng)典模型對(duì)麥種進(jìn)行識(shí)別,得出這4類模型明顯優(yōu)于SVM和BP的傳統(tǒng)模型。
本研究利用卷積神經(jīng)網(wǎng)絡(luò)泛化能力強(qiáng)且速度快的優(yōu)點(diǎn)直接從水稻種子圖像獲取顯著信息,省略對(duì)圖像數(shù)據(jù)的預(yù)處理操作,更加便捷。將泛化能力強(qiáng)且計(jì)算量小SVM替換Softmax分類器對(duì)提取的圖像特征進(jìn)行分類能夠減少識(shí)別時(shí)間且提高識(shí)別正確率。將CNN_SVM與SVM、KNN、HOG_KNN/SVM、LBP_KNN/SVM、SIFT_KNN/SVM和CNN_KNN/Softmax10種模型進(jìn)行對(duì)比分析,其中,CNN能高效準(zhǔn)確地提取水稻種子圖像的有效信息,結(jié)合SVM后能高效識(shí)別8類水稻種子。利用CNN_SVM模型對(duì)不同年份的水稻種子數(shù)據(jù)庫(kù)和加入噪聲的數(shù)據(jù)庫(kù)進(jìn)行識(shí)別后依然有較高的識(shí)別正確率,表明本文模型識(shí)別不同年份水稻種子的高效性和能適應(yīng)識(shí)別環(huán)境的變化,具有良好的泛化性。
8種水稻種子:楚粳7號(hào)、鄂豐絲苗、馬壩油粘、玉楊糯、玉針香、兵兩優(yōu)401、五鄉(xiāng)優(yōu)398、泰優(yōu)398。在人工選樣過程中,去除破碎干癟的雜質(zhì),選取每類顆粒飽滿的水稻種子各200粒進(jìn)行研究。在自然光照的環(huán)境下,以黑色卡紙為背景隨機(jī)擺放水稻種子,為增加數(shù)據(jù)獲取的多樣性,選用佳能EOS 60D型數(shù)碼相機(jī)垂直對(duì)單粒水稻種子圖像(圖1)和多粒水稻種子圖像(圖2)進(jìn)行拍攝。
圖1 單粒水稻種子圖像
圖2 多粒水稻種子圖像
為保證種子的純度,采用單粒鑒別對(duì)水稻種子圖像進(jìn)行分類識(shí)別,因此需要將單粒水稻種子圖像從多粒圖像中切割出來,切割方法為首先對(duì)水稻種子圖像進(jìn)行灰度化和高斯模糊等操作去除圖像噪聲,再采用Canny算子提取水稻種子的邊緣,通過輪廓檢測(cè)算法提取出每粒水稻種子的輪廓,采用最小外界矩陣法得到水稻種子最小外接矩陣的長(zhǎng)寬以及四個(gè)頂點(diǎn)坐標(biāo),最后通過獲取的各項(xiàng)參數(shù)將單粒水稻種子圖片進(jìn)行旋轉(zhuǎn)操作,為了保證水稻種子的完整性,將最小外接矩陣向外擴(kuò)展20個(gè)像素點(diǎn)切割出單粒水稻種子圖片。
針對(duì)樣本小帶來的泛化能力不足問題,采用隨機(jī)翻轉(zhuǎn)、旋轉(zhuǎn)(30°、-30°,60°、-60°、90°)和調(diào)節(jié)亮度來對(duì)圖像樣本進(jìn)行擴(kuò)增,將數(shù)據(jù)集擴(kuò)展到原來的5倍,每類水稻種子樣本圖像為1 000張。
圖3 圖像預(yù)處理
卷積神經(jīng)網(wǎng)絡(luò)[9-12]于1998年由紐約大學(xué)的Yann LeCun提出,它是通過多層感知機(jī)(MLP)演變而來。一般情況下,CNN的架構(gòu)是由輸入層、卷積層、池化層、全連接層和輸出層組成,如圖4所示。其中卷積層是實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)特征提取功能的核心,相當(dāng)于特征提取器,池化層能夠壓縮數(shù)據(jù)和參數(shù)的量,提取出圖像中的重要特征,進(jìn)而壓縮圖片。全連接層的輸入是將卷積層和池化層提取的特征進(jìn)行加權(quán),將特征空間將特征空間通過線性變換映射到樣本標(biāo)記空間。
圖4 CNN基本架構(gòu)圖
支持向量機(jī)[13-15](Support Vector Machine,SVM)是通過核函數(shù)將樣本集向量映射到一個(gè)高維特征空間,在該空間中隨機(jī)產(chǎn)生一個(gè)超平面并不斷移動(dòng)對(duì)樣本集進(jìn)行分類,直至不同類別的樣本點(diǎn)正好位于該超平面的兩側(cè),滿足樣本集分類的超平面可能有多個(gè),從中尋找到能使超平面兩側(cè)距離最大化則為最優(yōu)決策超平面,能對(duì)分類問題提供良好的泛化能力。
假設(shè)訓(xùn)練樣本集D={(X1,Y1),(X2,Y2),……,(xm,ym)},在樣本空間中,將樣本分開的超平面可由公式(1)表示:
wTx+b=0
(1)
式中:w為法向量,決定超平面的方向;b為位移項(xiàng)決定超平面原點(diǎn)距離;x表示空間中的任意點(diǎn)。
通過等比例地縮放w和b的值,可以使得兩類到超平面的距離最大,得到SVM的基本型如公式(2)所示。
s.t.yi(wTxi+b)≥1,i=1,2,……,m
(2)
基于CNN_SVM模型的水稻種子識(shí)別算法步驟為:通過最小外矩陣從水稻種子圖像中切割出單粒種子的圖片,進(jìn)行隨機(jī)翻轉(zhuǎn)、旋轉(zhuǎn)和亮度調(diào)節(jié)從而擴(kuò)增樣本集,其中80%為訓(xùn)練樣本,20%為測(cè)試樣本;選擇能快速準(zhǔn)確提取特征的卷積神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)來提取水稻種子的圖像特征,將SVM分類器代替Softmax分類器組成CNN_SVM模型對(duì)圖像特征進(jìn)行分類,其架構(gòu)圖如圖5所示;將CNN_SVM模型與HOG、LBP、SIFT與KNN、SVM結(jié)合的模型,CNN_Softmax以及CNN_KNN進(jìn)行分類正確率和識(shí)別時(shí)間的對(duì)比分析;采用CNN_SVM模型在3個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)對(duì)比:原始數(shù)據(jù)集(OR-Dataset)、不同年份水稻種子形成的數(shù)據(jù)集(DYR-Dataset)以及加入噪聲點(diǎn)后形成的數(shù)據(jù)集(NR-Dataset))。
圖5 CNN_SVM模型
圖像處理和分析實(shí)驗(yàn)的軟件環(huán)境是基于Tensorflow為后端運(yùn)行的Keras深度學(xué)習(xí)框架,以Python為編程語(yǔ)言,再PyCharm搭建模型。硬件配置是處理器為Intel(R) Core(TM) i5-6200U CPU,運(yùn)行內(nèi)存為8 G。
利用卷積神經(jīng)網(wǎng)絡(luò)自動(dòng)獲取水稻種子圖像的顏色、紋理以及形狀特征,并且將其特征提取過程可視化,如圖6所示。其中圖6a為64*64水稻種子圖像,圖6b為第一層卷積提取的前15張水稻種子特征圖像以及將該層各個(gè)特征圖像按1∶1疊加的綜合特征圖,圖6c為第二層卷積提取的前15張水稻種子特征圖像以及將該層各個(gè)特征圖像按1∶1疊加的綜合特征圖。
圖6 CNN特征圖
從圖6可以看出,通過卷積神經(jīng)網(wǎng)絡(luò)提取的特征是具有辨別性的特征,它能使水稻種子圖像中的無關(guān)背景被忽略,進(jìn)而把關(guān)鍵信息給提取出來。從第一層卷積神經(jīng)網(wǎng)絡(luò)提取的特征圖像可以看出,該層學(xué)習(xí)的特征基本上是一些邊緣等底層特征;從第二層卷積神經(jīng)網(wǎng)絡(luò)提取的特征圖像可以看出,該層可以提取一些更加完整和區(qū)別性的復(fù)雜特征,例如紋理特征??梢缘玫剑S著卷積層的增加,提取的特征詳細(xì)度與之成正比,但是過多的卷積層會(huì)造成數(shù)據(jù)的冗余,本文選取了大小適中的兩個(gè)卷積層作為此次實(shí)驗(yàn)的研究基礎(chǔ)。
本實(shí)驗(yàn)采用圖像識(shí)別正確率和平均識(shí)別一張圖片的時(shí)間對(duì)各算法進(jìn)行評(píng)估,圖像識(shí)別正確率見式(3)。
(3)
式中:a為圖像識(shí)別正確率;n為識(shí)別正確的圖像數(shù)量;N為進(jìn)行識(shí)別的總的圖像數(shù)量。
為了驗(yàn)證CNN_SVM模型的高效性,選取SVM、KNN、HOG_SVM、HOG_KNN、LBP_SVM、LBP_KNN、SIFT_SVM、SIFT_KNN、CNN_KNN和CNN_Softmax10種模型與之對(duì)比,如表1所示。
表1 各模型的識(shí)別正確率和平均識(shí)別時(shí)間
從表1可以看出,未經(jīng)過任何特征提取的SVM、KNN原模型在在運(yùn)行時(shí)間上較長(zhǎng),且識(shí)別正確率不高;通過提取HOG特征與SVM和KNN模型相結(jié)合能在運(yùn)行時(shí)間上有一定的縮短,但是識(shí)別正確率卻降低了;相較于SVM和KNN原模型,通過提取LBP特征能在識(shí)別正確率和識(shí)別時(shí)間上面有所提高,其中,LBP_SVM相較于SVM模型識(shí)別正確率提高了3.8%,LBP_KNN相較于KNN模型識(shí)別正確率提高了2.1%; 通過提取SIFT描述子與KNN、SVM模型相結(jié)合,可以看出運(yùn)行效率有一定的提高,SIFT_SVM相較于SVM模型識(shí)別正確率提高了8.6%,SIFT_KNN相較于KNN模型識(shí)別正確率提高了18.3%;通過CNN提取圖像特征與SVM和KNN相結(jié)合后的模型能較大提高識(shí)別正確率和縮短運(yùn)行時(shí)間:CNN_SVM模型相較于SVM模型識(shí)別正確率提高了20.2%,相較于CNN_Softmax模型識(shí)別正確率提高了3.8%,CNN_KNN模型相較于KNN模型識(shí)別正確率提高了20%,相較于CNN_Softmax提高了2.9%。通過比較11種模型,可以看出CNN_SVM有更高的識(shí)別正確率,在運(yùn)行效率方面明顯優(yōu)于其他10種模型。
因外表氧化原因,不同年份的水稻種子在色彩方面會(huì)有一定的誤差。年份較近的水稻種子色彩飽和度高,顏色更鮮艷;年份較遠(yuǎn)的水稻會(huì)因?yàn)檠趸瘑栴}變得發(fā)灰發(fā)白,從而色彩飽和度會(huì)更低。本實(shí)驗(yàn)通過調(diào)整水稻種子的色彩飽和度模擬了5種不同年份的水稻種子,如圖7所示,圖7a~圖7e表示水稻種子隨著年份的增長(zhǎng)顏色會(huì)逐漸變淺,最后為淺灰色。采用CNN_SVM模型對(duì)不同年份的水稻種子圖像進(jìn)行分類識(shí)別,識(shí)別正確率為96.1%(如表2所示),說明該模型對(duì)不同年份的種子依然具有高識(shí)別率。
圖7 不同年份的水稻種子圖像
為了提高模型的泛化能力,通過對(duì)水稻種子圖片隨機(jī)加入不同比例的椒鹽噪聲點(diǎn),圖8a為水稻種子原始圖像,圖8b從左到右依次為加入比例為0.01、0.05、0.1噪聲點(diǎn)的圖像,可以看出,加入噪聲的后的圖片部分圖像信息會(huì)被遮蓋,會(huì)對(duì)圖像特征有一定干擾。
圖8 加入噪聲的水稻種子圖像
采用CNN_SVM模型對(duì)增加噪聲后的水稻種子圖像進(jìn)行分類識(shí)別,從表2可以看出相較于未增加噪聲數(shù)據(jù)集來說,增加噪聲后的數(shù)據(jù)集識(shí)別正確率只是稍微下降,識(shí)別正確率為95.8%,說明該模型在噪聲干擾下還是能準(zhǔn)確識(shí)別水稻種子圖像,泛化能力較強(qiáng)。
表2 加入噪聲和不同年份水稻種子的識(shí)別正確率
圖像特征的提取是圖像分類識(shí)別的關(guān)鍵步驟。通過計(jì)算和統(tǒng)計(jì)圖像局部區(qū)域的梯度方向直方圖來提取水稻種子圖像的HOG特征[16-19]能夠描述出水稻種子的表象和形狀,但是生成HOG特征的過程冗長(zhǎng),速度慢,實(shí)時(shí)性差且不具有旋轉(zhuǎn)不變性;通過LBP算法[20,21]來提取水稻種子圖像局部紋理具有旋轉(zhuǎn)不變形和灰度不變性的優(yōu)點(diǎn),但在光照變化不均勻的情況下,圖像像素大小關(guān)系被破壞會(huì)導(dǎo)致LBP算子的變化;基于SIFT特征[22,23]提取可以在不同尺度空間上獲取水稻種子圖像的關(guān)鍵點(diǎn)及其方向,具有旋轉(zhuǎn)不變形以及對(duì)亮度變化保持不變,且識(shí)別速度較快,但對(duì)于一些邊緣光滑的水稻種子圖像,該算法檢測(cè)的關(guān)鍵點(diǎn)過少,無法準(zhǔn)確提取水稻種子圖像的全部特征。而卷積神經(jīng)網(wǎng)絡(luò)是一種監(jiān)督學(xué)習(xí)下的機(jī)器模型,在圖像特征提取方面能夠自動(dòng)進(jìn)行圖像的特征提取,能夠全面提取水稻種子的局部特征和全局特征,具有縮放不變性、旋轉(zhuǎn)不變性、亮度變化不變性和強(qiáng)魯棒性,在處理環(huán)境信息復(fù)雜,噪聲干擾的環(huán)境下自適應(yīng)性能好,對(duì)于被噪聲遮擋的損缺和畸變水稻種子圖像依然能較好地提取其關(guān)鍵信息。
KNN[24,25]是一種簡(jiǎn)單且易于實(shí)現(xiàn)的分類算法,是通過計(jì)算樣本件的距離來決定兩個(gè)樣本的相似程度,在進(jìn)行圖像分類時(shí)需要考慮到每個(gè)樣本,因此計(jì)算量大,不適合處理樣本維度過高的數(shù)據(jù)集并且不會(huì)自主去學(xué)習(xí)圖像的特征權(quán)重。而SVM只需要去找一個(gè)能將圖像樣本劃分開來的函數(shù),因此計(jì)算量不大,能自主獲取圖像的特征權(quán)重且對(duì)于通過卷積卷積神經(jīng)網(wǎng)絡(luò)提取的高維度圖像特征能處理得較好。
相較于一些需要獲取水稻種子的高光譜、形狀、顏色等各種圖像特征進(jìn)行分類的模型來說,CNN_SVM具有一定的便捷性,可直接將一幅圖像輸入模型中,在輸出端給出識(shí)別結(jié)果。其優(yōu)勢(shì)在于避免了傳統(tǒng)識(shí)別算法中復(fù)雜的特征提取、數(shù)據(jù)重建過程和數(shù)據(jù)預(yù)處理,能自行抽取圖像特征包括顏色、紋理、形狀及圖像的拓?fù)浣Y(jié)構(gòu)。對(duì)于經(jīng)過旋轉(zhuǎn)、翻轉(zhuǎn)和亮度調(diào)節(jié)后的圖像增強(qiáng)數(shù)據(jù),該模型的識(shí)別位移、旋轉(zhuǎn)不變性和亮度不變性讓其在對(duì)水稻種子圖像分類時(shí)具有良好的魯棒性和運(yùn)算效果。不同年份水稻種子的樣本會(huì)因氧化產(chǎn)生顏色誤差,CNN_SVM模型對(duì)其依然具有高識(shí)別率。在處理增加噪聲后的數(shù)據(jù)集上,特別是對(duì)于一些因噪聲造成圖像信息損缺的水稻種子圖像,CNN_SVM模型具有良好別的泛化能力,能夠高效正確識(shí)別水稻種子圖像。
實(shí)驗(yàn)的研究對(duì)象是8類水稻種子,分別是楚粳7號(hào)、鄂豐絲苗、馬壩油粘、玉楊糯、玉針香、兵兩優(yōu)401、五鄉(xiāng)優(yōu)398、泰優(yōu)398。由于玉楊糯和五鄉(xiāng)優(yōu)398在顏色、形狀以及紋理等特征方面高度相似,人工較難察覺兩者區(qū)別。CNN_SVM對(duì)這兩類品種識(shí)別時(shí)也易將兩者混淆識(shí)別,錯(cuò)誤率相對(duì)其他品種來說略高,但相對(duì)人工識(shí)別的準(zhǔn)確率更高,說明該模型能為高度相似品種間的水稻種子識(shí)別打下良好基礎(chǔ)。在后期將對(duì)該模型進(jìn)行優(yōu)化,提高其在高度相似水稻種子間的識(shí)別準(zhǔn)確率,形成一個(gè)能夠識(shí)別多種相似水稻種子的在線實(shí)時(shí)識(shí)別系統(tǒng)。
針對(duì)8種水稻種子圖像識(shí)別問題,將CNN_SVM模型與其他10種混合模型進(jìn)行比較,結(jié)果表明,相較于其他方法,本研究的方法無論是在識(shí)別正確率還是識(shí)別時(shí)間上面都具有較強(qiáng)的優(yōu)勢(shì),識(shí)別正確率為96.2%,平均識(shí)別一張圖像的時(shí)間為4.57 ms,與SVM、CNN原模型對(duì)比,顯著提高了識(shí)別正確率和縮短了識(shí)別時(shí)間。
采用CNN_SVM模型對(duì)OR數(shù)據(jù)集、DYR數(shù)據(jù)集以及NR數(shù)據(jù)集進(jìn)行分類識(shí)別,識(shí)別準(zhǔn)確率分別為96.2%、96.1%、95.8%。結(jié)果表明,CNN_SVM模型能夠高效識(shí)別不同年份的水稻種子,且對(duì)加入對(duì)特征提取具有強(qiáng)干擾作用的噪聲后,該模型的識(shí)別正確率依然較高,表明該模型具有較強(qiáng)的泛化能力,在強(qiáng)烈噪聲的干擾下可保持較高的分類準(zhǔn)確率,可根據(jù)所分析數(shù)據(jù)的變化不斷優(yōu)化模型,能對(duì)后續(xù)識(shí)別多種水稻種子圖像提供基礎(chǔ)。