宋東情, 朱定局, 賀 超
(華南師范大學(xué) 計算機學(xué)院, 廣州 510631)
圖像分類是計算機視覺領(lǐng)域最基本的任務(wù)之一,其性能取決于算法和特征的選取.早期圖像分類方法主要基于人工提取特征, 如使用SIFT[1]和HOG[2]等特征算子提取特征.后來學(xué)者們開始采用傳統(tǒng)機器學(xué)習(xí)算法, 如隨機森林[3], 支持向量機[4]等進行分類, 但分類性能仍有提升空間.
2012年, 隨著AlexNet卷積神經(jīng)網(wǎng)絡(luò)[5]在圖像分類領(lǐng)域的成功應(yīng)用, 深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)引起了人們高度關(guān)注.DCNN的基本研究理念是開發(fā)先進的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)以及相應(yīng)的訓(xùn)練算法.隨著DCNN的蓬勃發(fā)展, 各種視覺任務(wù)的精度得到了極大提升[6-8].其成功主要歸功于深度架構(gòu)和端到端的學(xué)習(xí)方法, 該方法能夠自動學(xué)習(xí)輸入圖像在不同層次的內(nèi)部特征,從而大幅度提高分類精度.為了提取更有效的特征進行識別, 近年來學(xué)者們不斷提出先進的深度卷積網(wǎng)絡(luò)架構(gòu)和相應(yīng)訓(xùn)練算法.
最近研究[9-11]表明加深網(wǎng)絡(luò)深度和拓寬網(wǎng)絡(luò)寬度能夠提高卷積神經(jīng)網(wǎng)絡(luò)的性能.加深網(wǎng)絡(luò)深度方面,He等[8]提出了一種152層的ResNet網(wǎng)絡(luò), 比VGGNet[9]深8倍, 在2015年的ILSVRC多項任務(wù)中都取得了最先進的性能.拓寬網(wǎng)絡(luò)寬度方面, Zagoruyko等[12]提出的WRN網(wǎng)絡(luò)減小了ResNet的深度, 增加了ResNet的寬度, 并取得了不錯的性能.此外, 減小卷積核或池化的步幅[9,13]、提出新的非線性激活函數(shù)[14,15]、增加新的層數(shù)[10,16]以及有效的規(guī)則等都能夠提高網(wǎng)絡(luò)性能.本文在現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上, 通過結(jié)合不同的卷積神經(jīng)網(wǎng)絡(luò)特征層增加網(wǎng)絡(luò)寬度, 學(xué)習(xí)互補特征, 提取更準(zhǔn)確的圖像表示進行識別.
原始輸入圖像往往包含許多無關(guān)的背景干擾信息, 從而干擾分類決策.圖像分類任務(wù)中的小物體目標(biāo)往往只占圖像的一小部分, 準(zhǔn)確識別這小部分特征對分類決策來說至關(guān)重要.本文引入注意力機制, 在進行圖像特征提取時能夠讓網(wǎng)絡(luò)自動選擇需要關(guān)注的區(qū)域, 在網(wǎng)絡(luò)學(xué)習(xí)過程中, 能夠更關(guān)注圖像的關(guān)鍵目標(biāo)區(qū)域, 對模型提取的特征進行選擇, 以獲取更有效的信息.
基于以上, 本文提出一種多模型特征和注意力模塊融合的圖像分類算法(image classification algorithm based on Multi-model Feature and Reduced Attention fusion, MFRA), 通過多模型特征融合, 讓網(wǎng)絡(luò)學(xué)習(xí)圖像的不同特征, 增加特征互補性, 增強網(wǎng)絡(luò)特征提取能力.并引入了注意力機制, 使網(wǎng)絡(luò)更關(guān)注目標(biāo)區(qū)域.在幾大公開數(shù)據(jù)集上進行了試驗對比, 驗證了本文算法的有效性.
在提高特征表達能力及提取顯著性特征方面, 目前的主流分類算法仍有上升空間.基于遷移學(xué)習(xí)技術(shù), 本文提出MFRA算法.本文網(wǎng)絡(luò)架構(gòu)如圖1所示,不同網(wǎng)絡(luò)架構(gòu)能夠?qū)W習(xí)到不同圖像特征, 為了提高特征互補性, 本文使用Inception-v3[17]和MobileNet[18]網(wǎng)絡(luò)作為特征提取器, 輸入圖像分別經(jīng)過Inception-v3網(wǎng)絡(luò)的mixed9特征層和MobileNet網(wǎng)絡(luò)的conv_pw_12_relu特征層, 并在提取高層語義特征后嵌入注意力模塊,可使網(wǎng)絡(luò)將注意力放在重要特征上, 降低背景信息.并在算法最后添加一個全連接層進行圖像分類.
圖1 基于多模型特征與注意力模塊融合的網(wǎng)絡(luò)結(jié)構(gòu)
為節(jié)約訓(xùn)練時間與資源, 本文使用在ImageNet數(shù)據(jù)集上預(yù)先訓(xùn)練好的Inception-v3和MobileNet網(wǎng)絡(luò),并在目標(biāo)數(shù)據(jù)集上進行微調(diào).遷移學(xué)習(xí)與構(gòu)建新的網(wǎng)絡(luò)結(jié)構(gòu)相比, 能夠取得更好的效果.
Inception-v3網(wǎng)絡(luò)在包含1000個不同類別的被認(rèn)為是計算機視覺分類任務(wù)基準(zhǔn)數(shù)據(jù)集的ImageNet上進行訓(xùn)練, Inception-v3網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示, 由圖2可知, Inception-v3網(wǎng)絡(luò)內(nèi)部集成了多個不同尺度大小的卷積核, 能夠?qū)W習(xí)到不同尺度的特征.Inception-v3還通過將一個大卷積分解為幾個小卷積, 以及將空間分解為非對稱的卷積等操作減少網(wǎng)絡(luò)參數(shù), 從而節(jié)省計算開銷, 加快網(wǎng)絡(luò)訓(xùn)練速度.在ImageNet數(shù)據(jù)集上,Inception-v3達到了目前較高的分類性能, 錯誤率僅為17.3%.
圖2 Inception-v3網(wǎng)絡(luò)結(jié)構(gòu)
MobileNet網(wǎng)絡(luò)是針對手機等移動嵌入式設(shè)備提出的輕量級深層神經(jīng)網(wǎng)絡(luò)模型, 其核心是采用可分解的深度可分離卷積, MobileNet網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.由圖3可知, MobileNet網(wǎng)絡(luò)架構(gòu)由正常卷積和深度可分離卷積交叉組成, 深度可分離卷積是對常規(guī)卷積做出小規(guī)模調(diào)整, 對于來自上一層的多通道特征圖, 將其全部拆分為單通道特征圖, 分別對其進行單通道卷積后重新堆疊.深度可分離卷積可以降低模型計算復(fù)雜度, 并降低模型體積.
圖3 MobileNet網(wǎng)絡(luò)結(jié)構(gòu)
在計算機視覺領(lǐng)域, 研究者們圍繞著注意力機制的本質(zhì)提出了許多注意力機制變體.Hu等[19]提出的通道注意SE塊采用兩個全連接層結(jié)構(gòu), 從而獲取各通道的重要性權(quán)重.Woo等[20]提出的卷積注意力模塊(CBAM)采用通道和空間注意力串行的方式, 對于通道注意模塊,特征向量分別經(jīng)過最大池化和全局平均池化進入權(quán)值共享的網(wǎng)絡(luò), 空間子模塊同樣利用最大池化和全局平均池化的輸出, 沿通道軸匯集到卷積層.Park等[21]將通道和空間注意力結(jié)果相加形成瓶頸注意模塊.為了在盡可能少增加網(wǎng)絡(luò)參數(shù)的情況下提高網(wǎng)絡(luò)的特征提取能力, MFRA算法簡化了注意力機制結(jié)構(gòu), 只保留最本質(zhì)的注意力結(jié)構(gòu), 因為本文提出的注意力機制結(jié)構(gòu)簡單, 因此稱之為精簡注意力.本文提出的精簡注意力結(jié)構(gòu)如圖4所示.
由圖4可知, 精簡注意力由通道注意力和空間注意力串行組成.特征提取器提取的特征向量先輸入通道注意模塊, 根據(jù)各通道的重要程度得到通道權(quán)重矩陣, 然后將通道權(quán)重矩陣輸入空間注意模塊, 根據(jù)特征圖的重要區(qū)域得到空間權(quán)重矩陣.網(wǎng)絡(luò)通過嵌入精簡注意力模塊, 可以使網(wǎng)絡(luò)更關(guān)注有意義的特征.具體過程可表示為:
圖4 本文精簡注意力機制網(wǎng)絡(luò)結(jié)構(gòu)
其中,F為輸入特征,Wa和Wb分別為空間注意特征權(quán)重矩陣和通道注意特征權(quán)重矩陣,Fa和Fb分別為空間注意特征矩陣和通道注意特征矩陣, σ為 S igmoid激活函數(shù), ?為矩陣相乘操作,out為輸入特征經(jīng)過精簡注意力后的輸出特征.
輸入圖像經(jīng)過Inception-v3和MobileNet特征提取器提取特征, 不同通道表示不同類型的視覺特征, 以Inception-v3模型的mixed9特征層為例, mixed9特征圖中包含2048個通道, 每個通道均描述圖像部分特征,而對分類器而言, 不同特征算子提取到的特征重要性不同, 因而每個通道的重要程度不同, 應(yīng)該給予每個通道不同權(quán)重, 讓分類器更加關(guān)注對網(wǎng)絡(luò)有意義的通道,加強顯著性區(qū)域特征, 減弱非顯著性區(qū)域特征.
傳統(tǒng)通道注意力網(wǎng)絡(luò)SENet[19]在空間維度采用全局平均池化進行壓縮, 經(jīng)過兩個全連接層和激活函數(shù),得到通道注意力權(quán)重矩陣.由于全連接層參數(shù)較多, 加重網(wǎng)絡(luò)負(fù)擔(dān), 增加網(wǎng)絡(luò)過擬合風(fēng)險, 因此本文采用一種精簡的通道注意力模塊, 其結(jié)構(gòu)如圖5所示.
圖5 本文通道注意力機制網(wǎng)絡(luò)結(jié)構(gòu)
由圖5可知,F為特征提取器提取到的特征向量,維度為 (B,H,W,C), 經(jīng)過全局平均池化操作得到維度為(B,1,1,C)的特征矩陣, 輸入神經(jīng)元個數(shù)為C為的全連接層, 經(jīng)過 σ 激活函數(shù)得到通道注意權(quán)重矩陣, 其特征通道權(quán)重矩陣和為1, 其過程表示為:
其中,F為輸入特征,AvgPool為全局平均池化,Dense為全連接層, σ為激活函數(shù),Fb為通道注意特征權(quán)重矩陣.
在原始輸入圖像經(jīng)過特征提取器提取的特征圖中,特征圖是原始輸入圖像的映射.對于圖像而言, 目標(biāo)總是只占據(jù)圖像部分區(qū)域, 而其余區(qū)域則是背景信息.如何更好地讓分類器更加關(guān)注存在目標(biāo)的區(qū)域, 而降低背景信息干擾對圖像分類性能起著關(guān)鍵作用.因此, 本文采用一種簡單的通道注意力模塊, 其結(jié)構(gòu)如圖6所示.
圖6 本文空間注意力機制網(wǎng)絡(luò)結(jié)構(gòu)
由圖6可知,F為特征提取器提取到的特征向量,維度為 (B,H,W,C), 經(jīng)過卷積操作得到維度為(B,H,W,1)的特征矩陣, 然后經(jīng)過激活函數(shù)得到空間注意權(quán)重矩陣, 其特征空間權(quán)重矩陣和為1, 其過程表示為:
其中,F為輸入特征,Conv為卷積操作, σ為激活函數(shù),Fa為空間注意特征權(quán)重矩陣.
本文實驗環(huán)境為Windows系統(tǒng), 顯卡型號為NVIDIA GeForce RTX 2060, 采用基于TensorFlow[22]的Keras深度學(xué)習(xí)框架和Python編程語言, 分別在Caltech-101[23], Cifar-10[24], Cifar-100[24]這3個數(shù)據(jù)集上進行實驗, 采用網(wǎng)絡(luò)的錯誤率來驗證本文算法的有效性.
Cifar-10數(shù)據(jù)集是圖像分類常用數(shù)據(jù)集, 分為10類, 每類6000張圖像, 共60 000張圖像, 其中50 000張圖像用于訓(xùn)練, 10 000張圖像用于測試, 圖像尺寸為32×32.在模型訓(xùn)練過程中, 為了提高模型的泛化性, 使用隨機翻轉(zhuǎn), 亮度變化等數(shù)據(jù)增強技術(shù).在參數(shù)設(shè)置方面, 學(xué)習(xí)率初始化為0.01, 批處理大小為32, 使用SGD優(yōu)化器, 并在訓(xùn)練中使用學(xué)習(xí)率遞減策略, 當(dāng)驗證集的準(zhǔn)確率3個epoch不再下降時, 學(xué)習(xí)率遞減為原來的一半.
基于Cifar-10數(shù)據(jù)集, 表1為本文提出的MFRA算法與其他算法的實驗結(jié)果對比, 從表1可知, MFRA算法的錯誤率為3.86%, 相較于其他網(wǎng)絡(luò)錯誤率降低1.11%至6.55%, 據(jù)作者所知是目前同種類分類網(wǎng)絡(luò)中錯誤率較低, 說明MFRA具有更佳的分類性能.
表1 不同算法錯誤率對比 (Cifar-10數(shù)據(jù)集)
Cifar-100數(shù)據(jù)集由100個類的60 000張32×32彩色圖片組成, 每個類有6000張圖片.分為50 000張訓(xùn)練圖像和10 000張測試圖像.與Cifar-10不同的是,Cifar-100數(shù)據(jù)集的每類圖像都帶有一個精細(xì)標(biāo)簽即它所屬的類和一粗糙標(biāo)簽即它所屬的超類, 因此Cifar-100數(shù)據(jù)集比Cifar-10數(shù)據(jù)集更具有挑戰(zhàn)性.在模型訓(xùn)練過程中, 為了提高模型的泛化性, 使用隨機翻轉(zhuǎn), 亮度變化等數(shù)據(jù)增強技術(shù).在參數(shù)設(shè)置方面, 學(xué)習(xí)率初始化為0.01, 批處理大小為32, 使用SGD優(yōu)化器, 并在訓(xùn)練中使用學(xué)習(xí)率遞減策略, 當(dāng)驗證集的準(zhǔn)確率3個epoch不再下降時, 學(xué)習(xí)率遞減為原來的一半.
基于Cifar-100數(shù)據(jù)集, 表2為MFRA算法與其他算法的實驗結(jié)果對比, 從表2可知, MFRA算法的錯誤率為17.51%, 與其他網(wǎng)絡(luò)相比錯誤率至少降低8.34%,說明MFRA算法具有更佳的分類精度.
表2 不同算法的錯誤率對比 (Cifar-100數(shù)據(jù)集)
Caltech-101是一個非常流行的圖像分類數(shù)據(jù)集,共9144張圖像, 分為102個類別.每個類別的圖像數(shù)量在31至800圖像之間.在實驗中, 為了比較的結(jié)果更具說服力, 與比較的其他算法一致, 我們使用每個類的隨機選擇的30張圖像進行訓(xùn)練, 其余的圖像用于測試.
在模型訓(xùn)練過程中, 為了提高模型的泛化性, 使用隨機翻轉(zhuǎn), 亮度變化等數(shù)據(jù)增強技術(shù).在參數(shù)設(shè)置方面,學(xué)習(xí)率初始化為0.001, 批處理大小為16, 使用SGD優(yōu)化器, 并在訓(xùn)練中使用學(xué)習(xí)率遞減策略, 當(dāng)驗證集的準(zhǔn)確率3個epoch不再下降時, 學(xué)習(xí)率遞減為原來的一半.
基于Caltech-101數(shù)據(jù)集, 表3為MFRA算法與其他算法的實驗結(jié)果對比, 從表3可知, 本文算法的錯誤率為5.36%, 與其他網(wǎng)絡(luò)模型相比有所降低, 說明MFRA算法具有更好的分類能力.
表3 不同算法的錯誤率對比 (Caltech-101數(shù)據(jù)集)
MFRA算法的核心在于多模型特征融合及精簡注意力模塊, 在實驗參數(shù)設(shè)置相同的前提下, 本節(jié)基于Cifar-100數(shù)據(jù)集上進行兩組消融實驗來分別證明多模型特征融合及精簡注意力模塊的有效性.其中, 第1組實驗驗證精簡注意力模塊對本文網(wǎng)絡(luò)結(jié)構(gòu)性能的提升,第2組實驗驗證了多模型特征融合對本文網(wǎng)絡(luò)結(jié)構(gòu)性能的提升.
圖7為不使用注意力模塊的網(wǎng)絡(luò)和只使用一種注意力模塊的網(wǎng)絡(luò)與使用精簡注意力模塊的網(wǎng)絡(luò)在Cifar-100數(shù)據(jù)集的準(zhǔn)確率曲線對比, 其中, A曲線為不使用任何注意力模塊的網(wǎng)絡(luò), B曲線為使用空間注意力模塊的網(wǎng)絡(luò), C曲線為采用通道注意力的網(wǎng)絡(luò), D曲線為采用精簡注意力的網(wǎng)絡(luò).由圖7可知, 使用精簡注意力模塊的網(wǎng)絡(luò)模型與其他網(wǎng)絡(luò)模型相比, 收斂速度更快且分類準(zhǔn)確率更高, 證明了在網(wǎng)絡(luò)模型中加入精簡注意力可以加快模型的訓(xùn)練速度, 使模型更快收斂,從而提高網(wǎng)絡(luò)性能.
圖7 不同模塊的準(zhǔn)確率曲線對比
從表4可知, 在Cifar-100數(shù)據(jù)集上, 不使用注意力模塊的網(wǎng)絡(luò)分類錯誤率為18.96%, 只使用了空間注意力或通道注意力模塊網(wǎng)絡(luò)錯誤率相比不使用注意力模塊的網(wǎng)絡(luò)性能會有所下降, 分類錯誤率降低了0.22%至1.19%, 使用精簡注意力模塊的網(wǎng)絡(luò)分類性能最佳,達到了17.51%的分類錯誤率, 這充分驗證了精簡注意力模塊的有效性.
表4 不同模塊的錯誤率對比
圖8為使用單一模型和多模型特征網(wǎng)絡(luò)在Cifar-100數(shù)據(jù)集上的準(zhǔn)確率曲線對比.其中, A曲線為只使用Inception-v3模型mixed9特征層的準(zhǔn)確率曲線,B曲線為單一MobileNet模型conv_pw_12_relu特征層的準(zhǔn)確率曲線, C曲線為多模型特征融合的準(zhǔn)確率曲線.由圖8可知, 采用多模型特征融合網(wǎng)絡(luò)比單一模型網(wǎng)絡(luò)分類性能更佳.收斂速度更快且分類準(zhǔn)確率較高, 證明了多模型特征融合網(wǎng)絡(luò)的有效性.
圖8 不同模塊的融合結(jié)果對比
由表5可知, 在Cifar-100數(shù)據(jù)集上, 使用單一Inception-v3模型特征的網(wǎng)絡(luò)分類錯誤率為19.02%, 使用單一MobileNet模型特征的網(wǎng)絡(luò)分類錯誤率為19.98%, 而使用多模型特征網(wǎng)絡(luò)的分類錯誤率為18.96%.這充分驗證了多模型特征融合的有效性.
表5 不同模型的錯誤率對比
本文提出一種多模型特征和注意力模塊融合的圖像分類算法——MFRA算法.該算法選取當(dāng)前主流的卷積神經(jīng)網(wǎng)絡(luò)進行遷移學(xué)習(xí), 節(jié)省訓(xùn)練成本.根據(jù)不同的網(wǎng)絡(luò)架構(gòu)學(xué)習(xí)到圖像的不同特征, 利用模型的多樣性提取互補的視覺特征, 通過融合不同模型的所提取的特征提高網(wǎng)絡(luò)的特征提取能力, 提高網(wǎng)絡(luò)分類性能,并在網(wǎng)絡(luò)中嵌入精簡注意力模塊, 使網(wǎng)絡(luò)將注意力集中于重要特征上, 降低背景干擾.在幾個常用的分類數(shù)據(jù)集上的實驗結(jié)果表明, MFRA算法取得了較好的圖像分類性能, 相較于其他算法, 其準(zhǔn)確率有顯著提升.