国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

移動端身份證號碼識別算法實現(xiàn)

2019-02-07 05:32朱健馬漢杰馮杰楊芷晴韓煌達王健
軟件導刊 2019年12期
關鍵詞:移動設備卷積神經網絡

朱健 馬漢杰 馮杰 楊芷晴 韓煌達 王健

摘要:為實現(xiàn)多場景下快速便捷的身份證號碼提取,提出一種基于移動端的身份證號碼識別算法。該算法利用搭載Android操作系統(tǒng)的移動設備,進行身份證號碼區(qū)域定位和提取;首先利用身份證特殊的顏色分布,選取合適的通道分量;再通過圖像閾值分割、噪聲處理以及形態(tài)學處理,將身份證號碼圖像二值化;同時針對拍攝過程中可能出現(xiàn)的圖像傾斜情況,通過圖像旋轉和投影法進行水平矯正;然后通過投影法將單個字符提取出來;最后使用卷積神經網絡進行圖像識別。通過MIX手機測試表明,單次身份證號碼圖像識別時間約為156ms,準確率約為99.1%,能夠滿足魯棒性和實時性要求。

關鍵詞:移動設備;輪廓提取;傾斜校正;卷積神經網絡

DOI:10.11907/rjd k.191330

中圖分類號:TP312 文獻標識碼:A 文章編號:1672-7800(2019)012-0019-03

0引言

身份證是最重要的個人標識工具,越來越多的行業(yè)要求實名制和身份證登記管理,如何快速便捷地提取身份證信息是研究熱門領域。傳統(tǒng)的OCR算法多采用基于模板匹配或基于人工神經網絡的方式。基于模板匹配方式易受噪聲干擾,適用于目標特征明顯且模板庫小的場景;基于人工神經網絡方式存在系統(tǒng)復雜和計算量大的缺陷。深度學習(Deep Learning,DL)是近年來熱門研究方向,Le-cun等提出的卷積神經網絡(convolutional Neural Net-work,CNN)能夠自動提取特征值,在模式分類領域表現(xiàn)出色。

本文使用OCR(Optical Character Recognition,光學字符識別)算法進行身份證號碼提取和識別,該算法運行在Android移動客戶端。識別步驟如下:首先進行身份證號碼區(qū)域提取,利用拍攝圖像的固定位置獲取身份證號碼大致位置;然后利用身份證特殊的顏色分布,選取合適的通道分量過濾顏色信息的干擾;再通過圖像閾值分割采集證件號碼信息;通過噪聲處理減輕噪聲的干擾,通過形態(tài)學處理尋找身份證號碼的具體位置。同時針對拍攝過程中可能出現(xiàn)的圖像傾斜問題,通過圖像旋轉和水平投影法進行水平矯正,最后通過垂直投影法將單個字符提取出來。得到單個字符圖像后,使用卷積神經網絡進行身份證號碼的訓練和識別。

1身份證號碼字符提取

首先在顯示屏幕上添加輔助框,將身份證號碼放置在該框內。通過提取該區(qū)域圖像,能夠進一步減小待處理區(qū)域并獲取準確的身份證號碼位置。進一步提取藍色分量可有效排除身份證文字信息和背景信息的干擾,如圖1所示。

最大類間方差法是一種自適應的閾值確定方法,又叫大津法,簡稱OTSU。選定一個閾值T,將圖像分成背景和目標。背景和目標之間的類間方差越大,說明構成圖像的前后部分差別越大,當部分目標錯分為背景或部分背景錯分為目標都會導致兩部分差別變小。因此,使類間方差最大的分割意味著錯分概率最。計算公式如下:

移動手機拍攝得到的數(shù)字圖像會受到環(huán)境影響,或多或少帶有噪聲干擾,有可能在傳輸過程中產生,也有可能在量化等處理過程中產生。中值濾波是基于排序統(tǒng)計理論的一種有效抑制噪聲的非線性信號處理技術,其基本原理是把數(shù)字圖像或數(shù)字序列中一點的值用該點的一個鄰域中各點值的中值代替,讓周圍的像素值接近真實值,從而消除孤立的噪聲點,其處理結果如圖3所示。由于身份證號碼之間排列緊密,通過膨脹操作可以將各個號碼相互連結,多次膨脹操作結果如圖4所示。

實際拍攝過程中,身份證會出現(xiàn)左右傾斜狀態(tài),對此需要通過仿射變換對圖像進行水平矯正。利用仿射變換進行圖像旋轉,不改變圖像形狀,同時保持圖像中各線條的相對位置關系,即正方形變換后仍為正方形且面積不變,其數(shù)學表達式如式(3)所示。

