符 哲 夫
(復旦大學 上海 200433)
模糊數字識別是深度學習與模式識別下一個重要的分支。這項技術能夠運用在財務報表、車牌識別、快遞分揀、犯罪證據判斷、試卷成績統計、銀行識別單據、統計金融數據等生活中方方面面,有著十分廣闊的應用前景[1]。在全球數據化和人工智能快速發展的背景下,對于模糊數字識別研究的需要變得十分迫切,研究出準確率高并且運行時間短的識別算法有重要的意義和價值。Ghosh等[1]經過實驗,發現結合注意力處理能提高大規模分類任務中CNN的性能。Fu等[2]提出了殘差注意力網絡可以提高特征提取性能。Sonbhadra等[3]共同提出了一種基于內容的模糊數字識別算法,這種算法可以很好地應對圖像邊界不清的問題。Zoran等[4]提出一種YOLO模型的檢測圖片內容算法,最后的結果可以放到神經網絡的模型中,完成圖像的識別。這種模型的檢測速度十分快速,同時還有非常可觀的準確率,但是其模糊數字的邊界處理有一定的不足之處。Wang等[5]合作研究,開發出一種文本的數圖像檢測模型,使用檢測到的數字特征,再定位到數字字符的區域,最后把結果利用二值化的技術后傳送到一個全連接卷積神經網絡中進行檢測。Ma等[6]研究出了數字邊緣檢測模型,這種模型利用了滑動窗口,可以采用共享權重的方式提取特征,并利用卷積神經網絡加以檢測,能取得一定效果,但是準確率和時間復雜度仍有提高的空間。
本文主要提出基于注意力機制的SCDM模塊,用來應對數字圖像識別中可能出現模糊不清難以提取特征的情況[7]。SCDM模塊具體可分為通道域(Channel)模塊和空間域(Space)模塊。使用該模塊能夠有效地利用圖像中的通道注意力信息和空間注意力信息[8],對模糊數字圖像的特征加以提取。本文介紹模SCDM模塊的基本結構與各模塊特征的計算方法,并經過實驗驗證,在ResNet網絡上使用該模塊,相較于之前的模糊數字識別方法準確率能進一步提高。
通道域的中心思想是,使用特征中通道之間的聯系,生成新的通道注意力圖I′,并對通過卷積得到的特征圖各通道層分配以不同的權重。這顯示了該層所表示特征與目標信息的關聯性。相應地,權重越大,這個層所表示的信息越重要,關聯性的程度越高。權重越小,這個層所表示的信息就越不重要。獲得k維卷積層后,通過壓縮函數、Sigmoid函數和比例函數等獲得各維的權重w1,w2,…,wk。這些權重將與各通道特征相乘,以獲得新的特征[9]。通道注意力模塊如圖1所示。

圖1 通道注意力模塊
如果將I∈RC×H×W的特征指定為輸入,SCDM將按先后順序得到一維通道注意力圖Mc∈RC×1×1以及二維空間注意力圖Ms∈R1×H×W。整個特征提取的過程可以概括為兩個階段:
I′=Mc(I)?I
(1)
I″=Mc(I′)?I′
(2)


(3)
(4)

通道域模塊注意力特征圖的計算方法為:
MC(F)=σ(MLP(AvgPool(F))+MLP(MaxPool(F)))
(5)

通道模塊的操作過程可以概括為以下:
(1) 對于一個中間特征圖作為輸入,利用兩種池化方式將每一個二維通道圖映射為一個特征量α,α一定程度上具有全局的感受野。最終獲得向量的維度k和中間特征圖的通道數是一致的。
(2) 利用共享的多層感知器MLP進行調整,可以更好地擬合特征通道間的聯系,同時也可以實現輕量級運算,降低時間復雜度。再輸出經過調整的特征F。
(3) 將每個向量各個元素進行逐項相加,映射成一個一維向量F′,再輸入到Sigmoid函數,這樣可以得到位于[0,1]區間內的向量。
(4) 把每一個通道與輸入的中間特征圖進行加權運算,實現初始特征在通道的每一個維度上重新標定。
空間域的設計思路是通過注意力機制,關注空間中的位置特性,將原來圖像中的空間特征映射到其他空間中,并保存重要的信息[13]??臻g注意力模塊如圖2所示。

