劉貫偉, 江浩然, 張云峰, 王 偉
(恒銀金融科技股份有限公司, 天津 300308)
水印是紙幣的重要組成部分, 也是紙幣的重要防偽特征之一, 對水印進行識別與檢測也是紙幣檢測的重要環(huán)節(jié)。常見的人民幣水印圖像包括毛澤東頭像、面額數(shù)字等。 然而,在紙幣的流通過程中,由于磨損、彎折、污損等情況的發(fā)生, 導(dǎo)致圖像采集系統(tǒng)采集得到的水印圖像存在大量的噪聲,采集得到的水印圖像特征不穩(wěn)定。 由于上述情況常有發(fā)生,基于機器視覺的檢測平臺難以判斷水印圖像是否存在,也難于辨別水印圖像的類別。
目前已有的水印識別方法可以分為以下幾類: 模板匹配、邊緣檢測與支持向量機相結(jié)合、水印特征提取與決策分類相結(jié)合, 以及基于相似系數(shù)的識別方法。 文獻[1]利用白水印區(qū)域顏色比較簡單、背景單調(diào)的特點,利用圖像投影作為水印圖像特征, 將待測圖像與自主建立的標(biāo)準(zhǔn)模板圖像庫中的圖像進行模板匹配, 該方法具有一定實現(xiàn)性,但是抗干擾性較差。 文獻[2]利用支持向量機方法實現(xiàn)紙幣水印圖案的識別,先利用canny 算子提取水印圖案的邊緣信息, 再將不同水印圖案的邊緣特征的矩陣向量作為訓(xùn)練輸入,最終實現(xiàn)了水印圖像的分類判別。 該方法時效性較高, 但也沒能解決復(fù)雜背景條件下的水印識別問題。 文獻[3]設(shè)計了一種快速模板匹配算法,實驗驗證其方法的可能性, 但對于其方法的計算效率還有待于提升。 上述不同方法具有各自的優(yōu)勢,對于水印圖像也具有一定分辨力, 但對于包含噪聲的水印圖像識別效果尚存在較大的問題。
局部二值模式(Local Binary Pattern,LBP)是一種圖像紋理特征描述算子, 在實際工業(yè)和生產(chǎn)生活領(lǐng)域, 基于LBP 特征對目標(biāo)進行檢測也得到了廣泛應(yīng)用。 本文采用LBP 算子對人民幣水印圖像進行特征提取, 利用LBP 算子的特性,有效解決了水印圖像識別困難的問題,達到識別精度高、識別速度快的要求。
LBP 算子是一種用于描述圖像紋理特征的算法[4],LBP 算法在設(shè)計之初將像素鄰域定義為的矩形鄰域。LBP算子首先以采樣點p 為中心, 分別對中心像素的像素鄰域點進行采樣處理,具體實現(xiàn)方法見圖1。

圖1 鄰域LBP 算子示意圖Fig.1 Neighborhood LBP operator schematic graph
LBP 算子以中心點像素灰度值grayc為閾值對鄰域各像素點grayi(i=1,2)進行二值化處理,再將中心點像素鄰域的二值化值與自定義權(quán)重值相乘, 再將各鄰域像素相乘結(jié)果相加后得到LBP 特征值。計算式如式(1)和式(2)。

式中:grayi—中心點鄰域的第i 個采樣點的灰度值,grayc—該鄰域中心像素的灰度值,其中f 為自定義符號函數(shù)。
由于基本LBP 算子無法提取大尺度紋理特征, 有學(xué)者提出了改進的LBP 算法,將原始鄰域擴展,擴展鄰域半徑用R 表示,同時設(shè)置半徑為R 的鄰域像素共包含P 個,表示P 個鄰域像素點均勻分布在半徑為R 的鄰域圓上,見圖2,分別表示半徑為2,鄰域像素點為8 或16 的像素分布情況。

