劉貫偉,張云峰,安增花,武艷紅
(恒銀金融科技股份有限公司 天津300281)
目前各大廠商的現金自助設備已經具備較高的鈔票處理速度,現金存取款一體機達到 8張/s以上,清分機可以達到 15張/s以上,每張鈔票的識別時間只有幾十毫秒,需要完成鈔票類型識別、鑒偽識別、冠字號識別(部分幣種需要識別兩個冠字號,如2015版 100元人民幣等)、清分信息識別等,其中鈔票類型的識別是鑒偽識別、冠字號識別、清分信息識別的前提和基礎。
每個國家的鈔票一般有多個面額,如人民幣具有5個面額:1元、5元、10元、50元、100元,其中目前流通的還有 1999版、2005版、2015版以及 2019年8月30日發行的2019版,每張鈔票在現金自助設備搬送過程有 4個面向,包括正面正向、正面反向、反面正向、反面反向。
鈔票類型包括國別、面額、版本、面向 4方面信息。在現金自助設備使用過程中,鈔票識別模塊識別1張鈔票所有信息只有幾十毫秒的時間,而鈔票類型識別只能占用 20毫秒左右的時間,在清分機等高速設備中甚至要求更短時間內完成識別,因此快速準確識別鈔票類型是現金自助設備穩定運行的關鍵。
針對單國別(如人民幣)鈔票類型的識別,目前大多數采用機器學習技術[1],而且在識別時間和準確性2方面均取得了很好的效果。但是面對多國鈔票識別時,識別速度和準確性往往不能兼顧,尤其是在同時處理 10個國家以上的鈔票時,總識別種類將達到幾百類,識別時間和識別準確性問題會更加突出。
文章針對現金自助設備鈔票識別的問題,提出2層識別機制,分別采用圖像感知哈希技術,快速完成初級識別,篩選出一部分可能的鈔票類型,再在第一層識別基礎之上利用 MOSSE相關濾波器做第二層識別,準確確定鈔票類型。
圖像感知哈希技術可以將任意分辨率的圖像數據轉化為幾十、幾百或幾千個比特的二值序列,而且滿足魯棒性、安全性等要求,可以用于圖像搜索、圖像版權認證等[2,3]。張維克等利用圖像 DCT(離散余弦變換)低頻系數的感知不變性得到安全哈希序列索引,具有較好的唯一性、魯棒性和安全性,但是只能抵抗3°以下的旋轉[4]。
感知哈希生成框架基本包含 3個部分:特征提取、量化和編碼,其中特征提取是圖像感知哈希生成的關鍵[4]。圖像感知哈希算法計算過程[5]如下:
①縮小圖像:收縮到 32×32的大小,方便計算DCT(離散余弦變換)。
②由于鈔票圖像一般都是灰度圖像,可以直接使用可見光的灰度圖像。
③計算 DCT,并去掉高頻信息,保留左上角的8×8區域的低頻信息。
④計算縮小 DCT后的所有像素點的平均值,大于平局值記為 1,反之記為0,得到 64位的該圖像的哈希值。
MOSSE濾波方法是在ASEF等方法的基礎上提出來的,和傳統方法相同的是,為獲得相應的濾波器,該算法也需要一系列的輸入圖像作為訓練樣本。一般輸出圖像指定為具有二維高斯分布形狀,其峰值位于輸入圖像的中心[6]。
由卷積定理可知,空域中的卷積可以利用頻域中矩陣逐元素相乘得到,從而免去空域中麻煩耗時的卷積運算。對于每個輸入訓練樣本圖像 Fi,由于輸出圖像Gi是提前指定,因此濾波器為[6]:

假設最終需要的濾波器為 H,MOSSE通過最小化輸出均方和誤差來獲得初始的濾波器,該優化問題可以表示如下:

其中*表示對應元素相乘。由于濾波器H的所有元素都是由頻域空間中矩陣對應位置上的元素相乘得到,其每一個元素(有 w、v標識位置)都可以被獨立解得。將 Hwv視為獨立的元素,問題變成如下式所表示形式:

文獻[6]中給出了H的解析解:

