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