复杂背景下多证件快速识别系统的研究与实现

2019-05-27 01:19刘春平李帅杰陈虎
现代计算机 2019年11期
关键词:读卡器核验通行证

刘春平,李帅杰,陈虎

(四川川大智胜软件有限股份公司,成都610065)

0 引言

随着社会经济和科技的发展,人们融入到各行业全球化的进程中来。出行的安全和便利需要对信息的快速精确把握。人证核验,是海关、机场、酒店、火车站、汽车站等必须进行的过程。人证核验,就是要精确核验持证人与证件信息是否一致。传统的人证核验,需要安排专业的核验员进行挨个核验,这样效率很低,不利于大批量的核验。例如在中国春运期间的火车站检票,若是传统的核验,将浪费很多时间,严重影响春运效率。光学字符识别(Optical Character Recognition,OCR)[1]就是利用OCR技术对扫描、拍照后的证件图像进行分析、识别,以获得证件上的文本信息的过程[2]。当然,现有的证件识别,要么只能在单一背景下进行,要么只能识别一种证件。复杂背景下多证件快速识别系统的研究与实现,就是要在复杂背景下,实现多种证件信息的快速精准识别后进行核验。复杂背景不受天气、灯光、背景状态限制。多证件包括:火车票、护照、身份证、港澳台通行证等。系统识别和核验的内容包括:机读码识别、证件信息识别、人脸检测与识别、二维码检测与识别、自动判别证件类型完成信息识别核验。系统设计采用的整体思路为“提取+识别”[4],根据多种证件的需求,设计完成。

本文的研究意义如下:

(1)复杂背景下,通过对输入图片的处理,能够找出待识别的区域。

(2)通过算法设计,提高识别的速度和效率。

(3)多种证件识别集成到本系统[3],可扩展。

1 系统设计

1. 1 硬件设计

基于算法设计的需要,硬件读卡器除了摄像头,还设计了白灯和红外灯。硬件部分结构简单,没有额外传感器,所有功能基于算法实现。

1. 2 软件设计

1.2.1 判断证件有无

为了在系统运行过程中减少资源浪费,在没有证件核验任务时,暂停所有后续任务,需要判断是否需要核验即是否有需要核验的证件放在读卡器上。对于这个功能需求,系统在不需要核验证件时,只开启低功耗的红外光,肉眼不可见光,用于获取读卡器窗口照片,判断有无证件放在读卡器上。

算法描述:

(1)系统启动后,首先保证读卡器上没有证件,期间开启摄像头和红外光,获取初始化图片存入image_0。

(2)获取图片image_1,开始判断是否有证件。首先对image_1与image_0作直方图的相似度判断,设定阈值A,若相似度大于A,则判断为有证件,若相似度小于A,则判断为无证件。

(3)阈值A用来排除由于环境光和读卡器位置的移动对直方图的相似度的影响。

(4)若判断为有证件,系统进入核验状态,若无证件,转到第二步。

1.2.2 判断证件类型

多证件识别,很重要的一步就是判断证件类型,然后作相对应的处理,识别与核验。

(1)判断有无机读码,若有机读码,判断机读码的行数。

(2)若两行判定为护照,若一行,判定为往来港澳台通行证。

(3)若无机读码,找到二维码,有二维码判定为火车票,没有二维码判定为港澳台居民往来大陆通行证。

如表1。

表1

1.2.3 预处理算法

在复杂背景下,输入图片的预处理很重要,决定了OCR的效果。对此,做了很多图像处理的研究和设计。

(1)为了找到证件的位置,更好地将图输入图片的文字区域、人脸、二维码区域等分离出来,系统做了第一次预处理,如下列出预处理的算法。

①通道分离:降低信息量,便于加快识别速率。

②滤波:过滤掉输入图片的噪声。

