陳澤軒,于蓮芝
(上海理工大學(xué)光電信息與計算機(jī)工程學(xué)院,上海 200093)
圖像分類是計算機(jī)視覺領(lǐng)域的一個重要研究方向[1],旨在從圖像或圖像序列中提取出目標(biāo)的判別性特征,以精確判別目標(biāo)所屬類別。隨著圖像分類技術(shù)的快速發(fā)展,在許多應(yīng)用領(lǐng)域取得了較為顯著的成績,并逐步推動人類進(jìn)入智能時代。目前,圖像分類技術(shù)在醫(yī)療圖像處理[2]、智能交通[3]、人臉識別[4]等領(lǐng)域已得到大規(guī)模應(yīng)用。早期使用機(jī)器學(xué)習(xí)算法進(jìn)行圖像分類的流程為:首先提取特征,然后篩選特征,最后將特征向量輸入合適的分類器完成分類任務(wù)。但傳統(tǒng)圖像分類模型結(jié)構(gòu)較淺,不能提取較復(fù)雜的圖像特征,泛化性差,導(dǎo)致圖像識別精度不高,只能處理一些簡單任務(wù)。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)最早形態(tài)是Lecun 等[5]提出的LeNet-5,該網(wǎng)絡(luò)處理數(shù)字識別任務(wù)具有良好效果,但處理其它實際任務(wù)時效果不如Boosting 等傳統(tǒng)算法。2012 年,Krizhevsky 等[6]提出AlexNet網(wǎng)絡(luò)結(jié)構(gòu),并以15.4%創(chuàng)紀(jì)錄的低失誤率奪得2012 年ILSVRC 年度冠軍,表明使用深度學(xué)習(xí)方法處理圖像分類任務(wù)出現(xiàn)了較大突破。隨后圖像分類領(lǐng)域涌現(xiàn)出許多性能優(yōu)越 的 深 度 學(xué) 習(xí) 模 型,如ZFNet[7]、VGGNet[8]、GoogleNet[9]、ResNet[10]、DenseNet[11]、SENet[12]等。盡管卷積神經(jīng)網(wǎng)絡(luò)經(jīng)過長時間發(fā)展,產(chǎn)生了大量優(yōu)秀模型,但因其本身結(jié)構(gòu)存在一些缺陷,需要研究一種新模型來處理圖像分類任務(wù)。
膠囊網(wǎng)絡(luò)(Capsule Network,CapsNet)是在2017 年由Sabour 等[13]首次提出的,膠囊網(wǎng)絡(luò)首次提出使用矢量神經(jīng)元代替?zhèn)鹘y(tǒng)神經(jīng)網(wǎng)絡(luò)中的標(biāo)量神經(jīng)元,去掉了池化層,創(chuàng)新性地提出動態(tài)路由(Dynamic Routing,DR)算法計算初始膠囊層與高級膠囊層之間的連接權(quán)重,并采用新的擠壓函數(shù)取代Relu 函數(shù),從而學(xué)習(xí)到圖像特征之間的空間關(guān)系。之后出現(xiàn)了大量關(guān)于膠囊網(wǎng)絡(luò)的研究,如MS-CapsNet[14]、Dcaps[15]、VideoCapsuleNet[16]等。
靜態(tài)卷積每層使用同一個卷積核,無法提取更豐富的特征信息。2020 年,Chen 等[17]提出動態(tài)卷積網(wǎng)絡(luò),動態(tài)地聚合多個并行卷積核提取的特征,增強(qiáng)了網(wǎng)絡(luò)表達(dá)能力;華為提出DyNet[18],核心思想與谷歌提出的CondConv[19]類似;曠視提出DRConv[20],在動態(tài)卷積上引入空間分組;Tian 等[21]提出用于實例分割的條件卷積網(wǎng)絡(luò)。2021 年,Li等[22]通過矩陣分解回顧動態(tài)卷積。
本文提出一種基于膠囊網(wǎng)絡(luò)并融入選擇性卷積核網(wǎng)絡(luò)的圖像分類模型。膠囊網(wǎng)絡(luò)對空間信息比較敏感,可學(xué)習(xí)到不同特征間的位置關(guān)系,克服了卷積神經(jīng)網(wǎng)絡(luò)識別圖像時整體平移的缺點(diǎn)。傳統(tǒng)卷積每一層使用單一卷積核,選擇性卷積核區(qū)別于傳統(tǒng)卷積的靜態(tài)結(jié)構(gòu),其使用兩個分支結(jié)構(gòu),動態(tài)聚合兩個并行卷積核提取的特征,比靜態(tài)卷積具有更強(qiáng)的表示能力。在經(jīng)典膠囊網(wǎng)絡(luò)的Conv1 基礎(chǔ)上增加具有兩個分支的選擇性卷積核網(wǎng)絡(luò),可融合不同卷積核提取到的信息,豐富的圖像分類特征有效提高了圖像識別準(zhǔn)確率。
2011 年,Hinton 等[23]首次提出膠囊的概念,膠囊由多個向量化神經(jīng)元構(gòu)成,可有效保存圖像中的特征角度及姿態(tài)等更為豐富的信息。膠囊網(wǎng)絡(luò)區(qū)別于傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò),膠囊網(wǎng)絡(luò)的輸入與輸出神經(jīng)元都由標(biāo)量提升為矢量,池化操作由協(xié)議路由取代,并提出新的Squash 函數(shù)代替原來的ReLU 函數(shù)。
膠囊網(wǎng)絡(luò)總體架構(gòu)如圖1 所示。網(wǎng)絡(luò)共有3 層,兩個卷積層和一個全連接層,是一個比較淺的神經(jīng)網(wǎng)絡(luò)。由于常規(guī)的卷積操作可得到精確的低級圖像特征,第一層采用傳統(tǒng)卷積操作,使用256 個9×9 的卷積核對圖像像素作一次局部特征檢測。為最大限度地保留圖像特征信息,卷積之后沒有使用池化層。第二層是含有膠囊的卷積層,將Conv1 得到的低級特征送入可進(jìn)行路由運(yùn)算的Primary Capsule 層,經(jīng)過再次卷積提取特征后,將特征向量展開成一維,對應(yīng)特征向量組合得到向量膠囊。數(shù)字膠囊層是全連接層,根據(jù)向量膠囊的模長大小判斷并輸出圖片類別。
Fig.1 Overall structure of capsule network圖1 膠囊網(wǎng)絡(luò)總體結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)將神經(jīng)元輸入的標(biāo)量乘以各自權(quán)重,加權(quán)求和后輸入非線性函數(shù)進(jìn)行激活,得到輸出標(biāo)量。膠囊網(wǎng)絡(luò)在加權(quán)求和時比卷積神經(jīng)網(wǎng)絡(luò)多一個步驟,需要將輸入向量先乘以一個姿態(tài)矩陣,生成新的輸入向量后再乘以權(quán)重矩陣進(jìn)行加權(quán)求和。膠囊網(wǎng)絡(luò)工作原理如圖2 所示。
Fig.2 Working principle of capsule network圖2 膠囊網(wǎng)絡(luò)工作原理
動態(tài)路由是PrimaryCap 與DigitCaps 兩者間的一種信息傳遞機(jī)制。其兩者間的連接并不是傳統(tǒng)神經(jīng)網(wǎng)絡(luò)之間簡單的標(biāo)量連接,而是向量與向量之間的連接。低層膠囊與高層膠囊之間的連接權(quán)重會在網(wǎng)絡(luò)訓(xùn)練過程中不斷隨著學(xué)習(xí)而改變,并使用動態(tài)路由算法學(xué)習(xí)該權(quán)重。動態(tài)路由算法如下:
由權(quán)重矩陣Wij乘以輸入ui得到預(yù)測向量,對于每個低級別的,cij表示對應(yīng)的底層預(yù)測向量輸出到高層向量的權(quán)重大小,cij是由bij使用softmax 函數(shù)得到的,cij為非負(fù)數(shù),且∑jcij=1;之后使用sj=∑icij計算所有預(yù)測向量的加權(quán)和,再使用新提出的squash 函數(shù)得到輸出向量vj。在迭代過程中,權(quán)重bij初始賦值為零,采用公式bij=bij+更新權(quán)重bij。
本文提出選擇性卷積核膠囊網(wǎng)絡(luò)圖像分類方法,在經(jīng)典膠囊網(wǎng)絡(luò)的第一層卷積層中加入選擇性卷積核網(wǎng)絡(luò),利用網(wǎng)絡(luò)的動態(tài)選擇機(jī)制自適應(yīng)地提取輸入信息多個尺度的感受野,將不同分支的特征圖根據(jù)權(quán)重進(jìn)行融合。選擇性卷積核網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。
網(wǎng)絡(luò)通過分離、融合、選擇3 個步驟實現(xiàn)動態(tài)選擇卷積核。在標(biāo)準(zhǔn)的卷積神經(jīng)網(wǎng)絡(luò)中,每一層人工神經(jīng)元的感受野被設(shè)計為相同大小。本網(wǎng)絡(luò)的不同之處在于提出一種動態(tài)選擇機(jī)制,使用兩個分支動態(tài)提取輸入圖像特征。對于輸入的特征圖X∈RH′×W′×C′,并行進(jìn)行兩次變換,如式(1)、式(2)所示。
式中,兩個F函數(shù)依次由高效卷積、批處理規(guī)范化與Relu 函數(shù)組成。使用核尺寸大小分別為3 和5 的卷積核提取特征信息,使用門控制來自兩個分支的信息流,兩個分支攜帶不同尺寸的特征信息進(jìn)入下一層神經(jīng)元。首先將兩個分支信息通過element-wise summation 進(jìn)行融合,u = u?+ ?,然后通過簡單地使用全局平均池化嵌入全局信息生成信道統(tǒng)計信息,如式(3)所示。
其中,F(xiàn)gp為全局平均池化函數(shù),Sc為信道統(tǒng)計信息。此外,為精確地引導(dǎo)自適應(yīng)選擇,創(chuàng)建一個緊湊特征z? Rd×1,并通過全連接(fc)層進(jìn)行實現(xiàn),如公式(4)所示。
其中,б為ReLU 激活函數(shù),B代表批處理,W ? Rd×c。在壓縮特征描述符z的指導(dǎo)下,使用跨通道的軟注意機(jī)制自適應(yīng)地選擇不同空間的尺度信息,并在通道級數(shù)字上應(yīng)用softmax 操作,如式(5)所示。
式中,a、b分別是u?和?的軟注意力矢量,最后特征由每個卷積核提取的特征乘以各自的注意力權(quán)重,再相加求和得到,如公式(6)所示。
式中,Vc為加權(quán)融合兩個分支后的最終特征。
將選擇性卷積核提取到的特征送入初始膠囊層中,由動態(tài)路由算法學(xué)習(xí)權(quán)重參數(shù),數(shù)字膠囊層輸出圖片類別。膠囊網(wǎng)絡(luò)中的Conv1 層原本使用256 個9×9 卷積核提取特征,本文在該卷積操作后融入具有兩個分支的選擇性卷積核網(wǎng)絡(luò),分別使用3×3 和5×5 的卷積核并行提取圖像特征,得到初級膠囊(primary capsule)的輸入。初級膠囊是多維實體的最低級別,具有32 個8 通道的特征圖,每個卷積層具有8 個步幅為2、尺寸為9 的卷積核。PrimaryCapsules 的輸出是32×6×6 的膠囊(每個輸出是一個8 維矢量),將得到的膠囊展成一維,與對應(yīng)特征的膠囊進(jìn)行組合得到向量神經(jīng)元。其中,6×6 網(wǎng)格中每個膠囊彼此共享權(quán)重,權(quán)重通過路由算法進(jìn)行學(xué)習(xí)更新。最后一層(DigitCaps)中的每個類由一個16 維的向量膠囊表示,每個膠囊都接收來自上層級中所有膠囊的輸出作為輸入,依據(jù)膠囊向量的模長預(yù)測并輸出圖像類別。采用Marginloss 作為損失函數(shù),如公式(7)所示。
式中,k為分類類別。當(dāng)k存在時,Tk= 1;當(dāng)k不存在時,Tk= 0。
為測試選擇性卷積核膠囊網(wǎng)絡(luò)處理圖像分類任務(wù)的有效性,采用圖像分類任務(wù)中的3 個經(jīng)典數(shù)據(jù)集進(jìn)行實驗,分別為:CIFAR-10、Fashion-MNIST、SVHN。CIFAR-10 包含10 種類別的圖片,共6 萬張;Fashion-MNIST 為涵蓋不同商品的圖片,共7 萬張;SVHN 為包含街景門牌號碼的圖片,共10 萬張。CIFAR-10、Fashion-MNIST 的測試集與訓(xùn)練集已劃分好,SVHN 可根據(jù)不同網(wǎng)絡(luò)結(jié)構(gòu)自行劃分測試集與訓(xùn)練集。數(shù)據(jù)集詳細(xì)情況介紹如表1 所示。
Table 1 Presentation of data sets表1 數(shù)據(jù)集詳細(xì)情況介紹
本文實驗環(huán)境如下:CPU 為intel E5-2678V3,顯卡為GTX1080,內(nèi)存為16G,操作系統(tǒng)為Windows10。使用pytorch 深度學(xué)習(xí)框架,設(shè)置batch_size 為30,epochs 為50,初始學(xué)習(xí)率為0.001。在訓(xùn)練膠囊網(wǎng)絡(luò)時,采用性能優(yōu)越的Adam 優(yōu)化器。
設(shè)置選擇性卷積核膠囊網(wǎng)絡(luò)參數(shù)如下:路徑數(shù)M 為2,采用兩個分支結(jié)構(gòu),卷積核尺寸分別為3×3 和5×5,決定每個路徑的組數(shù)G 為8,控制融合操作比率的參數(shù)r 為2,步長默認(rèn)為1。膠囊網(wǎng)絡(luò)使用動態(tài)路由,激活函數(shù)為Squash 函數(shù),分類層的膠囊個數(shù)依據(jù)數(shù)據(jù)集包含的圖片種類數(shù)量設(shè)定。
采用基線膠囊網(wǎng)絡(luò)與本文模型分別在3 個數(shù)據(jù)集上進(jìn)行對比實驗。評價指標(biāo)使用top1 正確率,測試錯誤率迭代圖分別如圖4-圖6 所示。模型分類精度對比如表2 所示。
圖4-圖6 的測試結(jié)果迭代圖可直觀表現(xiàn)出本文模型的測試誤差明顯低于基線膠囊網(wǎng)絡(luò)。表2 列出了兩個網(wǎng)絡(luò)模型在3 個公開數(shù)據(jù)集上的分類精度對比,其中基線膠囊網(wǎng)絡(luò)是簡單的具有兩層卷積的網(wǎng)絡(luò)結(jié)構(gòu),在3 個數(shù)據(jù)集上得到的分類精度分別為78.78%、92.89%、94.88%。本文模型是融入了選擇性卷積核的膠囊網(wǎng)絡(luò)模型,相比基線網(wǎng)絡(luò)分類精度分別提升了1.73%、0.69%、0.53%,表明選擇性卷積核在提取特征時具有明顯優(yōu)勢,彌補(bǔ)了傳統(tǒng)網(wǎng)絡(luò)提取特征時采用相同大小卷積核的缺點(diǎn),可提取到更加豐富的圖像分類特征。
Fig.4 CIFAR-10 dataset test results圖4 CIFAR-10 數(shù)據(jù)集測試結(jié)果
Fig.5 Fashion-MNIST dataset test results圖5 Fashion-MNIST 數(shù)據(jù)集測試結(jié)果
Fig.6 SVHN dataset test results圖6 SVHN 數(shù)據(jù)集測試結(jié)果
Table 2 Comparison of model classification precision表2 模型分類精度對比 單位:%
本文提出應(yīng)用于圖像分類任務(wù)的選擇性卷積核膠囊網(wǎng)絡(luò),并在多個圖像分類數(shù)據(jù)集中對模型進(jìn)行實驗測試與評估。針對卷積神經(jīng)網(wǎng)絡(luò)不能靈敏識別各特征之間相對位置關(guān)系的問題,采用矢量膠囊表征實體不同特征間的空間位置關(guān)系。最大池化導(dǎo)致網(wǎng)絡(luò)不能精確反映實體特征與實體間的關(guān)系,采用膠囊網(wǎng)絡(luò)的動態(tài)路由機(jī)制學(xué)習(xí)初級膠囊層與高級膠囊層之間的權(quán)重系數(shù),以準(zhǔn)確表征特征與實體的層級結(jié)構(gòu)。針對傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)中每一層人工神經(jīng)元的感受野被設(shè)計為相同大小這一問題,采用選擇性卷積核網(wǎng)絡(luò)融合不同尺寸卷積核提取的特征信息。在CIFAR-10、Fashion-MNIST、SVHN 數(shù)據(jù)集上的測試結(jié)果表明,相比于基線膠囊網(wǎng)絡(luò),本文提出的網(wǎng)絡(luò)模型具有更高的識別精度,分別為80.51%、93.58%、95.41%。下一步研究將注意力機(jī)制與網(wǎng)絡(luò)相結(jié)合以提高模型識別精度,注意力機(jī)制可抑制一些無關(guān)信息,著重關(guān)注所需的重要信息,以提高模型分類準(zhǔn)確率。