張開生 王 澤
(陜西科技大學電氣與控制工程學院,陜西西安,710021)
基于磁性纖維的加密紙張是在紙張抄造的過程中將磁性纖維以一定的排布規律嵌入在紙張內部的一種紙張防偽技術。目前已有學者提出紙張加密和識別的方法,如利用點陣編碼器促使紙漿中的磁性纖維聚集從而形成磁性加密圖案以及采用改進的ORB(Oriented FAST and Rotated BRIEF)算法識別加密紙張圖像的方法[1-2],但其識別對象是建模的加密紙張,且識別方法為傳統模板匹配算法,準確識別率有待提高。磁性纖維加密圖案無法從紙張外表進行觀測,如何獲取紙張加密圖案成為待解決的問題,因此有必要對磁性纖維加密紙張的圖像采集與識別建立一種通用的方法。
本課題研究的基于磁性纖維的加密紙張以字母和數字的隨機組合作為加密圖案,因此紙張加密圖像識別方法可借鑒字符識別方法。字符識別方法主要有基于圖像處理和機器學習兩種方法。傳統圖像處理算法包含模板匹配、字符結構特征方法等,其不需要訓練模型,具有簡單及快速的優勢,但對圖像噪聲比較敏感,魯棒性不佳?;跈C器學習的方法包括人工神經網絡、支持向量機(Support Vector Machine,SVM)和K-近鄰等算法,其中SVM 和人工神經網絡算法因具有較好的識別結果逐漸成為主流[3]。李鵬松等人[4]提出一種閾值分割與卷積神經網絡AlexNet 相結合的圖像識別算法,通過均值迭代閾值分割區分圖像目標和背景以減少AlexNet 訓練的數據量和參數量,最后達到較高的準確率。鐘鵬程等人[5]將SURF(Speeded Up Robust Features)與ORB 算法結合以使圖像具有旋轉尺度不變性,最后結合K-近鄰快速搜索算法提高工件圖像的特征點匹配速度。車牌識別也是字符識別的一種特殊應用場景,賀智龍等人[6]提出一種輕量級車牌識別網絡,在車牌定位和識別階段采用不同深度的CNN(Convolutional Neural Networks)網絡實現對字符的識別;Li 等人[7]通過分割普通文本中的字符信息并將其送入CNN 模型訓練,利用訓練的字符模型實現了車牌字符識別。研究發現卷積神經網絡在字符識別領域展現出巨大優勢,但還沒有研究將卷積神經網絡應用在磁性纖維加密紙張的識別方面。
為了獲取磁性纖維加密紙張中的加密圖案,提出一種加密圖案的采集方法。磁性纖維具有互相吸引的特性,通過采集裝置拍攝到的加密圖案存在噪點、圖案粘連以及邊緣模糊等問題。首先采用改進的機器視覺方法對磁性纖維加密圖像預處理,然后將預處理后的加密圖像作為卷積循環神經網絡(Convolutional Recurrent Neural Network,CRNN)[8]輸入,從而識別出紙張中的加密字符。
磁性纖維加密紙張與普通紙張的不同之處在于其在紙張內部加入了少量磁性纖維[9],且通過磁性纖維的聚集能夠形成不同的圖案,從而使紙張具有防偽特性。利用磁性纖維加密紙張特性,設計磁性纖維加密圖案的采集裝置如圖1所示。

圖1 磁性纖維加密圖案采集裝置Fig.1 Magnetic fiber encryption pattern acquisition device
由圖1 可知,磁性纖維加密圖案采集裝置由2 個光源、CCD 相機、磁粉噴灑裝置、磁化裝置、磁軛、旋轉支桿、磁粉收集裝置組成。旋轉支桿上設置平臺用于放置和固定加密紙張,在平臺的上方設置磁化裝置。磁化裝置由多匝磁化線圈構成,能夠產生磁力線并通過磁軛傳輸磁力線以增強加密紙張中磁性纖維的磁性,從而促使磁粉更好地吸附在磁性纖維加密紙張上面。噴灑裝置和CCD 相機置于加密紙張的正上方,噴灑裝置中放置磁粉,可通過噴灑裝置將磁粉均勻噴灑在加密紙張上。2 個光源置于磁化裝置兩旁以使CCD 相機能夠拍攝到更為清楚的圖像[10]。磁性纖維加密圖案采集裝置的工作原理是紙張內部磁性纖維的磁性受磁化線圈產生的磁力線影響而得到增強,通過噴灑裝置將磁粉噴灑在加密紙張上,磁粉受紙張內部磁性纖維產生磁場的影響從而聚集在相對應加密圖案的位置上,將紙張內部的加密圖案顯現出來。CCD 相機拍照獲取加密圖像照片后,對磁化裝置斷電以減小磁性纖維的磁性,然后旋轉支桿進行旋轉,從而將紙張上的磁粉倒入磁粉收集裝置中,以便回收磁粉。磁性纖維加密圖案圖像采集的具體流程如圖2所示。

