閆涵,張旭秀,張凈丹
(大連交通大學(xué) 電氣信息工程學(xué)院,遼寧 大連 116028)
圖像識別是計(jì)算機(jī)視覺領(lǐng)域的一個分支[1-2],圖像識別是指利用計(jì)算機(jī)對圖像進(jìn)行特征提取,從而識別各種不同模式下的目標(biāo)和對象。圖像識別在生活中的應(yīng)用非常廣泛,如人臉識別、指紋識別、安防監(jiān)控等各個領(lǐng)域[3]。
圖像識別方法可分為傳統(tǒng)的圖像識別方法與基于深度學(xué)習(xí)的圖像識別方法。傳統(tǒng)的圖像識別手段主要建立在特征提取的基礎(chǔ)上[4],首先提取圖像的底層像素信息或圖像的特征,如圖像邊緣特征、紋理特征以及顏色特征等[5-9]。也有學(xué)者采用小波變換、傅里葉變換、EMD(empirical mode decomp-osition)變換等方法進(jìn)行特征提取[10-12]。然后將提取的特征送入機(jī)器學(xué)習(xí)模型中進(jìn)行分類識別。傳統(tǒng)的圖像識別方法都需要一定的先驗(yàn)性知識,而且對于一些相似的圖像依靠人為尋找特征仍較為困難,算法實(shí)現(xiàn)的精度較低且難以轉(zhuǎn)換。近年來,隨著計(jì)算機(jī)性能的提升以及數(shù)據(jù)量的爆炸式增長,深度學(xué)習(xí)(deep learning)作為一種新興的機(jī)器學(xué)習(xí)手段取得了飛速的發(fā)展[13]。采用深度學(xué)習(xí)方法進(jìn)行圖像識別的優(yōu)勢在于圖像識別精度高,無需特征工程,適應(yīng)性強(qiáng)易于轉(zhuǎn)換,可使用數(shù)據(jù)進(jìn)行有效縮放,方便實(shí)際應(yīng)用與部署[14-15]?,F(xiàn)有的深度學(xué)習(xí)網(wǎng)絡(luò)淺層主要通過對輸入圖像進(jìn)行特征提取與降采樣獲得圖像低階特征,深層網(wǎng)絡(luò)則通過更深層變換獲得圖像特征的語義信息與更高分辨率特征圖[16]。近年來,針對自然圖像識別任務(wù),一系列深度學(xué)習(xí)算法被提出,AlexNet是最早的深度學(xué)習(xí)網(wǎng)絡(luò)模型[17]。AlexNet有八層網(wǎng)絡(luò)結(jié)構(gòu),采用新的relu激活函數(shù)和dropout機(jī)制抵抗過擬合以提高特征提取的有效性。VGGNet采用多個尺寸更小的卷積核模擬大尺寸卷積核[18],在保證感受野的同時減少參數(shù)數(shù)量,同時引入1×1卷積核增加網(wǎng)絡(luò)的表征能力、降低計(jì)算量。ResNet的提出主要通過跨層連接和擬合殘差項(xiàng)的方法解決了隨著網(wǎng)絡(luò)層數(shù)的加深[19],網(wǎng)絡(luò)模型難以訓(xùn)練的問題。DenseNet是一種密集連接卷積神經(jīng)網(wǎng)絡(luò),該模型設(shè)計(jì)了dense block模塊,使得網(wǎng)絡(luò)結(jié)構(gòu)更窄,參數(shù)更少[20]。同時該連接方式也使得特征和梯度的傳遞更加有效,網(wǎng)絡(luò)更易訓(xùn)練。上述深度學(xué)習(xí)網(wǎng)絡(luò)模型在圖像識別任務(wù)中均有較好表現(xiàn),但現(xiàn)有深度學(xué)習(xí)方法的圖像識別任務(wù)仍有如下難點(diǎn)[21]:1)AlexNet作為最早的深度學(xué)習(xí)模型雖然取得較好的圖像識別效果,但是由于其層數(shù)只有八層,導(dǎo)致其在特征的表征能力上仍有上升空間。2)VGGNet、ResNet以及DenseNet網(wǎng)絡(luò)模型各自采用創(chuàng)新技術(shù)達(dá)到模型層數(shù)加深的目的,提升了網(wǎng)絡(luò)的學(xué)習(xí)能力。但是對于特定任務(wù),從頭訓(xùn)練上述模型成本代價過高。3)隨著人工智能技術(shù)的發(fā)展,深度學(xué)習(xí)圖像識別網(wǎng)絡(luò)層出不窮,但深度學(xué)習(xí)網(wǎng)絡(luò)需要大量的數(shù)據(jù)進(jìn)行訓(xùn)練及擬合,現(xiàn)實(shí)情況難以有足夠的數(shù)據(jù)支撐網(wǎng)絡(luò)進(jìn)行訓(xùn)練。4)在研究過程中,通過可視化數(shù)據(jù)特征發(fā)現(xiàn),不同的網(wǎng)絡(luò)模型關(guān)聯(lián)和提取到的特征也是不同的,關(guān)注的圖像特征區(qū)域也有所差異。如何在機(jī)器學(xué)習(xí)集成架構(gòu)下,將不同的網(wǎng)絡(luò)特征相融合及集成,進(jìn)一步提升網(wǎng)絡(luò)的分類準(zhǔn)確率,需要進(jìn)行研究和討論。
針對上述問題,本文提出了一種基于多感知興趣區(qū)域特征融合的圖像識別方法,對深度卷積模型VGG網(wǎng)絡(luò)與殘差網(wǎng)絡(luò)引入融合機(jī)制與微調(diào)機(jī)制,結(jié)合深度遷移學(xué)習(xí)方法,將網(wǎng)絡(luò)模型的識別能力進(jìn)行增強(qiáng)。本文的主要工作如下:1)利用特征可視化方法對模型的興趣區(qū)域特征進(jìn)行熱力圖標(biāo)注,獲得的結(jié)論為不同模型在識別相同圖像時所關(guān)注興趣區(qū)域有所差異;2)根據(jù)特征可視化結(jié)論,引入模型多尺度性質(zhì)和投票融合機(jī)制,設(shè)計(jì)3種網(wǎng)絡(luò)融合方法;3)在Kaggle數(shù)據(jù)集上進(jìn)行對比實(shí)驗(yàn)以驗(yàn)證本文方法的有效性。實(shí)驗(yàn)結(jié)果表明本文方法比融合前方法具有更高的識別準(zhǔn)確率。
本文將遷移學(xué)習(xí)方法引入到VGG網(wǎng)絡(luò)模型和ResNet網(wǎng)絡(luò)模型作為算法的模型基礎(chǔ)。通過CAM可視化機(jī)制對模型的興趣特征進(jìn)行可視化分析。最后通過集成學(xué)習(xí)方法將含有不同興趣特征的網(wǎng)絡(luò)模型進(jìn)行融合得到本文算法。
在機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和數(shù)據(jù)挖掘的大多數(shù)任務(wù)中都會假設(shè)訓(xùn)練和測試時采用的數(shù)據(jù)服從相同的分布并且來源于相同的特征空間[17]。然而在深度學(xué)習(xí)實(shí)現(xiàn)的過程中,由于網(wǎng)絡(luò)模型的深度較大且參數(shù)過多,在訓(xùn)練網(wǎng)絡(luò)模型時往往會遇到以下問題:
1)帶標(biāo)記的訓(xùn)練樣本數(shù)量不夠。當(dāng)處理A領(lǐng)域任務(wù)時,缺少足夠數(shù)量訓(xùn)練樣本和標(biāo)簽。與A領(lǐng)域具有一定關(guān)聯(lián)的B領(lǐng)域,卻擁有數(shù)量巨大的訓(xùn)練樣本。但由于B領(lǐng)域與A領(lǐng)域具有一定差異,因而導(dǎo)致其特征處于不同的空間分布,或樣本服從不同分布。
2)數(shù)據(jù)分布會發(fā)生變化。對于相同的任務(wù),在不同時期、地點(diǎn)或受其他動態(tài)因素影響,數(shù)據(jù)分布會發(fā)生一定變化,因此需要重新收集數(shù)據(jù)并建立模型。
遷移學(xué)習(xí)作為一種機(jī)器學(xué)習(xí)的方法,可以把為任務(wù)A開發(fā)的模型作為初始點(diǎn),重新應(yīng)用在任務(wù)B的模型開發(fā)過程中。即把B領(lǐng)域中的知識遷移到A領(lǐng)域中來,提高A領(lǐng)域分類效果,不需要花大量時間去標(biāo)注A領(lǐng)域數(shù)據(jù)。對于深度學(xué)習(xí)目標(biāo)識別任務(wù),在預(yù)訓(xùn)練模型中存在各種特征數(shù)據(jù)與權(quán)重信息。其中一些是與分類識別對象本身關(guān)聯(lián)比較緊密的特征數(shù)據(jù)與權(quán)重信息,還有一些比較共性的特征數(shù)據(jù)與信息,是可以被不同任務(wù)或者對象之間共享的。遷移學(xué)習(xí)是要遷移那些共性特征數(shù)據(jù)與信息,從而避免再次學(xué)習(xí)這些知識,實(shí)現(xiàn)快速學(xué)習(xí)[18]。遷移學(xué)習(xí)微調(diào)示意圖如圖1所示,為了方便圖像進(jìn)行卷積操作,首先使用函數(shù)F(0)對圖像進(jìn)行預(yù)處理,去掉邊緣像素值,縮小圖像尺寸。
圖 1 遷移學(xué)習(xí)微調(diào)示意Fig. 1 Schematic diagram of migration learning fine-tuning
以上模型分為兩部分,一部分是基于ImageNet訓(xùn)練的深度學(xué)習(xí)模型,另一部分為根據(jù)自身任務(wù)微調(diào)的網(wǎng)絡(luò)模型。在訓(xùn)練時可針對特定任務(wù),固定原始網(wǎng)絡(luò)的相關(guān)層,修改網(wǎng)絡(luò)的輸出層,以使結(jié)果更符合任務(wù)需要。
集成學(xué)習(xí)(ensemble learning)是使用一系列學(xué)習(xí)器進(jìn)行學(xué)習(xí),并使用某種規(guī)則把各個學(xué)習(xí)器結(jié)果進(jìn)行整合,從而獲得比單個學(xué)習(xí)器更加優(yōu)越的泛化性能[19-20]。集成學(xué)習(xí)算法策略主要有Bagging算法、Boosting算法以及Stacking算法。本文涉及到的算法為Bagging算法,算法示意圖如圖2所示。
圖 2 集成學(xué)習(xí)Bagging算法示意Fig. 2 Schematic diagram of integrated learning Bagging algorithm
集成學(xué)習(xí)優(yōu)勢在于:
1)使用相同數(shù)據(jù)對不同的個體學(xué)習(xí)器進(jìn)行訓(xùn)練會得到不同結(jié)果,進(jìn)而導(dǎo)致分類器的分類邊界不同,還可能影響最終分類結(jié)果,產(chǎn)生錯誤輸出。將多個體學(xué)習(xí)器合并后,可獲得更為合理的分類邊界,提升分類準(zhǔn)確率。
2)對于數(shù)據(jù)集包含樣本數(shù)量差異較大的情況,可以對樣本數(shù)量較大的數(shù)據(jù)集進(jìn)行劃分操作并對樣本數(shù)量較小的數(shù)據(jù)集進(jìn)行放回操作,進(jìn)而產(chǎn)生不同數(shù)據(jù)子集,再使用數(shù)據(jù)子集訓(xùn)練不同學(xué)習(xí)器,最終合并成為一個強(qiáng)學(xué)習(xí)器。
3)當(dāng)數(shù)據(jù)劃分邊界過于復(fù)雜時,單一使用線性分類器很難獲得較好結(jié)果??梢钥紤]訓(xùn)練多個模型,再進(jìn)行模型融合。
4)對于多個難以直接融合的異構(gòu)特征集,可以考慮使用每個數(shù)據(jù)集單獨(dú)構(gòu)建分類模型,再將多個模型進(jìn)行融合。
CAM是深度學(xué)習(xí)中一種常用的網(wǎng)絡(luò)可視化方法。利用GAP(global average pooling)替換掉全連接層,以把GAP視為一個特殊的平均值池化層,其池化核尺寸和整個特征圖一樣大,即求每張?zhí)卣鲌D所有像素的均值。GAP的優(yōu)點(diǎn)在于由于沒有了全連接層,輸入不需固定大小,因此可支持任意大小的輸入。此外,引入GAP更充分地利用了空間信息,且沒有了全連接層的各種參數(shù),避免過擬合。同時在最后的卷積層生成了和目標(biāo)類別數(shù)量一致的特征圖,經(jīng)過GAP以后再通過softmax層得到結(jié)果,這樣就給每個特征圖賦予了很明確的意義,也就是類別置信度特征圖。CAM模型示意圖如圖3所示。
圖 3 CAM模型示意Fig. 3 Schematic diagram of the CAM model
經(jīng)過GAP得到最后一個卷積層每個特征圖的均值,通過加權(quán)和得到輸出。對每一個類別C,每個特征圖k的均值對應(yīng)w。當(dāng)解釋模型分類依據(jù)時,可將該類別對應(yīng)的所有w求取出,并求出它們與自身對應(yīng)的特征圖的加權(quán)和。由于輸出的大小和特征圖是一致的,需要對它進(jìn)行上采樣并與原圖進(jìn)行疊加,得到CAM可視化圖。CAM以熱力圖的形式表明模型對目標(biāo)進(jìn)行分類的特征。圖4是在kaggle數(shù)據(jù)集上VGG-16分類CAM可視化圖。如圖4所示,對于貓或者狗的分類判斷區(qū)域全部集中在頭部,頭部特征的確能夠區(qū)分貓和狗。
圖 4 基于VGG-16貓狗大戰(zhàn)數(shù)據(jù)CAM模型可視化圖Fig. 4 Visualization of CAM model based on VGG-16 cat and dog data figure
本文實(shí)驗(yàn)所采用的實(shí)驗(yàn)數(shù)據(jù)為自然圖像貓狗分類數(shù)據(jù)集。該數(shù)據(jù)集主要分為兩類:貓、狗。訓(xùn)練集為20 832張,測試集為4 168張。為了驗(yàn)證本文算法的有效性,在貓狗數(shù)據(jù)集上進(jìn)行對比實(shí)驗(yàn),同樣的訓(xùn)練數(shù)據(jù)集和同樣的測試集。實(shí)驗(yàn)在2.2 GHz Intel Core i7處理器(4核),macOS Mojave 10.14.4系統(tǒng)上進(jìn)行。編程環(huán)境為python2版本,編程語言為python語言,編譯器為jupyter notebook。仿真軟件的深度學(xué)習(xí)框架為基于Tensor-Flow后端的keras,顯卡為GTX 1070TI,顯存大小為 8 GB。
為了對比3種模型在圖像識別時所關(guān)注的特征點(diǎn),選取16張?貓狗單獨(dú)存在的圖像和4張貓狗共存的模糊語義圖像對3種模型進(jìn)行測試。在實(shí)驗(yàn)前首先通過遷移學(xué)習(xí)與微調(diào)機(jī)制,固定網(wǎng)絡(luò)模型的淺層權(quán)重參數(shù),設(shè)置分類層與深層部分權(quán)重參數(shù)可優(yōu)化。以VGG-16網(wǎng)絡(luò)模型為例,其遷移學(xué)習(xí)微調(diào)示意圖如圖5所示。
圖 5 遷移學(xué)習(xí)微調(diào)結(jié)構(gòu)示意Fig. 5 Schematic diagram of the migration learning finetuning structure
圖6、圖7為VGG網(wǎng)絡(luò)模型和ResNet網(wǎng)絡(luò)模型識別目標(biāo)單獨(dú)存在時的CAM可視化圖。
圖 6 單目標(biāo)CAM可視化結(jié)果Fig. 6 Single target CAM visualization results
圖 7 模糊語義下CAM可視化結(jié)果Fig. 7 CAM visualization results under fuzzy semantics
通過模型識別單獨(dú)目標(biāo)的CAM可視化圖可以看出,VGG網(wǎng)絡(luò)模型更容易將貓分類成狗,而Resnent識別結(jié)果與之相反,說明兩種不同的網(wǎng)絡(luò)模型在進(jìn)行目標(biāo)識別時關(guān)注的興趣區(qū)域不同。通過模型識別模糊語義的CAM可視化圖可以看出,VGG網(wǎng)絡(luò)模型將4張測試圖像分類成貓,而ResNet將其分類成狗,該現(xiàn)象也可驗(yàn)證上述結(jié)論。
方案1 特征拼接(Multi view Fusion方案)
不同的模型在同一張圖片關(guān)注的興趣區(qū)域不一,可考慮將多個模型特征進(jìn)行融合,將會使得融合后的模型具有關(guān)注多視角興趣特征的功能。本方案運(yùn)用DenseNet的思想,將不同尺度特征相拼接,引入模型多尺度性質(zhì)。設(shè)計(jì)的Multi view Fusion模型結(jié)構(gòu)如圖8所示。
圖 8 多視圖融合模型融合示意Fig. 8 Multi view Fusion model fusion diagram
將3個預(yù)訓(xùn)練模型提取特征之后,選擇預(yù)訓(xùn)練模型參數(shù)不進(jìn)行更新,ResNet-50提取得到2 048個特征標(biāo)量,而VGG-16和VGG-19分別提取512個特征標(biāo)量,將2 048+512+512=3 072個特征合并成一個新的特征向量。然后加入Dropout層,設(shè)置drop概率為0.5。最后加入1個神經(jīng)元,指定激活函數(shù)為sigmoid。對于二分類問題,可以通過logistic二分類實(shí)現(xiàn)。分類損失設(shè)置為二進(jìn)制交叉熵?fù)p失函數(shù)。二進(jìn)制交叉熵?fù)p失函數(shù)公式如下:
式中:y為實(shí)際神經(jīng)元輸出;為真實(shí)輸出標(biāo)簽,0表示第一類,1表示第二類。
優(yōu)化器選擇Adadelta優(yōu)化方式,基準(zhǔn)學(xué)習(xí)率設(shè)置為1.0。模型訓(xùn)練迭代次數(shù)為3 500次,batch size設(shè)為16。
Multi view Fusion模型訓(xùn)練和測試的準(zhǔn)確率和損失示意圖如圖9所示,圖9(a)為訓(xùn)練準(zhǔn)確率的變化,圖9(b)為損失值變化??梢钥闯鲭S著迭代次數(shù)的增加,該算法準(zhǔn)確率逐步上升,誤差值減小。
圖 9 多視圖融合模型訓(xùn)練和測試的準(zhǔn)確率和誤差Fig. 9 Accuracy and error of training and testing of the Multi view Fusion model
方案2 特征平均+特征拼接(Multi view Fusion-tiny方案)
方案1將3個不同的模型特征進(jìn)行融合,但是對于VGG-16和VGG-19來說,這兩個模型構(gòu)造非常相似,即提取的特征也會非常類似。兩個類似的模型提取的特征之間融合,造成特征的冗余,并干擾特征提取。針對上述問題,設(shè)計(jì)特征平均后再進(jìn)行特征拼接的網(wǎng)絡(luò)模型。采用Res-Net和DenseNet的思想,將VGG-16和VGG-19的特征進(jìn)行特征相加,然后與ResNet-50模型特征進(jìn)行不同尺度特征拼接,引入模型多尺度性質(zhì)。該方法會使模型特征維度減少,減少網(wǎng)絡(luò)運(yùn)行的測試時間。設(shè)計(jì)的Multi view Fusion-tiny模型如圖10所示。
將3個預(yù)訓(xùn)練模型提取特征之后,選擇預(yù)訓(xùn)練模型參數(shù)不進(jìn)行更新,ResNet-50提取得到2 048個特征標(biāo)量,而VGG-16和VGG-19分別提取512個特征標(biāo)量,首先將VGG-16和VGG-19兩個模型特征進(jìn)行平均,得到一個新的512維度特征,與ResNet-50的2 048特征合并成一個新的特征向量,一共為2 560維度特征。相比方案一減少了特征維度,以及模型訓(xùn)練和測試的時間。加入Dropout層,設(shè)置drop概率為0.5。加入1個神經(jīng)元,指定激活函數(shù)為sigmoid。
Multi view Fusion-tiny模型在每個批次上訓(xùn)練和測試的準(zhǔn)確率及誤差示意圖如圖11所示,圖11(a)為訓(xùn)練準(zhǔn)確率的變化,即驗(yàn)證數(shù)據(jù)在每個迭代次數(shù)上準(zhǔn)確率的變化。圖11(b)為訓(xùn)練誤差的變化。同Multi view Fusion模型訓(xùn)練時的準(zhǔn)確率及誤差圖相比,Multi view Fusion-tiny模型準(zhǔn)確率曲線震蕩減少,穩(wěn)定上升,同時誤差曲線下降。
圖 10 多視圖融合微調(diào)模型融合示意Fig. 10 Multi view Fusion-tiny model fusion diagram
圖 11 多視圖融合微調(diào)模型訓(xùn)練和測試準(zhǔn)確率及誤差Fig. 11 Accuracy and error of training and testing of the Multi view Fusion-tiny model
方案3 結(jié)果融合投票(Voted Model)
以上兩種方案,融合之后還是單個模型的決策,但對于VGG-16和VGG-19,ResNet-50 3個模型來說,可以通過大多數(shù)分類的結(jié)果來決定最終模型的分類結(jié)果。即3個模型決策投票來決定分類。設(shè)計(jì)的模型投票決策如圖12所示。
針對貓狗分類數(shù)據(jù)訓(xùn)練好的3個模型為VGG-16、VGG-19、ResNet-50,將這3個模型對同一張數(shù)據(jù)做測試,會分別得到一個測試結(jié)果。然后將這3個結(jié)果投票,投票策略采取投票結(jié)果最多的情況作為最后的分類結(jié)果。
圖 12 投票決策模型融合示意Fig. 12 Voted Model fusion diagram
為定量分析本文基于多感知興趣區(qū)域圖像識別方法3種模型性能,對本文算法與VGG-16、VGG-19、ResNet模型及3種模型的微調(diào)模型,DenseNet模型在kaggle數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)對比。識別準(zhǔn)確率實(shí)驗(yàn)結(jié)果如表1所示。
表 1 模型準(zhǔn)確率對比Table 1 Comparison of model accuracy ratio
從表1可以看出,本文設(shè)計(jì)的模型Multi view Fusion、Multi view Fusion-tiny和Voted Model模型比單個模型的準(zhǔn)確率要高,說明了基于多感知興趣區(qū)域特征融合的圖像識別方法更為有效。同時也驗(yàn)證了不同的模型關(guān)注的圖像興趣區(qū)域不一,學(xué)習(xí)到的特征不一,多興趣區(qū)域特征融合有利于提高分類精度的結(jié)論。同時VGG-16、VGG-19關(guān)聯(lián)的特征興趣區(qū)域極其相似,為了防止特征冗余,將這兩個模型特征平均,以降低特征維度和分類時間。
本文給出了一種基于多感知興趣區(qū)域特征融合的圖像識別方法,通過對單獨(dú)分類網(wǎng)絡(luò)的復(fù)現(xiàn)與可視化分析,發(fā)現(xiàn)不同的模型關(guān)注的圖像興趣區(qū)域及學(xué)習(xí)到的特征有所差異。針對上述問題構(gòu)建了多個模型融合機(jī)制,通過借鑒DenseNet模型的多尺度特征拼接及ResNet特征相加機(jī)制,設(shè)計(jì)了Multi view Fusion模型、Multi view Fusion tiny模型和Voted Model。實(shí)驗(yàn)結(jié)果表明本文算法在相似目標(biāo)的二分類問題上具有更高的識別準(zhǔn)確率。下一步的研究方向可放在網(wǎng)絡(luò)結(jié)構(gòu)輕量化與模型的加速上。