③二值化:由于彩色图像所含信息量过于巨大,在对图像中印刷体字符进行识别处理前,需要对图像进行二值化处理,使图像只包含黑色的前景信息和白色的背景信息,提升识别处理的效率和精确度。

1. 3 系统流程图

本系统的算法流程图如图1。OCR多证件读取基本算法解读:

(1)利用红外摄像头获取读卡器窗口照片,判断有无证件放到读卡器上,若有证件转到(2),若无转到(11)。

(2)送入预处理程序,灰度化,形态学变化[6],找到机读码轮廓。

(3)将证件位置摆正,如果有机读码位置,裁剪机读码位置转到(4),若无转到(8)。

(4)送入机读码识别函数,得到机读码识别结果。

(5)关闭红外开启白灯,第二次获取读卡器窗口图片,然后利用第二步的参数对图像进行摆正。

(6)人脸检测,获取人脸。

(7)将机读码和人脸信息填入对应结构体。

(8)若无机读码,关闭红外,开启白灯,对图片进行

④边缘检测:找到证件的边缘,便于切割。

⑤轮廓提取:准确切割证件。

⑥坐标检测:找到证件的坐标,作为切割标准。

(2)识别区域预处理,第二次预处理。

①光照补偿:提高前景和背景的像素差值,便于前后景的分离。

②Sobel算子:求x方向梯度,找到文本的有效区域。

③二值化:前后景分离。

④膨胀和腐蚀:提高分离效果。

⑤灰度化:减少彩色信息的复杂和干扰。

⑥形态学变换:对于证件的位置和变形引起的变形进行矫正。

⑦图像校正:便于定位识别。

⑧调整亮度和对比度:便于识别,降低误识率。

1.2.4 识别核验

调用Google的开源Tesseract OCR接口识别证件信息。经过识别后根据识别结果进行调整,例如在一般在识别的前两位是字母,如果识别为数字,则判断为识别失败,核验失败后重新获取输入信息[5]。

1.2.5 误检异常处理

误检发生时,对目标区域调整亮度和对比度再次检测,检测三次,若失败,放弃检测,重新获取输入图片获取目标新的目标图片。处理,得到二维码。

(9)将二维码裁剪,送入解析程序获得解析结果。

(10)循环(2)。

(11)循环(1)。

图1 复杂背景下多证件快速识别系统流程

2 结果测试

往来港澳台通行证:

往来港澳台通行证获取的原始图片如图2。

图2 往来港澳台通行证获取的原始图片

往来港澳台通行证识别结果如图3所示。

图3 往来港澳台通行证获取的原始图片

护照:

护照处理的原始图片如图4。

图4 护照原始图片

护照的识别结果如图5。

图5 护照识别结果图

火车票:

火车票获取的原始图如图6。

图6 火车票的原始图片

火车票的识别结果如图7。

图7 火车票的识别结果图

港澳台居民往来大陆通行证:

港澳台居民往来大陆通行证的原始图片如图8。

3 结语

本系统实现了复杂背景下多证件快速识别,利用图形图像和OCR技术,在简单的硬件条件下实现复杂系统的实现。可以识别4种常用证件,集成了多种证件识别的算法,应用广泛,效果突出。可应用于海关、机场、车站等多种场合,鲁棒性强,性能很好,还具备很好的扩展性。当然,系统还是有一些不足,需要后续工作的优化调试。

图8 港澳居民来往大陆内地通行证

港澳居民来往大陆内地通行证识别结果如图9。

图9 港澳居民来往大陆内地通行证识别结果图

猜你喜欢
读卡器核验通行证
2020年度新闻记者证核验人员名单公示
停下!请接受身份核验
《金桥》2020年度新闻记者证拟通过年度核验人员名单公示
《中外玩具制造》编辑部2020 年度核验新闻记者证公示名单
与淘汰命运抗争 看懂笔记本的读卡器
颜值与功能并重
基于EMV非接通信规范的非接触读卡器设计
多合一读卡器
未来通行证
你的全球性爱通行证