林麗惠,魏 毅,潘俊虹
(1.武夷學(xué)院 數(shù)學(xué)與計(jì)算機(jī)學(xué)院,福建 武夷山 354300;2.武夷學(xué)院 認(rèn)知計(jì)算與智能信息處理福建省高校重點(diǎn)實(shí)驗(yàn)室,福建 武夷山 354300)
武夷巖茶是中國(guó)傳統(tǒng)名茶,品種資源極為豐富,史書記載有上千個(gè)品種.如何快速、準(zhǔn)確地識(shí)別武夷巖鮮茶葉片,進(jìn)而識(shí)別茶樹品種,對(duì)保護(hù)和開發(fā)利用武夷巖茶品種資源具有非常重要的意義.識(shí)別武夷巖鮮茶葉片品種的傳統(tǒng)方法有兩種:一是專家感官評(píng)定;二是化學(xué)成分分析.前者主觀性強(qiáng),受評(píng)定專家經(jīng)驗(yàn)限制,缺乏客觀評(píng)價(jià)標(biāo)準(zhǔn);后者依據(jù)化學(xué)成分指標(biāo)進(jìn)行鑒別,準(zhǔn)確率較高,但步驟繁瑣,難以快速識(shí)別.因此需要尋求一種能夠快速、準(zhǔn)確地辨別武夷巖茶茶樹品種的方法.目前較為簡(jiǎn)單有效的方法是通過武夷巖鮮茶葉片的圖像識(shí)別,確定茶樹品種[1-6].
目前,鮮茶葉片的圖像識(shí)別多采用基于傳統(tǒng)手工特征的方法,即先提取茶葉葉片圖像的顏色、形狀和紋理等特征值,然后對(duì)特征值采用不同的分類算法進(jìn)行分類.例如,2009 年P(guān)andolfi 等[7]對(duì)來自3 個(gè)不同國(guó)家的17 種鮮茶葉片進(jìn)行分類識(shí)別,提取了鮮茶葉片圖像基于顏色和形狀的14 個(gè)特征,采用聚類方法將顏色特征歸為兩類,最后使用BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行分類.2010 年陳怡群等[8]對(duì)3 種不同類型的鮮茶葉嫩芽圖像進(jìn)行分類,提取了茶葉圖像7 個(gè)傳統(tǒng)幾何形狀特征和12 個(gè)常用顏色紋理特征,采用基于神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行分類.2014 年劉自強(qiáng)[9]對(duì)湖南農(nóng)業(yè)大學(xué)教學(xué)基地的10 種茶樹品種(包括政和大白、碧香早、紅芽佛手等)的鮮茶葉片圖像進(jìn)行分類識(shí)別,提取了葉片圖像顏色、紋理和形狀多種特征,并首次在鮮茶葉片圖像分類中應(yīng)用了多重分形特征,同時(shí)對(duì)多種分類器的分類效果做了系統(tǒng)分析.2018 年林麗惠等[10]實(shí)地采集武夷巖茶肉桂、水仙2 個(gè)品種共計(jì)3 590 張鮮茶葉片圖像,提取葉片基于形狀和紋理的14種圖像特征,并使用支持向量機(jī)進(jìn)行分類.雖然,基于傳統(tǒng)手工特征的葉片分類方法取得一定的研究進(jìn)展,但其準(zhǔn)確率仍然在很大程度上受所提取特征的制約.
隨著深度學(xué)習(xí)技術(shù)的迅猛發(fā)展,基于深度學(xué)習(xí)技術(shù)解決圖像分類問題成為計(jì)算機(jī)視覺領(lǐng)域的研究熱點(diǎn)[11-12].特別是卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)通過建立層級(jí)特征自動(dòng)提取模型,得到更準(zhǔn)確且接近圖像高級(jí)語義的特征,在圖像分類方面取得了突破性進(jìn)展[13-15].針對(duì)武夷巖鮮茶葉片圖像分類問題,由于各類別茶葉葉片圖像間的差別非常細(xì)微,且葉片圖像的獲取易受光照、角度等因素的影響,相比傳統(tǒng)特征提取方法,采用CNN 自動(dòng)獲取的強(qiáng)語義特征更適于細(xì)微差別的茶葉葉片圖像識(shí)別.本研究將探索適合武夷巖茶葉片分類問題的深層CNN 網(wǎng)絡(luò)模型.
在深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)中,CNN 因具有很多優(yōu)點(diǎn)而被廣泛應(yīng)用,如權(quán)值共享、局部連接等,這些特性使網(wǎng)絡(luò)更易于訓(xùn)練,從而降低網(wǎng)絡(luò)的復(fù)雜度.并且卷積神經(jīng)網(wǎng)絡(luò)對(duì)平移、扭曲、縮放具有不變性,使網(wǎng)絡(luò)魯棒性和容錯(cuò)能力更強(qiáng)[16].
神經(jīng)網(wǎng)絡(luò)的基本組成單元是多輸入單輸出的神經(jīng)元,其結(jié)構(gòu)模型如圖1.其中:xi為神經(jīng)元的輸入;yj為神經(jīng)元的輸出;n 個(gè)輸入信號(hào)同時(shí)輸入神經(jīng)元j;wij表示權(quán)重值,對(duì)應(yīng)輸入信號(hào)xi與神經(jīng)元j 的連接;bj為偏置值,表示神經(jīng)元的內(nèi)部狀態(tài).神經(jīng)元的輸入輸出關(guān)系如式(1):
圖1 神經(jīng)元模型
式中,f(·)為激活函數(shù).常用的激活函數(shù)有ReLU、Sigmoid、Tanh 等.
CNN 的基本結(jié)構(gòu)如圖2,包括輸入層(Input layer)、卷積層(Convolutional layer)、池化層(Pooling layer)、全連接層(Fully connected layer)及輸出層(Output layer).其中,卷積層和池化層可以有多個(gè),一般交替設(shè)置,在卷積層后連接池化層.
圖2 CNN 的基本結(jié)構(gòu)
卷積層由多個(gè)特征圖組成.每個(gè)神經(jīng)元與上一層特征圖的局部區(qū)域相連接,通過卷積核進(jìn)行卷積操作,獲取圖像的局部特征.淺層的卷積層主要用于獲取圖像的低層特征,例如圖像的邊緣和角落等;更高層的卷積層主要獲取圖像更高級(jí)的語義特征[17].
在卷積層后連接池化層用于縮小特征圖的尺寸.池化層每個(gè)神經(jīng)元與上一層卷積層特征圖的局部區(qū)域相連接,通過池化操作,進(jìn)行二次特征提取,提高特征的魯棒性.通過池化層后的特征與卷積層類似,同樣也由多個(gè)特征圖組成.
在CNN 的結(jié)構(gòu)中,在卷積、池化操作之后,通常會(huì)連接一個(gè)或多個(gè)全連接層.全連接層通過將每個(gè)神經(jīng)元與上一層所有神經(jīng)元全連接的方式,用于整合前面所有層中的各種局部信息,然后傳遞給輸出層,進(jìn)行類別區(qū)分.
近年來,許多優(yōu)秀的CNN 網(wǎng)絡(luò)模型被提出,并取得了很好的效果.2012 年,由Alex 等[18]提出的AlexNet模型贏得了2012 年ImageNet 項(xiàng)目大規(guī)模視覺識(shí)別挑戰(zhàn)(ILSVRC)的第一名,取得Top-5 錯(cuò)誤率16.4%的成績(jī).2014 年,牛津大學(xué)視覺幾何組(Visual Geometry group,VGG)提出的VGGNet 模型[19]在ILSVRC 比賽中將Top-5 錯(cuò)誤率降到了7.32%.Google 團(tuán)隊(duì)提出的GoogLeNet 模型(又稱Inception 模型)及其后續(xù)版本[20]在ILSVRC 比賽中將Top-5 錯(cuò)誤率再度降至4.8%.2015 年何愷明等[21]提出深度殘差網(wǎng)絡(luò)(Residual Network,ResNet),在ILSVRC 比賽中奪得冠軍,將Top-5 錯(cuò)誤率降低至3.57%.
針對(duì)武夷巖鮮茶葉片圖像分類問題,本研究使用在ImageNet 數(shù)據(jù)集上預(yù)訓(xùn)練的CNN 模型,然后進(jìn)行“遷移學(xué)習(xí)”.ImageNet 數(shù)據(jù)集包括120 萬張圖片,因?yàn)橐?guī)模較大,被廣泛用作訓(xùn)練集.在ImageNet 數(shù)據(jù)集上預(yù)訓(xùn)練的網(wǎng)絡(luò)在遷移學(xué)習(xí)中,表現(xiàn)出很好的泛化性能.使用預(yù)先訓(xùn)練模型的優(yōu)點(diǎn)已經(jīng)在幾項(xiàng)研究中得到證實(shí)[22-24].遷移學(xué)習(xí)能充分利用已有大數(shù)據(jù)在深度卷積網(wǎng)絡(luò)中預(yù)訓(xùn)練的參數(shù),解決武夷巖鮮茶葉片圖像分類問題中的小樣本問題,實(shí)現(xiàn)武夷巖鮮茶葉片圖像特征的自動(dòng)提取,并可保證一定的準(zhǔn)確率.分別使用在ImageNet 數(shù)據(jù)集上預(yù)先訓(xùn)練好的AlexNet、VGGNet 和ResNet 模型對(duì)武夷巖鮮茶葉片圖像進(jìn)行訓(xùn)練和預(yù)測(cè)分類.
AlexNet 模型是CNN 的經(jīng)典網(wǎng)絡(luò)模型,其結(jié)構(gòu)共有8 個(gè)帶權(quán)層,其中前5 個(gè)是卷積層,余下3 層是全連接層.AlexNet 模型的輸入圖像大小為224×224×3.第1 個(gè)卷積層具有96 個(gè)卷積核對(duì)輸入圖像進(jìn)行卷積,卷積核大小為11×11;第2 個(gè)卷積層接收第一個(gè)卷積層的輸出,卷積核大小為5×5;后面3 個(gè)卷積層的卷積核大小均為3×3.AlexNet 模型的主要優(yōu)勢(shì):使用ReLU 激活函數(shù),比使用Sigmoid 激活函數(shù)訓(xùn)練速度更快;每個(gè)全連接層后面使用一個(gè)Dropout 層,可以起到減少過擬合的作用.AlexNet 模型的主要缺點(diǎn)在于認(rèn)為卷積核越大,則感受野越大,獲取的圖像信息越多,從而獲取的圖像全局特征越好.因此,AlexNet 模型使用了11×11、5×5 這樣的大卷積核,但是大的卷積核會(huì)導(dǎo)致計(jì)算量的大幅增加,導(dǎo)致計(jì)算性能下降,從而造成網(wǎng)絡(luò)結(jié)構(gòu)深度的增加.
VGGNet 在AlexNet 基礎(chǔ)上對(duì)深度神經(jīng)網(wǎng)絡(luò)在深度上做了更多研究.業(yè)界普遍認(rèn)為,更深的網(wǎng)絡(luò)具有比淺網(wǎng)絡(luò)更強(qiáng)的表達(dá)能力,更能刻畫現(xiàn)實(shí),完成更復(fù)雜的任務(wù).VGGNet 與AlexNet 相比,最大的改進(jìn)就是通過反復(fù)堆疊3×3 的小卷積核替代了AlexNet 模型11×11、5×5 這樣的大卷積核,從而成功地將網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建到16 至19 層深度.其中VGG16 模型為16 層深度網(wǎng)絡(luò),包含13 層卷積層和3 層全連接層.VGG16 雖然網(wǎng)絡(luò)更深,但采用更小的卷積核,參數(shù)量更少,比AlexNet 收斂更快.
一般情況下,網(wǎng)絡(luò)深度增加,網(wǎng)絡(luò)的準(zhǔn)確度也會(huì)同步增加.但在實(shí)際情況中,隨著網(wǎng)絡(luò)深度的增加,會(huì)出現(xiàn)以下兩個(gè)問題:一是梯度消失,網(wǎng)絡(luò)深度增加后,造成從后向前傳播的梯度,比較靠前的層變得很小甚至停滯;二是訓(xùn)練誤差,網(wǎng)絡(luò)深度增加后,參數(shù)量更大,優(yōu)化問題更難.因此,如果只是簡(jiǎn)單增加網(wǎng)絡(luò)深度,反而可能會(huì)出現(xiàn)訓(xùn)練誤差更大的問題.
ResNet 模型主要解決的問題是極深度條件下深度卷積神經(jīng)網(wǎng)絡(luò)的性能退化問題,核心思想是引入殘差模塊結(jié)構(gòu)[25],從而可以大大增加網(wǎng)絡(luò)結(jié)構(gòu)的深度.殘差模塊結(jié)構(gòu)如圖3.ResNet 的思想是假設(shè)一個(gè)網(wǎng)絡(luò)存在最優(yōu)的網(wǎng)絡(luò)層次,而被設(shè)計(jì)的深層次網(wǎng)絡(luò)往往有很多網(wǎng)絡(luò)層是冗余的,希望這些冗余層是恒等映射的,保證經(jīng)過該恒等映射層的輸入和輸出是一致的.圖3 中殘差模塊的輸入由原來的F(x)變?yōu)镠(X)=F(x)+x,如果這些網(wǎng)絡(luò)層是冗余的,則只需要令F(x)=0 即可實(shí)現(xiàn)恒等映射.
圖3 殘差模塊結(jié)構(gòu)
ResNet 模型有不同的網(wǎng)絡(luò)層數(shù),比較常用的是ResNet-18、ResNet-50 結(jié)構(gòu).他們都是由上述圖3 中的殘差模塊堆疊實(shí)現(xiàn).其中ResNet-18 為18 層深度網(wǎng)絡(luò),ResNet-50 為50 層深度網(wǎng)絡(luò).
實(shí)地采集武夷巖茶中9 個(gè)茶葉品種的共計(jì)7 330 張鮮茶葉片圖像,構(gòu)建實(shí)驗(yàn)數(shù)據(jù)集.數(shù)據(jù)集中不同品種的鮮茶葉片圖像數(shù)目見表1.
表1 數(shù)據(jù)集中不同品種的鮮茶葉片圖像數(shù)目
為提高鮮茶葉片的識(shí)別率,首先對(duì)數(shù)據(jù)集中的鮮茶葉片圖像進(jìn)行預(yù)處理.通過基于閾值的圖像分割算法,提取原始圖片中的葉片前景區(qū)域,然后計(jì)算出包含葉子的最小矩形區(qū)域和最小閉圓,將葉子區(qū)域裁剪出來并將其他背景顏色設(shè)置為純白.進(jìn)行預(yù)處理后的9 個(gè)品種的武夷巖鮮茶葉片圖像如圖4.訓(xùn)練和測(cè)試時(shí),圖像被隨機(jī)裁剪為224 px×224 px.
圖4 預(yù)處理后的9 個(gè)品種的武夷巖茶鮮茶葉葉片圖像
實(shí)驗(yàn)將數(shù)據(jù)集中的鮮茶葉片圖像按7∶3 分為訓(xùn)練集和測(cè)試集.實(shí)驗(yàn)分別采用在ImageNet 數(shù)據(jù)集上預(yù)先訓(xùn)練好的AlexNet、VGG16、ResNet18 和ResNet50 模型.將這些模型最后的全連接層輸出改為9 個(gè)類別以適應(yīng)本實(shí)驗(yàn)數(shù)據(jù)集,并對(duì)這些模型通過遷移學(xué)習(xí)的方式進(jìn)行參數(shù)訓(xùn)練,采用隨機(jī)梯度下降方法對(duì)模型進(jìn)行優(yōu)化.為公平對(duì)比,對(duì)每個(gè)模型的實(shí)驗(yàn)均采用相同的超參數(shù),超參數(shù)設(shè)置為:lr=10-3,weight_decay=10-4,momentum=0.9,Epoch=50,batch_size=30.其中l(wèi)r 為學(xué)習(xí)率,weight_decay 為權(quán)重衰減,momentum 為動(dòng)量,Epoch 為整個(gè)訓(xùn)練集被訓(xùn)練算法遍歷的次數(shù),batch_size 為1 次迭代所使用的樣本量.
分別使用AlexNet、VGG16、ResNet18 和ResNet50 模型對(duì)數(shù)據(jù)集中的鮮茶葉片圖像進(jìn)行分類的準(zhǔn)確率、網(wǎng)絡(luò)層數(shù)和卷積核大小見表2.
表2 使用各種CNN 模型獲得的分類準(zhǔn)確率
表2 中的實(shí)驗(yàn)結(jié)果表明:具有更小卷積核且網(wǎng)絡(luò)深度更深的網(wǎng)絡(luò)結(jié)構(gòu)能夠獲得更高的分類準(zhǔn)確率,如只有8 層網(wǎng)絡(luò)結(jié)構(gòu)的AlexNet 獲得的分類準(zhǔn)確率為92.21%,而具有16 層網(wǎng)絡(luò)結(jié)構(gòu)的VGG16 獲得的分類準(zhǔn)確率為93.22%;保持卷積核的大小不變,深度越深,網(wǎng)絡(luò)的性能越好,如使用ResNet18 獲得的分類準(zhǔn)確率為94.36%,而使用ResNet50 獲得了最高的分類準(zhǔn)確率96.04%.
使用ResNet50 對(duì)測(cè)試集進(jìn)行分類的混淆矩陣如圖5,圖中每一列代表預(yù)測(cè)的武夷巖鮮茶葉片品種,每一列的總數(shù)代表了預(yù)測(cè)為該品種的武夷巖鮮茶葉片數(shù)目;每一行代表了葉片的真實(shí)歸屬品種,每一行的總數(shù)代表了該品種葉片的真實(shí)數(shù)目.從圖5 中可以看出,測(cè)試集總共有2 199 葉片圖像,其中252張105 品種圖像中被錯(cuò)分類的有9 張,200 張305 品種圖像被錯(cuò)分類的有4 張,74 張百歲香品種圖像被錯(cuò)分類的有9 張,112 張北斗品種圖像被錯(cuò)分類的有2 張,188 張丹桂品種圖像被錯(cuò)分類的有41 張,89張茗科1 號(hào)品種圖像被錯(cuò)分類的有2 張,243 張奇蘭品種圖像被錯(cuò)分類的有0 張,511 張肉桂品種圖像被錯(cuò)分類的有10 張,530 張水仙品種圖像被錯(cuò)分類的有10 張.以上實(shí)驗(yàn)結(jié)果也說明在本研究9 個(gè)品種的武夷巖鮮茶葉片圖像中,丹桂品種圖像和105 品種圖像最易被錯(cuò)分類.
圖5 使用ResNet50 對(duì)測(cè)試集進(jìn)行分類的混淆矩陣
為進(jìn)一步驗(yàn)證卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì),與基于傳統(tǒng)人工特征提取的葉片分類方法對(duì)比,使用文獻(xiàn)[10]中的方法對(duì)數(shù)據(jù)集中的鮮茶葉片圖像提取葉片基于形狀和紋理的14 種圖像特征,分別使用全自動(dòng)支持向量機(jī)[10]和SVM 其他核函數(shù)算法進(jìn)行分類識(shí)別,獲得各方法分類準(zhǔn)確率見表3.本研究使用的基于卷積神經(jīng)網(wǎng)絡(luò)的分類方法所獲得的分類準(zhǔn)確率高于使用文獻(xiàn)[10]中的基于傳統(tǒng)人工特征提取方法.
表3 各算法分類準(zhǔn)確率對(duì)比
本研究使用基于卷積神經(jīng)網(wǎng)絡(luò)的方法對(duì)武夷巖茶鮮茶葉片圖像進(jìn)行分類,通過使用在ImageNet 數(shù)據(jù)集上預(yù)先訓(xùn)練好的CNN 模型,對(duì)武夷巖鮮茶葉片圖像分類問題進(jìn)行“遷移學(xué)習(xí)”.將CNN 模型應(yīng)用于鮮茶葉片圖像的識(shí)別,能充分利用已有的大數(shù)據(jù)在深度卷積網(wǎng)絡(luò)中預(yù)訓(xùn)練的參數(shù),解決武夷巖鮮茶葉片圖像分類中的小樣本問題,實(shí)現(xiàn)武夷巖鮮茶葉片圖像特征的自動(dòng)提取.
通過采用多種不同的CNN 模型,對(duì)實(shí)地采集的武夷巖茶9 個(gè)茶葉品種共計(jì)7 330 張鮮茶葉片圖像進(jìn)行分類.實(shí)驗(yàn)結(jié)果表明:使用AlexNet、VGGNet 和ResNet 模型所獲得的分類準(zhǔn)確率均高于傳統(tǒng)人工特征提取,其中ResNet50 獲得了最高的分類準(zhǔn)確率96.04%;其中,本研究包含的9 個(gè)品種的武夷巖鮮茶葉片圖像中,丹桂品種圖像和105 品種圖像易被混淆.
對(duì)武夷巖茶葉片分類問題,今后將繼續(xù)探索不同的網(wǎng)絡(luò)模型,以獲取更高的分類準(zhǔn)確率.同時(shí)今后的研究工作將擴(kuò)大武夷巖鮮茶葉片種類,并針對(duì)分類易錯(cuò)葉片進(jìn)行更深入的研究,提高分類準(zhǔn)確率.