圖2 磁性纖維加密圖像采集流程圖Fig.2 Flow chart of magnetic fiber encryption image acquisition
通過磁性纖維加密圖案采集裝置拍攝到的部分加密圖像照片如圖3所示。

圖3 磁性纖維加密圖像照片Fig.3 Encrypted image photo of magnetic fiber
由磁性纖維加密圖案采集裝置獲取到的磁性纖維加密圖像可以看出大部分磁粉聚集在磁性纖維加密圖案的位置,顯示出了加密圖案的輪廓,但也存在少部分磁粉處于沒有加密圖案的位置,干擾識別加密圖案的準確性。圖像預處理能夠改善磁性纖維加密圖像的質量,減少圖像噪聲和對后續字符識別的影響。圖像預處理的技術路線:首先對圖像進行高斯濾波以及灰度化處理,其次采用Sobel 邊緣檢測算法突出磁粉覆蓋區域[11],對Sobel 卷積操作處理后的圖像應用改進的OTSU 算法進行二值化處理,最后利用形態學特征定位出加密圖案的區域。
(1)二值化
二值化過程能夠將圖像的背景和前景區分,最大類間方差法(OTSU)適用于背景和前景灰度值差距較大的場景,而磁性纖維加密圖像采集裝置采集的圖像背景色為白紙,前景為黑色的磁粉,因此選擇OTSU 算法。OTSU 算法的關鍵在于閾值T的確定,最優閾值T應使得劃分出的前景和背景兩類滿足類間方差最大,類內方差最小[12]。OTSU 是一種全局最優閾值法,即整體灰度平均將0 和255 等邊緣像素納入計算,而當前景和背景的灰度分布只占灰度直方圖的一部分時,全局最優閾值法會影響二值化計算效率,同時當背景和前景灰度值存在重合時重復計算灰度均值和概率會影響二值分割質量,因此改進OTSU 全局最優閾值為局部最優閾值以提高分割質量和效率。
OTSU算法的計算如式(1)所示。

式中,a 表示前景,b 表示背景,μa和μb表示前景和背景的灰度均值;σ2(T)表示閾值為T時的類間方差;μ代表整體灰度均值;ωa和ωb表示前景和背景的概率分布,具體計算如式(2)所示。

式中,N表示圖像的像素點總和;令g(i,j)、ga(i,j)、gb(i,j)表示原始圖像、前景和背景在(i,j)坐標下的像素值,則計算見式(4)。

將式(2)~式(4)帶入式(1)中,消掉背景b 的計算部分,從而得到改進后的OTSU算法如式(5)所示。

改進的OTSU 算法主要改進兩方面內容:一方面改進OTSU 最大類間方差的計算為式(5);另一方面在計算灰度均值時不考慮灰度直方圖中灰度為0 和255的邊緣像素,因此求取的是磁性纖維加密圖像的局部最優閾值。
在紙張中以磁性纖維加密圖案為“SUST”為例,通過磁性纖維加密圖案采集裝置采集圖像,并利用圖像預處理技術進行預處理得到的結果如圖4所示。
由圖4 可以看出,改進后的OTSU 算法相比傳統OTSU 算法處理的結果更好,改進后的OTSU 算法能夠一定程度將不處于磁性纖維加密圖案上的多余磁粉濾除,得到高質量的二值化圖像,進而提高磁性纖維加密字符的識別準確率。

圖4 磁性纖維加密圖案預處理過程Fig.4 Magnetic fiber encryption pattern preprocessing process
為了進一步說明改進OTSU 算法的優良性能,利用磁性纖維加密采集裝置采集圖像,并分別采用傳統OTSU 算法與改進的OTSU 算法進行時間性能上的測試,兩種方法的對比結果如圖5 所示。由圖5 可知,改進的OTSU 算法擁有更短的運行時間,其處理圖像的平均速度為0.23 s/副,而傳統OTSU 算法的平均速度為0.32 s/副。從二值化效果和運行時間性能上綜合對比結果來說,改進的OTSU算法更具優勢。

圖5 處理時間對比結果圖Fig.5 Comparison of processing time results
(2)加密字符區域定位
通過改進的OTSU 算法處理圖像后,接著對加密字符區域進行形態學處理,先膨脹2 次,再腐蝕2次,之后根據形態特征找出加密圖案區域的最小外接矩形,部分磁性纖維加密紙張圖像定位到加密圖案如圖6所示。

