陶 銳,孫彥景,劉衛東
(中國礦業大學,江蘇省煤礦電氣與自動化工程實驗室,江蘇 徐州 210046)
深度學習的理論研究最早可以追溯至上個世紀四十年代,早期所提出的感知器模型只能處理線性分類問題,而無法做到正確分類非線性問題。為了使神經網絡更好地適應非線性問題,Geoffry Hinton等人在1986年提出了BP誤差反向傳播算法,有效地解決了非線性分類和學習的問題。但由于這一時期,神經網絡一直缺少相應的嚴格的數學理論支持,沒有龐大數據量和強大計算能力的軟硬件做后盾,沒有引起足夠的重視。隨后,針對神經網絡層數過深導致難以訓練的問題,Hinton在2006年提出了無監督預訓練和深度信念網絡,通過無監督預訓練對權值進行初始化及有監督訓練微調這種貪婪的方式逐層添加和訓練網絡層,直到神經網絡的層數足夠深。使用這種策略,可以訓練比以前更深的網絡,也使得神經網絡層數邁向更深的階段,使深度學習得到了長足的發展。隨著無監督預訓練重新引起人們的興趣,越來越多的研究人員又開始重新關注這項技術。深度神經網絡開始超越傳統方法,在越來越多的領域開始大展身手。此后,各大研究機構和公司紛紛投入到深度學習的研究與應用中[1-7]。
本文中,我們深入分析了電子票據容易被篡改的高風險案例,利用深度學習技術和卷積神經網絡CNN(Convolutional Neural Networks)組成圖像深度傳感器網絡,針對特定的票據內容區域進行重點加密。傳統的水印加密方法不能有效地在魯棒性和安全性之間做好平衡。因此,我們重點針對票據中的數字,金額和簽名等字符區域,進行基于深度神經網絡的檢測定位,再結合水印技術進行多重的票據加密,使得篡改的檢測更加高效。

圖1 改進的CNN網絡結構圖
近年來,一些學者開始將卷積神經網絡應用于包括計算機視覺、圖像識別、自然語言處理等領域,已經產生了與人類專家相媲美并且在某些情況下更優越的結果[8-12]。一個典型的卷積神經網絡由多個不同的層,以一定順序前后級聯構成,包括一個輸入層,多個卷積層及池化層,一定數量的全連接層和最后一層輸出層(損失層)[13-14]。卷積神經網絡引入了一種特殊的組織隱層單元的方式——卷積,這使得網絡可以很好地對輸入數據的局部特征進行抽取。隱層之間局部連接的權重被稱為卷積核(卷積濾波器),處于同一層的所有隱層單元共享同一卷積核,因此該層輸出的結果即是該卷積核所抽取出的局部特征,也稱為特征圖[15]。
在卷積神經網絡中,低層卷積層所抽取的特征,更接近原始輸入數據,故而層次相對較低。而位于相對較頂層的高層卷積層,其抽取的特征源于低層卷積層抽取出的特征,故層次相對較高。卷積神經網絡正是通過逐層抽取前一層網絡的輸出(特征圖),完成抽取全局特征的工作。
傳統的卷積神經網絡采用串行堆疊結構,而這樣的網絡結構會導致網絡最終提取出的特征中缺失低層次特征。針對這一問題,通過將網絡中的所有卷積層的輸出連接為一層,把網絡中所有的特征圖連接在一起,使得卷積網絡最終提取出的特征包含來自各層的特征,從而最大程度上保留了特征信息,也可避免傳統卷積網絡中因為池化層的降維作用而損失一些邊緣信息。
傳統的深度卷積神經網絡同樣存在一些弊端,最常見的問題就是梯度消失、參數數量和體積較大、需要大量訓練數據等。針對小數據集上的識別問題,由于領域不同,問題的解決方式同樣不一,本文針對電子票據關鍵區域的識別問題,在數據較少的情況下,提出了一種特殊的網絡結構方式,使得網絡在有效學習數據的情況下不至于過擬合。實驗證明了本文網絡結構的有效性。
首先將網絡中的所有卷積層的輸出連接為一層,使得卷積網絡最終提取出的特征包含來自各層的特征,從而最大程度上保留了特征信息。通過參考DeepID的網絡連接方式,構建出適用于小樣本的卷積神經網絡結構。用Kl表示該網絡第l層卷積層的卷積核,Il和Fl分別表示該層的輸入和特征圖。
(1)
然后按式(3)將特征圖平展為一維特征:
(2)
式中:m,n表示第l層卷積核的尺寸。再將展平的各層特征圖累加,得到最終的融合特征圖:
(3)
本文網絡結構如圖1所示,第1個卷積層采用卷積核64@2×2,第2個卷積層采用卷積核96@2×2,第3個卷積層采用卷積核128@2×2,池化層均采用均值池化大小為2×2。網絡訓練參數設定如下:batch=16,epoch=100,學習率λ=0.000 01,使用隨機梯度下降算法進行優化,交叉熵作為損失函數。本文對所有卷積層以及全連接層都施加了Dropout,卷積層采用Dropout比例為0.2,全連接層則為0.5。
在本節中,將提出一種利用可見水印和不可見水印的多重加密方法,能夠達到對金融票據來源信息的標識和對篡改的定位檢測。其結構如圖2所示。