文獻[6]同時給出了具體證明過程,這里不再詳細敘述,由此得到MOSSE濾波器的初始解。
文章設計實現的多國鈔票幣種信息識別方法,分為2個步驟:
①第一層識別,利用感知哈希算法初級篩選。
②第二層識別,利用 MOSSE濾波器進行最終確認。
圖像感知哈希實現,選取鈔票正面向傳感器產生的可見光圖像的5個位置區域,包括鈔票正面4個角和正中區域。每個區域分別計算感知哈希指紋,計算方法前文已有表述。
圖像感知哈希識別過程,分為 2個階段:初始階段和識別階段。初始階段,完成原始標準圖像的感知哈希指紋的獲取;識別階段,如圖3所示,對待識別鈔票圖像計算哈希指紋并與原始標準哈希指紋匹配。具體過程如下:
①初始階段:獲取原始標準圖像感知哈希指紋,對所有需要識別鈔票的 5個位置區域的圖像感知哈希指紋,對所有需要識別鈔票,分4個面向采集4張標準圖像,其中需要圖像傾斜角度小于 0.1°,盡可能保證原始模板圖像不傾斜。計算得到的哈希指紋,作為模板存儲在內存中以供計算使用。

圖1 利用圖像感知哈希算法識別過程Fig.1 Recognition process using image perceptual hash algorithm
②識別階段:計算哈希指紋匹配結果,對待識別鈔票圖像計算感知哈希指紋匹配結果;根據計算結果篩選出可能鈔票類型,文章采用5個位置區域的匹配結果均大于0.6,即認為是可能的鈔票類型。
由于各國鈔票的尺寸不一,因此選取鈔票中心區域作為MOSSE相關濾波器的目標區域,選取正反面的可見光圖像中間區域作為目標區域,利用 2個MOSSE濾波器,同時計算匹配結果,確認識別鈔票類型。
MOSSE算法實現,分為2個階段:訓練階段、計算識別階段。
①訓練階段:對所有需要識別鈔票的圖像(正反面可見光圖像),分別訓練對應的MOSSE濾波器。
②識別階段:計算待識別鈔票的MOSSE濾波器輸出,使用峰瓣率 PSR(Peak-to-Sidelobe-Ratio)表征匹配和定位情況[6]。

其中 peak表示實際輸出結果中的峰值,μ和σ表示以峰值為中心的 11×11窗口內像素的均值和方差。
待識別的鈔票通過與可能的鈔票類型的標準濾波器計算后,得到所有PSR輸出,找到最大值即得到最佳匹配值,即獲得了鈔票類型。
對人民幣、美元、以色列謝克爾、菲律賓比索、印度尼西亞盧比、伊朗里亞爾、柬埔寨瑞爾、印度盧比、孟加拉塔卡、俄羅斯盧布 10個國家的流通貨幣進行測試,總測試樣本數量 10萬張,鈔票類型識別率達到99.95%以上。
在金融自助設備運行過程中,對于待識別的鈔票圖像,存在 2個不確定因素:①鈔票傾斜,鈔票在自助設備中運送過程不可避免地會出現傾斜,而且傾斜角度是隨機分布的;②圖像亮度變化,由于鈔票的新舊程度和 CIS傳感器不一致性問題,鈔票圖像亮度會出現不一致。
針對這 2類問題,MOSSE濾波器在進行初始化訓練時,加入傾斜樣本,因此對鈔票傾斜具有一定的抵抗能力。由于 MOSSE是對目標外觀進行建模,因此MOSSE濾波器對外部光照的變化不敏感。測試結果也顯示對隨機傾斜角度以及亮度不一致的鈔票同樣具備很好的識別能力。
部分鈔票,不同版本,圖像幾乎相同,如人民幣的1999版的和2005版,此類鈔票不在文章討論范圍內,后續可以利用其他光譜的圖像或者可見光圖像的微小區別再進行識別。
文章以人民幣、謝克爾、盧布等鈔票為例,詳細介紹利用圖像感知哈希和 MOSSE算法解決多國鈔票類型快速識別的理論原理和實現方法,并且測試結果也驗證了原理和方法的正確性:用感知哈希算法進行初次篩選,用 MOSSE進行最終確認幣種,可以滿足幣種信息識別對時間和準確性的要求。