圖2 LBP 鄰域像素分布圖Fig.2 LBP neighborhood pixel distribution graph
對于改進的LBP算法,可采用與原始LBP 算法相同的二值化處理方式,計算采樣中心像素的LBP 特征值。
通過觀察LBP 算子的定義不難發(fā)現(xiàn),一個LBP 算子可以采用多種二進制模式,隨著采樣半徑的增大、采樣點的增多,二進制模式的種類數(shù)量也逐漸龐大。 然而,過多的二進制模式在特征提取與識別中都會使得計算量增大,對實際應(yīng)用而言更是不利。 于是,學(xué)者Ojala 提出一種“等價模式”(Uniform Patterns)[5]對LBP 算子進行降維。
等價模式LBP 算子可以定義為,當(dāng)局部二值模式對應(yīng)的循環(huán)二進制數(shù)從0 到1 或從1 到0 最多有兩次跳變時,該局部二值模式對應(yīng)的二進制數(shù)稱為一個等價模式,可以用式(3)判斷一個局部二值模式是否是等價模式。

式中,若計算得到的U(LBPP,R)不大于2,則該模式是一個等價局部二值模式。 經(jīng)改進,原始等價局部二值模式類別由2p降低到P(P-1)+2 種。 利用等價模式LBP 極大地降低了特征維度, 提升特征提取速度的同時可以更好地提取圖像的本質(zhì)特征。
不同LBP 算子將得到各不相同的LBP 特征圖像,圖3 為采用不同LBP 算子求得的特征圖像。

圖3 不同LBP 算子特征圖像對比Fig.3 Image comparison of different LBP operators
誤差逆?zhèn)鞑ィ‥rror Back Propagation),簡稱BP 神經(jīng)網(wǎng)絡(luò), 是一種按誤差反向傳播算法進行神經(jīng)網(wǎng)絡(luò)訓(xùn)練的反饋型神經(jīng)網(wǎng)絡(luò),具有很強的非線性映射能力[6]。 BP 神經(jīng)網(wǎng)絡(luò)中間層個數(shù)與各層神經(jīng)元個數(shù)均可根據(jù)其應(yīng)用對象任意設(shè)定,常用的BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),見圖4。BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)主要包括輸入層、隱藏層和輸出層。

圖4 常用BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 BP neural network structure graph
輸入層節(jié)點個數(shù)為樣本特征向量的元素個數(shù), 隱藏層節(jié)點個數(shù)可根據(jù)計算得到, 輸出層節(jié)點個數(shù)為樣本的總類別數(shù)。Nhidden=log2Ninput(4)利用BP 神經(jīng)網(wǎng)絡(luò)實現(xiàn)水印存在性判別, 通過不斷計算實際輸出與期望輸出之間的差值,調(diào)整隱藏層神經(jīng)元權(quán)值,逐漸減小輸出差值,不斷修正網(wǎng)絡(luò)參數(shù)。
文章提出基于LBP 特征提取的紙幣水印識別方法,主要包括三個步驟: 第一步, 利用等價LBP 算子提取圖像LBP 特征;第二步,計算并統(tǒng)計圖像歸一化LBP 特征向量;第三步,訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò),將圖像歸一化LBP 特征向量作為輸入向量,保存網(wǎng)絡(luò)模型參數(shù)。整體算法實現(xiàn)過程,見圖5。

圖5 算法實現(xiàn)過程Fig.5 Algorithm implementation process
提取水印圖像LBP 特征,利用等價模式LBP 算子計算水印圖像等價模式LBP 特征圖。 本文以2015 版100 元人民幣作為研究對象,利用CIS 圖像傳感器采集透視圖像,可得到該版本紙幣的水印圖像見圖6。

圖6 透視圖像與水印圖像Fig.6 Perspective image and watermark image
批量采集2015 版100 元人民幣圖像,提升用于訓(xùn)練的數(shù)據(jù)集圖像數(shù)量可提升BP 神經(jīng)網(wǎng)絡(luò)模型泛化能力。 因此,本文建立水印圖像數(shù)據(jù)集共包括50000張圖像,部分圖像見圖7(a),建立無水印圖像數(shù)據(jù)集17000 張圖像,部分圖像見圖7(b)。

圖7 圖像數(shù)據(jù)集Fig.7 Image dataset
利用本文建立水印圖像數(shù)據(jù)集中的圖像進行LBP 特征提取,原始LBP 特征圖像見圖8(b),圓形LBP 特征圖像見圖8(c),等價LBP 特征圖像見圖8(d)。