圖2 基于可見水印和不可見水印的多重電子票據加密
傳統的分塊DCT變換計算公式如下:
(4)
(5)

如果考慮圖像明暗對視覺容忍的影響,計算公式可進一步修正如下:
(6)
(7)
式中:DC是直流分量,max代表最大值,Xc0是分塊直流系數。
嵌入可見水印圖像的DCT系數變為:
(8)

水印疊加公式如下:
cij=αncij(n)+βnwij(n),n=1,2,…
(9)
式中:αn和βn是塊n的拉伸系數,圖像和水印的DCT系數分別是cij(n)和wij(n)。
(10)
(11)

算法1可見水印嵌入算法
輸入:ArrayN×N水印圖像矩陣,ImageN×N水印圖像矩陣,x[0]迭代初始密鑰
輸出:Result嵌入水印的圖像
1:y=WATERMARK(Array)
2:DCT變換獲得文理信息
3:計算嵌入系數α,β
4:H=GENMATRIX(Image)
5:DCT圖像分塊ArrayNi×Ni
6:嵌入DCT系數
7:Result=y+H
本實驗中,我們采集了1 200多張票據的數字圖像,進行了水印的多重加密。我們在構造特征時,重點考慮針對灰度圖像的特征構造,將普通的圖像進行差分特征的分析,根據縱向以及橫向的一階和二階差分特征,與原圖圖像構成5通道的圖像輸入特征。
實驗采用深度學習框架Tensorflow進行搭建并訓練網絡,最終的網絡超參數值見表1。

表1 訓練超參數表
在圖像信號中添加高斯白噪聲,多種信噪比條件下,采用改進的CNN模型以及多種通道關鍵區域的識別結果如圖3所示,其中,圖3(a)、圖3(c)、圖3(e)、圖3(g)以及圖3(i)分別為20 dB、10 dB、0 dB、-10 dB和-20 dB時模型對應的識別率訓練曲線,圖3(b)、圖3(d)、圖3(f)、圖3(h)以及圖3(j)分別為20 dB、10 dB、0 dB、-10 dB和-20 dB時模型對應的損失函數訓練曲線。圖中的Epoch表示一個完整的票據數據訓練集通過神經網絡模型的次數。

圖3 CNN模型在訓練過程中的收斂曲線
在相同特征的基礎上(五通道圖),將本文網絡與多種不同的分類器上進行了比較[16-19]。對比分類器及其參數如下:隨機森林RF(Random Forest),森林中決策樹個數為400,每棵決策樹的最大深度為6,行采樣率為0.75,列采樣率為0.8;CNN共有兩層卷積層,卷積核分別為和,還有兩層具有5 000個神經元的全連接層以及Softmax層作為分類器,為了防止過擬合,卷積層與全連接層均采用了Dropout,比例為0.5;深度神經網絡DNN(Deep Neural Networks),共5層全連接層,每層網絡的神經元數目為384,同時每層均采用了Dropout,系數為0.5,最后一層為Softmax層。SVM,懲罰系數C=1,采用RBF核以及One VS One的多分類策略;K近鄰算法KNN(K-Nearest Neighbor),近鄰個數N=8,采用KD樹進行搜索,并且樹的度量距離為歐式距離;循環神經網絡RNN(Recurrent Neural Networks),共有兩層網絡層,每層共1 024個神經元,每層的Dropout比例為0.5。
表2給出了7種分類器在理想無噪聲環境下的實驗結果。與隨機森林、KNN以及SVM相比,本文模型識別率分別提升了9.8%、21.3%、14.5%,證明了在處理圖像類多維特征時,卷積神經網絡所表現出的性能優于SVM、KNN等傳統分類器。

表2 多種分類器的識別率
水印圖像的漏檢測率和誤檢測率如表3和表4所示,其基于本文改進算法的圖像檢測效果明顯優于傳統的CNN算法。使用深度神經網絡能夠有效的定位關鍵區域,在保證安全性的同時,提高對圖像水印檢測的效率。圖4中進一步可以看到在采用圖像內容定位后對篡改區域的加密效率明顯提高,計算時間得以顯著降低。

圖4 不同的圖像尺寸下的計算時間

圖像通道數改進CNN傳統CNN單通道0.1020.133二通道0.0910.102三通道0.0610.089四通道0.0420.078五通道0.0320.045

表4 圖像水印的誤檢測率
本文研究了針對票據關鍵區域的基于卷積神經網絡的識別方法,對CNN網絡結構進行了改進,提出了一種改進的適用票據內容定位的CNN網絡。與傳統CNN網絡相比,本文提取出的多階差分特征,與原圖圖像構成5通道圖像特征,有效地挖掘了內在特征,并且結合卷積神經網絡作為分類器,發揮了圖像的多通道優勢,使得輸入數據包含更多的靜態與動態特征,從而減少了加密處理的圖像像素,提高了水印加密的計算效率。