圖6 加密圖案區域定位圖Fig.6 Location map of encrypted pattern area
在紙張中采用磁性纖維進行加密,形成的加密圖案長度和字符個數以及字符之間的間距是不固定的,而由于磁場的相互作用,加密圖像可能存在字符粘連問題。傳統的字符識別方法需要將字符序列分割成單個字符,處理流程較為復雜且識別效果不佳。為了促使構建的磁性纖維加密圖案識別模型更具備普適性,考慮采用CRNN 深度神經網絡和循環神經網絡組合的混合網絡識別紙張加密字符圖像。CRNN 網絡最早應用于自然場景中的文本識別,是一種端到端的字符識別算法[13],不需要將圖片中的字符序列切割成單個字符,能夠避免傳統字符識別算法在分割字符序列過程中產生的誤差。
CRNN 網絡由卷積層、循環層和轉錄層構成[14],CNN 和RNN(Recurrent Neural Network)的組合模型對輸入圖像的長度沒有固定的要求,僅規定高度為32 的倍數,相比CNN 卷積神經網絡模型能夠提取更多的字符序列信息,用于解決圖像中不定長文本識別問題。CRNN網絡識別方法首先將圖像輸入CNN層提取特征圖[15],其次將提取的特征圖輸入RNN 循環層對特征向量的每一部分進行預測獲得預測序列,最后經過CTC(Connectionist Temporal Classification)轉錄層將序列轉化為預測字符標簽序列。CRNN 網絡結構圖如圖7所示。

圖7 CRNN算法結構圖Fig.7 CRNN algorithm structure diagram
(1)卷積神經網絡部分
CRNN 網絡結構中的CNN 卷積層采用VGG16 網絡結構,由于磁性纖維加密字符圖像具有長度較長而寬度較小的特點,因此為了獲取到足夠多的橫向字符信息,將VGG16 網絡中第3 和第4 個池化層的核大小由2×2 改為1×2。輸入的磁性纖維加密圖像經過一系列卷積、池化和全連接層獲得特征序列,利用卷積和池化層提取加密圖像的特征圖,由于卷積和池化是在局部范圍內進行操作,因此每列特征圖與原始圖像的矩陣區域相對應。卷積神經網絡的激活函數作用是對輸入特征進行非線性映射,選擇Relu(Rectified Linear Unit)函數作為CNN的激活函數[16]。
(2)循環神經網絡部分
將CNN 得到的特征圖轉換為特征序列輸入RNN層,RNN 網絡采用兩層雙向長短時記憶網絡(Long Short-term Memory,LSTM)架構。LSTM 是RNN 的一種改進算法,由輸入層、輸出層、輸入門、遺忘門、輸出門組成,其能夠充分挖掘字符序列的前向信息和后向信息以得到更為準確的預測結果[17-18]。LSTM通過設置的遺忘單元的權值選擇學習或者丟棄的內容,從而實現遺忘或者記憶的功能。令xt為t時刻的輸入特征向量,σ為激活函數,特征序列ht-1,則ft遺忘門表示見式(6)。

式中,Wf為遺忘權重矩陣;bf為遺忘門偏置;同理,輸入門it、候選門、輸出門οt的工作表達式分別如式(7)~式(9)所示。

式中,Wi表示輸入門權重矩陣,bi表示輸入門偏置;Wc為細胞權重矩陣,bc為隱層偏置;Wo為輸出權重矩陣,bo為輸出門偏置。線性組合后的特征記憶Ct由遺忘門過濾后的部分記憶ft·Ct-1和新增加的特征信息組合而成,具體表達式如式(10)所示。

則輸出門傳遞給下一時刻的特征序列表達式如式(11)所示。

最后輸出的序列為所有時刻特征序列的組合。
(3)轉錄層
經過卷積神經網絡和循環神經網絡提取序列特征進行字符識別后,將循環神經網絡層的輸出接入轉錄層進行翻譯。CTC層的功能為將循環神經網絡的預測轉換為最終的字符序列,忽略字符在圖像中的位置信息,與Softmax 分類器相比引入了空白占位符,解決了不定長文本對齊的解碼問題。如通過映射函數將“-S-U-SST”映射為“SUST”完成對齊。
磁性纖維加密圖案為數字和字符的組合,定義L={A,B,C,...,X,Y,Z,0,1,2,...,8,9}為26 個大寫英文字符和10 個數字字符的集合。針對循環神經網絡輸出的序列,序列的某些位置可能沒有字符,對沒有字符的位置插入空白,定義插入空白的字符集合為L'。定義變換如式(12)所示,T為循環神經網絡輸出的序列長度。