圖8 水印LBP 特征圖Fig.8 Watermark LBP feature image
水印圖像等價模式LBP 特征提取過程主要分為兩步: 第一步, 利用等價模式LBP 算子計算水印圖像LBP特征圖;第二步,計算歸一化LBP 特征向量。其中,歸一化LBP 特征向量計算過程如下:
(1)設(shè)置一個大小為的圖像處理模塊。
(2)設(shè)置步長為1,利用圖像處理模塊遍歷LBP 特征圖同時執(zhí)行步驟3。
(3)計算每塊LBP 特征圖子圖模塊的直方圖,依次保留子圖模塊直方圖統(tǒng)計結(jié)果。
通過上述操作,得到用于BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練的輸入特征向量。
通過批量提取水印圖像數(shù)據(jù)集LBP 特征圖并保存歸一化特征向量, 同樣批量提取不包含水印圖像數(shù)據(jù)集的LBP 特征圖、 計算并保存其歸一化特征向量。 將兩類樣本特征向量作為輸入,開始訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò)。
本文設(shè)計的水印識別BP 神經(jīng)網(wǎng)絡(luò)具有多層結(jié)構(gòu),包含輸入層、隱藏層與輸出層。 采用logsig 函數(shù)作為激活函數(shù),其函數(shù)表達式見式(5)。

采用變學(xué)習(xí)率動量梯度下降算法進行訓(xùn)練, 設(shè)置最大訓(xùn)練步數(shù)為20000 步,訓(xùn)練最小誤差為10-8,學(xué)習(xí)率為0.02。保留訓(xùn)練結(jié)束時各層網(wǎng)絡(luò)的權(quán)重值,搭建同樣的網(wǎng)絡(luò)結(jié)構(gòu),利用訓(xùn)練得到的網(wǎng)絡(luò)權(quán)重值對測試圖像進行測試。
在基于機器視覺的紙幣水印識別實際過程中, 由于鈔票新舊程度不一、圖像采集傳感器不一致,極易產(chǎn)生紙幣水印圖像亮度不一致的問題。 不同光照條件下水印圖像見圖9。

圖9 不同光照條件下的水印圖像Fig.9 Watermark image under different illumination conditions
針對上述問題,提取LBP 特征向量時,增加多種亮度條件下的水印圖像,可提升模型的魯棒性。本文對2015 版100元人民幣水印圖像進行測試,同時,利用支持向量機(Support Vector Machine,SVM)[7]訓(xùn)練并測試數(shù)據(jù)集圖像。 本文利用方向梯度直方圖(Histogram of Oriented Gradient,HOG)[8]提取水印特征,并采用不同尺寸特征提取算子進行對比實驗。
SVM 訓(xùn)練樣本共包含50000 張水印圖像,17000 張無水印圖像,測試樣本包含13505 張有水印圖像、6262 張無水印圖像。 為比較不同算法,水印圖像識別結(jié)果,見表1。

表1 不同算法水印圖像識別結(jié)果Tab.1 Watermark image recognition results with different algorithms
對有水印圖像, 三種算法對不同光照條件下的水印圖像都具有良好的識別效果,都能夠滿足識別要求。
本文算法對無水印圖像具有100%的分辨力,與其他參與對比的兩種算法相比, 識別準(zhǔn)確率提高了3.3%以上。 對于無水印圖像, 采用先HOG 提取特征后利用SVM 訓(xùn)練模型的方法,模型識別效果存在較大偏差,不能滿足鈔票檢測過程中水印識別的要求。
通過對比實驗,可以得出在不同光照條件下,本文算法具有較高的準(zhǔn)確率,識別準(zhǔn)確率99.96%,有效解決人民幣水印圖像識別困難的問題, 能夠被應(yīng)用于人民幣水印圖像的識別與檢測中。
本文以2015 版100 元人民幣為例,設(shè)計了一種基于LBP 特征的人民幣水印圖像的識別與檢測方法,解決了基于機器視覺識別紙幣水印難度大的問題。 通過對比實驗,驗證了LBP 算子對不同新舊程度的紙幣水印特征提取具有較好的魯棒性,采用增加樣本圖像種類的方法,提升算法對不同光照條件下水印圖像識別與檢測的準(zhǔn)確率。