黃英來,溫 馨,任洪娥,王佳琪
東北林業(yè)大學(xué) 信息與計(jì)算機(jī)工程學(xué)院,哈爾濱150040
隨著經(jīng)濟(jì)和文明的發(fā)展,人們對民族樂器表現(xiàn)出越來越濃厚的興趣,古箏面板市場也隨之?dāng)U大。由于當(dāng)前對古箏面板品質(zhì)分級方法主要依賴樂器師個(gè)人經(jīng)驗(yàn),并根據(jù)QB/T1207.3—2011《箏》這一標(biāo)準(zhǔn)觀察木材紋理和掂、敲、聽等方式來進(jìn)行主觀判斷,這種方法需要較長判斷時(shí)間且結(jié)果易受人為因素影響;誤判率較高,難以滿足日益興起的市場需求。
深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolutional Neural Network,DCNN)[1]自2012 年后相繼出現(xiàn),并在計(jì)算機(jī)視覺與圖像處理[2-3]領(lǐng)域上取得了超越人類專家的識(shí)別結(jié)果,然而訓(xùn)練好一個(gè)DCNN需要數(shù)百萬個(gè)參數(shù)且離不開大量的標(biāo)記樣本,需要耗費(fèi)大量訓(xùn)練開銷和時(shí)間。針對很多領(lǐng)域[4-5]缺乏有效的標(biāo)注數(shù)據(jù)這個(gè)實(shí)際問題,遷移學(xué)習(xí)給出了很好的解決方法,其通過放寬訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)必須為獨(dú)立同分布的假設(shè),將知識(shí)從源域遷移到目標(biāo)域[6-11]。
目前在深度學(xué)習(xí)和遷移學(xué)習(xí)熱潮下對木材的識(shí)別方法都是針對不同樹種展開的,缺乏對同一樹種不同品質(zhì)板材之間進(jìn)行分類的研究。本文通過分析以往對不同樹種間研究的方法,來探索一種應(yīng)用于古箏面板品質(zhì)分級方法。Loke 等人[12]提出一種轉(zhuǎn)換卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)輸入層來直接捕獲紋理屬性和關(guān)系像素屬性的新方法,在27 種木材分類中識(shí)別精度達(dá)到了93.94%,但該方法需要海量數(shù)據(jù)且受限于CNN 網(wǎng)絡(luò)層數(shù),層數(shù)過深時(shí)網(wǎng)絡(luò)易過擬合。Ravindran 等人[13]基于預(yù)訓(xùn)練VGG16 模型實(shí)現(xiàn)了對10種熱帶楝科木材分類識(shí)別,識(shí)別精度達(dá)到了87.4%~97.5%。王莉影等人[14]利用預(yù)訓(xùn)練的Inception v3 模型實(shí)現(xiàn)了對針葉林和闊葉林遙感圖像的分類,識(shí)別精度超過了97%。以上兩種方法使用的是遷移學(xué)習(xí)中預(yù)訓(xùn)練模型,其很好解決了深度學(xué)習(xí)中所需海量數(shù)據(jù)和計(jì)算開銷過大問題,但在源域和目標(biāo)域出現(xiàn)一定的差距,目標(biāo)域之間差距又較小的時(shí)候,預(yù)訓(xùn)練模型學(xué)習(xí)的多是源域和目標(biāo)域間相似特征,難以充分提取到針對目標(biāo)域中深層特征,模型提升精度有限。張錫英等人[15]通過融合空間映射網(wǎng)絡(luò)(Spatial Transform Network,STN)和DenseNet解決了網(wǎng)絡(luò)對輸入數(shù)據(jù)敏感問題,從而提升了識(shí)別精度,在184種復(fù)雜背景下樹木葉片上識(shí)別精度達(dá)到了90.43%。但由于DenseNet采用的密集連接機(jī)制使其實(shí)際占用內(nèi)存較大,導(dǎo)致運(yùn)行時(shí)間較長。
以往為了讓模型提取更多特征,一種常用方式是在其后端堆疊卷積層增加深度來提取深層特征,這樣做也帶來了相應(yīng)弊端。首先層數(shù)過深容易造成參數(shù)量冗余和過擬合現(xiàn)象發(fā)生,然后只是卷積層堆疊特征提取效率較低而且容易丟失前層特征,最后隨深度增加ReLU進(jìn)入負(fù)區(qū)間導(dǎo)致梯度為0,從而權(quán)重?zé)o法更新,風(fēng)險(xiǎn)也隨之變大。為了高效地提取到板材圖像間深層特征,本文設(shè)計(jì)了一種深度殘差網(wǎng)絡(luò)模型,其創(chuàng)新性主要有以下兩點(diǎn):其一,在預(yù)訓(xùn)練模型后端新增深層特征提取部分。該部分融合了殘差連接和深度可分離卷積,在增強(qiáng)特征重利用同時(shí),有利于高效提取到圖像深層特征。其二,為保證神經(jīng)元學(xué)習(xí)能力,使用LeakyReLU[16]函數(shù)代替?zhèn)鹘y(tǒng)的ReLU 激活函數(shù),避免了過多神經(jīng)元死亡的問題,增強(qiáng)了網(wǎng)絡(luò)魯棒性。最后將殘差連接和深度可分離卷積融合單元塊的輸出向量送入全連接層用于圖像分類。實(shí)驗(yàn)表明,本文使用的深度殘差網(wǎng)絡(luò)模型對比其他方法不僅識(shí)別精度更高,計(jì)算開銷更小,運(yùn)行時(shí)間也較短,為古箏面板市場實(shí)現(xiàn)準(zhǔn)確高效品質(zhì)分級提供了可能。
殘差連接是一種常見的類圖網(wǎng)絡(luò)結(jié)構(gòu),殘差連接解決了深度學(xué)習(xí)模型面臨的表示瓶頸和梯度消失難題。其一方面將前面的輸出張量與后面的輸出張量相加,將較早的信息重新注入下游數(shù)據(jù)流中,從而減少了有效信息在處理過程中流失;其另一方面引入一個(gè)純線性的信息攜帶軌道,與主要的層堆疊方向平行,有助于跨越任意深度層來傳播梯度。殘差連接公式如式(1)所示:
2016年,何愷明等人[17]在深層網(wǎng)絡(luò)中引入殘差連接并命名為殘差網(wǎng)絡(luò)(ResNet)。殘差網(wǎng)絡(luò)將式(1)原本帶權(quán)值殘差項(xiàng)代替為恒等映射。如果深層網(wǎng)絡(luò)后面那些層是恒等映射,那么模型就可以退化為一個(gè)淺層網(wǎng)絡(luò)。在殘差單元中,通過“短連接”的方式,直接把輸入x 傳到輸出作為初始結(jié)果,輸出結(jié)果為H(x)=F(x)+x ,當(dāng)F(x)=0 時(shí),那么H(x)=x,也就是上面所提到的恒等映射。于是ResNet相當(dāng)于將學(xué)習(xí)目標(biāo)由學(xué)習(xí)一個(gè)完整的輸出改為目標(biāo)值H(x)和x 的差值,也就是所謂的殘差F(x):=H(x)-x,此時(shí)網(wǎng)絡(luò)擬合殘差會(huì)更容易。殘差單元結(jié)構(gòu)圖1所示。
圖1 殘差單元
ResNet-50 是ResNet 系列性能最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)之一,其包含50層需要訓(xùn)練網(wǎng)絡(luò)層數(shù),通過使用類似圖1殘差單元,實(shí)現(xiàn)了在增加網(wǎng)絡(luò)深度同時(shí)提升識(shí)別精度,解決了梯度消失的問題。
深度可分離卷積是一種執(zhí)行卷積更高效的方式,簡單來說,其將標(biāo)準(zhǔn)卷積分解成深度卷積和逐點(diǎn)卷積,深度卷積對應(yīng)著每一個(gè)輸入特征圖的通道,1×1逐點(diǎn)卷積負(fù)責(zé)將深度卷積提取的特征進(jìn)行融合。如圖2所示。
圖2 深度可分離卷積
普通卷積計(jì)算過程如下所示:
其中,W 為卷積核,y 為輸入特征圖,i、j 為輸入特征圖分辨率,k、l 為輸出特征圖分辨率,m 為通道個(gè)數(shù)。深度卷積計(jì)算過程如下所示(?表示對應(yīng)元素相乘):
逐點(diǎn)卷積計(jì)算過程如下所示:
深度可分離卷積計(jì)算方式如下所示:
深度可分離卷積對輸入的每個(gè)通道先分別空間卷積,然后再通過逐點(diǎn)卷積將輸出通道混合。這相當(dāng)于將空間特征學(xué)習(xí)和通道特征學(xué)習(xí)分開,這樣做所需參數(shù)要少很多,計(jì)算量也更小,因此可以得到更小更快的模型。
不同樹種間的細(xì)胞與組織的形態(tài)及排列特征差別很大,所涉及的識(shí)別特征也較多。而本文研究是在同一樹種不同品質(zhì)板材之間進(jìn)行分級,板材圖像間相似性較高,這對模型特征提取能力提出了更高要求,僅使用主流預(yù)訓(xùn)練模型可以解決數(shù)據(jù)匱乏和網(wǎng)絡(luò)開銷過大問題,但難以充分提取到圖像間深層特征,導(dǎo)致模型分類效果不佳。為了高效提取出不同品質(zhì)板材圖像中深層特征,利用預(yù)訓(xùn)練模型提取特征作為殘差,并與后端新增網(wǎng)絡(luò)相連,預(yù)訓(xùn)練模型可快速提取到源域和目標(biāo)域間相似特征,同時(shí)作為殘差連接一部分輸入后端新增網(wǎng)絡(luò)實(shí)現(xiàn)特征重利用。后端新增網(wǎng)絡(luò)由于其權(quán)重和參數(shù)都是在板材圖像上訓(xùn)練的,結(jié)合殘差連接更有利于提取到目標(biāo)域中有效特征,為提升模型性能,采用深度可分離卷積代替普通卷積來減少訓(xùn)練參數(shù)和降低計(jì)算復(fù)雜度,采用LeakyReLU函數(shù)代替ReLU函數(shù)提升模型魯棒性。
基于上述思想將殘差連接和深度可分離卷積融合起來,并將其命為殘差-深度可分離卷積模塊,在該模塊中包含2 個(gè)3×3 深度可分離卷積層(SeparableConv 3×3)、1個(gè)1×1卷積層(Conv 1×1)、3個(gè)批處理化層(BN)[18]、1個(gè)LeakyReLU層、1個(gè)最大池化層(ΜaxPooling2D)、1個(gè)信息疊加層(Add),如圖3所示。
在圖3殘差-深度可分離卷積模塊中,首先使用2個(gè)3×3深度可分離卷積從ResNet-50提取特征向量中進(jìn)一步提取圖像深層特征,并在卷積層和深度可分離卷積層后使用了批標(biāo)準(zhǔn)化(Batch Normalization,BN)來加速模型收斂,BN層實(shí)現(xiàn)如下所示:
圖3 殘差-深度可分離卷積模塊圖
其中,xi為BN層輸入數(shù)據(jù),yi為BN層輸出數(shù)據(jù),γ 和β 都是訓(xùn)練參數(shù)。
在兩個(gè)深度可分離卷積層中間使用LeakyReLU 函數(shù)來代替?zhèn)鹘y(tǒng)ReLU激活函數(shù),LeakyReLU函數(shù)數(shù)學(xué)表達(dá)式如式(10)所示:
其中,ε 是一個(gè)很小的常數(shù),可保留一些負(fù)軸的值。這種特殊的ReLU,當(dāng)神經(jīng)元不激活時(shí)仍會(huì)有一個(gè)小梯度的非零值輸出,解決了ReLU函數(shù)進(jìn)入負(fù)區(qū)間后神經(jīng)元不學(xué)習(xí)的問題,從而避免了可能出現(xiàn)的神經(jīng)元“死亡”現(xiàn)象。然后使用的最大池化(ΜaxPooling2D)在降低參數(shù)量的同時(shí)能更好保留圖像紋理信息,有利于紋理豐富的板材圖像分類。最后將“短連接”中1×1 卷積的原始向量線性下采樣為與最大池化向量同樣形狀的向量,并與最大池化的向量相加實(shí)現(xiàn)殘差-深度可分離卷積模塊。
深度殘差網(wǎng)絡(luò)模型整體結(jié)構(gòu)如圖4所示。
圖4 深度殘差網(wǎng)絡(luò)模型結(jié)構(gòu)圖
首先使用權(quán)重在ImageNet經(jīng)過預(yù)訓(xùn)練的ResNet-50模型來提取圖像初步特征,然后為更好利用上層網(wǎng)絡(luò)有效特征和提取出圖像深層特征,本文設(shè)計(jì)了一種殘差-深度可分離卷積模塊。它融合了殘差連接和深度可分離卷積的優(yōu)點(diǎn)。殘差連接這種結(jié)構(gòu)一方面可以將上層網(wǎng)絡(luò)ResNet-50 提取的特征信息重新注入到下游數(shù)據(jù)中,從而解決了網(wǎng)絡(luò)某一層太小導(dǎo)致的部分有效信息無法塞入進(jìn)而永久性丟失的問題,增強(qiáng)了特征的重利用;另一方面殘差連接引入的線性信息攜帶軌道可以緩解深度模型在反向傳播中梯度消失的問題,而深度可分離卷積通過分別學(xué)習(xí)空間特征和通道特征實(shí)現(xiàn)了更高效的執(zhí)行卷積方式,可進(jìn)一步學(xué)習(xí)并提取圖像深層特征。此外,由于ReLU 函數(shù)在訓(xùn)練時(shí)一旦輸入值為負(fù),則輸出始終為0,其一階導(dǎo)數(shù)也始終為0,導(dǎo)致神經(jīng)元無法學(xué)習(xí)。在本實(shí)驗(yàn)中為盡可能讓梯度流經(jīng)整個(gè)網(wǎng)絡(luò),確保神經(jīng)元一直保持學(xué)習(xí)能力,使用LeakyReLU 函數(shù)代替?zhèn)鹘y(tǒng)ReLU 函數(shù)。LeakyReLU 函數(shù)輸出對負(fù)值輸入有很小的坡度,保證導(dǎo)數(shù)總是不為0,從而解決了ReLU函數(shù)進(jìn)入負(fù)區(qū)間后神經(jīng)元參數(shù)無法更新的問題,增強(qiáng)了模型在訓(xùn)練過程中的魯棒性。
模型的參數(shù)表如表1 所示(其中RS_block 表示殘差-深度可分離卷積模塊)。
表1 網(wǎng)絡(luò)模型參數(shù)表
從表1 中最后3 行可以看到,雖然該深度殘差網(wǎng)絡(luò)模型總體參數(shù)約2 391萬,但其中ResNet-50固定參數(shù)約2 358萬,這一部分是不需要再次訓(xùn)練的參數(shù),而模型實(shí)際需要從頭開始訓(xùn)練的參數(shù)只有約32 萬,不到總體參數(shù)的1.4%。
由于深度可分離卷積在降低模型參數(shù)量和計(jì)算量過程分析相似,本文以降低計(jì)算量(時(shí)間復(fù)雜度)為例進(jìn)行分析。假設(shè)一個(gè)標(biāo)準(zhǔn)卷積層的輸入特征圖大小為M×H×W ,其中M 是輸入特征圖通道數(shù),H 和W 是輸入特征圖的高和寬;輸出特征圖大小為N×H'×W',其中N 是輸出特征圖通道數(shù),H'和W'是輸出特征圖的高和寬,卷積核大小為K×K ,卷積步長和補(bǔ)邊為1。
標(biāo)準(zhǔn)卷積其計(jì)算復(fù)雜度如式(11)所示:
逐深度卷積計(jì)算復(fù)雜度如式(12)所示,逐點(diǎn)卷積計(jì)算復(fù)雜度如式(13)所示:
深度可分離卷積計(jì)算復(fù)雜度如式(14)所示,同普通卷積比如式(15)所示:
由以上公式可以看出,對于每一卷積層,深度可分離卷積層與普通卷積層相比可明顯降低計(jì)算量,因此,當(dāng)深度可分離卷積核K 的大小為3時(shí),其參數(shù)量和計(jì)算量是標(biāo)準(zhǔn)卷積的1/9。
本次實(shí)驗(yàn)在Ubuntu系統(tǒng)下使用Κeras深度學(xué)習(xí)框架和Tensorflow后端作為開發(fā)環(huán)境,采用Jupyter Notebook編程軟件和Python3.6 開發(fā)語言。本文實(shí)驗(yàn)結(jié)果中的acc 曲線、loss 曲線均是由TensorBoard 可視化數(shù)據(jù)繪制而成,以此來分析實(shí)驗(yàn)結(jié)果的實(shí)際情況。
實(shí)驗(yàn)數(shù)據(jù)來自東北林業(yè)大學(xué)木材樣本館,其采用古箏業(yè)內(nèi)面板用材的品質(zhì)分級標(biāo)準(zhǔn),分為高級品、中級品、普及品共3 類泡桐木材,經(jīng)奧林巴斯DP72 顯微鏡影像系統(tǒng)觀察泡桐木材表面采集成像,共2 000 張圖像。圖像屬性為10倍放大率、4 140×3 096像素、水平和垂直分辨率為72 dpi。該數(shù)據(jù)集按6∶2∶2的比例劃分為3個(gè)集合:訓(xùn)練集、驗(yàn)證集、測試集。其中訓(xùn)練集為1 200 張圖像,驗(yàn)證集和測試集分別是400 張圖像。實(shí)驗(yàn)對3 種不同品質(zhì)泡桐板材圖像進(jìn)行識(shí)別,如圖5所示。
圖5 樣本圖像
為了增強(qiáng)模型的泛化性,減少模型過擬合,采用數(shù)據(jù)增強(qiáng)對圖像進(jìn)行處理。數(shù)據(jù)增強(qiáng)是從當(dāng)前的訓(xùn)練樣本中生成更多的訓(xùn)練數(shù)據(jù),其通過生成多種隨機(jī)變換的圖像來增加樣本,使得模型在訓(xùn)練時(shí)有利于觀察到數(shù)據(jù)分布的所有內(nèi)容,從而具有更好的泛化性。采用的數(shù)據(jù)增強(qiáng)變換方式及參數(shù)如表2所示。
圖6 數(shù)據(jù)增強(qiáng)生成的圖像
表2 數(shù)據(jù)增強(qiáng)方式及參數(shù)
值得注意的是,表2中所用的方法是隨機(jī)改變訓(xùn)練樣本方式,且每輪數(shù)據(jù)增強(qiáng)時(shí)對每張圖像都執(zhí)行這7種方式疊加組合。這種隨機(jī)改變訓(xùn)練樣本組合方式的好處是可以降低模型對某些屬性的依賴,從而提高模型的泛化能力。例如,可以對圖像進(jìn)行不同方式的旋轉(zhuǎn)、平移和翻轉(zhuǎn)等組合方式,使感興趣的物體出現(xiàn)在不同位置,從而減輕模型對物體出現(xiàn)位置的依賴性。使用數(shù)據(jù)增強(qiáng)生成圖像如圖6所示。
因?yàn)閿?shù)據(jù)增強(qiáng)目的是為了增加樣本數(shù)量,提升模型在訓(xùn)練過程中表現(xiàn)來防止過擬合,所以一般只對訓(xùn)練集中樣本進(jìn)行數(shù)據(jù)增強(qiáng)。驗(yàn)證集和測試集中數(shù)據(jù)是用于預(yù)測的,因此未進(jìn)行數(shù)據(jù)增強(qiáng)。通過采用表2中數(shù)據(jù)增強(qiáng)方式循環(huán)4 輪來將訓(xùn)練集中樣本擴(kuò)充4 倍,經(jīng)數(shù)據(jù)增強(qiáng),訓(xùn)練樣本數(shù)為6 000,數(shù)據(jù)集樣本總數(shù)為6 800。
超參數(shù)是在構(gòu)建深度學(xué)習(xí)模型時(shí)架構(gòu)層面的參數(shù),它不同于經(jīng)反向傳播訓(xùn)練學(xué)習(xí)的參數(shù)(權(quán)重),需要人為手工設(shè)定初始值,如每層網(wǎng)絡(luò)應(yīng)該包含多少個(gè)單元或過濾器,優(yōu)化器選為SGD、RΜSprop還是Adam,batch_size批尺寸設(shè)置的大小等。
為找出模型最佳性能的超參數(shù),需根據(jù)模型在驗(yàn)證集上表現(xiàn)來進(jìn)行超參數(shù)選擇,為節(jié)省計(jì)算開銷和運(yùn)行時(shí)間,可將回調(diào)函數(shù)作用于模型,具體是將ΜodelCheckpoint與EarlyStopping 這兩種Κeras 內(nèi)置的回調(diào)函數(shù)相結(jié)合,一方面用EarlyStopping監(jiān)控模型的驗(yàn)證精度,如果其在一定輪次內(nèi)不再改善就中斷訓(xùn)練,另一方面用Μodel-Checkpoint在每輪過后保存當(dāng)前最優(yōu)權(quán)重,從而能在訓(xùn)練結(jié)束后保存最佳模型。使用上面兩種回調(diào)函數(shù)后可以在模型剛開始過擬合的時(shí)候就停止訓(xùn)練,從而避免用更多輪次重新訓(xùn)練模型,這有利于更快尋找到最優(yōu)超參數(shù)。超參數(shù)優(yōu)化過程如圖7所示。
圖7 超參數(shù)優(yōu)化過程
經(jīng)超參數(shù)優(yōu)化后實(shí)驗(yàn)過程設(shè)置了25 個(gè)迭代周期,在RS_block1中每層網(wǎng)絡(luò)包含128個(gè)單元,RS_block2中每層網(wǎng)絡(luò)包含256個(gè)單元,batch_size設(shè)為16,損失函數(shù)為多元交叉熵函數(shù),優(yōu)化器采用Adam 優(yōu)化,學(xué)習(xí)率設(shè)為較小的2E-5。Adam 優(yōu)化器能較好地處理噪聲樣本,其利用梯度的一階矩估計(jì)和二階矩估計(jì)動(dòng)態(tài)調(diào)整每個(gè)參數(shù)的學(xué)習(xí)率,隨著梯度變得稀疏,Adam比RΜSprop效果會(huì)好。
之前將數(shù)據(jù)集劃分為3個(gè)集合,除了劃分訓(xùn)練集和驗(yàn)證集外,多劃分了一個(gè)測試集。原因在于在訓(xùn)練和開發(fā)模型時(shí)總避免不了反復(fù)調(diào)節(jié)模型配置,在調(diào)節(jié)的過程中需要使用模型在驗(yàn)證集上的性能作為反饋信號(hào),當(dāng)每次根據(jù)驗(yàn)證集上性能來調(diào)節(jié)模型時(shí),都會(huì)有部分驗(yàn)證數(shù)據(jù)信息泄露到模型中,如果一直基于此過程來調(diào)節(jié)模型配置,很快會(huì)導(dǎo)致模型在驗(yàn)證數(shù)據(jù)上過擬合。最終模型只是在驗(yàn)證集上表現(xiàn)良好,而人們真正需要的是模型在前所未見的數(shù)據(jù)上性能表現(xiàn)優(yōu)異。
本文使用的深度殘差網(wǎng)絡(luò)模型在訓(xùn)練集和驗(yàn)證集上的準(zhǔn)確率和損失函數(shù)變化分別如圖8和圖9所示。
從圖8和圖9中可以看出,模型在前15輪便基本收斂,收斂速度很快,同時(shí)驗(yàn)證精度很高。接下來在測試集上進(jìn)行最后一次實(shí)驗(yàn),使用測試精度來衡量模型最終的識(shí)別能力。
圖8 模型準(zhǔn)確率變化圖
圖9 模型損失函數(shù)變化圖
因?yàn)椴杉娜N等級泡桐板材樣本數(shù)量接近,所以將識(shí)別精度acc 作為主要評價(jià)指標(biāo),如式(16)所示,其中true 為模型正確分類樣本數(shù),all 為總樣本數(shù)目。
各種方法運(yùn)行時(shí)間和測試精度對比的實(shí)驗(yàn)結(jié)果如表3所示。其中SVΜ表示SVΜ分類器結(jié)合人工特征提取的機(jī)器學(xué)習(xí)方法,CNN是Loke等人[12]提出轉(zhuǎn)換CNN輸入層的方法,參數(shù)和設(shè)置保持不變。VGG16、Inception v3分別對應(yīng)Ravindran 等人[13]和王莉影等人[14]使用的預(yù)訓(xùn)練模型,ResNet-50[17]是未增加深層特征提取部分的預(yù)訓(xùn)練模型,ST-DenseNet 代表張錫英等人[15]融合STN 和DenseNet的模型,模型層數(shù)等設(shè)置保持不變。
表3 實(shí)驗(yàn)結(jié)果對比
根據(jù)表3 中實(shí)驗(yàn)結(jié)果可發(fā)現(xiàn),以SVΜ 為代表的機(jī)器學(xué)習(xí)方法運(yùn)行耗時(shí)很短,但該方法識(shí)別精度較低且依賴人工經(jīng)驗(yàn)提取特征,人工提取特征往往會(huì)耗費(fèi)大量人力物力。Loke等人[12]提出的轉(zhuǎn)換CNN輸入層的方法雖可直接捕獲圖片紋理屬性和關(guān)系像素屬性來提升木材識(shí)別精度,但CNN 在數(shù)據(jù)不足和網(wǎng)絡(luò)過深時(shí)表現(xiàn)并不好,容易過擬合。Ravindran 等人[13]和王莉影等人[14]用VGG16 和Inception v3 預(yù)訓(xùn)練模型進(jìn)一步提升了識(shí)別精度,其中Inception v3 通過卷積分解在實(shí)現(xiàn)多尺度特征提取同時(shí)還減少了計(jì)算量和計(jì)算時(shí)間。ResNet-50[17]作為殘差網(wǎng)絡(luò)模型代表,在ImageNet上經(jīng)過預(yù)訓(xùn)練后,由于其參數(shù)不必重新訓(xùn)練,運(yùn)行時(shí)間很快,可快速提取到大量特征,但由于未增加深層特征提取部分,識(shí)別精度僅達(dá)到87.7%??偟膩碚f,預(yù)訓(xùn)練模型經(jīng)過在ImageNet充分訓(xùn)練后避免了因數(shù)據(jù)不足引起的過擬合,在小樣本數(shù)據(jù)集上一定程度提升了識(shí)別精度,然而其在源域和目標(biāo)域出現(xiàn)一定差距時(shí),模型學(xué)習(xí)到參數(shù)并非都是和當(dāng)前問題密切相關(guān)的,難以充分提取到圖像深層特征,導(dǎo)致其識(shí)別精度提升有限。張錫英等人[15]使用ST-DenseNet 先對輸入圖片進(jìn)行不變性歸一化處理,提升了網(wǎng)絡(luò)魯棒性,然后采用DenseNet 中密集連接機(jī)制加強(qiáng)特征傳遞和重利用,有利于提升識(shí)別精度,但密集連接這一機(jī)制會(huì)占用大量內(nèi)存,導(dǎo)致模型運(yùn)行時(shí)間過長。
本文設(shè)計(jì)的深度殘差網(wǎng)絡(luò)模型在參數(shù)量和計(jì)算量上,由于采用預(yù)訓(xùn)練模型和深度可分離卷積,在保證網(wǎng)絡(luò)深度的同時(shí)有效控制網(wǎng)絡(luò)參數(shù)量,降低了模型訓(xùn)練對設(shè)備的要求,根據(jù)式(15)可知深度可分離卷積時(shí)間復(fù)雜度約為O(9M×H'×W'+M×N×H'×W'),相較普通卷積由式(16)可知其在時(shí)間復(fù)雜度上降低了近一個(gè)數(shù)量級,這有效減少了模型的運(yùn)行時(shí)間。在模型魯棒性和泛化性上,使用數(shù)據(jù)增強(qiáng)來增加訓(xùn)練樣本,從而降低了模型過擬合風(fēng)險(xiǎn),同時(shí)使用LeakyReLU函數(shù)解決了ReLU函數(shù)進(jìn)入負(fù)區(qū)間后神經(jīng)元死亡帶來的權(quán)重不更新的問題,增強(qiáng)了模型魯棒性。在模型特征提取性能上,設(shè)計(jì)的殘差-深度可分離卷積模塊可以有效作為信息蒸餾管道,ResNet-50提取特征向量作為殘差,同時(shí)特征向量繼續(xù)向下輸入訓(xùn)練實(shí)現(xiàn)進(jìn)一步特征提取,有利于將無關(guān)信息過濾掉,從而放大、細(xì)化和回收與圖像類別相關(guān)的有用信息,使模型獲得更好的分類效果。
為提升古箏面板品質(zhì)分級識(shí)別精度,本文構(gòu)建了一種適用其品質(zhì)分級的深度殘差網(wǎng)絡(luò)模型。將泡桐圖像數(shù)據(jù)集劃分后,為保證深度學(xué)習(xí)模型訓(xùn)練需要的充足數(shù)據(jù),一方面采用隨機(jī)旋轉(zhuǎn)、隨機(jī)平移等數(shù)據(jù)增強(qiáng)技術(shù)來擴(kuò)充訓(xùn)練樣本,另一方面基于遷移學(xué)習(xí)將ImageNet 上經(jīng)過預(yù)訓(xùn)練的ResNet-50模型遷移到該問題上。然后在預(yù)訓(xùn)練模型ResNet-50后設(shè)計(jì)了一種融合了殘差連接和深度可分離卷積的新結(jié)構(gòu),不僅能夠充分利用模型中前層網(wǎng)絡(luò)有效特征,增強(qiáng)特征重利用,還能高效提取到圖像深層特征。為提升模型魯棒性,使用LeakyReLU 函數(shù)替代ReLU 函數(shù)。最后在泡桐圖像數(shù)據(jù)集上與其他方法對比,該模型具有識(shí)別精度高、計(jì)算開銷小、魯棒性高、運(yùn)行時(shí)間較短等優(yōu)點(diǎn),說明將該方法應(yīng)用于古箏面板泡桐用材品質(zhì)分級是可行的。今后還可以完善該方法并部署到移動(dòng)端,為古箏市場實(shí)現(xiàn)木材品質(zhì)自動(dòng)化分級尋找一種科學(xué)高效的方法。