圖2 空間注意力模塊
對于某個確定的通道域的特征I″,計算空間注意力的主要的思路與通道注意力的思想方法類似。要想獲得空間注意力圖,需要計算一個二維向量β,該向量對全部區域所有像素點進行通道賦值操作,然后將這個二維向量β輸入到一個卷積層當中并獲得輸出β′。最終將注意力圖通過Sigmoid函數進行歸一化[14]。
因為卷積操作是把不同的通道和空間信息融合在一起來獲得圖像特征,因此模糊數字識別中采用這個混合模塊來突出沿這兩個重要維度(空間域和通道域)的有價值特征[15]。為此,將空間域模塊和通道域模塊串聯使用,從而每個卷積模塊都可以單獨訓練在通道域和空間域上的不同參數。該模塊能夠利用學習強化或削減某些信息,對于網絡內的特征信息的提取具有重要的意義。
空間注意力向量Ct的定義為:
Ct=f(v,ht-1)
(6)
式中:f表示的是注意力映射函數;v表示卷積層獲得的輸入圖像的特征;ht-1表示在t-1時隱藏層獲得的狀態。
之后用一個神經網絡層把圖像特征和隱藏層狀態一起輸入,最后添加Softmax函數用來獲得圖片的空間注意力分布。
at=ktatanh(kvv+(khht-1))
(7)
γt=softmax(at)
(8)
式中:kta、kv、kh這幾個參數都需要通過神經網絡學習獲得的。
實驗環境:本文中實驗均采用的是如下硬件環境:CPU為Intel(R) Core i7- 920,主頻2.66 GHz,16 GB物理主存,GPU為NVIDIA GTX 1080,運行的操作系統為ubuntu18.04,并通過Python3.6環境下編譯。
使用數據集:為了驗證本文提出模塊的有效性,利用了多個數據集進行實驗。
(1) SVHN[16],這是源自于Google街景拍攝的數字數據集,數據豐富,包含約30 000幅模糊數字圖像。經過優化后,對于圖片的預先處理要求比較低。數據集含有兩個變量X代表圖像,訓練集X的張量需要(samples,width,height,channels)等參數,所以需要進行轉換。由于直接調用cifar 10的網絡模型,數據需要先做個歸一化,將所有像素除以255,另外原始數據0的標簽是10,這里要轉化成0,并提供one_hot編碼。
(2) MNIST[17],這是NIST共享集中的一個子數據集,已在特征方面優化過,并添加高斯模糊處理。數據集包含了0~9共10類手寫數字圖片,每幅圖片都做了尺寸歸一化,都是28×28大小的灰度圖。每幅圖片中像素值大小在0~255之間,其中:0是黑色背景;255是白色前景。
模糊數字識別的任務里最通用的評價參數是識別準確率,本文也以圖像識別準確率進行識別方法性能評估[18],如式(9)所示。
(9)
式中:K表示測試集中模糊數字圖像的總數;Ka表示測試集數字圖片預測正確的圖片數目,識別準確率可以比較好地反映識別的性能。
平均識別時間可由式(10)得到。
(10)
式中:n表示測試集中模糊數字圖像預測正確的總數;Ti表示第i幅測試集數字圖片預測的消耗時間。平均識別時間也能反映識別的性能。
可以通過實驗說明該利用模塊的有效性。對于此部分研究,使用SVHN、MNIST等數據集的圖片當作訓練集并采用ResNet作為基礎架構[12]。SVHN分類數據集包含用于訓練的8 000幅圖像和用于驗證的多種類別的12 000幅圖像。MNIST數據集則包括了5 000幅數字圖像用于訓練,14 000幅圖像用于測試。采用以上數據集進行訓練,224×224規格的數字圖像在測試中被用作輸入。學習率從0.1開始,訓練批次為100,最大迭代次數20 000。
首先,使用ResNet模型在SVHN數據集上進行添加SCDM模塊的模糊數字識別實驗。先訓練采用最大池化的ResNet模型,再將ResNet模型中初始池化層的最大池化替換成了平均池化進行訓練[19]。在第一個實驗里,單獨利用通道注意力模塊,并且將壓縮比設置為16。實驗采用跨通道域的平均池化方法和最大池化方法以及利用標準1×1卷積將通道維數減小為1的通道池[20]。另外,內核大小分別為3和7。在第二個實驗中,將之前討論的通道域模塊設置在空間域模塊的前面,這是為了將兩個模塊串聯使用。
利用MNIST數據集和SVHN數據集,復現文獻[6]的Inception模型的對比實驗,發現相比之前的文獻[6]的Inception模型,準確性提高了近2.56百分點,如圖3和圖4所示。另外還作了單獨添加空間注意力模塊的實驗結果對比。可以觀察到加了空間注意力模塊能得到更高的準確率,這表明兩個子模塊一起用能得到更精確的提取特征??梢钥闯鎏砑訂瓮ǖ滥K和完整的SCDM模塊都能起到一定的效果。同時也能看出,如果只利用單通道模塊,而沒有利用完整的SCDM模塊,結果就會差一些,準確率比后者要低4.35百分點。這說明加入SCDM模塊是一種可以提升精度的方法,可以在不增加其他可學習參數的情況下將識別準確率從傳統方法的基礎上進一步提升。在通道注意力模型里同時利用了平均池化方法和最大池化方法,且壓縮比設置為8。