其中,A為2×2大小的矩陣,B為2×1大小的向量,T為變換后的向量空間。通過仿射變換對圖像進行左右旋轉,然后對圖像進行水平投影,從左到右掃描統(tǒng)計白色區(qū)域長度。當白色長度最短時,完成水平矯正,矯正后的圖像如圖5所示。最后利用投影法對圖像進行切分,從上到下對圖像進行掃描,如圖6所示。記錄目標和背景之間的分割點,提取出單個字符圖像,得到如圖7所示的圖像。

2卷積神經網絡設計

卷積神經網絡模型LeNet-5在字符識別、圖像分類等應用中效果很好,本文在LeNet-5網絡基礎上進一步調整網絡結構,以實現(xiàn)身份證號碼11位數(shù)字的識別。修改后的網絡結構如圖8所示。首先輸入層大小調整為28×28;第一層卷積層使用8個濾波器,每個濾波器大小為3×3,輸出數(shù)據體大小為6×26×26;第二層下采樣層執(zhí)行max運算,濾波器大小為2×2,輸出數(shù)據體大小為6×13×13;第三層卷積層使用16個濾波器,卷積核大小為3×3,輸出數(shù)據體大小為16×6×6;第4層下采樣層執(zhí)行max運算,濾波器大小為2×2,輸出數(shù)據體大小為16×3×3;第5層卷積層使用16個濾波器,卷積核大小為3×3,輸出數(shù)據體大小為16×2×2;第6層下采樣層執(zhí)行max運算,輸出大小為16×1×1;最后輸出層使用11個濾波器,輸出大小為11×1×1。

3實驗結果與分析

3.1成功率測試

測試樣本集共有1000張圖像。身份證號碼由數(shù)字0-9和字母x共11個字符隨機組成。采集實驗室成員身份證照片,利用上述圖像處理方法剪切成單個字符圖像,收集每類圖像5000張,共55000張圖像作為樣本數(shù)據庫。利用Torch深度學習框架進行卷積神經網絡模型訓練。硬件環(huán)境為Intel i7-7800X CPU和NVIDIA Titan x GPU,共剪切成991張圖片,剪切成功率為99.1%。未剪切成功的圖像如圖9所示,剪切失敗原因有圖像拍攝模糊、高曝光和低亮度等。

識別精度如圖10所示。當訓練迭代次數(shù)超過60次后,生成的參數(shù)能夠實現(xiàn)接近100%的測試精度。

3.2時間測試

基于移動端的身份證號碼識別算法運行在Android移動端,測試手機為小米MIX2,其配置為1200萬像素后置攝像頭,6G內存,驍龍835CPU。提取身份證號碼時間為76ms;測試LeNet-5網絡和改進LeNet-5網絡的識別耗時如表1所示。LeNet-5網絡識別一次身份證號碼圖像共18張?zhí)柎a字符圖像花費104ms,而改進LeNet-5網絡僅花費80ms,相比之下檢測時間提高23.1%,所以使用改進LeNet-5網絡進行身份證號碼識別總時間為156ms。

4結語

為實現(xiàn)多場景下居民身份證號碼快速識別,本文設計了基于移動端的身份證號碼識別算法。測試表明,本文算法達到99.1%的準確率,單次檢測時間為156ms,能夠滿足魯棒性和實時性要求。但在低亮度、高曝光或者模糊情況下,本文算法還不能很好地完成,需要進一步研究和調試。

猜你喜歡
移動設備卷積神經網絡
基于卷積神經網絡溫室智能大棚監(jiān)控系統(tǒng)的研究
基于深度卷積神經網絡的物體識別算法
移動端界面設計中“容錯性”思考
双峰县| 兴安县| 德令哈市| 临泉县| 高唐县| 肇庆市| 通榆县| 永川市| 常州市| 霍州市| 香格里拉县| 桃源县| 柯坪县| 林甸县| 沁阳市| 吉木萨尔县| 宁强县| 三江| 扎赉特旗| 宁陵县| 宁津县| 资溪县| 旺苍县| 芦溪县| 扬中市| 溧阳市| 白城市| 涿鹿县| 改则县| 宣汉县| 旌德县| 同江市| 临桂县| 石渠县| 吉林市| 莫力| 响水县| 富锦市| 鹤岗市| 武邑县| 广宁县|