在循環神經網絡輸出序列x=x1,x2,…,xT給定的情況下,CTC層輸出為l的概率如式(13)所示。

其中,π ∈β-1(l)為所有經過β變換后的路徑π,則CTC的損失函數如式(14)所示。

式中,S為訓練集,p(l|x)為當給定輸入序列x,則輸出序列為l的概率。損失函數可理解為:給定輸入字符樣本后輸出正確字符標簽概率乘積的負對數。在損失函數中加入負號,通過最小化損失函數,而使輸出正確標簽的概率最大化[19]。
3.2.1數據集
數據集是使用磁性纖維加密采集裝置拍攝的600張圖像,其中包括純數字加密圖像200張、純字母加密圖像200 張、字母和數字混合的加密圖像200 張。在數據集中將3 種類別的圖像各隨機抽取150 張作為訓練集,共計450 張圖片。測試集為拍攝的600 張圖像中不包含訓練集的圖片集合。訓練集和測試集的比例為3∶1。
3.2.2實驗環境
系統的硬件處理器是Intelxeon Silver 4110,其主頻2.60 GHz,內存為32 G,顯卡為NVIDIA Quadro P4000,操作系統為Ubantu Linux 16.04。采用python 3.6編程語言以及深度學習開發框架TensorFlow-gpu環境進行程序的編寫。
3.2.3實驗細節
預處理環節的最后一步是定位磁粉作用的磁性纖維加密圖像,定位后的尺寸存在大小不一的情況,需要對定位的圖像進行歸一化處理,而CRNN 網絡的輸入圖像規定了圖像高度為32的倍數,長度不作要求,因此將定位后的磁性纖維加密圖像統一歸一化為128×32,送入CNN網絡進行特征提取。
CRNN 網絡使用隨機梯度下降(Stochastic Gradient Descent,SGD)對模型進行優化,動量參數設置為0.9,初始學習率設置為0.001。CRNN 具體網絡結構如表1 所示。表1 中,k為卷積核大??;s為卷積或池化的步長;p為填充圈數。

表1 CRNN的網絡結構Table 1 Network structure of CRNN
3.2.4實驗結果
實驗將包含訓練集和測試集的600 張磁性纖維加密圖像首先采用改進的預處理方法進行圖像分割以得到加密字符區域,然后采用CRNN 模型識別加密字符。在加密字符檢測環節,成功提取595張,成功提取率為99.17%。
加密字符識別環節訓練和測試的準確率以及損失值的變化如圖8 所示。準確率在迭代100 次后逐步收斂,最終訓練集準確率達到98.61%,測試集準確率達到98.37%。訓練集和測試集的損失值最終穩定在0.2左右。

圖8 準確率及損失值變化曲線Fig.8 Accuracy and loss value change curve
本課題的CRNN 模型中循環神經網絡層采用雙向LSTM 結構,該結構能夠更好地提取磁性纖維加密圖像的序列信息。為了說明CRNN 模型的優勢,在循環神經網絡層分別采用單層和雙層的RNN、GRU(Gated Recurrent Unit)、LSTM 網絡結構進行對比實驗,對比結果如表2所示。

表2 不同網絡變體的預測準確率Table 2 Forecast accuracy of different network variants
基于雙向雙層LSTM 的CRNN 模型識別加密字符的準確率達到98.37%,優于其他循環神經網絡層的變體結構。RNN、GRU、LSTM 雙向雙層網絡結構的預測結果均優于單向單層的網絡結構,其原因在于雙向雙層網絡結構能夠獲取到更多的特征信息,而缺點是比單向單層結構更復雜,運行時間更長。
通過搭建基于磁性纖維加密紙張的圖像采集、預處理以及識別模型,解決了磁性纖維加密字符的提取和識別問題。首先通過磁性纖維加密圖像采集裝置獲取加密紙張的原始圖像;其次通過組合高斯濾波、Sobel 邊緣檢測、改進的最大類間方差(OTSU)等算法實現加密字符的檢測;最后應用卷積循環神經網絡(CRNN)網絡建立加密字符識別模型,最終模型識別加密字符的準確率達到98.37%。本課題將機器視覺算法與CRNN 模型相結合開發紙張加密字符識別模型,探索出解決磁性纖維加密紙張圖像采集、分割與識別的一個可行路徑,模型具有較高的識別率和魯棒性,實驗結果表明提出的方法具有很大的實際應用潛力。