圖3 MNIST數據集上的識別準確率曲線圖

圖4 SVHN數據集在上的識別準確率曲線圖
以上的實驗結果表明,SCDM模塊在ResNet網絡中能夠提高識別的準確率,但是實驗過程僅僅只考慮到了ResNet的網絡架構。為了進一步證明該模塊的泛化性,另外使用了AlexNet網絡模型,添加該模塊后進行對照實驗。學習率從0.1開始,訓練批次為100,最大迭代次數20 000。首先單獨利用通道注意力模塊,并且將壓縮比設置為16。再將通道域模塊與空間域模塊串聯使用。實驗結果如圖5所示。從實驗結果可以看出,在AlexNet網絡下使用SCDM模塊,準確率比之前的Inception模型提高2.15百分點。這也能看出,SCDM模塊在不同網絡下準確率均能取得一定的提升,但是在ResNet網絡使用該模塊提升的準確率較多。

圖5 SVHN數據集在AlexNet網絡上的識別準確率曲線圖
實驗結果數據表明在傳統的卷積神經網絡中通過引入該附加的模塊,能有效地利用注意力機制,能從傳統的基本網絡中獲得更高的準確率[21]。這說明用SCDM加強的網絡比基礎傳統網絡更有針對性地關注目標特征,同時也說明該模塊具有泛化性,在不同的網絡中都能使用。特征的提取性能提高主要是因為有效信息的關注和無效信息的弱化[6]。并且通過實驗也能發現,在SVHN和MNIST數據集上目標提取識別的性能均有比較好的改進,這也說明了SCDM模塊能適用于多種場合的數據集,具有一定的普適性。在對比不同卷積核大小產生的影響時,發現在兩種情況下利用更大的卷積核將會產生更高的精度。這說明有必要用一個更大的感受野來確定空間上需要重點關注的區域[22]。因此在計算空間注意力時,可以利用通道數較多和內核較大的卷積層來計算。使用空間注意力模塊時,設置卷積核大小為7。此外,也對比了使用該方法和文獻[6]方法的識別時間,如圖6所示。結果表明相差不大,均在1.01 s左右。這是由于這個模塊的運算量相比卷積網絡來說不太大,因此引入參數和提高計算時間的花費可以相對忽略[23]。

圖6 MNIST數據集上的識別時間曲線圖

表1 多種方法識別準確率對比
本節進行的實驗中,添加SCDM模塊的最終分類精確度最高為96.82%。比較現有的方法,采用文獻[6]的Inception模型的方法是分類精確度較高的一種方法。與文獻[6]的方法相比較,本文方法分類準確度提升了2.56百分點。結果證實利用SCDM模塊能有效地提高模糊數字識別的準確率和有效性。
本文對于不同場景下的模糊數字,提出一種基于注意力機制的SCDM模塊。在進行訓練時應用該模塊,使中間的特征圖沿著空間與通道兩個不同的維度生成注意力特征圖,這樣能夠強化有效信息,削弱無效信息。在傳統的卷積神經網絡中通過引入該附加的模塊,能有效地突出空間和通道上的特征,從傳統網絡中獲得更高的準確率。并通過MNIST和SVHN數據集的實驗,驗證了運用該模塊獲得的識別準確率要高于已經存在的方法,說明該模塊具有一定的泛化性與普適性,同時也證明了注意力機制的有效性。