劉春平,李帥杰,陳虎
(四川川大智勝軟件有限股份公司,成都610065)
隨著社會經(jīng)濟和科技的發(fā)展,人們?nèi)谌氲礁餍袠I(yè)全球化的進程中來。出行的安全和便利需要對信息的快速精確把握。人證核驗,是海關(guān)、機場、酒店、火車站、汽車站等必須進行的過程。人證核驗,就是要精確核驗持證人與證件信息是否一致。傳統(tǒng)的人證核驗,需要安排專業(yè)的核驗員進行挨個核驗,這樣效率很低,不利于大批量的核驗。例如在中國春運期間的火車站檢票,若是傳統(tǒng)的核驗,將浪費很多時間,嚴重影響春運效率。光學字符識別(Optical Character Recognition,OCR)[1]就是利用OCR技術(shù)對掃描、拍照后的證件圖像進行分析、識別,以獲得證件上的文本信息的過程[2]。當然,現(xiàn)有的證件識別,要么只能在單一背景下進行,要么只能識別一種證件。復雜背景下多證件快速識別系統(tǒng)的研究與實現(xiàn),就是要在復雜背景下,實現(xiàn)多種證件信息的快速精準識別后進行核驗。復雜背景不受天氣、燈光、背景狀態(tài)限制。多證件包括:火車票、護照、身份證、港澳臺通行證等。系統(tǒng)識別和核驗的內(nèi)容包括:機讀碼識別、證件信息識別、人臉檢測與識別、二維碼檢測與識別、自動判別證件類型完成信息識別核驗。系統(tǒng)設(shè)計采用的整體思路為“提取+識別”[4],根據(jù)多種證件的需求,設(shè)計完成。
本文的研究意義如下:
(1)復雜背景下,通過對輸入圖片的處理,能夠找出待識別的區(qū)域。
(2)通過算法設(shè)計,提高識別的速度和效率。
(3)多種證件識別集成到本系統(tǒng)[3],可擴展。
基于算法設(shè)計的需要,硬件讀卡器除了攝像頭,還設(shè)計了白燈和紅外燈。硬件部分結(jié)構(gòu)簡單,沒有額外傳感器,所有功能基于算法實現(xiàn)。
1.2.1 判斷證件有無
為了在系統(tǒng)運行過程中減少資源浪費,在沒有證件核驗任務(wù)時,暫停所有后續(xù)任務(wù),需要判斷是否需要核驗即是否有需要核驗的證件放在讀卡器上。對于這個功能需求,系統(tǒng)在不需要核驗證件時,只開啟低功耗的紅外光,肉眼不可見光,用于獲取讀卡器窗口照片,判斷有無證件放在讀卡器上。
算法描述:
(1)系統(tǒng)啟動后,首先保證讀卡器上沒有證件,期間開啟攝像頭和紅外光,獲取初始化圖片存入image_0。
(2)獲取圖片image_1,開始判斷是否有證件。首先對image_1與image_0作直方圖的相似度判斷,設(shè)定閾值A(chǔ),若相似度大于A,則判斷為有證件,若相似度小于A,則判斷為無證件。
(3)閾值A(chǔ)用來排除由于環(huán)境光和讀卡器位置的移動對直方圖的相似度的影響。
(4)若判斷為有證件,系統(tǒng)進入核驗狀態(tài),若無證件,轉(zhuǎn)到第二步。
1.2.2 判斷證件類型
多證件識別,很重要的一步就是判斷證件類型,然后作相對應(yīng)的處理,識別與核驗。
(1)判斷有無機讀碼,若有機讀碼,判斷機讀碼的行數(shù)。
(2)若兩行判定為護照,若一行,判定為往來港澳臺通行證。
(3)若無機讀碼,找到二維碼,有二維碼判定為火車票,沒有二維碼判定為港澳臺居民往來大陸通行證。
如表1。
表1
1.2.3 預處理算法
在復雜背景下,輸入圖片的預處理很重要,決定了OCR的效果。對此,做了很多圖像處理的研究和設(shè)計。
(1)為了找到證件的位置,更好地將圖輸入圖片的文字區(qū)域、人臉、二維碼區(qū)域等分離出來,系統(tǒng)做了第一次預處理,如下列出預處理的算法。
①通道分離:降低信息量,便于加快識別速率。
②濾波:過濾掉輸入圖片的噪聲。
③二值化:由于彩色圖像所含信息量過于巨大,在對圖像中印刷體字符進行識別處理前,需要對圖像進行二值化處理,使圖像只包含黑色的前景信息和白色的背景信息,提升識別處理的效率和精確度。
本系統(tǒng)的算法流程圖如圖1。OCR多證件讀取基本算法解讀:
(1)利用紅外攝像頭獲取讀卡器窗口照片,判斷有無證件放到讀卡器上,若有證件轉(zhuǎn)到(2),若無轉(zhuǎn)到(11)。
(2)送入預處理程序,灰度化,形態(tài)學變化[6],找到機讀碼輪廓。
(3)將證件位置擺正,如果有機讀碼位置,裁剪機讀碼位置轉(zhuǎn)到(4),若無轉(zhuǎn)到(8)。
(4)送入機讀碼識別函數(shù),得到機讀碼識別結(jié)果。
(5)關(guān)閉紅外開啟白燈,第二次獲取讀卡器窗口圖片,然后利用第二步的參數(shù)對圖像進行擺正。
(6)人臉檢測,獲取人臉。
(7)將機讀碼和人臉信息填入對應(yīng)結(jié)構(gòu)體。
(8)若無機讀碼,關(guān)閉紅外,開啟白燈,對圖片進行
④邊緣檢測:找到證件的邊緣,便于切割。
⑤輪廓提?。簻蚀_切割證件。
⑥坐標檢測:找到證件的坐標,作為切割標準。
(2)識別區(qū)域預處理,第二次預處理。
①光照補償:提高前景和背景的像素差值,便于前后景的分離。
②Sobel算子:求x方向梯度,找到文本的有效區(qū)域。
③二值化:前后景分離。
④膨脹和腐蝕:提高分離效果。
⑤灰度化:減少彩色信息的復雜和干擾。
⑥形態(tài)學變換:對于證件的位置和變形引起的變形進行矯正。
⑦圖像校正:便于定位識別。
⑧調(diào)整亮度和對比度:便于識別,降低誤識率。
1.2.4 識別核驗
調(diào)用Google的開源Tesseract OCR接口識別證件信息。經(jīng)過識別后根據(jù)識別結(jié)果進行調(diào)整,例如在一般在識別的前兩位是字母,如果識別為數(shù)字,則判斷為識別失敗,核驗失敗后重新獲取輸入信息[5]。
1.2.5 誤檢異常處理
誤檢發(fā)生時,對目標區(qū)域調(diào)整亮度和對比度再次檢測,檢測三次,若失敗,放棄檢測,重新獲取輸入圖片獲取目標新的目標圖片。處理,得到二維碼。
(9)將二維碼裁剪,送入解析程序獲得解析結(jié)果。
(10)循環(huán)(2)。
(11)循環(huán)(1)。
圖1 復雜背景下多證件快速識別系統(tǒng)流程
往來港澳臺通行證:
往來港澳臺通行證獲取的原始圖片如圖2。
圖2 往來港澳臺通行證獲取的原始圖片
往來港澳臺通行證識別結(jié)果如圖3所示。
圖3 往來港澳臺通行證獲取的原始圖片
護照:
護照處理的原始圖片如圖4。
圖4 護照原始圖片
護照的識別結(jié)果如圖5。
圖5 護照識別結(jié)果圖
火車票:
火車票獲取的原始圖如圖6。
圖6 火車票的原始圖片
火車票的識別結(jié)果如圖7。
圖7 火車票的識別結(jié)果圖
港澳臺居民往來大陸通行證:
港澳臺居民往來大陸通行證的原始圖片如圖8。
本系統(tǒng)實現(xiàn)了復雜背景下多證件快速識別,利用圖形圖像和OCR技術(shù),在簡單的硬件條件下實現(xiàn)復雜系統(tǒng)的實現(xiàn)。可以識別4種常用證件,集成了多種證件識別的算法,應(yīng)用廣泛,效果突出。可應(yīng)用于海關(guān)、機場、車站等多種場合,魯棒性強,性能很好,還具備很好的擴展性。當然,系統(tǒng)還是有一些不足,需要后續(xù)工作的優(yōu)化調(diào)試。
圖8 港澳居民來往大陸內(nèi)地通行證
港澳居民來往大陸內(nèi)地通行證識別結(jié)果如圖9。
圖9 港澳居民來往大陸內(nèi)地通行證識別結(jié)果圖