孟 惜,苑迎春,劉 博,劉天真,2,幺 煒
(1.河北農(nóng)業(yè)大學(xué) 信息科學(xué)與技術(shù)學(xué)院,河北 保定 071001;2.保定學(xué)院 信息工程學(xué)院,河北 保定 071001)
棗原產(chǎn)于中國(guó),栽培歷史悠久,據(jù)記載約有944 個(gè)品種分布在全國(guó)26 個(gè)省、市、自治區(qū)[1-2]。棗品種眾多,一些品種的棗果外形差異細(xì)微,易于混淆。棗專家可以依賴自身的專業(yè)知識(shí)和豐富的經(jīng)驗(yàn)準(zhǔn)確辨別品種,但需要耗費(fèi)大量的時(shí)間和精力。對(duì)于不深入了解棗的一些收購(gòu)商、經(jīng)銷商或消費(fèi)者來說,識(shí)別不同的棗品種具有極大難度。因此,研究1 種智能、快速和準(zhǔn)確的棗品種識(shí)別方法具有重要的現(xiàn)實(shí)意義。
目前,多種無損檢測(cè)技術(shù)在果品種類識(shí)別中得到了廣泛應(yīng)用,如光譜技術(shù)、圖像處理技術(shù)、介電特性檢測(cè)技術(shù)。樊陽(yáng)陽(yáng)等[3]對(duì)4 種干制紅棗進(jìn)行鑒別,分別以光譜特征、紋理特征、光譜和紋理融合特征作為輸入,建立判別模型,結(jié)果顯示基于融合特征的反向傳播神經(jīng)網(wǎng)絡(luò)(Back-Propagation Neural Network,BPNN)模型識(shí)別準(zhǔn)確率為100%。Yang 等[4]對(duì)4 個(gè)不同杏品種的形狀特征進(jìn)行分析,比較了13 個(gè)形狀參數(shù)的差異和相關(guān)性,建立6 種識(shí)別模型,表明支持向量機(jī)識(shí)別效果最好,達(dá)到90.7%。沈靜波等[5]通過分析3 種棗果的介電頻譜,運(yùn)用主成分分析(Principal Component Analysis, PCA)提取頻譜的有效信息并結(jié)合支持向量機(jī)分類模型進(jìn)行棗果品種鑒別,識(shí)別率達(dá)100%。此外,還有學(xué)者在油桃[6]、草莓[7]、荔枝[8]、蘋果[9]、哈密瓜[10]等水果品種分類方面做了大量的研究。盡管這些檢測(cè)技術(shù)在果品識(shí)別方面已獲得一定的成果,但是具有一定的局限性,比如光譜技術(shù)、介電特性檢測(cè)技術(shù)受到實(shí)驗(yàn)儀器昂貴、數(shù)據(jù)處理困難等限制,圖像處理方法易受水果大小及檢測(cè)方位等因素影響,因此這些方法不易于市場(chǎng)推廣。
近年來,隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,圖像分類、目標(biāo)檢測(cè)等領(lǐng)域取得了重大突破[11-15],卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)具有自動(dòng)學(xué)習(xí)圖像特征的優(yōu)勢(shì)[16],被廣泛應(yīng)用到農(nóng)產(chǎn)品品種識(shí)別領(lǐng)域。Ponce 等[17]利用6 種不同的CNN 框架對(duì)7 類橄欖果品種進(jìn)行分類,表明Inception-ResnetV2 框架識(shí)別效果最優(yōu),達(dá)到95.91%。Nasiri 等[18]通過設(shè)計(jì)CNN 模型對(duì)4 類椰棗進(jìn)行識(shí)別,準(zhǔn)確率達(dá)到96.98%。Rodriguez 等[19]對(duì)4 類李子圖像進(jìn)行分割后,利用AlexNet 卷積網(wǎng)絡(luò)方法構(gòu)建識(shí)別系統(tǒng),識(shí)別率達(dá)到91%。
現(xiàn)有研究成果中水果品種識(shí)別數(shù)量局限在10 種之內(nèi),且識(shí)別方案僅適用于實(shí)驗(yàn)室環(huán)境,自然環(huán)境下識(shí)別多類棗果品種的研究鮮有報(bào)道。本文以20 個(gè)棗品種為研究對(duì)象,采集自然環(huán)境下拍攝的棗果、葉片圖像,利用深度學(xué)習(xí)技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了1 種三分支卷積神經(jīng)網(wǎng)絡(luò)模型,融合棗果以及葉片形狀、紋理特征,實(shí)現(xiàn)棗品種的自動(dòng)分類。
圖像數(shù)據(jù)來自河北省滄縣國(guó)家棗樹良種基地,在自然環(huán)境下,采集了20 個(gè)品種的棗果、葉片圖像,采集時(shí)間為棗果成熟期,分別在晴天、陰天、順光、逆光環(huán)境下采樣。采樣時(shí)不考慮遮擋、重疊情況,拍攝單個(gè)或多個(gè)分離的棗果和葉片。棗葉選取棗樹一次枝或二次枝中間發(fā)育較好、形狀完整的葉片進(jìn)行近距離拍攝。采集設(shè)備為安卓手機(jī)和尼康D7500單反數(shù)碼相機(jī),設(shè)置相機(jī)為自動(dòng)模式。經(jīng)過棗專家判斷與確認(rèn),選出1 794 幅棗果圖像和1 028 幅葉片圖像,形成了棗果、葉片圖像庫(kù)。棗果、葉片樣例圖像如圖1 所示。
圖1 棗果、葉圖像Fig.1 Jujube and leaf images
為了規(guī)范圖像數(shù)據(jù)集中樣本的大小,保證圖像經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)產(chǎn)生的維度相同,將所有圖像進(jìn)行歸一化處理,調(diào)整為224×224 像素。本文根據(jù)目標(biāo)圖像尺寸與原始圖像之比的最小值做等比縮放,縮放到合適尺寸后,再用opencv 中的copyMakeBorder 函數(shù)對(duì)剩余像素進(jìn)行填充,從而保持圖片寬高比與原始圖像一致,如圖2 所示。為了清晰顯示棗葉片紋理特征,將葉片圖像放大后隨機(jī)裁剪成224×224 像素的小塊,得到5 140 幅葉片紋理圖像,如圖3 所示。樣本數(shù)量如表1 所示。
表1 棗果、葉片圖像數(shù)量Table 1 Numbers of jujube fruit and leaf images
圖2 圖像預(yù)處理Fig2. Image preprocessing
圖3 葉片圖像及其紋理圖像Fig.3 Leaf and texture image
由圖4 可以看出,早熟躺棗和月芽棗外形相似而葉片不同,圓鈴小棗和圓鈴棗葉片形狀相似而紋理不同,這導(dǎo)致僅利用單個(gè)棗果圖像或單葉片圖像進(jìn)行棗品種識(shí)別是具有挑戰(zhàn)性的。由此,本研究設(shè)計(jì)的棗品種識(shí)別模型以棗果圖像和對(duì)應(yīng)的葉片及其紋理圖像作為輸入,利用多特征融合方法實(shí)現(xiàn)棗品種分類。
圖4 原始圖像樣本Fig.4 Original image samples
特征融合指將特征xa和xb利用融合函數(shù)f進(jìn)行融合,輸出特征y,見公式(1):
其中,a,b表示特征標(biāo)號(hào),H、W、D表示特征圖長(zhǎng)、寬、通道數(shù)。
現(xiàn)有的特征融合方法包括加法融合、最大值融合、拼接融合、卷積融合等。本文采用的是加法融合和拼接融合。加法融合函數(shù)如公式(2)所示,表示特征圖對(duì)應(yīng)位置的值相加,要求融合的特征大小完全相同。拼接融合函數(shù)如公式(3)所示,表示在通道維度上,將特征圖進(jìn)行串聯(lián),從而得到的特征圖通道維數(shù)為融合特征的通道數(shù)相加,要求特征圖長(zhǎng)寬相同,通道數(shù)可不同。
其中,i,j,k分別表示特征圖長(zhǎng)、寬和通道維數(shù)的索引。
研究表明,圖像經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)得到的特征包括淺層特征和深層特征,淺層特征反映圖像的邊緣信息,深層特征反映圖像的語(yǔ)義信息,這2 種特征是圖像分類必不可少的成分[20]。此外,網(wǎng)絡(luò)深度對(duì)性能也有一定影響。為了避免增加神經(jīng)網(wǎng)絡(luò)深度導(dǎo)致模型性能退化等問題,何凱明提出1 種殘差網(wǎng)絡(luò)(Residual Network)結(jié)構(gòu)[21],使模型具有更好的性能,且在2015 年的ILSVRC 比賽中取得了第1 名。為了能夠更好地完成棗品種分類任務(wù),本研究以Resnet-18 網(wǎng)絡(luò)模型為基礎(chǔ),融合棗果和葉片信息,進(jìn)行棗品種自動(dòng)識(shí)別。
ResNet 是深度卷積神經(jīng)網(wǎng)絡(luò)的1 個(gè)模型,相對(duì)于之前的AlexNet[22]、VGGNet[23]、Inception[24]等經(jīng)典網(wǎng)絡(luò),其突出特點(diǎn)是在網(wǎng)絡(luò)中加入恒等映射關(guān)系的殘差單元,解決了機(jī)械式增加模型深度造成的梯度消失、極易過擬合等問題,從而更好地運(yùn)用到實(shí)際中[25]。殘差模塊如圖5 所示,對(duì)比簡(jiǎn)單的單輸入單輸出結(jié)構(gòu),不同的是輸出結(jié)果等于輸入X和其經(jīng)過卷積后的輸出F(X)相加,這不但沒有給模型增加參數(shù)和計(jì)算量,而且還加快了模型收斂速度,提升訓(xùn)練效果。
圖5 殘差模塊Fig.5 Residual Network
本研究以18 層的Resnet 為基礎(chǔ)來構(gòu)建模型,其網(wǎng)絡(luò)結(jié)構(gòu)如圖6 所示,Resnet-18 網(wǎng)絡(luò)由1 個(gè)7×7×64 的卷積層、8 個(gè)殘差模塊、1 個(gè)平均池化層(Average Pooling Layer) 和全連接層(Fully-Connected, FC)組成,該網(wǎng)絡(luò)的1 個(gè)重要設(shè)計(jì)原則是:當(dāng)Feature map 大小降低一半時(shí),F(xiàn)eature map 的數(shù)量增加一倍以保持每個(gè)網(wǎng)絡(luò)層的計(jì)算復(fù)雜度。從圖6 中可以看到,ResNet 相比普通網(wǎng)絡(luò)每2 層間增加了短路機(jī)制,這就形成了殘差學(xué)習(xí),其中虛線表示Feature map 數(shù)量發(fā)生了改變。
圖6 ResNet-18 網(wǎng)絡(luò)框架Fig.6 ResNet-18 architecture
由圖4 可以看出,數(shù)據(jù)集中存在棗果大小形狀區(qū)別細(xì)微的棗品種,增加葉片特征能夠彌補(bǔ)棗果圖像識(shí)別率低的問題。此外,根據(jù)Lee 等[26]針對(duì)植物葉片圖像識(shí)別得出的結(jié)論:相對(duì)于邊緣特征,紋理特征是植物葉片的顯著特征,融合2 類特征提高了葉片識(shí)別準(zhǔn)確率。因此本文結(jié)合棗果圖像、葉片及其紋理圖像,設(shè)計(jì)三分支卷積神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)棗品種的自動(dòng)分類。
3.2.1 模型結(jié)構(gòu)概述 圖7 為棗品種識(shí)別模型結(jié)構(gòu)流程圖。
圖7 棗品種識(shí)別的網(wǎng)絡(luò)模型結(jié)構(gòu)Fig.7 The model structure of jujube identification
模型包含3 個(gè)并行特征提取分支,分別利用ResNet-18 網(wǎng)絡(luò)提取棗果特征、葉片形狀特征以及紋理特征。第1 個(gè)分支以棗果圖像作為輸入,學(xué)習(xí)棗果形狀、顏色相關(guān)特征,第2 個(gè)分支以完整的棗葉片圖像作為輸入,學(xué)習(xí)葉片形狀特征,第3 個(gè)分支以棗葉片紋理圖像作為輸入,學(xué)習(xí)葉片局部紋理特征。將得到的特征進(jìn)行融合時(shí),首先對(duì)葉片形狀和紋理特征進(jìn)行融合,得到葉片圖像的綜合特征后,再將其和棗果特征進(jìn)行融合,得到棗品種的最終特征向量。最后,將其輸入到全連接層,通過線性變換映射為代表?xiàng)椆?、葉片圖像的整體特征描述符,用20個(gè)棗品種的數(shù)量作為分類層神經(jīng)元數(shù)量進(jìn)行分類。
3.2.2 棗果、葉片特征融合 棗葉片形狀及紋理特征融合方式為:棗葉片形狀及紋理特征融合采用加法融合。令棗葉片形狀特征向量為X,紋理特征向量為Y,融合后得到的葉片綜合特征向量為Z(Z=X+Y)。棗果及葉片特征融合方式為:棗果及葉片特征融合采用拼接融合。將棗果特征向量A與葉片綜合特征向量Z進(jìn)行拼接,拼接后得到的特征向量為M(M=cat(A,Z)),A和Z均為512 維的特征向量。
本文軟件環(huán)境為Windows 10 64 位系統(tǒng)。計(jì)算機(jī)環(huán)境是Intel(R) Xeon (R) CPU E5-2603 V3@ 1.6 GHz,內(nèi)存為16 GB,GeForce GTX 1080 Ti 顯卡,顯存11 GB。采用PyTorch 深度學(xué)習(xí)框架。
本研究利用采集的20 個(gè)品種棗果、葉片圖像作為樣本,隨機(jī)抽取每類圖像的80%作為訓(xùn)練圖片,20%作為測(cè)試圖片。針對(duì)棗果、葉片圖像樣本集分別得到1 435 張,822 張作為訓(xùn)練集,359 張、206張作為測(cè)試集。
為了增加樣本的多樣性以及減少網(wǎng)絡(luò)的過度擬合,對(duì)原始棗果、葉片圖像進(jìn)行各種變換,如隨機(jī)旋轉(zhuǎn)(0°、90°、180°)、對(duì)比度增強(qiáng)、水平垂直翻轉(zhuǎn)、亮度調(diào)整等基本操作,擴(kuò)充訓(xùn)練數(shù)據(jù)集后分別得到12 915 幅和7 398 幅棗果、葉片圖像。
試驗(yàn)采用2 種方式訓(xùn)練模型:
1) 利用從頭開始(from-scratch)方法訓(xùn)練Resnet-18 網(wǎng)絡(luò)時(shí),采用隨機(jī)法初始化模型參數(shù)。
2) 利用微調(diào)(fine-tuning) 方法訓(xùn)練Resnet-18網(wǎng)絡(luò),由于Resnet-18 預(yù)訓(xùn)練模型的參數(shù)經(jīng)過ImageNet[27]數(shù)據(jù)集訓(xùn)練產(chǎn)生,具備較強(qiáng)的特征表達(dá)能力,于是,將卷積層參數(shù)載入到本研究模型,用棗果、葉片圖像數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò)的全連接層。
圖8 和圖9 為模型利用不同訓(xùn)練方式在測(cè)試集上的準(zhǔn)確率和損失函數(shù)曲線,對(duì)應(yīng)的準(zhǔn)確率如表2 所示:
表2 不同訓(xùn)練方式模型的分類準(zhǔn)確率Table 2 Classification accuracy of models with different training methods
圖8 微調(diào)網(wǎng)絡(luò)模型準(zhǔn)確率和損失值曲線Fig.8 Accuracy and loss values curves of fine-tuning model
圖9 從頭訓(xùn)練網(wǎng)絡(luò)模型準(zhǔn)確率和損失值曲線Fig.9 Accuracy and loss values curves of from-scratch model
為客觀比較2種訓(xùn)練方式對(duì)識(shí)別準(zhǔn)確率的影響,統(tǒng)一實(shí)驗(yàn)中的參數(shù),學(xué)習(xí)率為0.001,并采用隨機(jī)梯度下降法(Stochastic Gradient Descent, SGD)進(jìn)行參數(shù)更新,設(shè)定動(dòng)量因子為0.9,共迭代35 次。通過比較圖8 和圖9 可知,隨著迭代次數(shù)增加,棗品種識(shí)別的準(zhǔn)確率也逐漸提升,fine-tuning 方式網(wǎng)絡(luò)收斂速度快,loss值下降至0.1 后趨于穩(wěn)定;而fromscratch 方式準(zhǔn)確率和loss值隨著訓(xùn)練的進(jìn)行均處于不斷變化之中,模型學(xué)習(xí)效率較低。
由表2 可以看出,選用在大規(guī)模數(shù)據(jù)集上訓(xùn)練的Resnet-18 作為預(yù)訓(xùn)練模型,既縮短了網(wǎng)絡(luò)訓(xùn)練時(shí)間又提高了分類準(zhǔn)確率,表明預(yù)訓(xùn)練模型具有較強(qiáng)的學(xué)習(xí)淺層和深層特征能力,微調(diào)網(wǎng)絡(luò)是1 種提升模型泛化能力的有效方法。
為了驗(yàn)證三分支卷積神經(jīng)網(wǎng)絡(luò)模型的優(yōu)越性,用單分支及雙分支網(wǎng)絡(luò)模型對(duì)棗品種的識(shí)別結(jié)果進(jìn)行了對(duì)比分析,模型均利用fine-tuning 方法進(jìn)行訓(xùn)練,結(jié)果如表3 所示:
表3 單分支及雙分支網(wǎng)絡(luò)模型分類準(zhǔn)確率Table 3 Classification accuracy of models with singlebranch and double-branch
從表3 可得,采用棗果、葉片特征融合方式的棗品種分類準(zhǔn)確率均高于單分支網(wǎng)絡(luò)的識(shí)別結(jié)果。因此,棗果和葉片的特征融合可以彌補(bǔ)單個(gè)特征的不足,尤其對(duì)于一些棗果外形相似或者葉片輪廓相似的品種,在一定程度上提高了分類準(zhǔn)確率。此外,棗葉片紋理特征和形狀特征進(jìn)行融合可以提高識(shí)別率。從單分支網(wǎng)絡(luò)識(shí)別結(jié)果表明棗果對(duì)于棗品種的識(shí)別影響最大,這也正符合專家辨別棗品種的方式。
圖10 列出了20 個(gè)棗品種的識(shí)別準(zhǔn)確率。
圖10 棗品種識(shí)別準(zhǔn)確率Fig.10 Identification accuracy of jujube varieties
相較于利用棗果作為輸入的單分支網(wǎng)絡(luò)模型,三分支卷積神經(jīng)網(wǎng)絡(luò)模型取得了較好的識(shí)別結(jié)果,準(zhǔn)確率均在80%以上,其中茶壺棗和磨盤棗分類準(zhǔn)確率達(dá)到100%,圓鈴棗的識(shí)別結(jié)果由62%提升至84%。結(jié)果表明,增加棗葉片形狀及紋理特征有助于提升棗品種識(shí)別率。然而,一些品種的棗果畸形以及光線的影響可能會(huì)導(dǎo)致識(shí)別錯(cuò)誤,如圖11 所示。
圖11 錯(cuò)誤識(shí)別的樣本Fig.11 Some samples of misidentification
為了驗(yàn)證Resnet-18 預(yù)訓(xùn)練模型的性能,分別選擇AlexNet 和VGGNet-16 設(shè)為基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu),利用finetuning 微調(diào)網(wǎng)絡(luò)進(jìn)行棗品種分類,結(jié)果如表4 所示:
表4 不同預(yù)訓(xùn)練模型分類準(zhǔn)確率的對(duì)比Table 4 Comparison of classification accuracy of different pre-trained models
從表4 可以看出:預(yù)訓(xùn)練模型的深度是棗品種識(shí)別的1 個(gè)重要因素,增加卷積神經(jīng)網(wǎng)絡(luò)的深度可以有效提升模型的性能。ResNet-18 相對(duì)于VGGNet-16和 AlexNet,網(wǎng)絡(luò)更深,學(xué)習(xí)特征表達(dá)能力更強(qiáng),從而提高了棗品種的分類準(zhǔn)確率。VGGNet-16 能夠有效地提取特征,由于參數(shù)數(shù)量較多導(dǎo)致網(wǎng)絡(luò)過擬合嚴(yán)重,因此降低了識(shí)別準(zhǔn)確率。AlexNet 網(wǎng)絡(luò)由于提取的特征不全面導(dǎo)致準(zhǔn)確率較低。
本文利用深度學(xué)習(xí)技術(shù)在棗品種識(shí)別方面進(jìn)行了試驗(yàn)研究和分析。針對(duì)20 個(gè)品種的棗果、葉片圖像,通過歸一化預(yù)處理和數(shù)據(jù)增廣操作后,以ResNet-18 網(wǎng)絡(luò)為基礎(chǔ),構(gòu)建了三分支并行卷積神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)棗品種的自動(dòng)分類,得到以下結(jié)論:
(1) 利 用from-scratch 和fine-tuning 2 種 方 式訓(xùn)練模型,結(jié)果表明通過fine-tuning 方法訓(xùn)練ResNet-18 網(wǎng)絡(luò)可以學(xué)習(xí)到棗果特征和葉片形狀及紋理特征,利用特征融合在一定程度上避免了不同品種棗果形狀相似的干擾。
(2) 在單分支及雙分支網(wǎng)絡(luò)模型訓(xùn)練試驗(yàn)中,結(jié)果表明相比較于棗葉片圖像,棗果圖像對(duì)棗品種的分類貢獻(xiàn)更大。而且棗葉片紋理信息對(duì)棗品種識(shí)別起著重要的作用。
(3) 利用不同預(yù)訓(xùn)練模型進(jìn)行棗品種識(shí)別的試驗(yàn)結(jié)果說明選擇合適的網(wǎng)絡(luò)模型很重要,模型深度越深在一定程度上能夠提升識(shí)別準(zhǔn)確率。
(4) 本研究模型是在20 個(gè)棗品種圖像庫(kù)進(jìn)行訓(xùn)練與測(cè)試,在后期研究中繼續(xù)采集棗品種圖像,增加品種數(shù)量,進(jìn)一步提高模型的泛化能力。
(5) 本文在棗果、葉片2 個(gè)特征上進(jìn)行試驗(yàn)研究,未來可增加更多的特征,如枝干、樹皮等,探索多種特征對(duì)棗品種識(shí)別效果的影響。
河北農(nóng)業(yè)大學(xué)學(xué)報(bào)2022年2期